integrisani racunarski sistemi tajmeritnt.etf.bg.ac.rs/~oe4irs/pdf/vezbe/irs2.pdf · integrisani...
TRANSCRIPT
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