Struktura

Resetovací obvody a obvody watchdog mikrořadičů AVR

Resetovací obvody a obvody watchdog mikrořadičů AVR

Reset mikroprocesoru

Resetem se rozumí uvedení mikroprocesoru (a celého mikrořadiče) do definovaného výchozího stavu:
⦁    čítač instrukcí PC se nastaví na počáteční adresu (obvykle nula – po resetu se začne vykonávat program od adresy nula);
⦁    zakáže se přerušení;
⦁    ostatní registry jsou resetem ovlivněny různě podle typu mikrořadiče (některé mají nedefinovaný, tj. náhodný obsah);
⦁    výstupní signály se uvedou do definovaného stavu.

 
Reset může být generován buď operátorem (tlačítkem) nebo kontrolními obvody napájení, příp. vnitřními diagnostickými obvody počítače. Generování signálu RESET tlačítkem nebo připojením napájecího napětí:

 

Obr. 1:  Příklad zapojení vnějšího resetovacího obvodu a časového průběhu napětí na integračním článku RC pro generování resetovacího impulsu

 

Automatického generování signálu RESET po zapnutí napájení se dosáhne připojením RC článku na vstup. Bezprostředně po připojení napájecího napětí +Ucc se kondenzátor chová jako zkrat, na vstupu je úroveň logické nuly (aktivní úroveň) a signál RESET je generován. Napětí na kondenzátoru pak roste podle exponenciální závislosti. Dosáhne-li rozhodovací úrovně vnitřního klopného obvodu, ten se překlopí na úroveň logické nuly. Tím je ukončen signál RESET a mikroprocesor začíná zpracovávat program. Časovou konstantu RC je třeba volit tak, aby signál RESET trval dostatečnou dobu, která se udává v násobku taktu mikroprocesoru. Dioda umožňuje rychlé vybití kondenzátoru i při krátkodobém výpadku napájení. Kontrolní obvody napájení jsou zdokonalenou verzí jednoduchého RC článku. Hlídají náběh napájecího napětí, při dosažení jeho určité úrovně generují signál RESET. Při poklesu napájecího napětí pod určitou mez přepínají napájení na záložní baterii a často mají ještě jiné funkce. Mezi diagnostické obvody patří především hlídací časovač WATCHDOG. Signál RESET je generován při jeho přeplnění.

Obvod Watchdog

Vnitřní obvod mikrořadiče Watchdog je předurčen pro minimalizaci nechtěného zacyklení programu. Tento obvod tedy dohlíží na korektní výkon programu. Obvod Watchdog obsahuje nezávislý čítač, který v případě přetečení vyvolá reset mikrořadiče. Aby reset nebyl vykonán, je nutné v určitých časových intervalech časovací obvod čítače vynulovat pomocí instrukce WDR (WatchDogReset).
Pokud dojde k nežádoucímu zacyklení programu vykonávaného mikrořadičem, ve kterém nejsou obsaženy instrukce WDR, bude vykonán celkový reset běhu programu
mikrořadiče.

Obr. 2: Obvodové zapojení pro nastavení  vynuceného resetu mikrořadiče výběrem časování, kde multiplexer vybírá jeden z kmitočtů předděličky

 

Popis obvodu

Watchdog oscilátor kmitá přibližně na kmitočtu 1 MHz. Tyto impulzy jsou čítány obvodem Watchdog prescaler. Multiplexer vybírá na výstup MCU RESET časové zpoždění generované čítačem. Pokud WDE je v logické jedničce a současně z časovače přijde impulz, dojde k celkovému resetu běhu programu. Signál Watchdog Reset je generován instrukcí WDR vložené do programu mikrořadiče, tato vynuluje čítač Watchdog Prescaleru a tím se zamezí generování signálu MCU RESET.

 

Obvod Watchdog je konfigurován pomocí  funkčního registru WDTCR

Tab. 1: Význam bitů registru WDTCR

 

Význam a nastavení bitů registru WDTCR:

Tab. 2: Nastavení časového intervalu obvodu Watchdog pomocí bitů WDP0 až WDP2

 

Bity WDP0, WDP1 a WDP2 určují nastavení multiplexeru pro výběr časového intervalu, do kterého musí přijít instrukce WDR, aby nebyl mikrořadič resetován.

Bit WDE zapisem log. 1 povoluje činnost obvodu Watchdog.

Bit WDTOE je předurčen pro povolení vypnutí činnosti obvodu Watchdog.

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.
  • 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.

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
Logolink