検索
連載

ウォッチドッグタイマーって何?Q&Aで学ぶマイコン講座(19)(3/3 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「ウォッチドッグタイマーって何?」についてです。

Share
Tweet
LINE
Hatena
前のページへ |       

リフレッシュ・ウィンドウ型

 さらに高信頼性が必要な用途向けに、リフレッシュ期間に制限を設けたウォッチドッグタイマーがあります。ウォッチドッグタイマーがスタートしてから、ある決められた時間が経過しないと、リフレッシュできない仕組みになっています。

 図2にその例を示します。カウンターがダウンカウント中の期間に、リフレッシュ可能期間のウィンドウを設けて、そのウィンドウ内の期間以外でリフレッシュするとリセットされるようになっています。もちろんアンダーフローが発生してもリセットされます。


リフレッシュウィンドウ型の仕組み

割り込みを発生させる場合

 ウォッチドッグタイマーがオーバーフローまたはアンダーフローした時にリセットを掛けるのではなく、割り込みを発生させる製品もあります。割り込み処理を完全にハードウェアが行うマイコンに限りますが、リセットの代わりに割り込みを発生させれば、ハードウェアが強制的にプログラムを割り込みサービス・ルーチンに飛ばします。ですので、その中で事故処理を行えば暴走を止めることができます。

 しかし、割り込みサービス・ルーチンもプログラム(ソフトウェア)ですので、暴走の余波(例えば、スタックの中身が破損しているなど)が残っている可能性があります。そこで、割り込みに飛んで行っても、さらに暴走が続く場合は、リセットをかけるという2段階(割り込み→リセット)になっているウォッチドッグタイマーもあります。

実際のウォッチドッグタイマー例

 参考までに、図3にSTマイクロエレクトロニクスのSTM32に搭載されているウォッチドッグタイマーの例を示します。


STM32のウォッチドッグタイマー (クリックで拡大)

過去の質問一覧はこちら

次の記事を読む

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る