Watchdog timer

zařízení, které nachází chyby a iniciuje opravné kroky

Watchdog nebo Watchdog timer, zkráceně WDT (z angličtiny – „hlídací pes“) je počítačová periferie, která resetuje systém při jeho zacyklení. K zacyklení systému může dojít v důsledku chyby v hardware nebo software systému. Program (většinou v hlavní smyčce) periodicky signalizuje watchdogu svůj chod. To se může dít např. zápisem servisního impulsu do watchdogu, v případě některých jednočipových mikropočítačů také provedením speciální strojové instrukce. Pokud systém určitý čas nesignalizuje chod (typicky milisekundy až sekundy), pak watchdog způsobí reset systému.

Složitější watchdogy mohou navíc ještě zaznamenávat na nevolatilní (nezávislé na napájení tj. ukládání do energeticky nezávislé paměti) médium ladicí informace (např. časy kdy došlo k zresetování systému a jaký byl obsah registrů). Nejčastější použití watchdogů je v zabudovaných systémech, kde jsou mnohdy součástí mikroprocesoru.

Watchdog se rovněž používá pro převedení systému do bezpečného stavu, např. pro vypnutí motorů, elektrických sběrnic s nebezpečným napětím a jiných potenciálně nebezpečných subsystémů. Jednou z možností je, že řídící jednotka při resetu pozná, že ji zresetoval watchdog, a místo normálního rozběhu pouze uvede systém do bezpečného nouzového stavu.

Watchdog může být realizován pomocí x-bitového čítače připojeného na hodinový signál s frekvencí y MHz. Pokud není čítač přiměřeně často resetován, dojde po uplynutí přetečením čítače sekund k resetu.

Účelem a současně důvodem existence watchdogu je přivést systém prostřednictvím resetu ze zaseknutého stavu zpět k normální funkci. Bez watchdogu by musel být čip resetován manuálně, což by u čipů v automatických strojích na odlehlých nebo špatně přístupných místech (např. meteorologické stanice, přístroje u rozvodů elektrického vedení) mohl být problém.

Související články editovat