看門狗計時器
什麼是看門狗計時器
看門狗計時器是對程式是否失控或卡死進行監控的計時器,在產品使用說明書等資料中通常寫為“WDT”。
看門狗計時器內建有計數器,該計數器不斷向上計數,透過軟體設計實現對計數器進行清零的功能,以防止其溢出。當發生溢出時會中斷或復位。
使用看門狗計時器功能,比如在電熱水壺的示例中,當發生諸如達到設定溫度後電熱盤的電源仍不關斷等與規格不符的問題時,會使電熱水壺自動停止加熱。
看門狗計時器的結構
看門狗計時器有計數器,該計數器會一直向上計數,如果無法透過程式停止計數將會溢出。
為了防止計數器溢出,需要透過程式來清除計時器。
軟體設計者會透過軟體設計,用程式定期清除計數器,以防止計數器溢出。這樣,只要程式正常運行,就能在計數器溢出之前按預期清除計數器。
當無法清除計數器時,意味著程式沒有按照軟體設計者的預期運行,也就是發生了什麼問題。在這種情況下,雖然具體解決方法會因微控制器的規格而異,但通常都有對微控制器產生中斷的功能或使微控制器復位的功能。
利用這種中斷,可以安全地停止系統;透過使微控制器本身重定也可以使系統重新開機。
利用這些功能,即使在微控制器產生異常時也可以防止問題的發生。