ウォッチドッグタイマとは?

ウォッチドッグタイマとは

ウォッチドッグタイマは、プログラムが暴走していないか、プログラムがフリーズしていないかを
監視するためのタイマで、「WDT」とマニュアルなどで表記されています。
このウォッチドッグタイマの機能により、例えば、電気ケトルの例の場合、設定した温度になっても
ヒータの電源が切れないなど、仕様と異なる動作をした場合、自動的に電気ケトルをリセットする
ことができます。
ウォッチドッグタイマにはカウンタがあり、このカウンタはカウントアップし続け、プログラムでは
停止させることはできず、そのままでは、オーバーフローしてしまいます。

このカウンタがオーバーフローしないようにするためには、カウンタをプログラムでクリアする必要が
あります。ソフトウェア設計者は、カウンタがオーバーフローしないように定期的にプログラムで
カウンタをクリアするようにソフトウェアを設計します。

こうすることで、プログラムが正常に動作していれば、意図通りオーバーフロー前にカウンタを
クリアできます。しかし、カウンタがクリアできなかった場合、ソフトウェア設計者の意図通りに
プログラムが動作していない、
つまり、「なにか障害が発生しただろう」ということになります。この場合,マイコンの仕様に
よって異なりますが、マイコンに割込みを発生させる機能や、マイコンをリセットさせる機能があります。

割込みが発生した時は、プログラムによって、安全にシステムを停止させために信号の出力を止める
(例えば、ヒータへの出力を止める)などもできます。
マイコン自信をリセットさせる場合、システムを最初から起動し直すことができます。
このようにしてマイコンに異常が発生したときでもそれによる問題の発生を防ぐことができるわけですね。