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