Watchdog Paweł Trojanowski 149167
Watchdog Układ nadzorujący działanie wykonywanego programu, którego podstawowym elementem jest licznik. Przepełnienie licznika generuje sygnał wewnętrznego zerowania mikrokontrolera.
16 bitowy licznik Sam 16–bitowy licznik WDTCNT (WatchDog Timer CouNTer) nie jest bezpośrednio dostępny programowo
Różne źródła taktowania Źródłem sygnału zegarowego dla licznika jest do wyboru albo ACLK, albo SMCLK
Tryby pracy – watchdog lub licznik Licznik nadzorujący (cykliczne zerowanie WatchDog timer’a) Kolejny timer
Kod zabezpieczający przy wpisie do rejestru Operacje realizowane przez Watchdoga są kontrolowane za pośrednictwem rejestru sterującego WDTCTL (Watch Dog ConTroL), dostęp do którego jest chroniony rodzajem hasła – 0x5A.
Po resecie aktywny tryb watchdog’a Po resecie, niezależnie od jego przyczyn, licznik jest automatycznie ustawiany jako watchdog, a źródłem zegara staje się generator RC.
Rejestry Watchdog’a WDTHOLD – 0 – watchdog aktywny, 1 – watchdog zablokowany WDTNMIES – 0 – NMI na zbocze narastające, 1 – NMI na zbocze opadające WDTNMI - 0 – reset, 1 – NMI WDTTMSEL - 0 – tryb watchdog’a, 1 – tryb licznika WDTCNTCL – 1 – zerowanie licznika WDTSSEL - 0 – SMCLK, 1 – ACLK WDTIS - 00 - f/32768, - 01 – f/8192 - 10 – f/512 - 11 – f/64
Zmiana okresu pracy licznika Watchdog’a powinna być wprowadzana równocześnie z zerowaniem licznika - WDTCNTCL = 1. Należy zatrzymać WDT przed zmianą źródła taktowania.
Porównanie resetów: Sprzętowe zerowanie powoduję: Zatrzymanie licznika watchdoga. Zerowanie wybranych rejestrów specjalnych SFR, w tym również znacznika WDT. Wewnętrzne zerowanie od licznika watchdoga: Nie ma wpływu na działanie watchdoga. Zeruje rejestry specjalne SFR, ale nie zmienia stanu znacznika WDT=1.
Low-Power Modes W trybie LPM3 nie występuje zegar SMCLK, więc dla poprawnego działania watchdoga musimy użyć zegara ACLK.
Przykładowe komendy Aktywacja watchdoga MOV #WDTPW+WDTCNTCL,&WDTCTL Zmiana przerwania watchdoga MOV #WDTPW+WDTCNTL+WDTSSEL,&WDTCTL Zatrzymanie watchdoga MOV #WDTPW+WDTHOLD,&WDTCTL
Watchdog Jeżeli program nie zresetuje Watchdoga, to Watchdog zresetuje program.
Literatura: „User’s Guide MSP430x4xx Family” „Systemy mikroprocesorowe Mikrokontrolery” – Janusz Janiczek, Andrzej Stępień „Elektronika praktyczna”