Title: Hcs12 in ETC
1(No Transcript)
2HCS12 in ETC
- Prosto tekoci števec (angl. Free Running
Counter) - 16 bitni števni register, ki krožno tece z
osnovnim taktom casovnika. - Vhodno prestrezanje (angl. Input Capture)
- ob aktivnem prehodu na prestreznem vhodu se v
prestrezni register - prepiše vrednost števnega registra.
- Izhodno primerjanje (angl. Output Compare)
- ko se vsebina števnega registra izenaci s
prednastavljeno vrednostjo - primerjalnega registra, se postavi signal na
ustreznem izhodnem kanalu. - Pulzni akumulator (amgl. Pulse Accumulator)
- omogoca štetje dogodkov na vhodnem kanalu, ali
merjenje casovnega - intervala med dvema (tipicno hitrima) dogodkoma
na vhodnem kanalu.
3HCS12 ETC (PIM)
Prestrezni ali primerjalni kanali casovnika
Casovnik ETC
4HCS12 - ETC na hitro
- Do 8 prestreznih kanalov,
- torej do 8 16-bitnih prestreznih registrov.
- Do 8 primerjalnih izhodov,
- torej do 8 16-bitnih primerjalnih registrov.
- Štiri 8 bitne ali dva 16 bitna pulzna
akumulatorja. - Veliko možnosti pri izbiri osnovnega takta.
- S tem se doseže velik casovni razpon in/ali
primerna - casovna locljivost.
- Veliko nacinov delovanja
- poleg osnovnih funkcij (to je prestrezanja in
generiranja - signalov), daje veliko dodatih (specificnih)
možnosti - predvsem kanal 7.
5HCS12 ETC (blokovna shema)
6HCS12 ETC registri
7HCS12ETC izbira takta
bit v registruTSCR1
Notranji takt
biti v registruTSCR2
Zunanji takt na kanalu 7
to se nanaša registre pulznih akumulatorjev
8HCS12ETC izhodno primerjanje
(4) in pride do prekinitve, ce jo omogoca (TIE)
Prikaz delovanja za n-ti (n0,1,...,7) kanal
(3) se postavi zastavica (TFLG1)
(1) Ko se casovni števec (TCNT) izenaci s
primerjalnim registrom (TCn)
(2) Ce je izbran primerjali nacin (TIOS)
(5) izhod pa se odzove, kot doloca TCTL1/TCTL2
9HCS12ETC vhodno prestrezanje
(4) in pride do prekinitve, ce jo omogoca (TIE)
Prikaz delovanja za n-ti (n0,1,...,7) kanal
(3) se postavi zastavica (TFLG1)
(5) Casovni števec (TCNT) se prepiše v
primestrezni registrer (TCn)
(2) Ce je izbran prestrezni nacin (TIOS)
(1) ce je na vhodu aktivna sprememba kot jo
dolocata TCTL3/TCTL4
10HCS12 delo z ETC
- Delo s casovniki je sprico številnih možnosti
precej zapleteno. - Izberemo vir/frekvenco osnovnega takta (tipicno
E), - register TSCR2.
- Dolocimo prestrezne vhode in/ali primerjalne
vhode, - register TIOS.
- Dolocimo aktivne prehode na prestreznih vhodih
in/ali - stanje na primerjalnih izhodov, TCTL1/2/3/4.
- Po potrebi - tipicno, omogocimo prekinitve,
- register TIE.
- (Ne smemo pozabiti omogociti delovanje
- celotnega casovnega modula) TSCR1.
11HCS12 ETC nekateri registri
Dolocimo, kateri kanali bodo prestrezni in kateri
primerjalni register TIOS IOS_i 1,
primerjalni izhod IOS_i 0, prestrezni vhod
12HCS12 ETC nekateri registri
Omogocimo/onemogocimo (ustavimo) delovanje
casovnika Kontrolni register casovnega modula
TSCR1, TEN 1.
13HCS12 ETC nekateri registri
Izberemo preddelilno razmerje Kontrolni register
casovnega modula TSCR2
Omogoci zahtevo za prekinitev preplavitve
casovnega števca
Izbere preddelilno razmerje.
Register zastavice preplavitve casovnega števca
TFL2
14HCS12 ETC nekateri registri
Dolocimo delovanje izhodnih kanalov Kontrolni
register casovnika TCTL1/TCTL2 izhod
odklopljen, sprememba izhoda, izhod nizek ali
visok.
15HCS12 ETC nekateri registri
Dolocimo delovanje vhodnih kanalov Kontrolni
register casovnika TCTL3/TCTL4 vhod odklopljen,
spremba gor ali dol ali vsaka.
16HCS12 ETC nekateri registri
Omogoci zahtevo za prekinitev ustreznega
kanala Register prekinitvenih mask TIE
Obravnavamo dogodke casovnika Preverjamo
zastavice ustreznih kanalov in/ali
prekinitev Register prekinitvenih zastavic
TFLG1
Zastavica ustreznega kanala se briše z vpisom
enice !
17HCS12 ETC primer
TIOS equ ECTBase IC ali OC TCNT equ ECTBase04
casovni števec TIE equ ECTBase0c omogocimo
prekinitve TCTL2 equ ECTBase09 obnašanje
izhodov TSCR1 equ ECTBase06 kontr.r. modula,
TE TSCR2 equ ECTBase0d kontr.r. modula,
preddelilnik TFLG1 equ ECTBase0e zastavice TC0
equ ECTBase10 OC register kanala
0 movb 80,TSCR1 omogocimo casovnik movb 01
,TIOS Kanal 0 naj bo OC movb 01,TCTL2 spremin
janje izhoda movb 01,TIE omogocimo prekinitev
kanala 0 ldd Perioda std TC0 movb 01,TFLG1
brišemo zastavico cli bra
Generiranje pravokotnega impulza Seveda pa
manjka še prekinitveni strežnik
in def. prekinitvenega vektorja
18HCS12 ETC registri