Čítače a časovače v mcuhome.zcu.cz/~dudacek/nms/pdf/nms p°_04 (mcu ŔÝtaŔe).pdf ·...
TRANSCRIPT
K.D. - přednášky NMS 1
NMS Čítače a časovače MCU
ČČíítatačče a e a ččasovaasovačče e v MCUv MCU
K.D. - přednášky NMS 2
NMS Čítače a časovače MCU
Obsah
• Režim čítač
• Režim časovač
• Rozšíření funkce čítače/časovače– Automatické plnění
– Funkce „compare“
– Funkce „capture“
– Funkce „PWM“
– Dekódování signálu inkrementálních čidel
K.D. - přednášky NMS 3
NMS Čítače a časovače MCU
Základní funkce
Základní funkce čítačů/časovačů:
• Čítač – počítání pulsů vnějšího signálu.
• Časovač – počítání pulsů vnitřního zdroje, obvykle hodinového signálu procesoru. (tj. měření času).
K.D. - přednášky NMS 4
NMS Čítače a časovače MCU
Základní zapojení čítače
Čítací registr
Interní sběrnice MCU
Pinčítače
ProgramovýStart / Stop
+1 PřetečeníINT
K.D. - přednášky NMS 5
NMS Čítače a časovače MCU
Základní zapojení časovače
Čítací registr
Interní sběrnice MCU
ProgramovýStart / Stop
+1Předdělička
Interní systémové hodiny
PřetečeníINT
K.D. - přednášky NMS 6
NMS Čítače a časovače MCU
Příklad – čítač/časovač 8051
• 8051 je vybavena dvojicí čítačů/časovačů.
• Každý čítač/časovač může pracovat v některém ze 4 režimů.
Registry TMOD a TCON
K.D. - přednášky NMS 7
NMS Čítače a časovače MCU
Příklad – čítače/časovače T0 a T1 mikrokontrolérů PIC
K.D. - přednášky NMS 8
NMS Čítače a časovače MCU
Příklad – čítač/časovač T2 mikrokontrolérů PIC
• Obsahuje speciální obvody pro funkci „compare“.
K.D. - přednášky NMS 9
NMS Čítače a časovače MCU
Programová obsluha časovače
Obsluha přerušení a nový start časovače proběhne se zpožděním ⇒ chyba časování.
– Lze částečně řešit úpravou hodnoty N.
Určení dělicího poměrupředděličky a čítače (= N)
Inicializace časovače
Nstavení hodnoty -Ndo registru časovače
Start časovače
Přerušení
Stop časovače
Z
K
K
Nstavení hodnoty -Ndo registru časovače
Start časovače
Inicializace časovače Obsluha přerušení
Než
ádo
ucí
pro
dlo
uže
ní
cyk
lu
K.D. - přednášky NMS 10
NMS Čítače a časovače MCU
Automatické plnění registru čítače („reload“)• Funkce „reload“ umožňuje automatické přednastaveníčítače/časovače po přetečení.
Čítací registr
Interní sběrnice MCU
ProgramovýStart / Stop
+1 PřetečeníPředdělička
Interní systémové hodiny
Pomocný registr
INT
K.D. - přednášky NMS 11
NMS Čítače a časovače MCU
Automatické plnění registru čítače (8051)
K.D. - přednášky NMS 12
NMS Čítače a časovače MCU
Rozšířené funkce
Rozšířené funkce čítačů/časovačů:
• Compare – generování pulsů v určitém čase.
• Capture – zjištění okamžiku vnější události.
• PWM – generátor šířkově modulovaných pulsů.
K.D. - přednášky NMS 13
NMS Čítače a časovače MCU
Rozšířená funkce – „compare“
• Nastavení výstupu na 0, 1 resp. na opačnou hodnotu (toggle) v přesně daném čase.
Čítací registr+1 Přetečení
Předdělička
Interní systémové hodiny
Porovnávací registr
Komparátor
1 0 toggle
INTVýstupní
pin
K.D. - přednášky NMS 14
NMS Čítače a časovače MCU
Příklad – CCP mikrokontroléru PIC• PIC může mít jednu nebo více jednotek CCP.• Každou jednotku lze použít ve funkci „compare“, „capture“ nebo „PWM“.
Příklad funkce „compare“:
K.D. - přednášky NMS 15
NMS Čítače a časovače MCU
Rozšířené funkce – „capture“
• Speciální obvod pro zjištění přesného času určité události
Čítací registr
Interní sběrnice MCU
+1 PřetečeníPředdělička
Interní systémové hodiny
Záchytný registr
INT
Detekceudálostí
Load
INT
K.D. - přednášky NMS 16
NMS Čítače a časovače MCU
Příklad – CCP mikrokontroléru PIC• PIC může mít jednu nebo více jednotek CCP.• Každou jednotku lze použít ve funkci „compare“, „capture“ nebo „PWM“.
Příklad funkce „capture“:
K.D. - přednášky NMS 17
NMS Čítače a časovače MCU
Rozšířená funkce - PWM
• Hardware pro generování periodického obdélníkového průběhu s nastavitelnou střídou.
(PWM = Pulse Width Modulation).
Perioda
pulsuDélkaStrída =
Délka pulsu
Perioda
K.D. - přednášky NMS 18
NMS Čítače a časovače MCU
Rozšířená funkce – PWM (2)
• Hardware pro generování periodického obdélníkového průběhu s nastavitelnou střídou.
+1Předdělička
Interní systémovéhodiny
Komparátor
Délka pulsu
Čítací registr S
RQ PWM
Perioda
Komparátor
Reset
K.D. - přednášky NMS 19
NMS Čítače a časovače MCU
Příklad – CCP mikrokontroléru PIC• PIC může mít jednu nebo více jednotek CCP.• Každou jednotku lze použít ve funkci „compare“, „capture“ nebo „PWM“.
Příklad funkce „PWM“:
K.D. - přednášky NMS 20
NMS Čítače a časovače MCU
Použití PWM (1)
• Náhrada DA převodníku
PWMMCU
R
C
Analogovývýstup
PWM
Střední hodnotanapětí
K.D. - přednášky NMS 21
NMS Čítače a časovače MCU
Použití PWM (2)
• Řízení otáček stejnosměrného (DC) motoru.
PWMMCU Výkonové
obvody
DC motor
K.D. - přednášky NMS 22
NMS Čítače a časovače MCU
Použití PWM (3)
• Generátor vícefázového signálu (asynchronní a krokové motory, měniče, ...).
PWM 1
PWM 2
PWM 3
MCU
PWM 1
PWM 2
PWM 3
Trojnásobnýčítač/časovač
K.D. - přednášky NMS 23
NMS Čítače a časovače MCU
Rozšířená funkce – dekodér inkrementálních čidel (1)
• Dvoufázový „kvadraturní“ signál umožňuje detekci změny polohy včetně směru.
LED
Detektory
Fáze 1
Fáze 2
Směr A Směr B
Fáze 1
Fáze 2
K.D. - přednášky NMS 24
NMS Čítače a časovače MCU
Rozšířená funkce – dekodér inkrementálních čidel (2)
Čítací registr
Interní sběrnice MCU
+1Přetečení
INTDekodér -1
K.D. - přednášky NMS 25
NMS Čítače a časovače MCU
Příklad – GPTU mikrokontroléru Infineon C167
K.D. - přednášky NMS 26
NMS Čítače a časovače MCU
Kombinované cítače/časovače výkonných MCU (1)
Jednotka CCR mikrokontroléruInfineon C167:
• C167 je vybavena bloky GPT1 se 3 a GPT2 se 2 registry.
• Registry mohou pracovat samostatněnebo v kombinaci.
K.D. - přednášky NMS 27
NMS Čítače a časovače MCU
Kombinované cítače/časovače výkonných MCU (2)
Jednotka CCR mikrokontroléruInfineon C167:
• 2 nezávislé čítače Tx a TY,
• 16 registrůcapture/compare.
K.D. - přednášky NMS 28
NMS Čítače a časovače MCU
Kombinované cítače/časovače výkonných MCU (3)Jednotka TPU mikrokontroléru Renesas H8S:• Celkem 6 kanálů.• Každý kanál má kromě čítače další 2 nebo 4 operační registry.
K.D. - přednášky NMS 29
NMS Čítače a časovače MCU
Některé režimy jednotky TPU• Komparátory u registrů TGRA, B, C, D lze použít k
– ovládání některého výstupního pinu (0, 1, toggle0,– nulování čítače,– kaskádnímu spojení s dalším kanálem.
Příklad: třífázový generátor PWM
K.D. - přednášky NMS 30
NMS Čítače a časovače MCU
Některé režimy jednotky TPU
• Dekodér dvoufázového signálu
K.D. - přednášky NMS 31
NMS Čítače a časovače MCU
K přípravě přednášek byly použity materiály firem Atmel, Intel, Microchip, Philips, Renesas a Infineon.