看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數器,一般給看門狗一個數字,程序開始運行后看門狗開始計數。如果程序運行正常,過一段時間CPU應發出指令讓看門狗置零,重新開始計數。如果看門狗增加到設定值就認為程序沒有正常工作,強制整個系統復位。

 

它的主要功能是在發生軟件故障時,通過使器件復位(如果軟件未將器件清零)將單片機復位。也可以用于將器件從休眠或空閑模式喚醒,看門狗定時器微控制器提供了獨立的保護系統,當系統出現故障時,在可選的超時周期之后,看門狗將以RESET信號作出響應,像x25045就可選超時周期為1.4秒、600毫秒、200毫秒三種。當你的程序死機時,x25045就會使單片機復位。

 

大多數看門狗定時器IC產生一個單一的,有限的輸出脈沖持續時間當看門狗超時。這適用于觸發復位或中斷微處理器,但有些應用需要輸出(故障指示燈)的鎖存器。

 

考慮到安全性問題,汽車電子系統需要監控電路監測故障容限或安全性??撮T狗定時器可理想滿足這類需求,通過對微控制器正常工作條件下產生的周期脈沖進行檢測,偵測電路或IC的失效狀態,一旦發生故障可立即切換到備份/冗余系統。

 

什么是看門狗定時器

(圖片來源于互聯網)

 

看門狗定時器和普通的定時器本質上沒有區別。

 

普通的定時器可以設定一個時間,在這個時間完成之前定時器不斷計時,時間到的時候定時器會復位CPU(重啟系統)。

 

看門狗定時器和普通定時器的區別

(圖片來源于互聯網)

 

拓展:

看門狗定時器的設計原理:看門狗( watchdog timer)是一個定時器電路, 一般有一個輸入,叫喂狗(kicking the dog or service the dog),一個輸出到MCU的RST端,MCU正常工作的時候,每隔一段時間輸出一個信號到喂狗端,給WDT清零,如果超過規定的時間不喂狗,(一般在程序跑飛時),WDT 定時超過,就會給出一個復位信號到MCU,使MCU復位。防止MCU死機。

 

看門狗的作用就是防止程序發生死循環,或者說程序跑飛。 出于對單片機運行狀態進行實時監測的考慮,產生了一種專門用于監測單片機程序運行狀態的芯片,俗稱"看門狗"(watchdog))集成電路(MAX*9)的基礎上,該電路提供了響應的輸入脈沖流損失鎖存故障指示。該電路可以監控風扇(上風扇的轉速輸出計算),振蕩電路,或一個微處理器軟件執行。

 

一個簡單的電路提供了響應的輸入脈沖流損失鎖存故障指示。在μP-supervisor/watchdog集成電路(MAX*9)的基礎上,該電路用于監測風扇(在風扇的轉速輸出計算),振蕩電路,或一個合適的微處理器軟件執行。

 

看門狗定時器和普通定時器的區別

(圖片來源于互聯網)