WDT(ウォッチドッグタイマー)って、そもそもナニ?

はじめに
「ウォッチドッグ」と聞くと、「番犬」や「見張り犬」を思い浮かべる人も多いでしょう。実はそのイメージ、けっこう正しいんです!コンピュータの世界での「ウォッチドッグタイマー(WDT)」も、“番犬”のように働きます。
つまり、コンピュータがちゃんと動いているかを「監視」してくれる存在なんです。
コンピュータも時々「固まる」
家電やマイコン(小さなコンピュータ)は、常に何かの処理を行っています。でも、プログラムにバグがあったり、電気的なノイズが入ったりすると──
「動かなくなる(フリーズする)」ことがあります。
人間だったら「調子が悪いな」と思ったら再起動できますが、マイコンは自分ではそれに気づきません。
そこで助けてくれるのが「ウォッチドッグタイマー」なのです。
合わせて読みたい
WDTのしくみをざっくり説明!
ウォッチドッグタイマーは、
「一定時間ごとに“ご主人(CPU)”から『大丈夫だよ!』という合図(リセット)をもらえなかったら、システムをリセットする」という仕組みを持っています。
たとえるなら、こんな感じです。
🐶 番犬(WDT):「一定時間ごとに“ごはん”をくれなかったら、ワン!って吠えて部屋(システム)をリセットするぞ!」
CPUが正常に動いている間は、定期的に「ごはん(リセット信号)」をあげるので、番犬はおとなしくしています。でも、もしCPUがフリーズして「ごはん」をあげられなくなったら──
→ 番犬が「おかしいぞ!」と吠えて、WDTがリセット信号を出します。
→ するとマイコンが再起動し、動作を再開できます。
合わせて読みたい
WDTを使う=勝手に再起動する防止策
つまり、WDTは「異常で止まったままにならないようにする安全装置」。組み込み機器ではとても大切な機能です。
たとえば:
- 家電製品
- 車の制御装置
- センサーやIoTデバイス
こういった機器が途中で固まると困りますよね。そんなときにWDTが“非常リセットスイッチ”の役割をしてくれるのです。
合わせて読みたい
注意点
便利なWDTですが、設定ミスをすると逆効果になることもあります。
- WDTのタイムアウト時間が短すぎると、正常動作でもすぐリセットしてしまう
- ソフトリセット時にWDTを正しく初期化しないと、リセットループ(何度も再起動)してしまう
なので、プログラムでは「どこでWDTをリセットするか」「どんな周期にするか」をきちんと考える必要があります。
まとめ
WDT(ウォッチドッグタイマー)とは、
- システムを“見張る番犬”のような存在
- フリーズを検知して自動でリセットしてくれる安全装置
- 組み込みシステムでは欠かせない機能
普段は気づかないけれど、もしものときにしっかり働いてくれる頼もしい存在。
まさに「見えない番犬」なんですね🐾

