SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
ELEKTROTEHNIČKI FAKULTET U BEOGRADU
Odsek za elektroniku
Predmet: Namenski računarski sistemi
Projekat : Projektovanje mikrokontrolera i njegova primena u
automobilskoj industriji
Profesor: Student:
Dr. Lazar Saranovac Jovan Vlajić 321/2008
Beograd, Septembar 2015
2
Sadržaj
Projektni zadatak ........................................................................................................................1
1 MIKROKONTROLER .........................................................................................................5
1.1 Paralelni portovi ................................................................................................................6
1.2 UART.................................................................................................................................7
1.3 D/A konvertor.....................................................................................................................9
1.4 A/D konvertor....................................................................................................................10
1.5 Time -out logika.................................................................................................................11
1.6 Free running brojač ...........................................................................................................12
1.7 Kontroler prekida...............................................................................................................13
1.8 Adresni dekoder.................................................................................................................15
1.9 Watch dog timer ................................................................................................................16
2 PROJEKTOVANJE ELEKTRONSKE KONTROLE U AUTOMOBILU.....................17
2.1 Format podataka i protokol rada na magistrali....................................................................20
2.2 Podsistem za kontrolu otključavanja/zaključavanja vrata ..................................................21
2.3 Podsistem za kontrolu svetala ............................................................................................23
2.4 Podsistem za kontrolu prozora .......................................................................................... 25
2.5 Podsistem za kontrolu položaja sedišta i retrovizora..........................................................27
2.6 Podsistem za kontrolu temperature u automobile...............................................................28
2.7 Podsistem za kontrolu parking senzora...............................................................................29
2.8 Osvetljenje instrument table...............................................................................................30
LITERATURA………………………………………………………………………………..31
3
Projektni zadatak
ETF je odlukom Minitarstva prosvete nauke i tehnološkog razvoja izgubio zgradu Lole.Tako da nema razloga
više da se studenti bave automatizacijom te zgrade.
Kako je automobilska industrija u Srbiji u naglom razvoju, a da bi se studenti pripremili za tu vrstu posla, ideja
ovog projekta je da se upoznaju i probaju da projektuju deo elektronike koja se nalazi u savremenim kolima.
Prvi deo
Za osnovu sistema elektronske kontrole u automobilu treba projektovati odgovarajući mikrokontroler, koji
će biti moguće upotrebiti kao kontrolu različitih sistema. Na raspolaganju je standardni 32-bitni procesor koji je
prilagođen unutrašnjom arhitekturom WISHBONE sistemskoj magistrali (wbspec_B3). Procesor može da vidi
memorijski prostor u bajtovima ( LITTLE ENDIAN format) i ima jedan prekidni ulaz sa aktivnim nivoom za
prihvatanje prekida. Prekidi su vektorskog tipa.
Mikrokontroler treba da poseduje:
- prekidni kontroler za prihvatanje prekida od internih periferija
- watch dog timer
- 10-bitni AD konvertor
- 10-bitni DA konvertor
- odgovaraj odgovaraju¢i broj 8-bitnih paralelnih portova
- UART sa programabilnim brojem bita koji se prenose (8 ili 9)
- 16-bitni free running brojač sa više input capture registara i više output compare registara
- periferije koje projektant nađe da su još neophodne (I2C, SPI, . . . ).
1.1 Nacrtati detaljnu logičku šemu unutrašnjosti mikrokontrolera
1.2 Napisati korisničko uputstvo, sa programskog stanovišta, za korišćenja periferija mikrokontrolera
Drugi deo
Svakim delom sistema upravlja nezavisni mikrokontroler.Centralizaciju radi glavni mikrokontroler,
računar, koji prikuplja informacije, zadaje poslove i prikazuje informacije na intrument table automobila. Svi
tasteri i pokazivači su povezani na centralni računar. Komunikacija između mikrokontrolera se obavlja preko
zajedničke asinhrone pundupleks magistrale sa diferencijalnim prenosom signala.
Kontrola ulaska i otključavanja automobila.
Obezbediti da se sva vrata automatski otključaju kada priđe korisnik sa RF_ID karticom koja ima svoj
jedinstveni kod. Kod je veličine 12 alfanumeričkih karaktera. Koristiti RF_ID čitač kojem može da se pristupi preko
I2
C magistrale. Korisnički kodovi su fabrički zadati i nalaze se u memoriji centralnog računara.
Kontrola svetla.
U svakom faru se nalazi mikrokontroler koji na zahtev od centralnog računara pali i gasi poziciona svetla,
srednja, dugačka svetla u prednjim farovima, sijalice u farovima za maglu, poziciona, stop i svetla za maglu u zadnjim
farovima. Sijalice rade na 12V , pri čemu je njihova snaga veća od 12W, ali manja od 100W. Potrebno je detektovati
neispravnost sijalice.
Kontrola otvaranja i zatvaranja prozora.
4
Potrebno je obezbediti da se na zahtev korisnika preko tastera prozori otvaraju i zatvaraju automatski, pri čemu
treba voditi računa da se u slučaju ako postoji prepreka (npr. ruka izbačena kroz prozor) zaustavi kretanje prozora na
gore.
Kontrola udaljenja vozačevog sedišta i položaja retrovizora.
Obezbediti da se na pritisak tastera pomera vozačevo sedište napred i nazad, kao i podešavanje retrovizora sa
posebnim tasterima. Sedičte se po otklju£avanju automobila automatski pomera na poslednji zadati položaj od tog
korisnika. To isto se dešava i sa retrovizorima
Kontrola temperature.
Obezbediti merenje temperature u kolima i prosleđivanje informacije ka centralnom računaru.
Zadnji parking senzori.
Parking senzori se aktiviraju kada se vozilo kreće unazad. Rastojanje od prepreke se meri ultrazvučnim
detektorom. Meri se vremensko rastojanje između emitovanog i primljenog zvuka.
Emitovanje zvuka se radi preko predajnika kome je potrebno generisati talasni oblik signala. Prijem zvuka se radi
detektorom koji na svom izlazu daje logičku jedinicu kada se ustanovi prisustvo zvuka. Informacija o udaljenosti u cm
(max 300cm) se prenosi do centralnog računara i prikazuje na instrument tabli. Na zvučniku instrument table se generiše
zvuk sa različitom visinom tona u zavisnosti od udaljenosti od prepreke. Jačina zvuka se podešava potenciometrom . Za
kraću udaljenost ton je više ušestanosti.
Osvetljenje instrument table.
Za osvetljenje se koriste LED diode. Intezitet osvetljaja se podešava potenciometrom
2.1 Nacrtati blok šemu sistema i povezivanja pojedinih delova
2.2 Nacrtati projekat hardvera pojedinih delova
2.3 Defnisati formate i protokole rada za poruke koje se prenose po magistralama
2.4 Opisati programske poslove svakog pojedinačnog mikrokontrolera
Dodatni poeni
Realizacija ABS.
Realizacija ESP.
5
1 Mikrokontroler
Projektovani mikrokontroler poseduje 32 bitni procesor koji je prilagođen unutrašnjom arhitekturom WISHBONE
sistemskoj magistrali. Mikorokontroler poseduje blok za kontrolu CLK signala dobijenog iz kristalnog oscilatora.
Za napajanje postoje dva pina na koje se dovode VDD i VDA. Program ili delove programa je moguće smestiti u
EPROM ili Flash memoriju.
Mikrokontroler poseduje sledeće periferije:
1.4 paralelna I/O porta širine jednog bajta ( 8 bitova ) : P0, P1, P2, P3
2. UART sa programabilnim brojem bita koji se prenose (8 ili 9)
3. 10 bitni D/A konvertor
4. 10 bitni A/D konvertor
5. Time-out logika
6. 16 bitni free running brojač ( 4 input capture registra i 4 output compare registra )
7. Kontroler prekida
8.Adresni dekoder
9.Watch dog tajmer
Blok šema mikrokontrolera je prikazana na slici 1.
6
D
A
C
Timer
I/O Ports
Adresni
Dekoder
Watch dog
timer Time out
logika
UART
kontroler
Oscilator
CPU
Kontroler
prekida
T0 T1 T2 T3DACADC
OSC0 OSC1
INT0 INT1
TX RX
Prekidi od
periferija
P0 P1 P2 P3
8 8 8 8
A
D
C
Slika 1.Blok šema mikrokontrolera
U daljem tekstu objasnićemo i opisati hardver periferija njihov način funkcionisanja.Takođe navešćemo i
korisničko upustvo za koriščenje svake od realizovanih periferija.
1.1 Paralelni portovi
Mikrokontroler poseduje četiri 8-bitna I/O paralelna porta: P0, P1,P2, i P3, koji su povezani na 8 najnižih bitova
magistrale podataka D7...D0. Pinovi portova su numerisani sa Pi0..7, i=0..3. Portovima Pi se pristupa pomoću adrese
ZA+1+i, i=0..3. Kada se adresira odgovarajući port Pi, i=0..3 i inicira upis ili čitanje, aktivira se signal Wi+1 odnosno
Ri+1 u zavisnosti da li se vrši upis ili očitavanje sa porta. Takođe, trenutno stanje izlaznog porta se može očitati sa
memorijske lokacije ZA+5+i, i=1.. 3.
Svaki od 32 pina Pij, i=0..3, j=0..7 je moguće nezavisno konfigurisati kao ulazni ili izlazni pin. Definisanje smera pina
se vrši upisom u 32-bitni registar, koji se nalazi na adresi ZA+0. Vrednost 1 u registru označava da je odgovarajući pin
izlazni, vrednost 0 označava da je pin ulazni. Da bi pin Pij, i=0..3, j=0..7 bio izlazni odnosno ulazni potrebno je postaviti
bit D8i+j data magistrale na 1 odnosno 0, i izvršiti upis adresu ZA+0.
7
Pinovi P0.0 i P0.1 su povezani na kontroler prekida i imaju mogućnost generisanja prekida.
Odgovarajući flip-flopovi za definisanje smera imaju mogućnost asinhronog reseta, tako da su po resetu svi pinovi
konfigurisani kao ulazni.
Izgled jednog porta prikazan je na slici 2.
Pij
D8i+j
W0
D8i+j
Wi+1
Dj Ri+5
Ri+5
Slika 2.Šema jednog porta
1.2. UART ( Universal Asynhronous Receiver Transmiter)
UART periferija obezbeđuje asinhroni serijski prenos sa programabilnom dužinom podatka koji se šalje ili
prima. Broj bita u jednoj poruci se podešava upisom odgovarajuće vrednosti u flip-flopove koji se nalaze na adresi
ZA+11 i, a povezani su na D0 (slanje) i D1(prijem) bitove magistale podataka. Upis jedinice označava prenos
podatka dužine 9 bita dok upis 0 označava prenos podatka dužine 8 bita. UART periferija poseduje nezavisne
pomeračke registre za prijem i slanje koji su povezani na 9 najnižih bita magistrale podataka i obezbeđuje
full-duplex komunikaciju. U daljem tekstu dat je opis konfiguracije i funkcionisanja UART predajnika i
prijemnika, kao i njihove šeme.
Upisom podatka u pomerački registr na adresi ZA+10 aktivira se signal W10 i započinje slanje. Brzina
slanja zavisi od CLK_T taktnog signala. Vrednost ovog takta se podešava konfiguracijom delitelja učestanosti, pa
brzina prenosa zavisi od sistemskog takta CLK i odgovarajuće konfiguracije delitelja učetanosti. Nakon slanja 10
odnosno 11 bita (8 odnosno 9 bita poruke kao i START i STOP bita) generiše se prekid INT_T koji se vodi na
odgovarajući ulaz kontrolera prekida. Stanje predajnika se može dobiti očitavanjem bita 0 sa adrese ZA+11.
8
Vrednost 1 ovog bita signalizira da je slanje poruke u toku i da predajnik nije u stanju da prihvati slanje nove
poruke.
Na slici 3 je data šema UART predajnika.
`
`
UART_TQ1 Q0
S0
Q9..Q2Q10PE
SI PISO
Shift register
1
1
D7..D0
10
`
Q1 Q0Q2Q3
COUNTER
INT_T
CLK_T
D0
R11 STATUS_T
D0
W11
D8
W10
Slika 3. Šema UART predajnika
Nakon detektovanja START bita započinje prijem podatka. Brzina prijema zavisi od CLK_R signala takta.
Vrednost ovog takta se podešava konfiguracijom delitelja učestanosti, pa brzina prenosa zavisi od sistemskog takta
CLK i odgovarajuće konfiguracije delitenja učetanosti. Ukoliko je poruka ispravno primljena, generiše se prekid
INT_R, i setuje bit D1 na adresi ZA+11. Očitavanjem prihvatnog registra poruke ili očitavanjem ovog bita vrši se
njegovo resetovanje.
Ukoliko dodje do greške loš STOP bit ili loš START bit, generišu se prekidi ERRSTART i
ERRSTOP i resetuje se prijemnik.
Ispravno primljena poruka se očitava iz prihvatnog registra na adresi ZA+12. Na slici 4 je data šema UART
prijemnika.
9
Q
Q
SET
CLR
S
R Q1 Q0Q2Q3 Q1 Q0Q2Q3
COUNTER
Q
Q
SET
CLR
D
CMP
Q1 Q0Q2Q3
COUNTER
D1
W11
MUX
Sel
16xCLK_R
D0
D1=11
=10
=1
UART_R
ERRSTART
ERRSTOP
CORRECT
Q
Q
SET
CLR
D0
R11
R12
D1
R11
INT_R
SIPO
Shift register
SI D8
D0
REGISTERD8
D0
D8
D0 E
R12
D8..D0
ERRSTART
ERRSTOP
CORRECT
DIFF
UART_R
Q8/9
Slika 4. Šema UART prijemnika
1.3 D/A konvertor ( 10 bita )
Mikrokontroler poseduje desetobitni digitalno-analogni konvertor. Početak DA konverzije se zadaje upisom podataka
na adresu ZA+13. Na slici 5 prikazana šema D/A periferije.
REGISTER
GND
VDD
D9
D0
DAC
10 bit
Vout
A_VDD
A_GND
1010
D9..D0
W13
Slika 5. Šema D/A perifierije
10
1.4. A/D konvertor ( 10 bita )
Mikrokontroler poseduje desetobitni analogno-digitalni konvertor. Početak A/D konverzije se zadaje upisom na
adresu ZA+14. Kada je konverzija gotova, generiše se prekid INT_AD. Stanje konverzije se dobija očitavanjem bita
D10 na adresi ZA+14.Vrednost 1 ovog bita označava da je A/D konverzija u toku. Desetobitni rezultat konverzije se
dobija očitavanjem bitova D0..D9 sa adrese ZA+14. Na slici 6 je prikazana šema A/D periferije.
GND
VDD
D9
D0
ADC
10 bit
Vin
A_VDD
A_GND
10
D9..D0
W14
10
R14 BUSY
R14
DIFF
INT_ADC
D10
Slika 6. Šema A/D perifierije
11
1.5 Time-out logika
Time-out logic (TOL) kontroliše komunikaciju putem UART magistale i ispravnost rada uređaja povezanih na
magistralu. TOL generiše prekid, ukoliko nakon slanja poruke izostane prijem odgovora u odgovarajućem vremenskom
intervalu. Vreme prijema se softverski definiše upisom u 16-bitni registar na adresi ZA+17. Aktivacija merenja vremena
se vrši signalom INT_T iz UART predajnika, a kao obaveštenje time-out logici da je primljena poruka, koristi se signal
INT_R.
Rad time-out logike je moguće zaustaviti upisom vrednosti logičke nule u registar na adresi ZA+15 na poziciji
D0. Hardver time-out logike je prikazan na slici 7.
Q
Q
SET
CLR
S
R
DIFF
REGISTER
W17
16 bit
DOWN COUNTER
PE
D15..D0
16
16
CLK
ENABLE
Q
Q
SET
CLR
D
W15
D0
INT_TOL
INT_R
INT_T
RESET
Slika 7. Šema Time-out logike
12
1.5 Free running brojač
Mikrokontroler poseduje 16-bitni "free running" brojač sa 4 INPUT CAPTURE registra i 4 OUTPUT
COMPARE registra. Po resetu, brojač je isključen. Startovanje se vrši upisom 1 u registar na adresi ZA+18, bit D0.
Upisom 0 u pomenuti registar isključuje se brojač. 16-bitna vrednost brojača se može očitati sa adrese ZA+18.
Kada brojač pređe sa maksimale vrednosti na 0, generiše se prekid INT_CNT.
Vrednosti 4 CAPTURE registara se mogu očitati sa adresa ZA+19+i, i=0..3. Signali CAP_SIGNAL_i,
i=0..3 predstavljaju eksterne signale sa pinova kontrolera. Na uzlaznu ili silaznu ivicu signala CAP_SIGNAL_i vrši
se upis trenutne vrednosti brojača u CAPTURE registar i generiše se prekid INT_C_i. Konfiguracija reagovanja na
uzlaznu ili silaznu ivicu vrši se upis 1 u bit D1+i za uzlaznu i 0 za silaznu na adresi ZA+18.
COMPARE registri se nalaze na adresi ZA+19+i, i=0..3. Kada brojač dobroji do vrednosti u COMPARE
registru i, , i=0..3 generiše se prekid INT_i, , i=0..3.
Očitavanjem trenutne vrednosti brojača, upotrebom COMPARE i CAPTURE registara moguće je na
jednostavan način meriti trajanja, periode, "duty cycle" ulaznih signala, generisanje PWM signala, generisanje
prekida u tačno određenim trenucima itd.Na slici 8 je data šema brojača sa registrima.
16bit
COUNTER
Q
Q
SET
CLR
DD0
W18 CLK_CNT
RESET
16
CMP
16 bit
i
INT_CNT_i
INT_CNT
16
REGISTER
D15
D0 i
E
R19+i
D15..D0
E R18
D15..D0
16 bit
REGISTER
i
D15..D0
W19+i
16
DIFF
DIFF
CAP_SIGNAL_i
MUX
Sel
D0
D1
INT_C_i
OUT
Q
Q
SET
CLR
D
D1+i
W18
Slika 8. Šema 16-bitnog free-running brojača sa registrima
13
1.6 Kontroler prekida
Kontroler prekida je vektorskog tipa i ima 16 ulaza. Ulaz15 (INT15) je ulaz najvišeg prioriteta, dok je ulaz
0 (INT0) ulaz najnižeg prioriteta. Ulaz 15 je nemaskirajući i povezan je sa prekidom koji generise TIME OUT
logika. Ulazi 14 do 2 (INT14..INT2) su ulazi za maskirajuće prekide i dodeljeni su prekidima koje generišu
periferije. Ovi ulazi su projektovani da reaguju na ivične prekide (uzlaznu ivicu) koje generišu periferije i
pretvaraju ih u prekide sa nivoom. Ulazi 1 i 0 (INT1 i INT0 ) su ulazi za spoljne prekide i povezani su na pinove
P0.0 i P0.1. Kod ovih ulaza u kontroler prekida moguće je izvršiti konfiguraciju da se prihvataju ivični ili prekidi
sa nivoom, kao i na koju ivicu se reaguje uzlaznu ili silaznu. Maskiranje maskirajućih prekida (INT14..INT0) se
vrši upisom na adresu ZA+23, vrednost 1 na poziciji Di dozvoljava prekid INTi, i=0..14. Konfiguracija ulaza 1 i 0
se vrši upisom odgovarajuće vrednosti na adresu ZA+25. Reagovanje na prekid sa aktivnim nivoom ili aktivnom
ivicom se podešava bitovima D2 za izlaz 1 i D0 za ulaz 0.Vrednost 1 označava reagovanje na prekid sa aktivnim
nivoom, a vrednost nula na ivični prekid 0. Reagovanje na uzlaznu ili silaznu ivicu se konfiguriše bitovima D3 za
izlaz 1 i D1 za ulaz 0. Vrednost 1 označava reagovanje na silaznu, a vrednost 0 na uzlaznu ivicu.
Očitavanjem sa adrese ZA+25 moguće je proveriti da li je neki prekid aktivan.Vrednost bita Di=1
signalizira da je prekid INTi, i=0..14 aktivan.Prekid se smatra aktivnim ukoliko postoji zahtev za prekid i prekid
nije maskiran.
Signal INT predstavlja signal koji se šalje procesoru kao indikacija da postoji prekid. Po prihvatanju
prekida od strane procesora,( procesor postavlja signal ACK na aktivnu vrednost), kontroler prekida šalje po
linijama D3..D0 4-bitnu vrednost koja predstavlja broj ulaza prekida najvišeg nivoa u tabelu prekidnih rutina.
Takođe, po prihvatanju prekida resetuju se flip flop za pamćenje datog ivičnog prekida, tako da dati prekid postane
neaktivan. Programeru je ostavljena mogućnost da softverski obriše flip-flop za praćenje prekida. Postavljanjem
vrednosti 1 na liniju Di i upisom na adresu ZA+26 vrši se resetovanje flip flopa i-tog prekida.
Posle reseta, svi maskirajući prekidi su maskirani. Hardver kontrolera prekida prikazan je na slici 9.
14
0
W
Q
Q
SET
CLR
D
D1
W25
Q
Q
SET
CLR
D
D0
W25
Q
Q
SET
CLR
D
W23
Q
Q
SET
CLR
D
INT0
D0
RESET
1
CLR0
D0
R24
Q
Q
SET
CLR
D
CLR14
Q
Q
SET
CLR
D
RESET
1
INT14
D14
W23
Q
Q
SET
CLR
D
CLR15
1
NMI
D15
R24
D14
R24
15
14
.
.
.
.
.
.
.
.
16/4
Koder
prioriteta
3
2
1
0
4
``
INT
E
ACK
D3..D0
0 E
15
.
.
.
.
.
.
4/16
DEKODER
3
2
1
0
1
RESET
W26
D15
CLR15
W26
D0
CLR0
RESET
.
.
.
.
.
.
ACK
4
Slika 9. Šema Kontrolera prekida
15
2.8. Adresni dekoder
Počev od adrese ZA do ZA+32 nalaze se periferije koje poseduje mikrokontroler. Pomoću adresnog
dekodera se aktiviraju signali W0, W1...W31, R0, R1..R31 za upis,čitanje i kontrolu periferija. Viših 27 bita
adresne magistarale se poredi za adresom ZA, koja je zajednička za sve periferije, a sa nižih 5 bita A4, A3, A2 ,A1
i A0 se vrši adresiranje tačno određene periferije. Tačna adresa svake periferije (registara periferije i kontrolnih
signala) su date u delovima teksta koji se odnosi na opis i rad datih periferija. Na osnovu signala CYC_O, STB_O i
WE_O se aktivira ENABLE signal jednog od dva dekodera 5/32 i dekodovanjem aktivira određeni Wi ili Ri,
i=0..31 signal. Hardver adresnog dekodera dat je na slici 10.
27 bit
CMP
A31..A4
27
ZA
27
A31..A0
CPU
CYC_0
STB_0
WE_0
ACK_I 1
E
I4 I3 I2 I1 I0
A4 A3 A2 A1 A0
DEC
5/32
D0 D1 . . . . D30 D31
R0R1....R30R31
W0 W1 . . . . W30 W31
EN
r
I4I3I2I1I0
DEC
5/32
D0D1....D30D31
EN
ADRESNA MAGISTRALA
32
Slika 10. Šema Adresnog dekodera
16
1.9 Watch-dog timer
Watch-dog timer (WDT) vrši proveru ispravnosti izvršavanja programa na mikrokontroleru. Za ispravno
izvršavanje potrebno je da se program obrati watch-dog tajmeru u određenom vremenskom intervalu. Ukoliko se to ne
desi, generiše se RESET signal i resetuje se mikrokontroler. Obraćanje WDT-u se vrši upisom vrednosti 0xA5A5 na
adresu ZA+27. Moguće je isključiti WDT upisom nule u bit D31 na adresu ZA+28. Posle reseta WTD je isključen.
Šema WDT-a je prikazana na slici 11.
16bit
COUNTERLOAD
16
CLK
Q
Q
SET
CLR
D
W28
D31
RESET
E_WD RESET
DATA IN
16bit
CMP
16
16
TERMINAL
VALUE
16bit
CMP
16
D15..0
0xA5A5
16
W27
16
START
VALUE
Slika 11. Šema Watch-dog tajmera
17
2.Projektovanje elektronske kontrole u automobilu
Sistem se sastoji od centralnog mikrokontrolera, koji upravlja celim sistemom, reaguje na zahteve
korisnika, prikuplja informacije od drugih podsistema, reaguje na njihove zahteve i prikazuje informacije na
instrument table.Imamo ukupno 10 podsistema koji vrše sledeće aktivnosti:
 kontrolu ulaska, otljučavanja i zaključavanja vrata,
 kontrolu prednjih farova,
 kontrolu farova za maglu,
 kontrolu zadnjih svetala,
 kontrolu otvaranja i zatvaranja prednjih prozora,
 kontrolu otvaranja i zatvaranja zadnjih prozora,
 kontrolu temperature,
 kontrolu položaja vozačevog sedišta,
 kontrolu položaja retrovizora i
 kontrolu zadnjih parking senzora.
Svaki podsistem vrši jednu od navedenih kontrolnih funkcija i svakim upravlja poseban mikrokontroler.
Komunikacija centralni mikrokontroler - mikrokontroleri podsistema se obavlja preko zajedničke asinhrone
full-duplex magistrale sa diferencijalnim prenosom signala. Centralni računar je “master” na magistrali, dok se
podsistemi ponašanju kao “slave” uređaji. Takođe, svi mikrokontroleri podsistema su povezani na zajedničku
prekidnu liniju INT koja je povezana na ulaz za eksterni prekid centralnog mikrokontrolera.Šema sistema je
prikazana na slici 12.
Centralni
mikrokontroler
Displej
Tastatura
Mikrokontroler
Podsistem 1
INT0 INT1
Mikrokontroler
Podsistem 2
Mikrokontroler
Podsistem 10
. . . . .
. . .
UART Magistrala
Zajednička linija za prekide
Slika 12. Blok šema celog sistema
Povezivanje mikrokontrolera koji kontrolišu određene podsisteme i centralnog mikrokontrolera preko asinhrone
pundupleks magistrale sa diferencijalnim prenosom signala je prikazano na slici 13.
18
Vcc0
Podsistem8
Rx
Tx
Vcc0
Vbus
Vbus
`
Rt
Rt
Vbus
Vbus
GNDbus
GNDbus
Vcc0
Podsistem1
Rx
Tx
Vcc0
Vbus
Vbus
`
(SLAVE 1)
Vbus
Vcc0 Vbus
Centralni
mikrokontroler
Tx
Tx
Rx
Vcc0
(MASTER)
GNDbus
GND
. . . . . .
(SLAVE 8)
Slika 13. Šema povezivanja podsistema sa centralnim mikrokontrolerom
Kako su kontrolisani podsistemi udaljeni i nezavisni jedni od drugih, izvršeno je galvansko razdvajanje pomoću
optokaplera. Prilikom izbora optokaplera trebamo biti sigurni da su vremena trajanja uzlazne i silazne ivice
dovoljno kratka za zahtevanu brzinu signalizacije i da izabrani tranzistori imaju dovoljan strujni kapacitet. Kod
ovog vida prenosa se umesto jedne signalne linije koriste dve komplementarne, tako da se logički nivo određuje
kao razlika napona komplementarnih linija umesto poređenjem napona jedne linije sa masom ili nekim drugim
referentnim naponom. Između komplementarnih linija povezan je otpornik Rt koji je jednak karakterističnoj
impedansi kabla za prenos da bi se smanjila refleksija. Takođe, postavljeni su i pull-up i pull-down otpornici kako
bi bilo definisano stanje linije kada nema prenosa signala. Komunikacija na magistrali se inicira od strane
centralnog mikrokontrolera kao master uređaja, dok se kontrolisani sistemi ponašaju kao slave uređaji.
Mikrokontroleri u podsistemima imaju mogućnost javljanja nekog događaja centralnom računaru preko
prekidne linije. Svi su povezani na jednu zajedničku prekidnu liniju koja se vodi na pin glavnog mikrokontrolera
koji može da reaguje na eksterne prekide (pin P1.0) i povezan je na ulaz broj 2 kontrolera prekida. Takođe je i ovde
izvršeno galvansko razdvajanje putem optokaplera. Šema povezivanja je data na slici 14.
19
Centralni
mikrokontroler INT1
VCC0
Podsistem1
Vbus
Podsistem10
GNDbus
Vbus
GNDbusGND
Pull-down
. . . . .
INT
Slika 14. Šema povezivanja centralnog mikrokontrolera i podsistema na zajedničku prekidnu liniju INT
Po detektovanju prekida ( INT linija je na logičkoj jedinici ) centralni mikrokontroler vrši poliranje, tj.
proziva jedan po jedan podsistem sa pitanjem da li je dati podsistem generisao prekid. Ovo se vrši specifičnim
adresiranjem koje je opisano u daljem tekstu, u delu koji se odnosi na protokol komunikacije i formate podataka.
Ovakvo reagovanje na prekid ima za posledicu nepotrebnu potrošnju procesorskog vremena, ali je postignuta
ušteda izbegavanjem vođenja žice od jednog do drugog podsistema i njihovo povezivanje koje bi bilo neophodno u
slučaju projektovanja prioritetnog lanca (daisy chain) i pseudo-vektorskog prihvatanja prekida.
Prekidi koji se signaliziraju su sledeći:
1.Podsistem za kontrolu otključavanja generiše prekid kada je izvšeno očitavanje kartice i potrebno je
proveriti njen kod.
2.Podsistemi za kontrolu svetala generišu prekide u slučaju detektovanja neispravnosti sijalica.
3.Podsistem za otvaranje i zatvaranje po detektovanju prepreke.
4.Podsistem za kontrolu temperature generiše prekid ako temperatura pređe neku dozvoljenu granicu.
5.Podsistem za kontrolu parking senzora, ako se detektuje kretanje unazad irastojanje od prepreke je manje od
300cm.
6.Svaki podsistem u slučaju kada i posle 3 pokušaja nije moguće izvršiti zadatukomandu ili je nemoguće očitati
senzore.
Kako se projektovani sistem sastoji od relativno malog broja podsistema, generisanje prekida od strane podsistema
je retko, merene veličine se menjaju sporo i sve akcije se izvšavaju na komandu čoveka, što je relativno sporo,
pretpostavljeno je da je poliranje po detektovanju prekida dovoljno efikasno za potrebe projektovanog sistema.
Prioritet prekida je određen redosledom poliranja i može se softverski menjati. Prekidi koje generišu podsistemi su
sa aktivnim nivoom, pa je potrebno odgovarajuće konfigurisati ulaz broj1 kontrolera prekida. Pogledati deo koji se
odnosi na prekidni kontroler.
20
2.1 Format podataka i protokol rada na magistrali
Kominikacija između centralnog mikrokontrolera i mikrokontrolera u podsistemima se obavlja preko zajedničke
asinhrone pundupleks magistrale brzine prenosa 9600 bit/s sa jednim STOP i START bitom i bez bita parnosti.
Poruke koje šalje centralni mikrokontroler po linijama Tx su dužine 9 bita, tako da treba konfigurisati UART
prijemnike u podsistemima za prijem poruka dužine 9 bita. Poruke koje šalju i mikrokontroleri podsistema su
dužine 8 bita. Poruke koje šalje centralni mikrokontroler mogu biti adresne ili komandne. Adresne poruke imaju
bit 9, jednak logičkoj jedinici, dok je kod komandnih vrednost ovog bita jednaka 0 da bi se dve vrste poruka
razlikovale. Format adresne poruke je dat u tabeli 1.
1 Tip2 Tip1 Tip0 Adresa3 Adresa2 Adresa1 Adresa0 /
Tabela 1. Format adresne poruke
Postoji 6 tipa adresnih poruka u zavisnosti od bitova Tip2, Tip1, Tip0. Značenje pomenutih bitova je dato u tabeli
2.
Tip2 Tip1 Tip0 Značenje poruke
000
Adresiranje uređaja
(sledeće komandne poruke se odnose na uređaj čija je adresa data sa bitima adresa3..0)
011
Provera prekida
(uređaj čija je adresa data sa bitima adresa3..0 odgovara da li je generisao prekid)
001
Deselektovanje
(vrši se deselektovanje uređaja čija je adresa data sa bitima adresa3..0)
010
Restart
(vrši se restartovanje uređaja čija je adresa data sa bitima adresa3..0)
100
Deselektovanje svih uređaja
(biti adresa3..0 nemaju efekta )
111
Restart svih uređaja
(biti adresa3..0 nemaju efekta )
Tabela 2. Tipovi adresnih poruka u zavisonosti od bitova Tip2 Tip1 Tip0
Bitovi Adresa3 ... Adresa0 predstavljaju adresu nekog od 8 podsistema. Adrese podsistema su fiksne i dodeljene
su svakom prikom inicijalizacije. Najniži bit poruke se koristi za adresiranje i moguće je softverski implementirati da se
u ovaj bit upiše bit parnosti, kao kontrola ispravnosti poslate poruke.
Format komandnih poruka koje centralni računar šalje mikrokontrolerima podsistema je prikazan u tabeli 3.
0 C/RW R/W K5 K4 K3 K2 K1 K0
Tabela 3. Format komandne poruke
Ukoliko je vrednost bita C/RW jednaka 1 radi se o komandnoj poruci i bitovi K5..K0 specificiraju određenu
komandu adresiranom sistemu. Ukoliko je vrednost ovog bita 0, onda komandna poruka predstavlja početak
21
prenosa podataka i bitovima K5..K0 je dat broj podataka koji se prenose (veličina u bajtovima).(R/W=1 čitanje,
R/W=0 upis). U tom slučaju, kada se radi o upisu, sledeće poruke koje se šalju adresiranom uređaju se tumače kao
podaci. Poruke koje mikrokontroleri podsistema šalju su 8-bitne i njihov format je dat u tabeli 4.
D7 D6 D5 D4 D3 D2 D1 D0
Tabela 4. Format poruke podataka
U slučaju da se radi o eho poruci, D7..D0 su isti kao 8 nižih bitova primljenje poruke. U slučaju da je uređaj
adresiran sa adresnom porukom koja označava proveru prekida, umesto pomenute eho poruke, vraća se poruka
koja sadrži informaciju o prekidu i adresu uređaja. Adresa uređaja se šalje kao provera, tj. kao kratka eho poruka.
Forma ove poruke data je u tabeli 5.
P3 P2 P1 P0 A3 A2 A1 A0
Tabela 5. Format eho poruke
Ako su P3..P0 jednaki 0000, adresirani sistem nije generisao prekid. Vrednost 1111 označava prekid usled
nemogućnosti izvršavanja zadate komande i posle 3 pokušaja. Nekom drugom vrednošću bitova P3..P0 prozvani
sistem obaveštava centralni računar o vrsti prekida specifičnoj za njega. Adresirani uređaj, čiji se prekid proverava,
pored stanja prekida vraća i svoju adresu bitovima A3..A0 kao potvrdu da je ispravno protumačio primljenu
poruku.
2.2 Podsistem za kontrolu otključavanja/zaključavanja vrata
U svim modernim automobilima otključavanje odnosno zaključavanje je osim mehaničkim putem
omogućeno i RF ID karticom. Pri prislanjanju RF ID kartice RF ID čitač šalje preko I2
C magistrale poruku
mikrokontroleru da je stigao zahtev za otključavanje/zaključavanje vozila. Blok šema sistema koji kontroliše
otključavanje/zaključavanje vrata je prikazana na slici 15.
Mikrokontroler
Otključaj vrata1
Otključaj vrata2
Otključaj vrata3
Otključaj vrata4
Zaključaj vrata1
Zaključaj vrata2
Zaključaj vrata3
Zaključaj vrata4
Senzor zaključano/otključano
I2C
RF ID
Čitač
Slika 15. Blok šema sistema za otkjučavanje/zaključavanje vrata
22
Na detekciju poruke mikrokontroler odgovara generisanjem prekida prekid postavljanjem logičke jedinice
na pin koji je vezan na zajedničku prekidnu liniju. Prilikom poliranja od strane centralnog računara , šalje poruku
koja označava da se radi o prekidu usled detektovanja kartice. Bitovi P3..P0 imaju vrednost 0001 dok A3..A0
predstavljaju adresu podsistema i zadati su prilikom inicijalizacije mikrokontrolera.
Nakon prijema komandne poruke kojom se zahteva čitanje 2 bajta (vrednosti bita su C/WR=0, R/W=1 i
K5..K0=000010), mikrokontroler šalje prvo viših 6 bitova koda zaštićenih bitom parnosti, a zatim i na isti način i
nižih 6. Najviši bit osmobitne poruke se ne koristi.
Po prijemu komandne poruke kojom se potvrđuje ispravnost koda kartice( C/WR=1 i svi bitovi K5..K0
imaju vrednost '1' ), mikrokontroler provera senzor koji detektuje da li su vrata prethodno bila zaključana ili
otključana. Na osnovu te vrednosti, vrši se postavljanje signala Otključaj vrata1..Otključaj vrata4 , odnosno
Zaključaj vrata1..Zaključaj vrata4 na vrednost logičke jedinice. Trajanje signala zavisi od mehanike za kontrolu
brave. Ukoliko i posle 3 pokušaja zaključavanja/otključavanja vrata mikrokontroler putem senzora detektuje da
akcija nije sprovedena, generiše prekid. Prilikom poliranja šalje centralnom mikrokontroleru poruku kojom
označava da se prekid desio usled neispravnosti. Vrednosti bitova u ovoj poruci već su opisani u delu o formatu
podataka.
Komunikacija sa čitačem RF ID kartice se vrši putem I2
C magistrale. Signali SDA i SCL se generišu iz paralelnih
portova mikrokonrtolera, a protokol komunikacije je implementiran softverski.
Hardver za otključavanje i zaključavanje vrata je prikazan je na slici 16.
Mehanika za
kontrolu
brave
Otključaj/zaključaj vrata i
VCC
GND
Slika 16. Šema hardvera za otključavanje/zaključavanje vrata
23
2.3 Podsistem za kontrolu svetala
Za kontrolu svetala u automobilu se koriste 3 mikrokontrolera, za svaki par farova po jedan (prednji farovi,
farovi za maglu i zadnji farovi). Mikrokontroleri se nalaze na pogodom mestu izmedju farova. Hardver za kontrolu
svetala kao i detktovanja ispravnosti sijalice je prikazan na slici 17.
Mehanika za
kontrolu
brave
VCC
GND
PP
-
+Šant
R< 0,1
GND_A
OP
GND_AGND
VCC
PP
VCC
Slika 17. Blok šema hardvera za kontrolu svetala
Sa blok šeme vidimo da se upisom visokog naponskog nivoa na pinu preko releja pali sijalica. Preko otpornika i
Šmitovog kola vodi se informacija o struji sijalice. Ako je ova informacija jednaka logičkoj nuli to znači da je
sijalica pregorela odnosno da nije ispravna.
Poruka o paljenju ili gašenju svetala se prenosi preko centralnog mikrokontrolera pa se u zavisnosti od
adresiranja kontrolera i komandne poruke pali/gasi određeno svetlo. Značenja komandnih poruka koje su upućene
kontrolerima su date u tabeli 6.
0 1 0 U/I SR(M) DUG POZ STOP L/D
Tabela 6. Format komandne poruke za kontrolu svetala
Značenja pojedinih bitova iz komandne poruke su data ispod:
 Bit U/I predstavlja informaciju za uključivanje/isključivanje svetla ( U/I=1 uključivanje , U/I=0 isključivanje ).
 Bit SR(M) predstavlja informaciju o uključivanju/isključivanju srednjih svetala ukoliko je poruka upućena
mikrokontroleru prednjih farova ( SR(M)=1 uključeno, SR(M)=0 isključeno ),
24
Ako je poruka upućena mikrokontrolerima u zadnjim i farovima za maglu uključuju se zadnja svetla i svetla za
maglu, Istovremeno se uključuju oba fara, i levi i desni.
 Bit DUG predstavlja informaciju o uključivanju/isključivanju dugih svetala (DUG=1 uključeno,DUG=0
isključeno).Uključivanje/isključivanje dugih svetala se vrši za oba svetla istovremeno. Bit se koristi samo za
mikrokontroler prednjih farova.
 Bit POZ predstavlja informaciju o uključivanju/isključivanju pozicionih svetala (POZ=1 uključeno,POZ=0
isključeno). U zavisnosti od bita L/D, uključuje se levo ili desto poziciono svetlo. Bit se koristi za mikrokontroler
prednjih i zadnjih farova.
 Bit STOP predstavlja informaciju o uključivanju/isključivanju stop svetala (STOP=1 uključeno,STOP=0
isključeno). Bit se koristi samo za mikrokontroler zadnjih farova.
Nakon primanja komande poruke, mikrokontroler vrši uključivanje sijalica postavljanjem logičke jedinice na
paralelne portove. Ako je neka sijalica uključena, mikrokontroler poliranjem proverava prednost pina kojim se
detektuje ispravnost. Interval poliranja je moguće generisati pomoću tajmera, korišćenjem compare registara.
Ukoliko se detektuje da je sijalica neispravna, generiše se prekid. Prilikom poliranja šalje se poruka kojom se
signalizira koja sijalica je pregorela. Bitovi P3..P0 imaju sledeće vrednosti, u zavisnosti od neispravne sijalice:
P3..P0 Značenje
0001 Levo srednje svetlo
0010 Desno srednje svetlo
0011 Levo dugo svetlo
0100 Desno dugo svetlo
0101 Levo poziciono svetlo
0110 Desno poziciono svetlo
0111 Levo stop svetlo
1000 Desno stop svetlo
1001 Leva sijalica za maglu
1010 Desna sijalica za maglu
1111 Neuspelo izvršavanje komandne poruke
Tabela 7. Značenje bitova za detekciju neispravnosti sijalice
25
2.4 Podsistem za kontrolu prozora
Prozori se kontrolišu sa 2 mikrokontrolera, jedan kontroliše prednje, a drugi zadnje prozore. Omogućeno je
posebno kretanje svakog prozora na gore ili na dole, kao i zatvaranje i otvaranje svih prozora. Šema sistema za
kontrolu jednog para prozora je prikazana na slici 18.
Signal1
Signal2
Signal3
Signal4
PP
PP
PP
PP
MIKROKONTROLER
ADC
PP
PP
PP
PP
PP
PP
PP
Analogni
multiplekser
S
Signal sa strujnog
senzora L
Signal sa strujnog
senzora D
Napred
Nazad
PWM
ENERGETSKI
BLOK
Napred
Nazad
PWM
ENERGETSKI
BLOK
M
M
Motor za pomeranje
desnog prozora
Motor za pomeranje
levog prozora
Slika 18. Blok šema sistema za kontrolu prozora
Signali Signal1...Signal3 predstavljaju indikaciju da je prozor stigao u krajnji donji ili krajnji gornji položaj.
U krajnjem položaju, prozor zatvara mehanički prekidač koji se nalazi na vratima. Na osnovu vrednosti ovih
signala, mikrokontroler zna kada da zaustavi motore. Pomoću ovih signala moguće je takođe detektovati da li je
prozor potpuno zatvoren ili otvoren. Šema senzora za detektovanje krajnjih položaja prozora je prikazana je na slici
19.
26
Vcc
Mehanički
prekidač na
vratima
Vcc
Signal i
GND
Slika 19. Hardver za detektovanje krajnjih položaja prozora
Strujnim senzorima se meri struja motora. Ovi senzori se obično postavljaju na pogodno mesto u
energetskom bloku kojim se upravlja motor. Izlaz senzora je analogna veličina proporcionalna struji motora.
Izvšeno je multipleksiranje signala pošto mikrokontroler poseduje jedan A/D konvertor.
Jednosmernim motorima se upravlja preko energetskog bloka koji u sebi sadrzi H-most čime je omogućeno
kontrolisanje smera okretanja motora promenom polariteta struje. Signal kojim se kontroliše jednosmerni motor je
PWM signal koji se generiše upotrebom tajmera. Učestanost PWM signala i "duty cycle" vrednosti zavise od
kontrolnog bloka i motora. Na detekciju pritiska tastera, centralni mikrokontroler šalje poruku za pokretanje
prozora na gore ili dole. Po otpuštanju tastera se zaustavlja kretanje prozora. Format komandne poruke je dat u
tabeli 8.
0 1 0 O/Z L/D / / / /
Tabela 8. Format komandne poruke za kontrolu prozora
 Bit O/Z predstavlja informaciju za otvaranje/zatvaranje prozora ( O/Z=1 otvaranje , O/Z=0 zatvaranje )
 Bit L/D predstavlja informaciju koja se odnosi na levi/desni prozor ( L/D=1 levi prozor , L/D=0 desni prozor )
Po primanju komande mikrokontroler podešava smer kretanja motora i generiše PWM signal kojim se upravlja
motorom. PWM signali se generišu upotrebom tajmera i COMPARE registara. Potrebno je u prekidnoj rutini
tajmera ažurirati vrednosti COMPARE registra u zavisnosi od željenje periode i "duty cycle" vrednosti.
Po primanju komande za zaustavljanje mikrokontroler zaustavlja kretanje prozora. Ukoliko se ne primi komanda
za zaustavljanje, kretanje prozora se zaustavlja kada se prozor nadje u nekom od krajnih položaja. Ova informacija
se dobija očitavanjem vrednosti paralelnih portova na koje su vezani Signal1…Signal3.
Tokom kretanja prozora mikrokontroler poliranjem proverava vrednost struje motora. Ukoliko se vrši pomeranje
oba prozora potrebno je prvo očitati vrednost jedne struje, pa druge. U slučaju prepreke, struja motora će preći
27
neku softverski podešenu granicu usled povećanja opterećenja. Mikrokontroler tada zaustavlja kretanje prozora i
generiše prekid. Poruka koja se šalje centralnom računaru prilikom poliranja ima vrednost bitova P3..P0 = 0100.
Mikrokontroleri prozora takođe generišu prekid po detektovanju neispravnosti sistema. Detekcija neispravnosti je
jednostavna korišćenjem signala sa senzora. Na primer: ako je struja motora 0 i nakon zadavanju signala potrebnih
za pokretanje.
2.5 Podsistem za kontrolu položaja sedišta i retrovizora
Oba sedišta se kontrolišu jednim mikrokontrolerom ,a takođe se jednim mikrokontrolerom kontrolišu i oba
retrovizora. Sistem za kontrolu sedišta i sistem za kontrolu retrovizora se razlikuju jedino u snazi motora.Šema
sistema za kontrolu jednog sedišta/retrovizora je prikazana na slici 20.
MIKROKONTROLER
IMPULS
SMER
PP
PP
PP
PP
PP
HARDVER
Napred
Nazad
PWM
ENERGETSKI
BLOK M
A
NM
B
ENKODER
Slika 20. Blok šema sistema za kontrolu položaja sedišta i retrovizora
Hardver za generisanje signala impuls i smer je dat na slici 21.
IMPULS
A
B
Q
Q
SET
CLR
D
B
A
SMER
Slika 21. Šema hardvera za generisanje signala impuls i smer
Jednosmernim motorima se upravlja na isti način kao i motorom za pokretanje prozora. Upravljanje je
opisano u prethodnoj glavi. Obrtnim enkoderom se meri pomeraj osovine. Za poznavanje pozicije sistema potrebno
28
je zadati referentnu poziciju. Ova inicijalizacija je urađena pri instaliranju sistema. Kako postoji mogućnost
mehaničkog pomeranja položaja retrovizara i sedišta, potrebno je meriti pomeraj i kada se on ne vrši motorom
kojim upravlja mikrokontroler. Mikrokontoler je dužan da u svakom trenutku “zna” poziciju sistema. U slučaju
nestanka napajanja mikrokontrolera izvršiće se automatska inicijalizacija sistema, tako što se sistem pomera dok se
ne dođe do nultog markera, signal NM. Pretpostavljeno je da je mikrokontroler koji meri položaj stalno pod
napajanjem, tako je inicijalizacija sistema potrebna samo u specijalnim slučajevima nestanka napajanja i reseta
sistema.
Na detekciju pritiska taster, centralni mikrokontroler šalje poruku za pokretanje sedišta/ retrovizora. Po
otpuštanju tastera se zaustavlja kretanje prozora. Format komandne poruke je dat u tabeli 9.
0 1 0 RL/RD L/D OTK ZAK / /
Tabela 9. Format komandne poruke za kontrolu položaja sedišta i retrovizora
 Bit RL/RD predstavlja informaciju o kontroli smera okretanja motora tj pomeranja sistema u jednu ili drugu
stranu
 Bit L/D predstavlja informaciju koja se odnosi na levi/desni retrovizor ili sedište
 Bit OTK predstavlja informaciju koja se odnosi na otključavanje (OTK=1)
Bit ZAK predstavlja informaciju koja se odnosi na otključavanje (ZAK=1)
Po primanju informacije o otključavanju, mikrokontroler podešava sistem u položaj pre zaključavanja. Na
signalizaciju zaključavanja mikrokontroler pamti trenutnu poziciju sistema. Mikrokontroleri generišu prekid samo
po detektovanju neispravnosti sistema. Detekcija neispravnosti je jednostavna i vrši se poređenjem signala sa
enkodera i signala za upravljanje motora.
2.6 Podsistem za kontrolu temperature u automobile
Za merenje temperature se koristi sensor koji na izlazu daje PWM signal čiji je "duty cycle" srazmeran
temperaturi. Merenje temperature moguće je realizovati pomoću tajmera, upotrebom CAPTURE registara.
Mikrokontroler očitava senzor i na zahtev centralnog računara šalje podatak. U slučaju da temperatura predje neku
dozvoljenu granicu, generiše se prekid. Kao odgovor na poliranje, sistem vraća poruku koja ima bitove P3..P0
jednake vrednosti 0011. Format poruka kojima se zahteva čitanje podataka iz mikrokontrolera podsistema je već
opisan u prethodnim poglavljima i formatu podataka. Šema sistema za merenje temperature je prikazana na slici
22.
Mikrokontroler Senzor
temperature
PP
Slika 22. Blok šema za kontrolu temperature u automobile
29
2.7 Podsistem za kontrolu parking senzora
Šema sistema koji kontroliše ultrazvučni detektor udaljenosti je prikazana na slici 23.
MIKROKONTROLER
DAC
PP
PP
Ultrazvučni
predajnik
out Detektor
LP
Filter
Input
˃ Start
Kretanje unazad
Slika 23. Blok šema sistema za kontrolu zadnjih parking senzora
Kretanje unazad se detektuje prekidačem koji se nalazi na menjaču prikazan je na slici 24.
Vcc
Prekidač na
menjaču
Vcc
Kretanje
unazad
GND
Slika 24. Šema hardvera za detekciju kretanja unazad
Za upotrebu ultrazvučnog senzora potreban je sinusoidalni signal koji se generiše sintezom učestanosti.
Odbirci sinusoide se šalju u određenim vremenskim periodima na A/D konvertor i konverzija se startuje. Vreme
startovanja konverzije meri se tajmerom dok brzina slanja odbiraka zavisi od učestanosti date sinusoide.
30
U slučaju da je rastojanje manje od zadatog, od 300cm, detektor generiše prekid na uzlaznu ivicu. Vreme starta
konverzije i detektovanja prijema meri se tajmerom i srazmerno je rastojanju automobila od prepreke. Pri prijemu
prekida, centralni mikrokontroler prima poruku oblika P3..P0 = 0011 i na displeju očitava vrednost ovog senzora.
Takođe, po prijemu informacije o nailasku na prepreku na max 300cm od nje, centralni mikrokontroler počinje
slati signale zvučniku ugrađenom u kontrolnu tablu koji emituje zvuk u zavisnosti od daljine prepreke. Kako se
automobil približava prepreci tako zvuk emitovan sa zvučnika postaje kontinualniji i jači. Blok sistema za kontrolu
zvučnika prikazan je na slici 25.
Centralni
Mikrokontroler D/A
Vcc
Zvučnik
GND
Slika 25. Blok šema kontrole jačine zvučnog signala od blizine prepreke
2.8 Osvetljenje instrument table
Za osvetljenje instrument table se koriste LED diode. Diode se atomatski pale preko pina centralnog mikrokontrolera
i Darlintonovog para tranzistora po otljučavanju vozila. Intezitet osvetljenja se kontroliše potenciometrom koji
korisnik može podešavati manuelno. Šema osvetljenja instrument table je prikazana na slici 26.
GND
PP
LED diode za osvetljenje
instrument table
Vcc
Slika 26.Šema hardvera za kontrolu osvetljenja instrument table
31
Literatura
1. Predavanja iz predmeta Namenski računarski sistemi, Lazar Saranovac
2. MSP430 data sheet, Texas Instruments
3. 8051 data sheet, Intel
4. WISHBONE System-on-Chip, Silicore

Contenu connexe

Tendances

東南アジアの笙を概観する
東南アジアの笙を概観する東南アジアの笙を概観する
東南アジアの笙を概観するJunichi Usui
 
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacajTeacherDN
 
Zemun - prezentacija, seminar
Zemun - prezentacija, seminarZemun - prezentacija, seminar
Zemun - prezentacija, seminarsanjaostojic77
 
прямолінійне поширення світла
прямолінійне поширення світлапрямолінійне поширення світла
прямолінійне поширення світлаЕвгения Сажнева
 
Врсте земљишта у Србији
Врсте земљишта у СрбијиВрсте земљишта у Србији
Врсте земљишта у СрбијиMilena Skaro
 
Master Peruzzi 14 Mar 08
Master Peruzzi 14 Mar 08Master Peruzzi 14 Mar 08
Master Peruzzi 14 Mar 08cmid
 
васиона и васионска тела
васиона и васионска телавасиона и васионска тела
васиона и васионска телаprijicsolar
 
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptx
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptxPREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptx
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptxradmila10
 

Tendances (10)

東南アジアの笙を概観する
東南アジアの笙を概観する東南アジアの笙を概観する
東南アジアの笙を概観する
 
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj
2020 od12-do14.str-ekonomska-geografija-razvoj-predmet-proucavanja-i-znacaj
 
Zemun - prezentacija, seminar
Zemun - prezentacija, seminarZemun - prezentacija, seminar
Zemun - prezentacija, seminar
 
прямолінійне поширення світла
прямолінійне поширення світлапрямолінійне поширення світла
прямолінійне поширення світла
 
Врсте земљишта у Србији
Врсте земљишта у СрбијиВрсте земљишта у Србији
Врсте земљишта у Србији
 
Stene
SteneStene
Stene
 
Master Peruzzi 14 Mar 08
Master Peruzzi 14 Mar 08Master Peruzzi 14 Mar 08
Master Peruzzi 14 Mar 08
 
васиона и васионска тела
васиона и васионска телавасиона и васионска тела
васиона и васионска тела
 
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptx
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptxPREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptx
PREDSTAVLJANJE HIDROGRAFIJE I RELJEFA NA KARTI.pptx
 
Reljef Azije
Reljef AzijeReljef Azije
Reljef Azije
 

En vedette

Administrativni poslovi
Administrativni posloviAdministrativni poslovi
Administrativni posloviamcshc
 
Saveti zdravoga razuma
Saveti zdravoga razumaSaveti zdravoga razuma
Saveti zdravoga razumagordana comic
 
PWM control of LED-diodes on the MSP430x series development board
PWM control of  LED-diodes on the MSP430x series development boardPWM control of  LED-diodes on the MSP430x series development board
PWM control of LED-diodes on the MSP430x series development boardJovan Vlajic
 
8-bit PIC Microcontrollers
8-bit PIC Microcontrollers8-bit PIC Microcontrollers
8-bit PIC MicrocontrollersPremier Farnell
 
Chp5 pic microcontroller instruction set copy
Chp5 pic microcontroller instruction set   copyChp5 pic microcontroller instruction set   copy
Chp5 pic microcontroller instruction set copymkazree
 
Automatic Door Control using LM35 Sensor
Automatic Door Control using LM35 SensorAutomatic Door Control using LM35 Sensor
Automatic Door Control using LM35 SensorAghnia Rusydah
 
Temperature Sensor using LM35 and LCD Display on Arduino
Temperature Sensor using LM35 and LCD Display on ArduinoTemperature Sensor using LM35 and LCD Display on Arduino
Temperature Sensor using LM35 and LCD Display on ArduinoWildan Rahman
 
Introduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIntroduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIslam Samir
 
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERS
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERSPIC-MICROCONTROLLER TUTORIALS FOR BEGINNERS
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERSVISHNU KP
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGAbhishek Dwivedi
 
Face2face pre intermediate student book
Face2face pre intermediate student bookFace2face pre intermediate student book
Face2face pre intermediate student bookRom Cross
 

En vedette (12)

Administrativni poslovi
Administrativni posloviAdministrativni poslovi
Administrativni poslovi
 
Saveti zdravoga razuma
Saveti zdravoga razumaSaveti zdravoga razuma
Saveti zdravoga razuma
 
PWM control of LED-diodes on the MSP430x series development board
PWM control of  LED-diodes on the MSP430x series development boardPWM control of  LED-diodes on the MSP430x series development board
PWM control of LED-diodes on the MSP430x series development board
 
8-bit PIC Microcontrollers
8-bit PIC Microcontrollers8-bit PIC Microcontrollers
8-bit PIC Microcontrollers
 
Chp5 pic microcontroller instruction set copy
Chp5 pic microcontroller instruction set   copyChp5 pic microcontroller instruction set   copy
Chp5 pic microcontroller instruction set copy
 
Automatic Door Control using LM35 Sensor
Automatic Door Control using LM35 SensorAutomatic Door Control using LM35 Sensor
Automatic Door Control using LM35 Sensor
 
Temperature Sensor using LM35 and LCD Display on Arduino
Temperature Sensor using LM35 and LCD Display on ArduinoTemperature Sensor using LM35 and LCD Display on Arduino
Temperature Sensor using LM35 and LCD Display on Arduino
 
Introduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and MicrocontrollersIntroduction to Embedded Systems and Microcontrollers
Introduction to Embedded Systems and Microcontrollers
 
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERS
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERSPIC-MICROCONTROLLER TUTORIALS FOR BEGINNERS
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERS
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Face2face pre intermediate student book
Face2face pre intermediate student bookFace2face pre intermediate student book
Face2face pre intermediate student book
 
Deep C
Deep CDeep C
Deep C
 

Similaire à Design and development of microcontroller in car industry

Uvod u elektroniku - Mikrokontroleri
Uvod u elektroniku - MikrokontroleriUvod u elektroniku - Mikrokontroleri
Uvod u elektroniku - MikrokontroleriDamjan Pavlica
 
zavrsni
zavrsnizavrsni
zavrsnixenosb
 
Asynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerAsynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerJovan Vlajic
 
Upravljanje pomocu racunara
Upravljanje pomocu racunaraUpravljanje pomocu racunara
Upravljanje pomocu racunaraAna Todorovic
 
Upravljanje racunarom
Upravljanje racunaromUpravljanje racunarom
Upravljanje racunaromDrazen Sipka
 
Komponente hardvera pc a
Komponente hardvera pc aKomponente hardvera pc a
Komponente hardvera pc aKrsticNikola
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-aNikolaKrstic
 
03-CPU ploca memorija.pdf
03-CPU ploca memorija.pdf03-CPU ploca memorija.pdf
03-CPU ploca memorija.pdfraven0241
 
Пасивна мрежна опрема
Пасивна мрежна опремаПасивна мрежна опрема
Пасивна мрежна опремаVladimir Tanović
 
Komponente hardvera pc
Komponente hardvera pcKomponente hardvera pc
Komponente hardvera pcBole98
 
VET4SBO Level 2 module 1 - unit 1 - v0.9 srb
VET4SBO Level 2   module 1 - unit 1 - v0.9 srbVET4SBO Level 2   module 1 - unit 1 - v0.9 srb
VET4SBO Level 2 module 1 - unit 1 - v0.9 srbKarel Van Isacker
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-aBonzita
 
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozara
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozaraStabilni sistemi -_stabilne_instalacije_za_dojavu_pozara
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozaraDragan Stojanović
 
Elektronska i elektricna oprema na vozilu
Elektronska i elektricna oprema na voziluElektronska i elektricna oprema na vozilu
Elektronska i elektricna oprema na voziluigoriv
 

Similaire à Design and development of microcontroller in car industry (20)

Uvod u elektroniku - Mikrokontroleri
Uvod u elektroniku - MikrokontroleriUvod u elektroniku - Mikrokontroleri
Uvod u elektroniku - Mikrokontroleri
 
Rac seminar
Rac seminarRac seminar
Rac seminar
 
zavrsni
zavrsnizavrsni
zavrsni
 
Asynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controllerAsynchronous serial data transfer, UART and CAN controller
Asynchronous serial data transfer, UART and CAN controller
 
ST.pptx
ST.pptxST.pptx
ST.pptx
 
Upravljanje pomocu racunara
Upravljanje pomocu racunaraUpravljanje pomocu racunara
Upravljanje pomocu racunara
 
OIR9-L2.pptx
OIR9-L2.pptxOIR9-L2.pptx
OIR9-L2.pptx
 
Upravljanje racunarom
Upravljanje racunaromUpravljanje racunarom
Upravljanje racunarom
 
Komponente hardvera pc a
Komponente hardvera pc aKomponente hardvera pc a
Komponente hardvera pc a
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-a
 
123
123123
123
 
03-CPU ploca memorija.pdf
03-CPU ploca memorija.pdf03-CPU ploca memorija.pdf
03-CPU ploca memorija.pdf
 
Pages from plc 1
Pages from plc 1Pages from plc 1
Pages from plc 1
 
Пасивна мрежна опрема
Пасивна мрежна опремаПасивна мрежна опрема
Пасивна мрежна опрема
 
Komponente hardvera pc
Komponente hardvera pcKomponente hardvera pc
Komponente hardvera pc
 
VET4SBO Level 2 module 1 - unit 1 - v0.9 srb
VET4SBO Level 2   module 1 - unit 1 - v0.9 srbVET4SBO Level 2   module 1 - unit 1 - v0.9 srb
VET4SBO Level 2 module 1 - unit 1 - v0.9 srb
 
Komponente hardvera PC-a
Komponente hardvera PC-aKomponente hardvera PC-a
Komponente hardvera PC-a
 
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozara
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozaraStabilni sistemi -_stabilne_instalacije_za_dojavu_pozara
Stabilni sistemi -_stabilne_instalacije_za_dojavu_pozara
 
Elektronska i elektricna oprema na vozilu
Elektronska i elektricna oprema na voziluElektronska i elektricna oprema na vozilu
Elektronska i elektricna oprema na vozilu
 
ORT
ORTORT
ORT
 

Design and development of microcontroller in car industry

  • 1. ELEKTROTEHNIČKI FAKULTET U BEOGRADU Odsek za elektroniku Predmet: Namenski računarski sistemi Projekat : Projektovanje mikrokontrolera i njegova primena u automobilskoj industriji Profesor: Student: Dr. Lazar Saranovac Jovan Vlajić 321/2008 Beograd, Septembar 2015
  • 2. 2 Sadržaj Projektni zadatak ........................................................................................................................1 1 MIKROKONTROLER .........................................................................................................5 1.1 Paralelni portovi ................................................................................................................6 1.2 UART.................................................................................................................................7 1.3 D/A konvertor.....................................................................................................................9 1.4 A/D konvertor....................................................................................................................10 1.5 Time -out logika.................................................................................................................11 1.6 Free running brojač ...........................................................................................................12 1.7 Kontroler prekida...............................................................................................................13 1.8 Adresni dekoder.................................................................................................................15 1.9 Watch dog timer ................................................................................................................16 2 PROJEKTOVANJE ELEKTRONSKE KONTROLE U AUTOMOBILU.....................17 2.1 Format podataka i protokol rada na magistrali....................................................................20 2.2 Podsistem za kontrolu otključavanja/zaključavanja vrata ..................................................21 2.3 Podsistem za kontrolu svetala ............................................................................................23 2.4 Podsistem za kontrolu prozora .......................................................................................... 25 2.5 Podsistem za kontrolu položaja sedišta i retrovizora..........................................................27 2.6 Podsistem za kontrolu temperature u automobile...............................................................28 2.7 Podsistem za kontrolu parking senzora...............................................................................29 2.8 Osvetljenje instrument table...............................................................................................30 LITERATURA………………………………………………………………………………..31
  • 3. 3 Projektni zadatak ETF je odlukom Minitarstva prosvete nauke i tehnološkog razvoja izgubio zgradu Lole.Tako da nema razloga više da se studenti bave automatizacijom te zgrade. Kako je automobilska industrija u Srbiji u naglom razvoju, a da bi se studenti pripremili za tu vrstu posla, ideja ovog projekta je da se upoznaju i probaju da projektuju deo elektronike koja se nalazi u savremenim kolima. Prvi deo Za osnovu sistema elektronske kontrole u automobilu treba projektovati odgovarajući mikrokontroler, koji će biti moguće upotrebiti kao kontrolu različitih sistema. Na raspolaganju je standardni 32-bitni procesor koji je prilagođen unutrašnjom arhitekturom WISHBONE sistemskoj magistrali (wbspec_B3). Procesor može da vidi memorijski prostor u bajtovima ( LITTLE ENDIAN format) i ima jedan prekidni ulaz sa aktivnim nivoom za prihvatanje prekida. Prekidi su vektorskog tipa. Mikrokontroler treba da poseduje: - prekidni kontroler za prihvatanje prekida od internih periferija - watch dog timer - 10-bitni AD konvertor - 10-bitni DA konvertor - odgovaraj odgovaraju¢i broj 8-bitnih paralelnih portova - UART sa programabilnim brojem bita koji se prenose (8 ili 9) - 16-bitni free running brojač sa više input capture registara i više output compare registara - periferije koje projektant nađe da su još neophodne (I2C, SPI, . . . ). 1.1 Nacrtati detaljnu logičku šemu unutrašnjosti mikrokontrolera 1.2 Napisati korisničko uputstvo, sa programskog stanovišta, za korišćenja periferija mikrokontrolera Drugi deo Svakim delom sistema upravlja nezavisni mikrokontroler.Centralizaciju radi glavni mikrokontroler, računar, koji prikuplja informacije, zadaje poslove i prikazuje informacije na intrument table automobila. Svi tasteri i pokazivači su povezani na centralni računar. Komunikacija između mikrokontrolera se obavlja preko zajedničke asinhrone pundupleks magistrale sa diferencijalnim prenosom signala. Kontrola ulaska i otključavanja automobila. Obezbediti da se sva vrata automatski otključaju kada priđe korisnik sa RF_ID karticom koja ima svoj jedinstveni kod. Kod je veličine 12 alfanumeričkih karaktera. Koristiti RF_ID čitač kojem može da se pristupi preko I2 C magistrale. Korisnički kodovi su fabrički zadati i nalaze se u memoriji centralnog računara. Kontrola svetla. U svakom faru se nalazi mikrokontroler koji na zahtev od centralnog računara pali i gasi poziciona svetla, srednja, dugačka svetla u prednjim farovima, sijalice u farovima za maglu, poziciona, stop i svetla za maglu u zadnjim farovima. Sijalice rade na 12V , pri čemu je njihova snaga veća od 12W, ali manja od 100W. Potrebno je detektovati neispravnost sijalice. Kontrola otvaranja i zatvaranja prozora.
  • 4. 4 Potrebno je obezbediti da se na zahtev korisnika preko tastera prozori otvaraju i zatvaraju automatski, pri čemu treba voditi računa da se u slučaju ako postoji prepreka (npr. ruka izbačena kroz prozor) zaustavi kretanje prozora na gore. Kontrola udaljenja vozačevog sedišta i položaja retrovizora. Obezbediti da se na pritisak tastera pomera vozačevo sedište napred i nazad, kao i podešavanje retrovizora sa posebnim tasterima. Sedičte se po otklju£avanju automobila automatski pomera na poslednji zadati položaj od tog korisnika. To isto se dešava i sa retrovizorima Kontrola temperature. Obezbediti merenje temperature u kolima i prosleđivanje informacije ka centralnom računaru. Zadnji parking senzori. Parking senzori se aktiviraju kada se vozilo kreće unazad. Rastojanje od prepreke se meri ultrazvučnim detektorom. Meri se vremensko rastojanje između emitovanog i primljenog zvuka. Emitovanje zvuka se radi preko predajnika kome je potrebno generisati talasni oblik signala. Prijem zvuka se radi detektorom koji na svom izlazu daje logičku jedinicu kada se ustanovi prisustvo zvuka. Informacija o udaljenosti u cm (max 300cm) se prenosi do centralnog računara i prikazuje na instrument tabli. Na zvučniku instrument table se generiše zvuk sa različitom visinom tona u zavisnosti od udaljenosti od prepreke. Jačina zvuka se podešava potenciometrom . Za kraću udaljenost ton je više ušestanosti. Osvetljenje instrument table. Za osvetljenje se koriste LED diode. Intezitet osvetljaja se podešava potenciometrom 2.1 Nacrtati blok šemu sistema i povezivanja pojedinih delova 2.2 Nacrtati projekat hardvera pojedinih delova 2.3 Defnisati formate i protokole rada za poruke koje se prenose po magistralama 2.4 Opisati programske poslove svakog pojedinačnog mikrokontrolera Dodatni poeni Realizacija ABS. Realizacija ESP.
  • 5. 5 1 Mikrokontroler Projektovani mikrokontroler poseduje 32 bitni procesor koji je prilagođen unutrašnjom arhitekturom WISHBONE sistemskoj magistrali. Mikorokontroler poseduje blok za kontrolu CLK signala dobijenog iz kristalnog oscilatora. Za napajanje postoje dva pina na koje se dovode VDD i VDA. Program ili delove programa je moguće smestiti u EPROM ili Flash memoriju. Mikrokontroler poseduje sledeće periferije: 1.4 paralelna I/O porta širine jednog bajta ( 8 bitova ) : P0, P1, P2, P3 2. UART sa programabilnim brojem bita koji se prenose (8 ili 9) 3. 10 bitni D/A konvertor 4. 10 bitni A/D konvertor 5. Time-out logika 6. 16 bitni free running brojač ( 4 input capture registra i 4 output compare registra ) 7. Kontroler prekida 8.Adresni dekoder 9.Watch dog tajmer Blok šema mikrokontrolera je prikazana na slici 1.
  • 6. 6 D A C Timer I/O Ports Adresni Dekoder Watch dog timer Time out logika UART kontroler Oscilator CPU Kontroler prekida T0 T1 T2 T3DACADC OSC0 OSC1 INT0 INT1 TX RX Prekidi od periferija P0 P1 P2 P3 8 8 8 8 A D C Slika 1.Blok šema mikrokontrolera U daljem tekstu objasnićemo i opisati hardver periferija njihov način funkcionisanja.Takođe navešćemo i korisničko upustvo za koriščenje svake od realizovanih periferija. 1.1 Paralelni portovi Mikrokontroler poseduje četiri 8-bitna I/O paralelna porta: P0, P1,P2, i P3, koji su povezani na 8 najnižih bitova magistrale podataka D7...D0. Pinovi portova su numerisani sa Pi0..7, i=0..3. Portovima Pi se pristupa pomoću adrese ZA+1+i, i=0..3. Kada se adresira odgovarajući port Pi, i=0..3 i inicira upis ili čitanje, aktivira se signal Wi+1 odnosno Ri+1 u zavisnosti da li se vrši upis ili očitavanje sa porta. Takođe, trenutno stanje izlaznog porta se može očitati sa memorijske lokacije ZA+5+i, i=1.. 3. Svaki od 32 pina Pij, i=0..3, j=0..7 je moguće nezavisno konfigurisati kao ulazni ili izlazni pin. Definisanje smera pina se vrši upisom u 32-bitni registar, koji se nalazi na adresi ZA+0. Vrednost 1 u registru označava da je odgovarajući pin izlazni, vrednost 0 označava da je pin ulazni. Da bi pin Pij, i=0..3, j=0..7 bio izlazni odnosno ulazni potrebno je postaviti bit D8i+j data magistrale na 1 odnosno 0, i izvršiti upis adresu ZA+0.
  • 7. 7 Pinovi P0.0 i P0.1 su povezani na kontroler prekida i imaju mogućnost generisanja prekida. Odgovarajući flip-flopovi za definisanje smera imaju mogućnost asinhronog reseta, tako da su po resetu svi pinovi konfigurisani kao ulazni. Izgled jednog porta prikazan je na slici 2. Pij D8i+j W0 D8i+j Wi+1 Dj Ri+5 Ri+5 Slika 2.Šema jednog porta 1.2. UART ( Universal Asynhronous Receiver Transmiter) UART periferija obezbeđuje asinhroni serijski prenos sa programabilnom dužinom podatka koji se šalje ili prima. Broj bita u jednoj poruci se podešava upisom odgovarajuće vrednosti u flip-flopove koji se nalaze na adresi ZA+11 i, a povezani su na D0 (slanje) i D1(prijem) bitove magistale podataka. Upis jedinice označava prenos podatka dužine 9 bita dok upis 0 označava prenos podatka dužine 8 bita. UART periferija poseduje nezavisne pomeračke registre za prijem i slanje koji su povezani na 9 najnižih bita magistrale podataka i obezbeđuje full-duplex komunikaciju. U daljem tekstu dat je opis konfiguracije i funkcionisanja UART predajnika i prijemnika, kao i njihove šeme. Upisom podatka u pomerački registr na adresi ZA+10 aktivira se signal W10 i započinje slanje. Brzina slanja zavisi od CLK_T taktnog signala. Vrednost ovog takta se podešava konfiguracijom delitelja učestanosti, pa brzina prenosa zavisi od sistemskog takta CLK i odgovarajuće konfiguracije delitelja učetanosti. Nakon slanja 10 odnosno 11 bita (8 odnosno 9 bita poruke kao i START i STOP bita) generiše se prekid INT_T koji se vodi na odgovarajući ulaz kontrolera prekida. Stanje predajnika se može dobiti očitavanjem bita 0 sa adrese ZA+11.
  • 8. 8 Vrednost 1 ovog bita signalizira da je slanje poruke u toku i da predajnik nije u stanju da prihvati slanje nove poruke. Na slici 3 je data šema UART predajnika. ` ` UART_TQ1 Q0 S0 Q9..Q2Q10PE SI PISO Shift register 1 1 D7..D0 10 ` Q1 Q0Q2Q3 COUNTER INT_T CLK_T D0 R11 STATUS_T D0 W11 D8 W10 Slika 3. Šema UART predajnika Nakon detektovanja START bita započinje prijem podatka. Brzina prijema zavisi od CLK_R signala takta. Vrednost ovog takta se podešava konfiguracijom delitelja učestanosti, pa brzina prenosa zavisi od sistemskog takta CLK i odgovarajuće konfiguracije delitenja učetanosti. Ukoliko je poruka ispravno primljena, generiše se prekid INT_R, i setuje bit D1 na adresi ZA+11. Očitavanjem prihvatnog registra poruke ili očitavanjem ovog bita vrši se njegovo resetovanje. Ukoliko dodje do greške loš STOP bit ili loš START bit, generišu se prekidi ERRSTART i ERRSTOP i resetuje se prijemnik. Ispravno primljena poruka se očitava iz prihvatnog registra na adresi ZA+12. Na slici 4 je data šema UART prijemnika.
  • 9. 9 Q Q SET CLR S R Q1 Q0Q2Q3 Q1 Q0Q2Q3 COUNTER Q Q SET CLR D CMP Q1 Q0Q2Q3 COUNTER D1 W11 MUX Sel 16xCLK_R D0 D1=11 =10 =1 UART_R ERRSTART ERRSTOP CORRECT Q Q SET CLR D0 R11 R12 D1 R11 INT_R SIPO Shift register SI D8 D0 REGISTERD8 D0 D8 D0 E R12 D8..D0 ERRSTART ERRSTOP CORRECT DIFF UART_R Q8/9 Slika 4. Šema UART prijemnika 1.3 D/A konvertor ( 10 bita ) Mikrokontroler poseduje desetobitni digitalno-analogni konvertor. Početak DA konverzije se zadaje upisom podataka na adresu ZA+13. Na slici 5 prikazana šema D/A periferije. REGISTER GND VDD D9 D0 DAC 10 bit Vout A_VDD A_GND 1010 D9..D0 W13 Slika 5. Šema D/A perifierije
  • 10. 10 1.4. A/D konvertor ( 10 bita ) Mikrokontroler poseduje desetobitni analogno-digitalni konvertor. Početak A/D konverzije se zadaje upisom na adresu ZA+14. Kada je konverzija gotova, generiše se prekid INT_AD. Stanje konverzije se dobija očitavanjem bita D10 na adresi ZA+14.Vrednost 1 ovog bita označava da je A/D konverzija u toku. Desetobitni rezultat konverzije se dobija očitavanjem bitova D0..D9 sa adrese ZA+14. Na slici 6 je prikazana šema A/D periferije. GND VDD D9 D0 ADC 10 bit Vin A_VDD A_GND 10 D9..D0 W14 10 R14 BUSY R14 DIFF INT_ADC D10 Slika 6. Šema A/D perifierije
  • 11. 11 1.5 Time-out logika Time-out logic (TOL) kontroliše komunikaciju putem UART magistale i ispravnost rada uređaja povezanih na magistralu. TOL generiše prekid, ukoliko nakon slanja poruke izostane prijem odgovora u odgovarajućem vremenskom intervalu. Vreme prijema se softverski definiše upisom u 16-bitni registar na adresi ZA+17. Aktivacija merenja vremena se vrši signalom INT_T iz UART predajnika, a kao obaveštenje time-out logici da je primljena poruka, koristi se signal INT_R. Rad time-out logike je moguće zaustaviti upisom vrednosti logičke nule u registar na adresi ZA+15 na poziciji D0. Hardver time-out logike je prikazan na slici 7. Q Q SET CLR S R DIFF REGISTER W17 16 bit DOWN COUNTER PE D15..D0 16 16 CLK ENABLE Q Q SET CLR D W15 D0 INT_TOL INT_R INT_T RESET Slika 7. Šema Time-out logike
  • 12. 12 1.5 Free running brojač Mikrokontroler poseduje 16-bitni "free running" brojač sa 4 INPUT CAPTURE registra i 4 OUTPUT COMPARE registra. Po resetu, brojač je isključen. Startovanje se vrši upisom 1 u registar na adresi ZA+18, bit D0. Upisom 0 u pomenuti registar isključuje se brojač. 16-bitna vrednost brojača se može očitati sa adrese ZA+18. Kada brojač pređe sa maksimale vrednosti na 0, generiše se prekid INT_CNT. Vrednosti 4 CAPTURE registara se mogu očitati sa adresa ZA+19+i, i=0..3. Signali CAP_SIGNAL_i, i=0..3 predstavljaju eksterne signale sa pinova kontrolera. Na uzlaznu ili silaznu ivicu signala CAP_SIGNAL_i vrši se upis trenutne vrednosti brojača u CAPTURE registar i generiše se prekid INT_C_i. Konfiguracija reagovanja na uzlaznu ili silaznu ivicu vrši se upis 1 u bit D1+i za uzlaznu i 0 za silaznu na adresi ZA+18. COMPARE registri se nalaze na adresi ZA+19+i, i=0..3. Kada brojač dobroji do vrednosti u COMPARE registru i, , i=0..3 generiše se prekid INT_i, , i=0..3. Očitavanjem trenutne vrednosti brojača, upotrebom COMPARE i CAPTURE registara moguće je na jednostavan način meriti trajanja, periode, "duty cycle" ulaznih signala, generisanje PWM signala, generisanje prekida u tačno određenim trenucima itd.Na slici 8 je data šema brojača sa registrima. 16bit COUNTER Q Q SET CLR DD0 W18 CLK_CNT RESET 16 CMP 16 bit i INT_CNT_i INT_CNT 16 REGISTER D15 D0 i E R19+i D15..D0 E R18 D15..D0 16 bit REGISTER i D15..D0 W19+i 16 DIFF DIFF CAP_SIGNAL_i MUX Sel D0 D1 INT_C_i OUT Q Q SET CLR D D1+i W18 Slika 8. Šema 16-bitnog free-running brojača sa registrima
  • 13. 13 1.6 Kontroler prekida Kontroler prekida je vektorskog tipa i ima 16 ulaza. Ulaz15 (INT15) je ulaz najvišeg prioriteta, dok je ulaz 0 (INT0) ulaz najnižeg prioriteta. Ulaz 15 je nemaskirajući i povezan je sa prekidom koji generise TIME OUT logika. Ulazi 14 do 2 (INT14..INT2) su ulazi za maskirajuće prekide i dodeljeni su prekidima koje generišu periferije. Ovi ulazi su projektovani da reaguju na ivične prekide (uzlaznu ivicu) koje generišu periferije i pretvaraju ih u prekide sa nivoom. Ulazi 1 i 0 (INT1 i INT0 ) su ulazi za spoljne prekide i povezani su na pinove P0.0 i P0.1. Kod ovih ulaza u kontroler prekida moguće je izvršiti konfiguraciju da se prihvataju ivični ili prekidi sa nivoom, kao i na koju ivicu se reaguje uzlaznu ili silaznu. Maskiranje maskirajućih prekida (INT14..INT0) se vrši upisom na adresu ZA+23, vrednost 1 na poziciji Di dozvoljava prekid INTi, i=0..14. Konfiguracija ulaza 1 i 0 se vrši upisom odgovarajuće vrednosti na adresu ZA+25. Reagovanje na prekid sa aktivnim nivoom ili aktivnom ivicom se podešava bitovima D2 za izlaz 1 i D0 za ulaz 0.Vrednost 1 označava reagovanje na prekid sa aktivnim nivoom, a vrednost nula na ivični prekid 0. Reagovanje na uzlaznu ili silaznu ivicu se konfiguriše bitovima D3 za izlaz 1 i D1 za ulaz 0. Vrednost 1 označava reagovanje na silaznu, a vrednost 0 na uzlaznu ivicu. Očitavanjem sa adrese ZA+25 moguće je proveriti da li je neki prekid aktivan.Vrednost bita Di=1 signalizira da je prekid INTi, i=0..14 aktivan.Prekid se smatra aktivnim ukoliko postoji zahtev za prekid i prekid nije maskiran. Signal INT predstavlja signal koji se šalje procesoru kao indikacija da postoji prekid. Po prihvatanju prekida od strane procesora,( procesor postavlja signal ACK na aktivnu vrednost), kontroler prekida šalje po linijama D3..D0 4-bitnu vrednost koja predstavlja broj ulaza prekida najvišeg nivoa u tabelu prekidnih rutina. Takođe, po prihvatanju prekida resetuju se flip flop za pamćenje datog ivičnog prekida, tako da dati prekid postane neaktivan. Programeru je ostavljena mogućnost da softverski obriše flip-flop za praćenje prekida. Postavljanjem vrednosti 1 na liniju Di i upisom na adresu ZA+26 vrši se resetovanje flip flopa i-tog prekida. Posle reseta, svi maskirajući prekidi su maskirani. Hardver kontrolera prekida prikazan je na slici 9.
  • 15. 15 2.8. Adresni dekoder Počev od adrese ZA do ZA+32 nalaze se periferije koje poseduje mikrokontroler. Pomoću adresnog dekodera se aktiviraju signali W0, W1...W31, R0, R1..R31 za upis,čitanje i kontrolu periferija. Viših 27 bita adresne magistarale se poredi za adresom ZA, koja je zajednička za sve periferije, a sa nižih 5 bita A4, A3, A2 ,A1 i A0 se vrši adresiranje tačno određene periferije. Tačna adresa svake periferije (registara periferije i kontrolnih signala) su date u delovima teksta koji se odnosi na opis i rad datih periferija. Na osnovu signala CYC_O, STB_O i WE_O se aktivira ENABLE signal jednog od dva dekodera 5/32 i dekodovanjem aktivira određeni Wi ili Ri, i=0..31 signal. Hardver adresnog dekodera dat je na slici 10. 27 bit CMP A31..A4 27 ZA 27 A31..A0 CPU CYC_0 STB_0 WE_0 ACK_I 1 E I4 I3 I2 I1 I0 A4 A3 A2 A1 A0 DEC 5/32 D0 D1 . . . . D30 D31 R0R1....R30R31 W0 W1 . . . . W30 W31 EN r I4I3I2I1I0 DEC 5/32 D0D1....D30D31 EN ADRESNA MAGISTRALA 32 Slika 10. Šema Adresnog dekodera
  • 16. 16 1.9 Watch-dog timer Watch-dog timer (WDT) vrši proveru ispravnosti izvršavanja programa na mikrokontroleru. Za ispravno izvršavanje potrebno je da se program obrati watch-dog tajmeru u određenom vremenskom intervalu. Ukoliko se to ne desi, generiše se RESET signal i resetuje se mikrokontroler. Obraćanje WDT-u se vrši upisom vrednosti 0xA5A5 na adresu ZA+27. Moguće je isključiti WDT upisom nule u bit D31 na adresu ZA+28. Posle reseta WTD je isključen. Šema WDT-a je prikazana na slici 11. 16bit COUNTERLOAD 16 CLK Q Q SET CLR D W28 D31 RESET E_WD RESET DATA IN 16bit CMP 16 16 TERMINAL VALUE 16bit CMP 16 D15..0 0xA5A5 16 W27 16 START VALUE Slika 11. Šema Watch-dog tajmera
  • 17. 17 2.Projektovanje elektronske kontrole u automobilu Sistem se sastoji od centralnog mikrokontrolera, koji upravlja celim sistemom, reaguje na zahteve korisnika, prikuplja informacije od drugih podsistema, reaguje na njihove zahteve i prikazuje informacije na instrument table.Imamo ukupno 10 podsistema koji vrše sledeće aktivnosti:  kontrolu ulaska, otljučavanja i zaključavanja vrata,  kontrolu prednjih farova,  kontrolu farova za maglu,  kontrolu zadnjih svetala,  kontrolu otvaranja i zatvaranja prednjih prozora,  kontrolu otvaranja i zatvaranja zadnjih prozora,  kontrolu temperature,  kontrolu položaja vozačevog sedišta,  kontrolu položaja retrovizora i  kontrolu zadnjih parking senzora. Svaki podsistem vrši jednu od navedenih kontrolnih funkcija i svakim upravlja poseban mikrokontroler. Komunikacija centralni mikrokontroler - mikrokontroleri podsistema se obavlja preko zajedničke asinhrone full-duplex magistrale sa diferencijalnim prenosom signala. Centralni računar je “master” na magistrali, dok se podsistemi ponašanju kao “slave” uređaji. Takođe, svi mikrokontroleri podsistema su povezani na zajedničku prekidnu liniju INT koja je povezana na ulaz za eksterni prekid centralnog mikrokontrolera.Šema sistema je prikazana na slici 12. Centralni mikrokontroler Displej Tastatura Mikrokontroler Podsistem 1 INT0 INT1 Mikrokontroler Podsistem 2 Mikrokontroler Podsistem 10 . . . . . . . . UART Magistrala Zajednička linija za prekide Slika 12. Blok šema celog sistema Povezivanje mikrokontrolera koji kontrolišu određene podsisteme i centralnog mikrokontrolera preko asinhrone pundupleks magistrale sa diferencijalnim prenosom signala je prikazano na slici 13.
  • 18. 18 Vcc0 Podsistem8 Rx Tx Vcc0 Vbus Vbus ` Rt Rt Vbus Vbus GNDbus GNDbus Vcc0 Podsistem1 Rx Tx Vcc0 Vbus Vbus ` (SLAVE 1) Vbus Vcc0 Vbus Centralni mikrokontroler Tx Tx Rx Vcc0 (MASTER) GNDbus GND . . . . . . (SLAVE 8) Slika 13. Šema povezivanja podsistema sa centralnim mikrokontrolerom Kako su kontrolisani podsistemi udaljeni i nezavisni jedni od drugih, izvršeno je galvansko razdvajanje pomoću optokaplera. Prilikom izbora optokaplera trebamo biti sigurni da su vremena trajanja uzlazne i silazne ivice dovoljno kratka za zahtevanu brzinu signalizacije i da izabrani tranzistori imaju dovoljan strujni kapacitet. Kod ovog vida prenosa se umesto jedne signalne linije koriste dve komplementarne, tako da se logički nivo određuje kao razlika napona komplementarnih linija umesto poređenjem napona jedne linije sa masom ili nekim drugim referentnim naponom. Između komplementarnih linija povezan je otpornik Rt koji je jednak karakterističnoj impedansi kabla za prenos da bi se smanjila refleksija. Takođe, postavljeni su i pull-up i pull-down otpornici kako bi bilo definisano stanje linije kada nema prenosa signala. Komunikacija na magistrali se inicira od strane centralnog mikrokontrolera kao master uređaja, dok se kontrolisani sistemi ponašaju kao slave uređaji. Mikrokontroleri u podsistemima imaju mogućnost javljanja nekog događaja centralnom računaru preko prekidne linije. Svi su povezani na jednu zajedničku prekidnu liniju koja se vodi na pin glavnog mikrokontrolera koji može da reaguje na eksterne prekide (pin P1.0) i povezan je na ulaz broj 2 kontrolera prekida. Takođe je i ovde izvršeno galvansko razdvajanje putem optokaplera. Šema povezivanja je data na slici 14.
  • 19. 19 Centralni mikrokontroler INT1 VCC0 Podsistem1 Vbus Podsistem10 GNDbus Vbus GNDbusGND Pull-down . . . . . INT Slika 14. Šema povezivanja centralnog mikrokontrolera i podsistema na zajedničku prekidnu liniju INT Po detektovanju prekida ( INT linija je na logičkoj jedinici ) centralni mikrokontroler vrši poliranje, tj. proziva jedan po jedan podsistem sa pitanjem da li je dati podsistem generisao prekid. Ovo se vrši specifičnim adresiranjem koje je opisano u daljem tekstu, u delu koji se odnosi na protokol komunikacije i formate podataka. Ovakvo reagovanje na prekid ima za posledicu nepotrebnu potrošnju procesorskog vremena, ali je postignuta ušteda izbegavanjem vođenja žice od jednog do drugog podsistema i njihovo povezivanje koje bi bilo neophodno u slučaju projektovanja prioritetnog lanca (daisy chain) i pseudo-vektorskog prihvatanja prekida. Prekidi koji se signaliziraju su sledeći: 1.Podsistem za kontrolu otključavanja generiše prekid kada je izvšeno očitavanje kartice i potrebno je proveriti njen kod. 2.Podsistemi za kontrolu svetala generišu prekide u slučaju detektovanja neispravnosti sijalica. 3.Podsistem za otvaranje i zatvaranje po detektovanju prepreke. 4.Podsistem za kontrolu temperature generiše prekid ako temperatura pređe neku dozvoljenu granicu. 5.Podsistem za kontrolu parking senzora, ako se detektuje kretanje unazad irastojanje od prepreke je manje od 300cm. 6.Svaki podsistem u slučaju kada i posle 3 pokušaja nije moguće izvršiti zadatukomandu ili je nemoguće očitati senzore. Kako se projektovani sistem sastoji od relativno malog broja podsistema, generisanje prekida od strane podsistema je retko, merene veličine se menjaju sporo i sve akcije se izvšavaju na komandu čoveka, što je relativno sporo, pretpostavljeno je da je poliranje po detektovanju prekida dovoljno efikasno za potrebe projektovanog sistema. Prioritet prekida je određen redosledom poliranja i može se softverski menjati. Prekidi koje generišu podsistemi su sa aktivnim nivoom, pa je potrebno odgovarajuće konfigurisati ulaz broj1 kontrolera prekida. Pogledati deo koji se odnosi na prekidni kontroler.
  • 20. 20 2.1 Format podataka i protokol rada na magistrali Kominikacija između centralnog mikrokontrolera i mikrokontrolera u podsistemima se obavlja preko zajedničke asinhrone pundupleks magistrale brzine prenosa 9600 bit/s sa jednim STOP i START bitom i bez bita parnosti. Poruke koje šalje centralni mikrokontroler po linijama Tx su dužine 9 bita, tako da treba konfigurisati UART prijemnike u podsistemima za prijem poruka dužine 9 bita. Poruke koje šalju i mikrokontroleri podsistema su dužine 8 bita. Poruke koje šalje centralni mikrokontroler mogu biti adresne ili komandne. Adresne poruke imaju bit 9, jednak logičkoj jedinici, dok je kod komandnih vrednost ovog bita jednaka 0 da bi se dve vrste poruka razlikovale. Format adresne poruke je dat u tabeli 1. 1 Tip2 Tip1 Tip0 Adresa3 Adresa2 Adresa1 Adresa0 / Tabela 1. Format adresne poruke Postoji 6 tipa adresnih poruka u zavisnosti od bitova Tip2, Tip1, Tip0. Značenje pomenutih bitova je dato u tabeli 2. Tip2 Tip1 Tip0 Značenje poruke 000 Adresiranje uređaja (sledeće komandne poruke se odnose na uređaj čija je adresa data sa bitima adresa3..0) 011 Provera prekida (uređaj čija je adresa data sa bitima adresa3..0 odgovara da li je generisao prekid) 001 Deselektovanje (vrši se deselektovanje uređaja čija je adresa data sa bitima adresa3..0) 010 Restart (vrši se restartovanje uređaja čija je adresa data sa bitima adresa3..0) 100 Deselektovanje svih uređaja (biti adresa3..0 nemaju efekta ) 111 Restart svih uređaja (biti adresa3..0 nemaju efekta ) Tabela 2. Tipovi adresnih poruka u zavisonosti od bitova Tip2 Tip1 Tip0 Bitovi Adresa3 ... Adresa0 predstavljaju adresu nekog od 8 podsistema. Adrese podsistema su fiksne i dodeljene su svakom prikom inicijalizacije. Najniži bit poruke se koristi za adresiranje i moguće je softverski implementirati da se u ovaj bit upiše bit parnosti, kao kontrola ispravnosti poslate poruke. Format komandnih poruka koje centralni računar šalje mikrokontrolerima podsistema je prikazan u tabeli 3. 0 C/RW R/W K5 K4 K3 K2 K1 K0 Tabela 3. Format komandne poruke Ukoliko je vrednost bita C/RW jednaka 1 radi se o komandnoj poruci i bitovi K5..K0 specificiraju određenu komandu adresiranom sistemu. Ukoliko je vrednost ovog bita 0, onda komandna poruka predstavlja početak
  • 21. 21 prenosa podataka i bitovima K5..K0 je dat broj podataka koji se prenose (veličina u bajtovima).(R/W=1 čitanje, R/W=0 upis). U tom slučaju, kada se radi o upisu, sledeće poruke koje se šalju adresiranom uređaju se tumače kao podaci. Poruke koje mikrokontroleri podsistema šalju su 8-bitne i njihov format je dat u tabeli 4. D7 D6 D5 D4 D3 D2 D1 D0 Tabela 4. Format poruke podataka U slučaju da se radi o eho poruci, D7..D0 su isti kao 8 nižih bitova primljenje poruke. U slučaju da je uređaj adresiran sa adresnom porukom koja označava proveru prekida, umesto pomenute eho poruke, vraća se poruka koja sadrži informaciju o prekidu i adresu uređaja. Adresa uređaja se šalje kao provera, tj. kao kratka eho poruka. Forma ove poruke data je u tabeli 5. P3 P2 P1 P0 A3 A2 A1 A0 Tabela 5. Format eho poruke Ako su P3..P0 jednaki 0000, adresirani sistem nije generisao prekid. Vrednost 1111 označava prekid usled nemogućnosti izvršavanja zadate komande i posle 3 pokušaja. Nekom drugom vrednošću bitova P3..P0 prozvani sistem obaveštava centralni računar o vrsti prekida specifičnoj za njega. Adresirani uređaj, čiji se prekid proverava, pored stanja prekida vraća i svoju adresu bitovima A3..A0 kao potvrdu da je ispravno protumačio primljenu poruku. 2.2 Podsistem za kontrolu otključavanja/zaključavanja vrata U svim modernim automobilima otključavanje odnosno zaključavanje je osim mehaničkim putem omogućeno i RF ID karticom. Pri prislanjanju RF ID kartice RF ID čitač šalje preko I2 C magistrale poruku mikrokontroleru da je stigao zahtev za otključavanje/zaključavanje vozila. Blok šema sistema koji kontroliše otključavanje/zaključavanje vrata je prikazana na slici 15. Mikrokontroler Otključaj vrata1 Otključaj vrata2 Otključaj vrata3 Otključaj vrata4 Zaključaj vrata1 Zaključaj vrata2 Zaključaj vrata3 Zaključaj vrata4 Senzor zaključano/otključano I2C RF ID Čitač Slika 15. Blok šema sistema za otkjučavanje/zaključavanje vrata
  • 22. 22 Na detekciju poruke mikrokontroler odgovara generisanjem prekida prekid postavljanjem logičke jedinice na pin koji je vezan na zajedničku prekidnu liniju. Prilikom poliranja od strane centralnog računara , šalje poruku koja označava da se radi o prekidu usled detektovanja kartice. Bitovi P3..P0 imaju vrednost 0001 dok A3..A0 predstavljaju adresu podsistema i zadati su prilikom inicijalizacije mikrokontrolera. Nakon prijema komandne poruke kojom se zahteva čitanje 2 bajta (vrednosti bita su C/WR=0, R/W=1 i K5..K0=000010), mikrokontroler šalje prvo viših 6 bitova koda zaštićenih bitom parnosti, a zatim i na isti način i nižih 6. Najviši bit osmobitne poruke se ne koristi. Po prijemu komandne poruke kojom se potvrđuje ispravnost koda kartice( C/WR=1 i svi bitovi K5..K0 imaju vrednost '1' ), mikrokontroler provera senzor koji detektuje da li su vrata prethodno bila zaključana ili otključana. Na osnovu te vrednosti, vrši se postavljanje signala Otključaj vrata1..Otključaj vrata4 , odnosno Zaključaj vrata1..Zaključaj vrata4 na vrednost logičke jedinice. Trajanje signala zavisi od mehanike za kontrolu brave. Ukoliko i posle 3 pokušaja zaključavanja/otključavanja vrata mikrokontroler putem senzora detektuje da akcija nije sprovedena, generiše prekid. Prilikom poliranja šalje centralnom mikrokontroleru poruku kojom označava da se prekid desio usled neispravnosti. Vrednosti bitova u ovoj poruci već su opisani u delu o formatu podataka. Komunikacija sa čitačem RF ID kartice se vrši putem I2 C magistrale. Signali SDA i SCL se generišu iz paralelnih portova mikrokonrtolera, a protokol komunikacije je implementiran softverski. Hardver za otključavanje i zaključavanje vrata je prikazan je na slici 16. Mehanika za kontrolu brave Otključaj/zaključaj vrata i VCC GND Slika 16. Šema hardvera za otključavanje/zaključavanje vrata
  • 23. 23 2.3 Podsistem za kontrolu svetala Za kontrolu svetala u automobilu se koriste 3 mikrokontrolera, za svaki par farova po jedan (prednji farovi, farovi za maglu i zadnji farovi). Mikrokontroleri se nalaze na pogodom mestu izmedju farova. Hardver za kontrolu svetala kao i detktovanja ispravnosti sijalice je prikazan na slici 17. Mehanika za kontrolu brave VCC GND PP - +Šant R< 0,1 GND_A OP GND_AGND VCC PP VCC Slika 17. Blok šema hardvera za kontrolu svetala Sa blok šeme vidimo da se upisom visokog naponskog nivoa na pinu preko releja pali sijalica. Preko otpornika i Šmitovog kola vodi se informacija o struji sijalice. Ako je ova informacija jednaka logičkoj nuli to znači da je sijalica pregorela odnosno da nije ispravna. Poruka o paljenju ili gašenju svetala se prenosi preko centralnog mikrokontrolera pa se u zavisnosti od adresiranja kontrolera i komandne poruke pali/gasi određeno svetlo. Značenja komandnih poruka koje su upućene kontrolerima su date u tabeli 6. 0 1 0 U/I SR(M) DUG POZ STOP L/D Tabela 6. Format komandne poruke za kontrolu svetala Značenja pojedinih bitova iz komandne poruke su data ispod:  Bit U/I predstavlja informaciju za uključivanje/isključivanje svetla ( U/I=1 uključivanje , U/I=0 isključivanje ).  Bit SR(M) predstavlja informaciju o uključivanju/isključivanju srednjih svetala ukoliko je poruka upućena mikrokontroleru prednjih farova ( SR(M)=1 uključeno, SR(M)=0 isključeno ),
  • 24. 24 Ako je poruka upućena mikrokontrolerima u zadnjim i farovima za maglu uključuju se zadnja svetla i svetla za maglu, Istovremeno se uključuju oba fara, i levi i desni.  Bit DUG predstavlja informaciju o uključivanju/isključivanju dugih svetala (DUG=1 uključeno,DUG=0 isključeno).Uključivanje/isključivanje dugih svetala se vrši za oba svetla istovremeno. Bit se koristi samo za mikrokontroler prednjih farova.  Bit POZ predstavlja informaciju o uključivanju/isključivanju pozicionih svetala (POZ=1 uključeno,POZ=0 isključeno). U zavisnosti od bita L/D, uključuje se levo ili desto poziciono svetlo. Bit se koristi za mikrokontroler prednjih i zadnjih farova.  Bit STOP predstavlja informaciju o uključivanju/isključivanju stop svetala (STOP=1 uključeno,STOP=0 isključeno). Bit se koristi samo za mikrokontroler zadnjih farova. Nakon primanja komande poruke, mikrokontroler vrši uključivanje sijalica postavljanjem logičke jedinice na paralelne portove. Ako je neka sijalica uključena, mikrokontroler poliranjem proverava prednost pina kojim se detektuje ispravnost. Interval poliranja je moguće generisati pomoću tajmera, korišćenjem compare registara. Ukoliko se detektuje da je sijalica neispravna, generiše se prekid. Prilikom poliranja šalje se poruka kojom se signalizira koja sijalica je pregorela. Bitovi P3..P0 imaju sledeće vrednosti, u zavisnosti od neispravne sijalice: P3..P0 Značenje 0001 Levo srednje svetlo 0010 Desno srednje svetlo 0011 Levo dugo svetlo 0100 Desno dugo svetlo 0101 Levo poziciono svetlo 0110 Desno poziciono svetlo 0111 Levo stop svetlo 1000 Desno stop svetlo 1001 Leva sijalica za maglu 1010 Desna sijalica za maglu 1111 Neuspelo izvršavanje komandne poruke Tabela 7. Značenje bitova za detekciju neispravnosti sijalice
  • 25. 25 2.4 Podsistem za kontrolu prozora Prozori se kontrolišu sa 2 mikrokontrolera, jedan kontroliše prednje, a drugi zadnje prozore. Omogućeno je posebno kretanje svakog prozora na gore ili na dole, kao i zatvaranje i otvaranje svih prozora. Šema sistema za kontrolu jednog para prozora je prikazana na slici 18. Signal1 Signal2 Signal3 Signal4 PP PP PP PP MIKROKONTROLER ADC PP PP PP PP PP PP PP Analogni multiplekser S Signal sa strujnog senzora L Signal sa strujnog senzora D Napred Nazad PWM ENERGETSKI BLOK Napred Nazad PWM ENERGETSKI BLOK M M Motor za pomeranje desnog prozora Motor za pomeranje levog prozora Slika 18. Blok šema sistema za kontrolu prozora Signali Signal1...Signal3 predstavljaju indikaciju da je prozor stigao u krajnji donji ili krajnji gornji položaj. U krajnjem položaju, prozor zatvara mehanički prekidač koji se nalazi na vratima. Na osnovu vrednosti ovih signala, mikrokontroler zna kada da zaustavi motore. Pomoću ovih signala moguće je takođe detektovati da li je prozor potpuno zatvoren ili otvoren. Šema senzora za detektovanje krajnjih položaja prozora je prikazana je na slici 19.
  • 26. 26 Vcc Mehanički prekidač na vratima Vcc Signal i GND Slika 19. Hardver za detektovanje krajnjih položaja prozora Strujnim senzorima se meri struja motora. Ovi senzori se obično postavljaju na pogodno mesto u energetskom bloku kojim se upravlja motor. Izlaz senzora je analogna veličina proporcionalna struji motora. Izvšeno je multipleksiranje signala pošto mikrokontroler poseduje jedan A/D konvertor. Jednosmernim motorima se upravlja preko energetskog bloka koji u sebi sadrzi H-most čime je omogućeno kontrolisanje smera okretanja motora promenom polariteta struje. Signal kojim se kontroliše jednosmerni motor je PWM signal koji se generiše upotrebom tajmera. Učestanost PWM signala i "duty cycle" vrednosti zavise od kontrolnog bloka i motora. Na detekciju pritiska tastera, centralni mikrokontroler šalje poruku za pokretanje prozora na gore ili dole. Po otpuštanju tastera se zaustavlja kretanje prozora. Format komandne poruke je dat u tabeli 8. 0 1 0 O/Z L/D / / / / Tabela 8. Format komandne poruke za kontrolu prozora  Bit O/Z predstavlja informaciju za otvaranje/zatvaranje prozora ( O/Z=1 otvaranje , O/Z=0 zatvaranje )  Bit L/D predstavlja informaciju koja se odnosi na levi/desni prozor ( L/D=1 levi prozor , L/D=0 desni prozor ) Po primanju komande mikrokontroler podešava smer kretanja motora i generiše PWM signal kojim se upravlja motorom. PWM signali se generišu upotrebom tajmera i COMPARE registara. Potrebno je u prekidnoj rutini tajmera ažurirati vrednosti COMPARE registra u zavisnosi od željenje periode i "duty cycle" vrednosti. Po primanju komande za zaustavljanje mikrokontroler zaustavlja kretanje prozora. Ukoliko se ne primi komanda za zaustavljanje, kretanje prozora se zaustavlja kada se prozor nadje u nekom od krajnih položaja. Ova informacija se dobija očitavanjem vrednosti paralelnih portova na koje su vezani Signal1…Signal3. Tokom kretanja prozora mikrokontroler poliranjem proverava vrednost struje motora. Ukoliko se vrši pomeranje oba prozora potrebno je prvo očitati vrednost jedne struje, pa druge. U slučaju prepreke, struja motora će preći
  • 27. 27 neku softverski podešenu granicu usled povećanja opterećenja. Mikrokontroler tada zaustavlja kretanje prozora i generiše prekid. Poruka koja se šalje centralnom računaru prilikom poliranja ima vrednost bitova P3..P0 = 0100. Mikrokontroleri prozora takođe generišu prekid po detektovanju neispravnosti sistema. Detekcija neispravnosti je jednostavna korišćenjem signala sa senzora. Na primer: ako je struja motora 0 i nakon zadavanju signala potrebnih za pokretanje. 2.5 Podsistem za kontrolu položaja sedišta i retrovizora Oba sedišta se kontrolišu jednim mikrokontrolerom ,a takođe se jednim mikrokontrolerom kontrolišu i oba retrovizora. Sistem za kontrolu sedišta i sistem za kontrolu retrovizora se razlikuju jedino u snazi motora.Šema sistema za kontrolu jednog sedišta/retrovizora je prikazana na slici 20. MIKROKONTROLER IMPULS SMER PP PP PP PP PP HARDVER Napred Nazad PWM ENERGETSKI BLOK M A NM B ENKODER Slika 20. Blok šema sistema za kontrolu položaja sedišta i retrovizora Hardver za generisanje signala impuls i smer je dat na slici 21. IMPULS A B Q Q SET CLR D B A SMER Slika 21. Šema hardvera za generisanje signala impuls i smer Jednosmernim motorima se upravlja na isti način kao i motorom za pokretanje prozora. Upravljanje je opisano u prethodnoj glavi. Obrtnim enkoderom se meri pomeraj osovine. Za poznavanje pozicije sistema potrebno
  • 28. 28 je zadati referentnu poziciju. Ova inicijalizacija je urađena pri instaliranju sistema. Kako postoji mogućnost mehaničkog pomeranja položaja retrovizara i sedišta, potrebno je meriti pomeraj i kada se on ne vrši motorom kojim upravlja mikrokontroler. Mikrokontoler je dužan da u svakom trenutku “zna” poziciju sistema. U slučaju nestanka napajanja mikrokontrolera izvršiće se automatska inicijalizacija sistema, tako što se sistem pomera dok se ne dođe do nultog markera, signal NM. Pretpostavljeno je da je mikrokontroler koji meri položaj stalno pod napajanjem, tako je inicijalizacija sistema potrebna samo u specijalnim slučajevima nestanka napajanja i reseta sistema. Na detekciju pritiska taster, centralni mikrokontroler šalje poruku za pokretanje sedišta/ retrovizora. Po otpuštanju tastera se zaustavlja kretanje prozora. Format komandne poruke je dat u tabeli 9. 0 1 0 RL/RD L/D OTK ZAK / / Tabela 9. Format komandne poruke za kontrolu položaja sedišta i retrovizora  Bit RL/RD predstavlja informaciju o kontroli smera okretanja motora tj pomeranja sistema u jednu ili drugu stranu  Bit L/D predstavlja informaciju koja se odnosi na levi/desni retrovizor ili sedište  Bit OTK predstavlja informaciju koja se odnosi na otključavanje (OTK=1) Bit ZAK predstavlja informaciju koja se odnosi na otključavanje (ZAK=1) Po primanju informacije o otključavanju, mikrokontroler podešava sistem u položaj pre zaključavanja. Na signalizaciju zaključavanja mikrokontroler pamti trenutnu poziciju sistema. Mikrokontroleri generišu prekid samo po detektovanju neispravnosti sistema. Detekcija neispravnosti je jednostavna i vrši se poređenjem signala sa enkodera i signala za upravljanje motora. 2.6 Podsistem za kontrolu temperature u automobile Za merenje temperature se koristi sensor koji na izlazu daje PWM signal čiji je "duty cycle" srazmeran temperaturi. Merenje temperature moguće je realizovati pomoću tajmera, upotrebom CAPTURE registara. Mikrokontroler očitava senzor i na zahtev centralnog računara šalje podatak. U slučaju da temperatura predje neku dozvoljenu granicu, generiše se prekid. Kao odgovor na poliranje, sistem vraća poruku koja ima bitove P3..P0 jednake vrednosti 0011. Format poruka kojima se zahteva čitanje podataka iz mikrokontrolera podsistema je već opisan u prethodnim poglavljima i formatu podataka. Šema sistema za merenje temperature je prikazana na slici 22. Mikrokontroler Senzor temperature PP Slika 22. Blok šema za kontrolu temperature u automobile
  • 29. 29 2.7 Podsistem za kontrolu parking senzora Šema sistema koji kontroliše ultrazvučni detektor udaljenosti je prikazana na slici 23. MIKROKONTROLER DAC PP PP Ultrazvučni predajnik out Detektor LP Filter Input ˃ Start Kretanje unazad Slika 23. Blok šema sistema za kontrolu zadnjih parking senzora Kretanje unazad se detektuje prekidačem koji se nalazi na menjaču prikazan je na slici 24. Vcc Prekidač na menjaču Vcc Kretanje unazad GND Slika 24. Šema hardvera za detekciju kretanja unazad Za upotrebu ultrazvučnog senzora potreban je sinusoidalni signal koji se generiše sintezom učestanosti. Odbirci sinusoide se šalju u određenim vremenskim periodima na A/D konvertor i konverzija se startuje. Vreme startovanja konverzije meri se tajmerom dok brzina slanja odbiraka zavisi od učestanosti date sinusoide.
  • 30. 30 U slučaju da je rastojanje manje od zadatog, od 300cm, detektor generiše prekid na uzlaznu ivicu. Vreme starta konverzije i detektovanja prijema meri se tajmerom i srazmerno je rastojanju automobila od prepreke. Pri prijemu prekida, centralni mikrokontroler prima poruku oblika P3..P0 = 0011 i na displeju očitava vrednost ovog senzora. Takođe, po prijemu informacije o nailasku na prepreku na max 300cm od nje, centralni mikrokontroler počinje slati signale zvučniku ugrađenom u kontrolnu tablu koji emituje zvuk u zavisnosti od daljine prepreke. Kako se automobil približava prepreci tako zvuk emitovan sa zvučnika postaje kontinualniji i jači. Blok sistema za kontrolu zvučnika prikazan je na slici 25. Centralni Mikrokontroler D/A Vcc Zvučnik GND Slika 25. Blok šema kontrole jačine zvučnog signala od blizine prepreke 2.8 Osvetljenje instrument table Za osvetljenje instrument table se koriste LED diode. Diode se atomatski pale preko pina centralnog mikrokontrolera i Darlintonovog para tranzistora po otljučavanju vozila. Intezitet osvetljenja se kontroliše potenciometrom koji korisnik može podešavati manuelno. Šema osvetljenja instrument table je prikazana na slici 26. GND PP LED diode za osvetljenje instrument table Vcc Slika 26.Šema hardvera za kontrolu osvetljenja instrument table
  • 31. 31 Literatura 1. Predavanja iz predmeta Namenski računarski sistemi, Lazar Saranovac 2. MSP430 data sheet, Texas Instruments 3. 8051 data sheet, Intel 4. WISHBONE System-on-Chip, Silicore