在電子產(chǎn)品中,有時候需要看門狗定時器(WDT),看門狗芯片有外部和內(nèi)置兩種。在設計之初,要不要使用看門狗芯片?這是個值得考慮的問題。在本文中,我們對內(nèi)部和外部看門狗定時器做下講解,看看需不需要看門狗功能。
什么是看門狗定時器(WDT),為什么在設計中需要它?
看門狗定時器(WDT)是一種用于檢測在嵌入式系統(tǒng)中的異常并復位單片機。它通常包含一個預裝計時器,該計時器遞減為零。當預裝的看門狗定時器到預定的時間,單片機就會復位。在正常操作下,單片機會持續(xù)刷新計時器的值,以防止其進入復位狀態(tài),也就是“踢看門狗”。
單片機開發(fā)工程師在嘗試完善硬件和程序的過程中,可能會發(fā)生錯誤。比如:電源不穩(wěn)定,內(nèi)存堆棧溢出或程序陷入永久循環(huán)是單片機停滯的原因。這些錯誤可能會導致系統(tǒng)崩潰,這對于停機時間幾乎沒有容忍的應用程序可能會造成問題。發(fā)生這種情況時,裝有看門狗定時器繼電器的系統(tǒng)將自動復位。這是因為WDT觸發(fā)了系統(tǒng)重置,因此無需人工干預即可恢復正常運行。
內(nèi)部WDT與外部WDT,應該怎么選擇?
在選擇WDT之前,重要的是要了解它們。內(nèi)部WDT是單片機自身內(nèi)置的看門狗定時器,通過將值寫入WDT的相應寄存器來完成WDT的配置和刷新。
外部WDT是物理集成電路(IC),需要無源組件才能起作用。復位倒數(shù)的持續(xù)時間通常由電容器的值決定。外部WDT通常通過發(fā)送電壓脈沖來刷新,不管是內(nèi)部WDT還是外部WDT,它們都以相同的方式復位單片機。
選擇內(nèi)部WDT的優(yōu)點是,可以通過最大程度地減少額外組件的成本來節(jié)省資金,并且可以使用更小的PCB。由于大多數(shù)現(xiàn)代MCU都配有內(nèi)部WDT,這當然是個不錯的選擇,可以節(jié)約成本。
但是,如果內(nèi)部WDT與單片機屬于同一IC。當單片機可能發(fā)生故障時,那么WDT是否也可能發(fā)生故障?這點需要著重考慮。
以當今的單片機制造能力,遇到不可靠的內(nèi)部WDT的可能性很小。但是,它們確實有可能因失控的代碼錯誤地使計時器無效而出故障。此外,如果系統(tǒng)時鐘發(fā)生故障,與單片機共享相同系統(tǒng)時鐘的內(nèi)部WDT更有可能發(fā)生故障。
在關(guān)鍵任務應用中,使用內(nèi)部看門狗定時器總是比較安全的,你會發(fā)現(xiàn)使用少量組件的成本仍然比停滯的系統(tǒng)所造成的損害要小。
以上就是英銳恩單片機開發(fā)工程師分享的內(nèi)部看門狗定時器(WDT)與外掛看門狗芯片的知識。英銳恩專注單片機應用方案設計與開發(fā),提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關(guān)。