就像一只住在名媛手提包中叫不停的小狗,看門狗定時器(watchdog timer)也時常被認為是不必要的多此一舉。然而,若將兩者一視同仁,是對看門狗的極大侮辱。不同于「手提包小狗」,看門狗具有關鍵的監控功能,能夠幫助您監控系統里外的故障情形,并在故障發生時采取行動。
什么是看門狗定時器?
簡單來說,看門狗定時器是一種若在特定時間范圍內未從處理器接收到周期性脈沖訊號,就會發出重設輸出訊號的裝置。其中一種應用這種裝置的方法,是透過來自處理器的數字訊號輸出(GPIO)回饋給外部看門狗定時器的看門狗輸入(WDI),如圖1所示。TPS3851便是具有整合看門狗定時器的監控器,能夠監控微控制器的電源軌,并透過外部方式監控從微控制器(MCU)發出的數字脈沖。
圖1 TPS3851所提供的看門狗監控。
處理器周期性地向看門狗定時器發送一個脈沖,以表示系統軟件的正常運作。若看門狗定時器在規定的時間范圍(稱為看門狗超時)內未接收到此脈沖,看門狗定時器將發出重設輸出訊號。該重設輸出訊號可以用于通知系統處理器出現了停機或凍結的情況,或重設處理器本身。圖2所示為在看門狗超時期間內接收的脈沖,以及在超過看門狗超時之后所接收的脈沖。
圖2 標準看門狗定時器的運作。
為何看門狗定時器如此重要?
看門狗定時器提供一種警報系統的機制,或重設一個軟件歷經凍結或停機的處理器。盡管沒有人會刻意設計會凍結的軟件,但優秀的系統設計人員還是會為故障做準備——因為未雨綢繆總是好的。若缺少這種監控,處理器可能會無限期地凍結,并導致更多的系統故障。像是TPS3851具有可調整超時間間隔的外部看門狗定時器,能夠在幾毫秒內辨識這些軟件凍結,并適當地重設系統或處理器。因為要手動重設這些系統是不實際、甚至幾乎是不可能的,因此這項功能在嵌入式或遠程系統中更有其必要性。
如何在嵌入式系統運用看門狗定時器?
有兩種主要的方式能夠來實作看門狗定時器:
---使用具有整合看門狗功能的處理器。許多微控制器如MSP430F5529系列具有整合看門狗的功能。它的價值在于非常容易實作,且不需要使用其他IC。然而,有一個重要的告誡:由于程序代碼問題而導致的MCU故障可能無意中使看門狗定時器喪失功用,因此整合看門狗可能不會總是按預期的方式運作。同樣地,雖然軟件以內部看門狗能夠偵測所有凍結或停機的方式編寫,但是,采取額外的步驟以冗余方式監控看門狗輸入可以幫助解決程序代碼中不可預見的錯誤。
---使用具有看門狗定時器的電壓監控器。像是TPS3851或TPS3110具有看門狗定時器功能的監控器能夠以外部冗余方式監控電源電壓和看門狗訊號。若處理器的內部看門狗未能偵測到錯誤或缺失的脈沖,外部看門狗定時器將能發揮其他方式無法達到的偵測層級。
原則上,看門狗定時器的功能不會過于復雜;然而,其在維持系統可靠性的重要性也不容小覷,尤其是在系統發生錯誤、但是人為的系統重設是困難甚至是不能實現的情況下。
探索看門狗定時器的應用
接下來,本文將說明為什么應該在應用中使用看門狗定時器、窗口式看門狗定時器如何運作,以及看門狗定時器的一些特性,如何讓它們成為許多不同應用的絕佳附加功能。
為什么要應用中使用看門狗定時器?
看門狗定時器在許多應用中都占有一席之地,如無人機、電網計量、馬達控制…等。對于這些不同的應用,看門狗定時器提供相同的基本功能:透過對處理器的監控偵測出錯誤運作并發出相應的訊號。
然而,監控的使用可能依據應用類型而有所不同。例如,期望有人能夠在距離地表幾百英呎的無人機中手動重設其處理器是不切實際的。在智慧儀表中,同樣的問題可能導致裝置無法讀取或記錄信息,位于遠程位置的儀表和傳感器也會遇到軟件故障的狀況,導致系統無法讀取和記錄信息,并且也沒有人能夠手動重設的情形。控制馬達和其他機械零組件的系統中的程序代碼故障尤其令人緊張,因為這些系統的故障可能對正在操作和在附近的人員造成身體上的傷害。好在使用看門狗定時器可以增加冗余來攔截這些錯誤,有助于防止這些問題的發生。
窗口式看門狗定時器如何運作?
圖3所示的窗口式看門狗定時器是一種特殊的看門狗定時器,其不僅監控在看門狗超時結束(即看門狗上部邊界)前處理器所發送的訊號是否失敗,它還能監控處理器是否在看門狗超時窗口開始前發送看門狗輸入端(WDI)訊號(即看門狗下部邊界)。此功能如圖4所示。
圖3 監控微控制器的窗口式看門狗定時器。
圖4 窗口式看門狗功能。
不同于只檢查脈沖是否在超時結束前抵達的標準看門狗定時器。監控早期WDI訊號能夠偵測并制止不理想的超頻,是相當有用的功能。
看門狗定時器的附加功能有哪些?
窗口式看門狗定時器只是看門狗定時器眾多功能中的一種附加功能。幾個其他附加功能能夠確保系統的穩健性和功能性:
---可調整式看門狗超時:不同的系統和應用對于其WDI訊號需要不同的超時周期。外部電容和SET接腳可以用在看門狗超時中幾毫秒到1分鐘不等的調整。
---看門狗定時器的關閉功能:有些看門狗定時器能夠透過接腳在裝置上的使用而被關閉。這在系統初始化和除錯的過程中,不想重設處理器時非常實用。
-
看門狗
+關注
關注
10文章
579瀏覽量
71548 -
定時器
+關注
關注
23文章
3287瀏覽量
117149
原文標題:解析看門狗定時器的重要性
文章出處:【微信號:Mouser-Community,微信公眾號:貿澤電子設計圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
一文詳解看門狗定時器

STM32看門狗定時器的工作原理和作用 看門狗定時器的特性

內部與外部看門狗定時器的比較
看門狗定時器的設計、工作原理及看門狗定時器的操作

看門狗定時器的作用
dsp看門狗定時器的作用解析

基于VxWorks的看門狗定高效定時機制設計實現

TB3123 - PIC?單片機的窗口看門狗定時器

看門狗定時器是什么_如何在嵌入式系統中實現看門狗定時器功能

評論