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