專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
看門狗定時(shí)器可以集成在單片機(jī)(MCU)內(nèi)部,也可以作為單獨(dú)的芯片放在外部。看門狗芯片具有集成電路中重要的監(jiān)視功能,使你可以從內(nèi)部和外部監(jiān)視系統(tǒng)的故障,并在發(fā)生故障時(shí)采取措施。
看門狗定時(shí)器是什么?
簡(jiǎn)而言之,看門狗定時(shí)器是一種在特定時(shí)間段內(nèi)未收到來自處理器的周期性脈沖信號(hào)的斷言復(fù)位輸出的設(shè)備。一種實(shí)現(xiàn)方式是通過處理器的數(shù)字信號(hào)輸出(GPIO)饋入外部看門狗定時(shí)器的看門狗輸入(WDI)。比如EN8F156是具有看門狗定時(shí)器功能的芯片。
處理器會(huì)定期向看門狗定時(shí)器發(fā)送一個(gè)脈沖,以指示系統(tǒng)軟件運(yùn)行正常。如果看門狗定時(shí)器未在指定的時(shí)間范圍內(nèi)接收到該脈沖(稱為看門狗超時(shí)),則看門狗定時(shí)器將發(fā)出復(fù)位輸出。此重置輸出可用于通知系統(tǒng)處理器已掛起或凍結(jié),或重置處理器本身。圖2說明了在看門狗超時(shí)內(nèi)接收到的脈沖以及在看門狗超時(shí)后到期后接收到的脈沖。
圖2:標(biāo)準(zhǔn)看門狗定時(shí)器的運(yùn)行機(jī)制
看門狗計(jì)時(shí)器為何如此重要?
看門狗定時(shí)器提供了一種警告系統(tǒng)或重置其軟件已凍結(jié)或掛起的處理器的方法。盡管沒有人故意設(shè)計(jì)凍結(jié)的軟件,但是優(yōu)秀的系統(tǒng)設(shè)計(jì)人員無論如何都要為故障做計(jì)劃-因?yàn)榭偸菫橐馔庾龊脺?zhǔn)備。沒有此監(jiān)視,處理器可能會(huì)無限期保持凍結(jié)狀態(tài),并導(dǎo)致進(jìn)一步的系統(tǒng)故障。具有可調(diào)超時(shí)間隔的外部看門狗計(jì)時(shí)器可以在幾毫秒內(nèi)識(shí)別出這些軟件死機(jī),并適當(dāng)?shù)刂刂孟到y(tǒng)或處理器。在嵌入式系統(tǒng)或遠(yuǎn)程系統(tǒng)中,手動(dòng)復(fù)位系統(tǒng)不可行甚至無法實(shí)現(xiàn),該功能特別必要。
如何在嵌入式系統(tǒng)中實(shí)現(xiàn)看門狗定時(shí)器功能?
有兩種實(shí)現(xiàn)監(jiān)視計(jì)時(shí)器的主要方法:
1.使用具有集成看門狗功能的處理器?,F(xiàn)在許多單片機(jī)(MCU)都集成了看門狗功能。這很有價(jià)值,因?yàn)樗浅R子趯?shí)現(xiàn),并且不需要其他IC。但是,它帶有一個(gè)主要警告:集成的看門狗可能無法始終按預(yù)期運(yùn)行,因?yàn)閷?dǎo)致MCU出現(xiàn)故障的代碼問題還可能無意中禁用了看門狗定時(shí)器。同樣,軟件的編寫方式應(yīng)使內(nèi)部看門狗能夠檢測(cè)到任何凍結(jié)或掛起。但是,采取額外的步驟以冗余方式監(jiān)視看門狗輸入可以幫助解決代碼中無法預(yù)料的錯(cuò)誤。
2.使用外部看門狗定時(shí)器。一些具有看門狗定時(shí)器功能的IC芯片(例如EN8P1111或EN8P2712)使你能夠以外部方式監(jiān)視電源電壓和看門狗信號(hào)。如果單片機(jī)(MCU)的內(nèi)部無法檢測(cè),則外部看門狗定時(shí)器將起到監(jiān)測(cè)作用。
原則上,看門狗定時(shí)器的功能不會(huì)過于復(fù)雜。但是,它在維護(hù)系統(tǒng)可靠性方面的重要性不言而喻。如果無法或難以在故障情況下由人啟動(dòng)的系統(tǒng)重置,則尤其如此。
以上就是英銳恩單片機(jī)開發(fā)工程師分享的有關(guān)看門狗定時(shí)器的看門狗芯片基礎(chǔ)知識(shí)。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)、運(yùn)算放大器和模擬開關(guān)。