本文比較了內(nèi)部(與微處理器集成)和外部(基于硬件)看門狗定時器(WDT)的優(yōu)缺點(diǎn)。它解釋了內(nèi)部看門狗定時器易于實(shí)現(xiàn),但容易發(fā)生故障。MAXQ2000微控制器的WDT作為內(nèi)部看門狗的一個例子。基于硬件的看門狗定時器需要額外的電路板空間,但在可靠性至關(guān)重要的情況下是必不可少的。本文最后提供了一個比較矩陣,重點(diǎn)介紹了每個 WDT 解決方案的主要優(yōu)點(diǎn)和缺點(diǎn)。
介紹
看門狗定時器 (WDT) 強(qiáng)制嵌入式微處理器或微控制器復(fù)位(硬件復(fù)位),以響應(yīng)無效的軟件狀態(tài)。這種狀態(tài)可以像由軟件錯誤、宇宙射線或 EMI(電磁干擾)等事件引起的切換寄存器位一樣簡單。
本文探討了為應(yīng)用程序選擇最佳計(jì)時器的一些注意事項(xiàng)。
WDT 的典型應(yīng)用
防止微處理器鎖定是WDT的典型應(yīng)用。通常,嵌入式軟件有一個“主循環(huán)”,它調(diào)用幾個指導(dǎo)各種活動的子例程。然后,WDT 在循環(huán)頂部重置一次。如果循環(huán)因任何原因無法正確執(zhí)行,則看門狗將觸發(fā)并重置設(shè)備。
具有WDT的系統(tǒng)特別適合檢測位錯誤。瞬時位錯誤是由中斷引起的,包括軟內(nèi)存故障和 EMI 放電到存儲設(shè)備及其接口。這些位錯誤會導(dǎo)致數(shù)據(jù)臨時位極性翻轉(zhuǎn)進(jìn)出嵌入式處理器。當(dāng)在獲取程序信息時發(fā)生此位錯誤時,微處理器將開始執(zhí)行錯誤的代碼。潛在地,處理器可以開始執(zhí)行操作數(shù)而不是操作碼。當(dāng)處理器開始執(zhí)行此錯誤代碼時,它將無法正確執(zhí)行為監(jiān)視器提供服務(wù)的代碼。超時間隔后,看門狗將導(dǎo)致處理器重置。在正確設(shè)計(jì)的系統(tǒng)中,此重置將糾正原始錯誤。
另請注意,WDT 無法立即檢測到故障。根據(jù)定義,WDT 必須達(dá)到預(yù)定時間間隔的終點(diǎn),然后才能重置處理器。這一事實(shí)解釋了為什么在 WDT 糾正失控條件之前應(yīng)選擇盡可能短的超時間隔過期。
內(nèi)部WDT與外部WDT
WDT可以作為微處理器的內(nèi)部,如MAXQ2000微控制器,外部作為獨(dú)立的IC,或作為支持ASIC的一部分嵌入。無論 WDT 是內(nèi)部還是外部,每種設(shè)備類型都有優(yōu)點(diǎn)和缺點(diǎn)。內(nèi)部定時器可以節(jié)省資金,但可能會受到失控代碼的影響。雖然實(shí)現(xiàn)成本較高,但外部WDT具有單獨(dú)的時鐘源,可提供更好的可靠性;如果配置正確,失控代碼無法繞過或禁用它。
基本 WDT 操作
每個WDT的核心都是一個計(jì)數(shù)器寄存器。時鐘源不斷遞增計(jì)數(shù)器寄存器,當(dāng)計(jì)數(shù)器溢出時,看門狗邏輯會強(qiáng)制系統(tǒng)復(fù)位。要防止此重置,必須定期清除計(jì)數(shù)器寄存器,此過程稱為“維護(hù)監(jiān)視器”。外部WDT IC具有一個數(shù)字輸入,可在每次低到高或從高到低轉(zhuǎn)換時清除計(jì)數(shù)器寄存器。對于內(nèi)部 WDT,“服務(wù)”實(shí)現(xiàn)各不相同。例如,MAXQ2000的WDT可以通過設(shè)置寄存器位(MOVE WDCN.0,#1)來提供服務(wù)。PIC 微控制器和其他微處理器使用專用指令 (CLRWDT) 為計(jì)數(shù)器寄存器提供服務(wù)。
正常運(yùn)行的軟件應(yīng)提供具有足夠規(guī)律的數(shù)字信號轉(zhuǎn)換,以便計(jì)數(shù)器寄存器永遠(yuǎn)不會溢出。但是軟件可能會陷入無限循環(huán)或開始失控執(zhí)行,從而無法清除計(jì)數(shù)器寄存器。這種情況最終會觸發(fā)重置。WDT 周期是計(jì)數(shù)器溢出所需的時間。若要防止重置,監(jiān)視器服務(wù)之間的間隔必須短于超時期限。
某些 WDT 包含比基本計(jì)數(shù)器寄存器體系結(jié)構(gòu)更高級的功能。常見的變體是“窗口”或“最小/最大”WDT。此功能在看門狗維修太慢或過快時發(fā)出復(fù)位信號。如果清除計(jì)數(shù)器寄存器的信號到達(dá),而計(jì)數(shù)器寄存器中的數(shù)字低于某個閾值,則器件將觸發(fā)系統(tǒng)復(fù)位。簡而言之,如果服務(wù)過快,看門狗會發(fā)出系統(tǒng)復(fù)位,從而在晶體振蕩器開始以晶體標(biāo)稱頻率的諧波運(yùn)行時阻止微處理器運(yùn)行。另一個功能通過邏輯輸入(外部看門狗)或寄存器位(內(nèi)部看門狗)禁用WDT。
微處理器內(nèi)部的看門狗定時器
這篇簡短的文章不能涵蓋微處理器(μP)WDT的所有變化,而是介紹MAXQ2000微控制器內(nèi)部的WDT。雖然該定時器比上述基本計(jì)數(shù)器寄存器 WDT 稍微復(fù)雜一些,但它類似于許多其他商用微控制器芯片上集成的 WDT。
如果不維修,MAXQ2000的WDT溢出,觸發(fā)中斷,額外計(jì)算512個系統(tǒng)時鐘周期,然后自行復(fù)位。這種中斷提供了保存調(diào)試信息的“最后機(jī)會”,大多數(shù)設(shè)計(jì)人員都認(rèn)為這種機(jī)會在電路開發(fā)和故障排除期間很有用。此外,中斷可用于從錯誤中恢復(fù)并清除看門狗,而不是保存調(diào)試信息。但是,后一種方法可能會損害系統(tǒng)的可靠性。
與其他內(nèi)部WDT一樣,MAXQ2000的看門狗可以通過軟件禁用。但是請注意,此功能是一把雙刃劍:失控的代碼可以禁用監(jiān)視器,然后繼續(xù)其橫沖直撞。
某些微處理器將其 WDT 連接到獨(dú)立于系統(tǒng)時鐘的內(nèi)部振蕩器。雖然MAXQ2000的WDT時鐘來自系統(tǒng)時鐘,但MAXQ2000的時鐘電路在主振蕩器發(fā)生故障時將切換到備用RC振蕩器。
看門狗定時器 IC
專用的外部WDT IC具有廣泛的功能,許多制造商都提供。有些器件,如MAX6752,具有“窗口看門狗”功能。MAX6752還可以使用外部電容調(diào)整看門狗超時周期和復(fù)位脈沖的寬度,從而滿足微處理器和應(yīng)用的要求。
MAX6369 WDT上的邏輯輸入引腳可以禁用定時器并防止復(fù)位。盡管將邏輯引腳連接到微處理器很誘人,但這樣做可能會損害系統(tǒng)可靠性,因?yàn)槭Э氐拇a可能會意外禁用看門狗。大多數(shù)情況下,在啟動期間需要禁用看門狗,而微處理器啟動。MAX6369在復(fù)位后提供超長的看門狗周期。然后,在首次為監(jiān)視器提供服務(wù)后,將返回正常持續(xù)時間的超時。此方法比顯式禁用和重新啟用監(jiān)視器計(jì)時器可靠得多。
外部看門狗定時器也可以監(jiān)視 V抄送電源,并在該電壓降至指定閾值以下時置位系統(tǒng)復(fù)位。一些定時器提供去抖動和ESD保護(hù)復(fù)位開關(guān)輸入。此類IC中的電壓監(jiān)視器在工作溫度范圍內(nèi)通常比某些微處理器中包含的內(nèi)置掉電電路更準(zhǔn)確。
結(jié)論
表1列出了外部和內(nèi)部WDT的優(yōu)點(diǎn)和缺點(diǎn)。 外部看門狗定時器IC更昂貴,因此應(yīng)該用于需要更高可靠性的關(guān)鍵系統(tǒng)。但是,將WDT的禁用輸入連接到微處理器(允許軟件禁用看門狗復(fù)位),會損害內(nèi)部看門狗定時器的可靠性。因此,微處理器內(nèi)部的看門狗定時器主要適用于非關(guān)鍵系統(tǒng)和降低成本。
外部 WDT | 內(nèi)部 WDT | |
優(yōu)點(diǎn) |
如果設(shè)計(jì)正確,不會意外地從軟件中禁用。 時鐘源獨(dú)立于系統(tǒng)時鐘。 提供最小/最大看門狗超時周期。 復(fù)位輸出可以連接到需要復(fù)位的其他系統(tǒng)IC。 監(jiān)視一個或多個電源軌(某些微處理器中的內(nèi)部掉電電路不是很準(zhǔn)確)。 超時周期可通過使用電容器完全調(diào)節(jié)。 |
成本基本上為零。 為了保存調(diào)試信息,它可以在重置之前觸發(fā)中斷。 使用方便。 有時,雙向復(fù)位引腳可以連接到需要復(fù)位的其他系統(tǒng)IC。 當(dāng)處理器從高速更改為低速或睡眠模式時,可以修改超時。 看門狗超時周期隨溫度的變化較小。 |
缺點(diǎn) |
實(shí)施需要一些成本。 溫度范圍內(nèi)的超時期限可能會有很大差異。 需要一條微處理器 I/O 線。 由于微處理器省電功能,必須計(jì)算超時以匹配高速和低速時鐘模式。 |
幾乎所有都可以通過軟件禁用(因此,不那么可靠)。 |
審核編輯:郭婷
-
看門狗
+關(guān)注
關(guān)注
10文章
560瀏覽量
70789 -
微處理器
+關(guān)注
關(guān)注
11文章
2258瀏覽量
82403 -
定時器
+關(guān)注
關(guān)注
23文章
3246瀏覽量
114719
發(fā)布評論請先 登錄
相關(guān)推薦
評論