Mikroprocesor ke své činnosti a správné funkci potřebuje nějaký zdroj hodinových (taktovacích) impulzů o určité frekvenci (fosc), které využívájí vnitřní obvody mikroprocesoru a od kterého je pak odvozena délka trvání strojového cyklu, a tedy i doba vykonávání instrukcí. K taktování (někdy se říká také synchronizaci) mikroprocesoru může využít buď vnitřní obvodu oscilátoru, který zabudován přímo v čipu mikroprocesoru nebo k taktování můžeme použít externí obvod oscilátoru. V prvním případě musíme k vývodům XTAL1 a XTAL2 připojit krystal dle obr.1, v druhém případě vývod XTAL1 uzemníme a na vývod XTAL2 přes hradlo TTL připojíme výstup externího obvodu oscilátoru - viz obr.2. U druhého případu je nutné uvést, že u každého typu mikroprocesoru se může způsob připojení signálu z externího oscilátoru li‘it. Zapojení dle obr.2 platí pro původní verzi fy Intel v provedení HMOS. V praxi se nejvíce používá zapojení s vnitřním oscilátorem - s připojením krystalu. Když chcete použít druhý případ - externí oscilátor - můžete k tomu využít integrované oscilátory v pouzdrech DIL8 nebo DIL16 např. od firmy MOTOROLA. Pokud tedy k taktování mikroprocesoru použijeme první případ, platí jednoduchá rovnice: frekvence použitého krystalu = frekvence oscilátoru (fosc). V druhém případě je situace jasná: frekvence externího oscilátoru = frekvence oscilátoru (fosc). Obvod oscilátoru je ve vnitřním blokovém schématu mikroprocesoru pojmenován jako Generátor hodin.

     Zdrojem taktovacích impulzů může být buď piezokeramická jednotka připojená k mikroprocesoru nebo jiný externí zdroj taktovacích impulzů. Piezokeramickou jednotku představuje krystal připojený přes vývody XTALl a XTAL2 - viz obr.1. V případě použití vněj‘ího (externího) zdroje taktovacích impulzů, je signál z tohoto zdroje připojen na vývod XTAL2 při současném připojení vývodu XTAL1 na zem - viz obr.2. Frekvence taktovacího signálu určuje frekvenci oscilátoru (kterou dále v na‘em povídání označujeme fosc), platí jednoduchý vztah - frekvence použitého krystalu (taktovacího signálu) = frekvence oscilátoru (fosc). Obvod, který zpracovává signál od zdroje taktovacích impulzů a rozvádí jej k dal‘ím vnitřním obvodům mikroprocesoru, je ve vnitřním blokovém schématu mikroprocesoru pojmenován jako Generátor hodin.

Taktování vnitřním oscilátorem - připojení 

      krystalu Taktování externím oscilátorem - připojení vněj‘ího 

      zdroje
Obr.1 Taktování vnitřním oscilátorem - připojení krystalu Obr.2 Taktování externím oscilátorem - připojení vněj‘ího zdroje


     Jeden strojový cyklus mikroprocesoru se skládá ze ‘esti stavů označených S1 až S6, z nichž každý stav je dále rozdělen na dvě fáze P1 a P2. Strojový cyklus je tak tvořen celkem 12 fázemi, které se značí S1P1,S1P2,S2P1,S2P2, až S6P2. Jedna fáze má délku jedné periody taktovacího signálu (vývod XTAL2).



     Na inicializaci mikrokontroléru je k dispozici vstup RST (reset), na který je připojen interní Schmittův obvod. Proto lze na tento vstup připojit i spojitě se měnící napětí, např. napětí na kondenzátoru při automatické inicializaci po připojení napájecího napětí. Pro verze CMOS lze rezistor vynechat,protože vstup RST má vnitřní zatěžovací rezistor. Tehdy musí být hodnota předřazené kapacity snížena na úroveň asi 6uF. Klasický mikroprocesor 8051 a jeho klony např. ATMEL AT89C51 a AT89C2051 až AT89C4051 mají resetovací úroveň log. 1. Na tomto místě je třeba upozornit na to, že řada nástupců 8051 má aktivní úroveň nulovacího impulzu opačnou (log.0), jak bývá u vět‘iny procesorů obvyklé. Pro vysvětlení se zde budu zabývat jen RESET-em klasického procesoru 8051. Podrobnosti o aktivní úrovni signálu RESET naleznete v dokumentaci ke každému typu procesoru. Reset mikrokonlroléru proběhne, bude-li signál RST=1 alespoň po dobu dvou strojových cyklů (24 period hodinových impulzů oscilátoru). Samozřejmě pokud oscilátor běží. V době inicializace se nastaví ALE a PSEN do vstupního stavu. Vnitřní inicializace se vykoná v době druhého strojového cyklu, ve které je RST=1 a opakuje se pokud RST=1.Obsah interní paměti RAM se resetem neovlivní a po zapnutí napájecího napětí je v ní náhodný obsah ( v aplikacích, kde na tom záleží je ji třeba vynulovat programově po resetu).Po připojení napájení drží obvod vstup RST ve vysoké úrovni po dobu,která je závislá na hodnotě připojené kapacity a rychlostí náběhu napájecího napětí. Abychom si byli jisti,že RESET bude platný, musí být RESET držen ve vysoké úrovni déle než dva strojové cykly.

     Přivedení napájecího napětí bez vykonání platného RESETu způsobí, že CPU mikrokontroléru začne vykonávat program z náhodného místa v paměti programu, protože programový čítač nebyl spolehlivě vynulován a jeho obsah byl náhodný. Uvedené jednoduché nulivací obvody nejsou vhodné pro systémy se zálohovanou pamětí dat RAM nebo pamětí EEPROM, protože v případě krátkodobého poklesu napájecího napětí nevytvářejí nulovací impuls a procesor pracující mimo tolerance napájecího napětí udaného výrobcem může snadno jakýmkoliv způsobem přepsat zálohovaná data.Pro takovéto aplikace je třeba používat nulovací obvod nebo nulovací generátor s obvodem WATCHDOG.
Obr.4 Jednoduchý resetovací obvod pro RESET po přivedení napájecího napětí,aktivní úroveň RST=1. Obr.5 Jednoduchý resetovací obvod pro RESET po přivedení napájecího napětí,aktivní úroveň RST=0.


Vytisknout stránku

Zpátky Zpátky
© DH servis 2002 -