Watchdog – pies pilnujący przed kłopotami

We wielu systemach mikroprocesorowych bardzo ważna jest bezawaryjność układu i aby był on wstanie samemu poradzić sobie z problemami w działaniu, bez pomocy istot myślących, czyli ludzi. W tym celu wymyślono mechanizm o nazwie watchdog, a jego celem jest w krytyczniej sytuacji uruchomienie ponownie systemu. Watchdogi można podzielić na dwie grupy, sprzętowe i programowe.

Zadanie sprzętowych to przeważnie tylko i wyłącznie wysłanie w odpowiednim momencie sygnału do restartu systemu. Zbudowane są przeważnie z komórki pamięci, gdzie na początku ustawiana jest pewna określona wartość, a następnie w takt niezależnego zegara jest ona zmniejszana. Jeżeli osiągnie wartość minimalną (przeważnie zero), to następuje restart. Zadaniem programu jest uzupełnianie stanu w komórce pamięci częściej niż następuje jej opróżnianie. W sytuacji kiedy program utknie w nieskończonej pętli, lub zakleszczy się nastąpi automatycznie restart, co uchroni system od zawieszenia.

W programowych sytuacja jest bardziej skomplikowana, ponieważ śledzą wiele parametrów pracy mikrokontrolera, a w sytuacji awaryjnej zapisują dane do pamięci stałych i dopiero w tedy wysyłają sygnał do restartu systemu.

Te dwa rozwiązania są stosowane osobno, ale także równocześnie dla większej niezawodności. Sprzętowy jest bardziej niezawodny, jednak jego zadziałanie skutkuje utratą danych, co może wywołać spory problem, dlatego należy wszystkie ważne parametry zapisywać na bieżąco do pamięci nieulotnych.

Watchdogi sprzętowy aktualnie są wbudowane jako peryferia w większości popularnych mikroprocesorów, więc można łatwo zaimplementować jego działanie w naszych urządzeniach.

Przeważnie używane są w systemach alarmowych, oraz nadzorujących działanie urządzeń mechanicznych, oraz w systemach czasu rzeczywistego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.