看門狗(WDT)是一個定時器,開啟看門狗定時器之後(比如定時200ms),在微控制器程式中每隔一定的時間(小於200ms)要“餵狗”一次,即將看門狗定時器清零。
看門狗分硬體看門狗和軟體看門狗。硬體看門狗是利用一個定時器電路,其定時輸出連線到電路的復位端,程式在一定時間範圍內對定時器清零(俗稱“餵狗”),因此程式正常工作時,定時器總不能溢位,也就不能產生復位訊號。
如果程式出現故障,不在定時週期內復位看門狗,就使得看門狗定時器溢位產生復位訊號並重啟系統。軟體看門狗原理上一樣,只是將硬體電路上的定時器用處理器的內部定時器代替,這樣可以簡化硬體電路設計,但在可靠性方面不如硬體定時器。
比如系統內部定時器自身發生故障就無法檢測到。當然也有透過雙定時器相互監視,這不僅加大系統開銷,也不能解決全部問題,比如中斷系統故障導致定時器中斷失效。
擴充套件資料:
應用:
看門狗電路的應用,使微控制器可以在無人狀態下實現連續工作,其工作原理是:看門狗晶片和微控制器的一個I/O引腳相連,該I/O引腳透過程式控制它定時地往看門狗的這個引腳上送入高電平(或低電平),這一程式語句是分散地放在微控制器其他控制語句中間的。
一旦微控制器由於干擾造成程式跑飛後而陷入某一程式段進入死迴圈狀態時,寫看門狗引腳的程式便不能被執行,這個時候,看門狗電路就會由於得不到微控制器送來的訊號,便在它和微控制器復位引腳相連的引腳上送出一個復位訊號。
使單片機發生復位。即程式從程式儲存器的起始位置開始執行,這樣便實現了微控制器的自動復位。
看門狗(WDT)是一個定時器,開啟看門狗定時器之後(比如定時200ms),在微控制器程式中每隔一定的時間(小於200ms)要“餵狗”一次,即將看門狗定時器清零。
看門狗分硬體看門狗和軟體看門狗。硬體看門狗是利用一個定時器電路,其定時輸出連線到電路的復位端,程式在一定時間範圍內對定時器清零(俗稱“餵狗”),因此程式正常工作時,定時器總不能溢位,也就不能產生復位訊號。
如果程式出現故障,不在定時週期內復位看門狗,就使得看門狗定時器溢位產生復位訊號並重啟系統。軟體看門狗原理上一樣,只是將硬體電路上的定時器用處理器的內部定時器代替,這樣可以簡化硬體電路設計,但在可靠性方面不如硬體定時器。
比如系統內部定時器自身發生故障就無法檢測到。當然也有透過雙定時器相互監視,這不僅加大系統開銷,也不能解決全部問題,比如中斷系統故障導致定時器中斷失效。
擴充套件資料:
應用:
看門狗電路的應用,使微控制器可以在無人狀態下實現連續工作,其工作原理是:看門狗晶片和微控制器的一個I/O引腳相連,該I/O引腳透過程式控制它定時地往看門狗的這個引腳上送入高電平(或低電平),這一程式語句是分散地放在微控制器其他控制語句中間的。
一旦微控制器由於干擾造成程式跑飛後而陷入某一程式段進入死迴圈狀態時,寫看門狗引腳的程式便不能被執行,這個時候,看門狗電路就會由於得不到微控制器送來的訊號,便在它和微控制器復位引腳相連的引腳上送出一個復位訊號。
使單片機發生復位。即程式從程式儲存器的起始位置開始執行,這樣便實現了微控制器的自動復位。