Integrisani racunarski sistemi Tajmeritnt.etf.bg.ac.rs/~oe4irs/pdf/vezbe/irs2.pdf · Integrisani...

Preview:

Citation preview

Integrisani racunarski sistemiTajmeri

Odsek za elektroniku

Univerzitet u Beogradu - Elektrotehnicki fakultet

poslednja izmena 21. mart 2019

Odsek za elektroniku 13E044IRS ETF Beograd 1 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 2 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 3 / 36

Tajmer A

Tajmer A je 16-bitni tajmer sa nekoliko capture/compare blokova, cijibroj varira kod razlicitih predstavnika familije od 3 do 7

Odsek za elektroniku 13E044IRS ETF Beograd 4 / 36

Modovi rada brojaca TAxR

Odsek za elektroniku 13E044IRS ETF Beograd 5 / 36

Brojac na gore (UP mod)

Po dostizanju vrednosti TAxCCR0 setuje se CCIFG fleg a pri resetovanjubrojaca na 0x0000 setuje se TAxIFG fleg

Odsek za elektroniku 13E044IRS ETF Beograd 6 / 36

Kontinualni brojac (Continuous mod)

Tajmer uvek broji od 0x0000 do 0xffff.

Ovaj nacin brojanja u COMPARE modu tajmera je pogodan zagenerisanje signala razlicitih ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 7 / 36

UP/DOWN brojac

Odsek za elektroniku 13E044IRS ETF Beograd 8 / 36

CAPTURE/COMPARE blokovi

Svaki CC blok moze da radi u CAPTURE ili COMPARE modu. To jeodredeno bitom CAP u kontrolnom registru TAxCCTLn

CAPTURE mod se koristi za merenje ucestanosti, tj. intervala izmeduuzastopnih dogadaja na nekom pinu. Svaka promena na odredenompinu kopira trenutnu vrednost brojaca TAxR u odgovarajuci TAxCCRnregistar is setuje odgovarajuci CCIFG fleg.

COMPARE mod se koristi za generisanje PWM-a i signala razlicitihucestanosti. Svako izjednacavanje vrednosti brojaca TAxR sa vrednoscuu TAxCCRn registru setuje odgovarajuci TAxCCRn CCIFG fleg

Odsek za elektroniku 13E044IRS ETF Beograd 9 / 36

Izlazna jedinica

Svaki CC blok sadrzi izlaznu jedinicu koja se koristi za generisanjesignala kao sto je PWM

Izlazna jednica moze da radi u osam razlicitih modova

Odsek za elektroniku 13E044IRS ETF Beograd 10 / 36

Rad izlaznog bloka za brojac u modu brojanja na gore

Odsek za elektroniku 13E044IRS ETF Beograd 11 / 36

Rad izlaznog bloka za brojac u UP/DOWN modu brojanja

Odsek za elektroniku 13E044IRS ETF Beograd 12 / 36

Prekidi Tajmera A

Dva prekidna vektora su povezana sa tajmerom A:TAxCCR0 vektor za TAxCCR0 CCIFG flegTAxIV vektor za ostale CCIFG flegove i TAxIFG

U CAPTURE modu CCIFG fleg se setuje kada se na spoljni dogadajregistar TAxCCRn napuni vrednoscu brojaca TAxR

U COMPARE modu CCIFG fleg se setuje kada vrednost brojaca TAxRdostigne vrednost u TAxCCRn registru

TAIFG fleg se setuje kada vrednost brojaca TAxR dostigne 0x0000

Unutar TAxIV prekida se poliranjem odreduje koji je dogadaj izazvaoprekid

Odsek za elektroniku 13E044IRS ETF Beograd 13 / 36

Registar prekidnih vektora

Odsek za elektroniku 13E044IRS ETF Beograd 14 / 36

Primer prekidnih rutina tajmera A

Odsek za elektroniku 13E044IRS ETF Beograd 15 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 16 / 36

Tajmer B

Odsek za elektroniku 13E044IRS ETF Beograd 17 / 36

Tajmer B

Vrlo slicnih karakteristika kao i tajmer A

Razlikeizbor sirine brojackog registramogucnost grupisanja vise CC jedinicasvi izlazi mogu da se stave u stanje visoke impedanse

Odsek za elektroniku 13E044IRS ETF Beograd 18 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 19 / 36

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P7.6

P7.7

P5.0

P5.1

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6

ULN2003A

P1

P2

P3

P4

Odsek za elektroniku 13E044IRS ETF Beograd 20 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 21 / 36

Debaunsiranje

Postoji vise nacina na koje tajmer moze da se iskoristi za debaunsiranjetastera

periodicno generisanje prekida, gde se u okviru prekidne rutineocitava stanje ulaznih pinova

moze samo da se poredi trenutno stanje sa prethodnimmoze i malo naprednije (Ganssle debaunsiranje)

po prijemu prekida sa ulaznog porta pokrece se rad tajmera, a poisteku perioda brojanja ocitaju se stanja tastera

Odsek za elektroniku 13E044IRS ETF Beograd 22 / 36

Zadatak – Detekcija pritiska tastera (samo tajmer)

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti periodicnim poliranjempomocu tajmera

Potrebno je inicijalizovati tajmer da generise prekid sa periodomod 32msU okviru prekidne rutine tajmera treba ocitati stanje tastera iuporediti sa prethodnim stanjem

Resenjebutton-toggle-timer

Odsek za elektroniku 13E044IRS ETF Beograd 23 / 36

Zadatak – Detekcija pritiska tastera (prekid porta itajmer)

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti pomocu prekidnih rutina portai tajmera

U prekidnoj rutini portapokrece se tajmer sa trajanjem 32mszabranjuje dalje generisanje prekida porta

U prekidnoj rutini tajmeraocitava se stanje tasteraiskljucuje se tajmerdozvoljava se prekid porta

Odsek za elektroniku 13E044IRS ETF Beograd 24 / 36

Zadatak – Detekcija pritiska tastera (prekid porta itajmer)

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti pomocu prekidnih rutina portai tajmera

Resenjebutton-toggle-isr-timer

Odsek za elektroniku 13E044IRS ETF Beograd 25 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 26 / 36

Multipleksiranje LED displeja

Sedmosegmentni LED displeji koji su postavljeni na ploci koristezajednicke linije a..g

za istovremeni prikaz razlicitih cifara potrebno je vrsitimultipleksiranje displejatreperenje se ne vidi ukoliko se prikaz na displejima menja saucestanoscu vecom od ∼ 100Hz

SEL1

SEL2

SEL3

SEL4

a..g D1 D2 D3 D4 D1

Odsek za elektroniku 13E044IRS ETF Beograd 27 / 36

Zadatak – Prikaz na multipleksiranom LED displeju

ZadatakNapisati program za razvojni sistem koji na multipleksiranom LEDdispleju prikazuje broj 1234

NapomeneMultipleksiranje LED displeja vrsiti pomocu tajmera

posto su nam potrebne cifre za prikaz, potrebno je iz brojaizdvojiti pojedinacne cifre

div i modshift and add 3 (double-dabble)MSP430 DADD

Odsek za elektroniku 13E044IRS ETF Beograd 28 / 36

Shift and add 3 (double-dabble)

iterativan algoritam, ne zavisi od dostupnog hardverasastoji se iz serije pomeranja bita i sabiranja

Ako je binarni zapis BIN = bin7..bin0 a BCD zapisBCD = bcd11..bcd0 = D2D1D0 (posmatramo samo trocifrene brojevemanje od 256), algoritam je

bcd11..bcd0 = 000..00

onoliko puta koliko BIN ima bitaako je Di >= 5 dodaje se 3 na Di

siftuje se BCD za jedno mesto ulevobcd0 = bin15

siftuje se BIN za jedno mesto ulevo

Odsek za elektroniku 13E044IRS ETF Beograd 29 / 36

MSP430 DADD

MSP430 ima DADD – Decimal add instrukcijusabiranje brojeva koji su dati u BCD koduprimenom Hornerovog algoritma mozemo iterativno od binarnogbroja pomocu DADD instrukcije doci do BCD zapisa

Ako je BIN = bin7..bin0 i BCD = bcd11..bcd0, algoritam je

1 BCD = 02 onoliko puta koliko BIN ima bita, pocev od MSB indeksa

1 BCD = (BCD << 1)|bini, odnosno

RLA BIN ; BIN MSB to carryDADD BCD,BCD ; BCD = BCD<<1 + C

Odsek za elektroniku 13E044IRS ETF Beograd 30 / 36

Zadatak – Prikaz na multipleksiranom LED displeju

ZadatakNapisati program za razvojni sistem koji na multipleksiranom LEDdispleju prikazuje broj 1234

NapomeneMultipleksiranje LED displeja vrsiti pomocu tajmera

Resenjetimer-multiplex

Odsek za elektroniku 13E044IRS ETF Beograd 31 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 32 / 36

Zadatak – PWM

Napisati program za razvojni sistem kojim se podesava intenzitetosvetljaja LED diode. LED dioda se pobuduje PWM signalom koji segenerise pomocu tajmera B, a intenzitet osvetljaja se podesava jednimtasterom u 16 koraka.

NapomeneIntenzitet osvetljaja diode je proporcionalan faktoru ispunjenostiimpulsa PWM signala

Resenjetimer-pwm-led

Odsek za elektroniku 13E044IRS ETF Beograd 33 / 36

Pregled

1 Tajmer A

2 Tajmer B

3 PrimeriDebaunsiranjeMultipleksiranje LED displejaPWMMerenje ucestanosti

Odsek za elektroniku 13E044IRS ETF Beograd 34 / 36

Zadatak – Merenje ucestanosti

Napisati program za razvojni sistem kojim se pomocu CAPTUREfunkcionalnosti tajmera A meri ucestanost spoljasnjeg signala.Ucestanost prikazati u hercima na multipleksiranom LED displeju.

Napomenesignal se generise pomocu tajmera B, CC izlaz 1 (pin P4.1)signal se ocitava na CC ulazu 2 (pin P1.3) tajmera A

potrebno je meriti broj tick-ova tajmera izmedu uzastopnih uzlaznihivicana osnovu ucestanosti tajmera moguce je izracunati ucestanostsignala

Odsek za elektroniku 13E044IRS ETF Beograd 35 / 36

Zadatak – Merenje ucestanosti

Napisati program za razvojni sistem kojim se pomocu CAPTUREfunkcionalnosti tajmera A meri ucestanost spoljasnjeg signala.Ucestanost prikazati u hercima na multipleksiranom LED displeju.

Napomenesignal se generise pomocu tajmera B, CC izlaz 1 (pin P4.1)signal se ocitava na CC ulazu 2 (pin P1.3) tajmera A

Resenjetimer-freq-meas

Odsek za elektroniku 13E044IRS ETF Beograd 36 / 36

Recommended