Obvody čítačů a časovačů

Obvody čítačů a časovačů

Mikrokontrolér obvykle obsahuje jeden nebo více časovačů/čítačů, které lze programově konfigurovat. Časovače a čítače umožňují programu mikrokontroléru např. měřit časové intervaly, detekovat počet impulsů za určitý časový interval apod.

 

 

Obr. 1: Schéma vnitřního zapojení osmibitového časovače/čítače mikrořadiče AVR

 

Obvod časovače/čítače

Vlastní obvod časovače/čítače (Timer/Counter) může být inkrementován či dekrementován impulzy na sběrnici count z obvodu řídící logiky (Control Logic). Směr čítání, nahoru či dolů , definuje signál na sběrnici  direction od  řídící logiky. Řídící logika může též signálem clear na sběrnici  obvod časovače/čítače vynulovat. Výběr zdroje impulzů  pro časovač/čítač  je proveden multiplexním přepínačem (Clock select), když můžeme výběr provést mezi dvěma zdroji impulzů. V režimu čítače přívádíme impulzy na vstup čítače přes obvod detekce náběžné hrany impulzu (Edge Detector) přímo z vývodu mikrořadiče Tn. V případě pracovního režimu  časovače jsou na vstup čítače přiváděné impulzy o konstantním kmitočtu, který má souvislost s kmitočtem hodinového generátoru mikrořadiče. Tento kmitočet může být ponížen obvodem předděličky (Prescaler), když je možné vybrat mezi čtyřmi dělícími konstantami. Jsou to /clk8, /clk64, /clk256 a /clk1024.

Obsah časovače/čítače je nepřetržitě porovnáván (komparován) s obsahem registru OCRn. V případě rovnosti je vygenerován signál na vývodě OCn miklrořadiče. Tento signál může též vygenerovat interní přerušení běhu programu mikrořadiče.

Režim činnosit čítače je nastaven v řídícím registru TCCR0

Obr. 2: Popis bitů I/O registru TCCR0 pro konfiguraci časovače/čítače 0

 

Nastavení bitů CS00, CS01 a CS02 definuje zdroj impulzů podle následující tabulky

 

Tab. 1: Nastavení vstupní předděličky časovače/čítače 0  a výběru čítání impulzů na vstupu T0

 

Nastavení bitů WGM01 a WGM00 vybirá jeden ze čtyř možných režimů čítače/časovače

 

Tab. 2: Výběr pracovního módu časovače/čítače 0

 

Přehled pracovních režimů časovače/čítače mikrořadiče AVR:

  • Mód 0 režim Normal - obsah čítače není komparován, obsah je incrementován, po přeplnění je jeho obsah vynulován;
  • Mód 1 režim   PWM - s fázovou korekcí, umožňuje či nahrazuje na výstupu OC0 digitálně - analogový převodník;
  • Mód 2 režim CTC - zkrácený cyklus čítání čítače do hodnoty uložené v komparačním registru OCR0;
  • Mód 3 režim rychlé PWM.
Zdroje
  • HRBÁČEK, Jiří. Komunikace mikrokontroléru s okolím. 1. vyd. Praha: BEN - technická literatura, 1999, 159 s. ISBN 80-86056-42-21.
  • MATOUŠEK, David. Práce s mikrokontroléry ATMEL AVR ATmega16. 1. vyd. Praha: BEN - technická literatura, 2006, 319 s. μC. ISBN 80-730-0174-8.
  • Tovární katalogový list (datasheet Atmega32) společnosti ATMEL Corporation [online]. [cit. 2015-01-28]. Dostupné z: www.atmel.com/products/microcontrollers/avr/default.aspx
  • VÁŇA, Vladimír. Mikrokontroléry ATMEL AVR: programování v jazyce C : popis a práce ve vývojovém prostředí CodeVisionAVR C. 1. vyd. Praha: BEN - technická literatura, 2003, 215 s. ISBN 80-730-0102-0.
  • [online]. [cit. 2015-01-30]. Dostupné z: http://www.atmel.com/images/doc2503.pdf

Obrázky a tabulky

  • Obr. 1, 2: [online]. [cit. 2015-01-30]. Dostupné z: http://www.atmel.com/images/doc2503.pdf
  • Tab. 1, 2: [online]. [cit. 2015-01-30]. Dostupné z: http://www.atmel.com/images/doc2503.pdf
Názvosloví

EDGE DETEKTOR -  detektor pro výbět  hrany vstupního impulzu.

Tn - pin pro vstup čítače impulzů.

OCn - pin pro výstup impulzů při komparaci čítače/časovče a registru OCRn.

OCRn - registr pro uložení komparační hodnoty.