31
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

Design and development of microcontroller in car industry

Embed Size (px)

Citation preview

Page 1: Design and development of microcontroller in car industry

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

Page 2: Design and development of microcontroller in car industry

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

Page 3: Design and development of microcontroller in car industry

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

I2C 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.

Page 4: Design and development of microcontroller in car industry

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.

Page 5: Design and development of microcontroller in car industry

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.

Page 6: Design and development of microcontroller in car industry

6

DAC

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 odperiferija

P0 P1 P2 P3

8 8 8 8

ADC

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.

Page 7: Design and development of microcontroller in car industry

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.

Page 8: Design and development of microcontroller in car industry

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 Q0S0

Q9..Q2Q10PE

SI PISOShift register

1

1

D7..D0

10

`

Q1 Q0Q2Q3

COUNTER

INT_T

CLK_T

D0

R11 STATUS_T

D0

W11D8

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.

Page 9: Design and development of microcontroller in car industry

9

Q

QSET

CLR

S

R Q1 Q0Q2Q3 Q1 Q0Q2Q3

COUNTER

Q

QSET

CLR

D

CMP

Q1 Q0Q2Q3

COUNTER

D1

W11

MUXSel

16xCLK_R

D0D1=11

=10

=1

UART_R

ERRSTART

ERRSTOP

CORRECT

Q

QSET

CLR

D 0

R11

R12

D1

R11

INT_R

SIPOShift register

SI D8

D0REGISTERD8

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

D9D0

DAC10 bit

Vout

A_VDD

A_GND

10 10 D9..D0

W13

Slika 5. Šema D/A perifierije

Page 10: Design and development of microcontroller in car industry

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

D9D0

ADC10 bit

Vin

A_VDD

A_GND

10 D9..D0

W14

10

R14 BUSY

R14

DIFF

INT_ADC

D10

Slika 6. Šema A/D perifierije

Page 11: Design and development of microcontroller in car industry

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

QSET

CLR

S

R

DIFF

REGISTER

W17

16 bitDOWN COUNTER

PE

D15..D0

16

16

CLK

ENABLE

Q

QSET

CLR

DW15

D0

INT_TOL

INT_R

INT_T

RESET

Slika 7. Šema Time-out logike

Page 12: Design and development of microcontroller in car industry

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.

16bitCOUNTER

Q

QSET

CLR

DD0

W18 CLK_CNT

RESET

16

CMP

16 bit

i

INT_CNT_i

INT_CNT

16

REGISTERD15

D0 iE

R19+i

D15..D0

E R18

D15..D0

16 bitREGISTER

i

D15..D0

W19+i

16

DIFF

DIFF

CAP_SIGNAL_i

MUXSel

D0

D1

INT_C_iOUT

Q

QSET

CLR

DD1+i

W18

Slika 8. Šema 16-bitnog free-running brojača sa registrima

Page 13: Design and development of microcontroller in car industry

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.

Page 14: Design and development of microcontroller in car industry

14

0

W

Q

QSET

CLR

DD1

W25

Q

QSET

CLR

DD0

W25

Q

QSET

CLR

D

W23

Q

QSET

CLR

D

INT0

D0

RESET

1

CLR0

D0

R24

Q

QSET

CLR

D

CLR14

Q

QSET

CLR

D

RESET

1

INT14

D14

W23

Q

QSET

CLR

D

CLR15

1

NMI

D15

R24

D14

R24

15

14

.

.

.

.

.

.

.

.

16/4Koder

prioriteta

3

2

1

0

4

``

INT

E

ACK

D3..D0

0 E

15......

4/16DEKODER

3

2

1

0

1

RESET

W26D15

CLR15

W26D0

CLR0

RESET

.

.

.

.

.

.

ACK

4

Slika 9. Šema Kontrolera prekida

Page 15: Design and development of microcontroller in car industry

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 bitCMP

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

DEC5/32

D0 D1 . . . . D30 D31

R0

R1

. . . . R3

0 R

31

W0 W1 . . . . W30 W31

EN

r

I4 I3

I2 I1

I0

DEC5/32

D0 D

1 . . . . D30 D

31

EN

ADRESNA MAGISTRALA

32

Slika 10. Šema Adresnog dekodera

Page 16: Design and development of microcontroller in car industry

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.

16bitCOUNTERLOAD

16

CLK

Q

QSET

CLR

DW28

D31

RESET

E_WD RESET

DATA IN

16bitCMP

16

16TERMINAL

VALUE

16bitCMP

16

D15..0

0xA5A5

16

W27

16STARTVALUE

Slika 11. Šema Watch-dog tajmera

Page 17: Design and development of microcontroller in car industry

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.

Centralnimikrokontroler

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.

Page 18: Design and development of microcontroller in car industry

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.

Page 19: Design and development of microcontroller in car industry

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.

Page 20: Design and development of microcontroller in car industry

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

Page 21: Design and development of microcontroller in car industry

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 I2C 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

Page 22: Design and development of microcontroller in car industry

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 I2C 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

Page 23: Design and development of microcontroller in car industry

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 ),

Page 24: Design and development of microcontroller in car industry

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

Page 25: Design and development of microcontroller in car industry

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

Analognimultiplekser

S

Signal sa strujnog senzora L

Signal sa strujnog senzora D

Napred

Nazad

PWM

ENERGETSKIBLOK

Napred

Nazad

PWM

ENERGETSKIBLOK

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.

Page 26: Design and development of microcontroller in car industry

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

Page 27: Design and development of microcontroller in car industry

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

ENERGETSKIBLOK M

A

NMB 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

QSET

CLR

D

B

ASMER

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

Page 28: Design and development of microcontroller in car industry

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

Page 29: Design and development of microcontroller in car industry

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čnipredajnik

out Detektor

LPFilter

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.

Page 30: Design and development of microcontroller in car industry

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

Page 31: Design and development of microcontroller in car industry

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