單片機的看門狗(Watchdog Timer)是一種硬件電路,用于監(jiān)控單片機的運行狀態(tài),確保系統(tǒng)的穩(wěn)定性和可靠性。當單片機由于軟件或硬件故障導致程序運行異常或停滯時,看門狗能夠檢測到這種情況,并采取措施使系統(tǒng)復位,從而恢復正常運行。看門狗的主要工作原理如下:
定時器:看門狗通常包含一個定時器,這個定時器會在單片機正常工作時被周期性地重置。如果單片機在設(shè)定的時間內(nèi)沒有重置看門狗定時器,那么看門狗會認為單片機出現(xiàn)了異常。
超時復位:一旦看門狗定時器超時,它將觸發(fā)一個復位信號,將單片機復位到初始狀態(tài),從而允許系統(tǒng)重新啟動并嘗試恢復正常操作。
中斷或處理程序:在某些設(shè)計中,看門狗超時可以觸發(fā)一個中斷,允許執(zhí)行特定的錯誤處理程序,而不是立即復位。這樣可以在系統(tǒng)復位前進行一些日志記錄或清理操作。看門狗在那些對安全性和穩(wěn)定性要求較高的應用中特別重要,如工業(yè)控制、汽車電子、醫(yī)療設(shè)備和航空航天等領(lǐng)域。通過使用看門狗,可以大大減少系統(tǒng)因軟件故障而導致的長時間不可用或錯誤操作的風險。CW32單片機有兩個看門狗:獨立看門狗IWDT和窗口看門狗WWDT。
獨立看門狗IWDT:獨立看門狗定時器 (IWDT),使用專門的內(nèi)部 RC 時鐘源 RC10K,可避免運行時受到外部因素影響。一旦啟動 IWDT,用戶需要在規(guī)定時間間隔內(nèi)對 IWDT 的計數(shù)器進行重載,否則計數(shù)器溢出會觸發(fā)復位或產(chǎn)生中斷信號。IWDT 啟動后,可停止計數(shù)。可選擇在深度休眠模式下 IWDT 保持運行或暫停計數(shù)。
IWDT的功能框圖如下:

IWDT 由一個 12 位可重載的向下計數(shù)器實現(xiàn),其計數(shù)時鐘源為內(nèi)部專用低速 RC 振蕩器 RC10K,通過控制寄存器IWDT_CR 的 PRS 位域可對其時鐘源 RC10K 信號進行 4 ~ 512 的預分頻。IWDT 計數(shù)器發(fā)生溢出時可選擇產(chǎn)生中斷和復位信號。
窗口看門狗WWDT:窗口看門狗定時器 (WWDT),用戶需要在設(shè)定的時間窗口內(nèi)進行刷新,否則將觸發(fā)系統(tǒng)復位。WWDT 通常被用來監(jiān)測有嚴格時間要求的程序執(zhí)行流程,防止由外部干擾或未知條件造成應用程序的執(zhí)行異常, 導致發(fā)生系統(tǒng)故障。
WWDT的功能框圖如下

WWDT 內(nèi)含一個 7 位遞減計數(shù)器,計數(shù)時鐘源為內(nèi)部系統(tǒng)時鐘 PCLK,通過控制寄存器 WWDT_CR1 的 PRS 位域 可對其時鐘源 PCLK 進行分頻,分頻后得到計數(shù)時鐘 WWDTCLK 用來驅(qū)動計數(shù)器計數(shù)。WWDT 在深度休眠模式下將停止計數(shù),CPU 被喚醒后恢復正常工作。獨立看門狗更注重在極端情況下的系統(tǒng)恢復能力,而窗口看門狗則提供了更靈活的時間窗口管理,以便更精確地監(jiān)控程序的執(zhí)行。開發(fā)者需要根據(jù)具體的應用需求選擇合適的看門狗類型。
審核編輯 黃宇
-
看門狗
+關(guān)注
關(guān)注
10文章
610瀏覽量
72933
發(fā)布評論請先 登錄
【瑞薩RA × Zephyr評測】多線程和看門狗
請問單片機現(xiàn)在控制亂了可以用MAX813L看門狗芯片強制復位嗎?
掌握這7個規(guī)則,單片機開發(fā)沒難度
什么是ADC模擬看門狗?
中科芯CKS32F107XX系列MCU的獨立看門狗介紹
中科芯CKS32F107XX系列MCU的窗口看門狗介紹
STM32L433單片機如何在調(diào)試的時候關(guān)閉看門狗?
TPS3430 具有可編程復位延遲的窗口看門狗定時器數(shù)據(jù)手冊
TPS3431-Q1 具有使能功能的汽車標準可編程看門狗定時器數(shù)據(jù)手冊
TPS3435 納米靜態(tài)電流精密超時看門狗定時器數(shù)據(jù)手冊
什么是看門狗?這樣的看門狗,你想領(lǐng)養(yǎng)一條嗎? #看門狗復位芯片 #WDT芯片 #單片機復位 #單片機方案
看門狗,你真的會用嗎?
單片機的看門狗,你的產(chǎn)品中有用到嗎?
評論