看門狗定時器可以集成在單片機(MCU)內部,也可以作為單獨的芯片放在外部。看門狗芯片具有集成電路中重要的監視功能,使你可以從內部和外部監視系統的故障,并在發生故障時采取措施。
看門狗定時器是什么?
簡而言之,看門狗定時器是一種在特定時間段內未收到來自處理器的周期性脈沖信號的斷言復位輸出的設備。一種實現方式是通過處理器的數字信號輸出(GPIO)饋入外部看門狗定時器的看門狗輸入(WDI)。比如EN8F156是具有看門狗定時器功能的芯片。
處理器會定期向看門狗定時器發送一個脈沖,以指示系統軟件運行正常。如果看門狗定時器未在指定的時間范圍內接收到該脈沖(稱為看門狗超時),則看門狗定時器將發出復位輸出。此重置輸出可用于通知系統處理器已掛起或凍結,或重置處理器本身。圖2說明了在看門狗超時內接收到的脈沖以及在看門狗超時后到期后接收到的脈沖。
圖2:標準看門狗定時器的運行機制
看門狗計時器為何如此重要?
看門狗定時器提供了一種警告系統或重置其軟件已凍結或掛起的處理器的方法。盡管沒有人故意設計凍結的軟件,但是優秀的系統設計人員無論如何都要為故障做計劃-因為總是為意外做好準備。沒有此監視,處理器可能會無限期保持凍結狀態,并導致進一步的系統故障。具有可調超時間隔的外部看門狗計時器可以在幾毫秒內識別出這些軟件死機,并適當地重置系統或處理器。在嵌入式系統或遠程系統中,手動復位系統不可行甚至無法實現,該功能特別必要。
如何在嵌入式系統中實現看門狗定時器功能?
有兩種實現監視計時器的主要方法:
1.使用具有集成看門狗功能的處理器?,F在許多單片機(MCU)都集成了看門狗功能。這很有價值,因為它非常易于實現,并且不需要其他IC。但是,它帶有一個主要警告:集成的看門狗可能無法始終按預期運行,因為導致MCU出現故障的代碼問題還可能無意中禁用了看門狗定時器。同樣,軟件的編寫方式應使內部看門狗能夠檢測到任何凍結或掛起。但是,采取額外的步驟以冗余方式監視看門狗輸入可以幫助解決代碼中無法預料的錯誤。
2.使用外部看門狗定時器。一些具有看門狗定時器功能的IC芯片(例如EN8P1111或EN8P2712)使你能夠以外部方式監視電源電壓和看門狗信號。如果單片機(MCU)的內部無法檢測,則外部看門狗定時器將起到監測作用。
原則上,看門狗定時器的功能不會過于復雜。但是,它在維護系統可靠性方面的重要性不言而喻。如果無法或難以在故障情況下由人啟動的系統重置,則尤其如此。
以上就是英銳恩單片機開發工程師分享的有關看門狗定時器的看門狗芯片基礎知識。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機、運算放大器和模擬開關。