メディア
連載
» 2015年10月22日 11時30分 公開

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

[菅井賢(STマイクロエレクトロニクス),EDN Japan]
前のページへ 1|2|3       

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

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

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

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

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

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

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

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

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

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

過去の質問一覧はこちら

次の記事を読む

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.