ウォッチドッグタイマーが無人のミッションクリティカルなアプリケーションに自動保護を発動

IIoTデバイスのアップタイムを確保し、システムのパフォーマンスと電力効率を向上させるために知っておくべきウォッチドッグタイマーの3つのモード

産業用IoT(IIoT)の時代において、スマートデバイスは思いもよらない場所で利用されるようになりました。工場の生産ラインや遠隔地に設置され、主にセンシングや制御に利用されています。それらのスマートデバイスがクラッシュすると、オペレーション全体が停止してしまう可能性があります。

 

従来、これを是正するために、ほぼ機器を再起動させるためだけに技術者を現地に派遣していました。これは技術者の行き返りの時間を無駄にするだけでなく、機器のダウンタイムが長くなり、収益の損失につながる可能性があります。このような単純なリセットや再起動の問題は、ウォッチドッグタイマーがあれば、迅速に解決することができます。

 

ウォッチドッグタイマーは、組み込みシステムでよく使われるデバイスの1つで、組み込みシステムの存在と同じくらい長い間使用されてきました。基本的にウォッチドッグタイマーは、単独またはMCUなど他のデバイスに統合されたハードウェアであり、ソフトウェアの異常を自動的に検出し、異常が発生した場合にプロセッサーをリセットすることができます。ウォッチドッグタイマーは、COP(Computer-Operating-Properly、コンピューター動作保証)タイマー、または単にウォッチドッグと呼ばれることもあります。

 

デバイスの動作を保証するためには、故障やそれに伴うリセットに理論的には人間が対応する必要があります。しかし現実には、システムを24時間365日監視する必要があること、動作を非常に迅速に行う必要があること、そしてシステムが遠隔地に設置されている可能性があることなどから、それは不可能です。

 

ウィンドウウォッチドッグタイマーと非ウィンドウウォッチドッグタイマー

一般に、ウォッチドッグタイマーには2つのタイプがあります。ウィンドウ型と非ウィンドウ型です。どちらも同じように動作し、呼び出されるとリセットを実行します。両者の違いは、ウィンドウウォッチドッグは、タイマーの作動が早すぎる場合もリセットされることにあります。

 

ウォッチドッグタイマーは、ある初期値からゼロまでカウントダウンするカウンターをベースにしています。ウォッチドッグタイマーが監視する組み込みソフトウェアは、カウンターの初期値を選択し、タイムアウト(ゼロになること)が発生しないように定期的にカウンターを再スタートさせます。ソフトウェアが再スタートさせる前にカウンターがゼロになることがあれば、ソフトウェアが誤動作していると判断され、プロセッサーのリセット信号がアサートされます。

 

Blog Figure -WDT Behavior-220524-1図では、ウォッチドッグタイマーがカウントダウンし、ゼロになると障害が発生したことを示し、リセット(ほとんどの場合システムを再起動)されることがわかります。

 

異常は一時的なハードウェアの障害や、ソフトウェアにバグがある場合など、さまざまな場面で発生する可能性があります。一般的に、障害が検出されると、人間による電源の再投入と同じようにプロセッサー(およびそれが動作している組み込みソフトウェア)が再起動されます。しかし、システム設計チームの判断により、別の是正措置を取ることも可能です。例えば、コンピューターを安全な状態にしたり、システムを再起動させたりすることができます。

 

今日では、ウォッチドッグタイマーをホストのマイクロプロセッサーに直接組み込むことが一般的となっており、設計プロセスが大幅に簡素化されます。あるいは、プロセッサーに直接接続された付近のICに内蔵されることもあります。実際には別の基板に搭載されるケースもありますが、そのようなシナリオは稀です。

 

 

3つの動作モード

ウォッチドッグタイマーは通常、次の3つのモードで動作します。

  • モード1:コンピューターに異常が発生した場合、リセットして動作を再開させる
  • モード2:コンピューターに異常が発生した場合、ウォッチドッグタイマーのピンをHighにする
  • モード3:コンピューターに異常が発生した場合、ウォッチドッグタイマーのピンをHighにし、ノンマスカブル割り込み(NMI)を発生させる

 

ウォッチドッグタイマーで考慮しなければならないのは、マイコンが低消費電力モードやスリープモードに移行する場合です。プロセッサーが使用されていない場合はウォッチドッグタイマーが不要になるため、ウォッチドッグタイマー自体が低消費電力モードになります。これを処理するために、通常はプロセッサーがディープスリープに入ったときと出たときにタイマーを停止し、最初のカウントに戻して再スタートさせます。

 

さらに、スリープモードとは一般的に、CPUとクロック源、およびそのクロックを参照する周辺機器が無効化された状態と定義されます。これは最も低消費電力なモードとなります。アイドルモードも低消費電力ですが、スリープモードほどではなく、CPUは無効化されますが、システムクロックは動作し続けます。周辺機器はこのタイマーで動作し、選択的に無効にすることができます。

 

1つのCOM3つのウォッチドッグタイマーモード

WL968-(Front200506) R1DFIWL968は、ウォッチドッグタイマーを適切に活用するCOM Express 3.0モジュールです。インテル第8世代Coreマイクロプロセッサーを中心に設計されており、IoT Edgeアプリケーションに適しています。

 

3つのウォッチドッグタイマーモードをすべて扱うことができるボードの例としては、DFI WL968があります。このCOM Express 3.0モジュールは、インテル第8世代i3、i5、i7 Coreマイクロプロセッサーを搭載した設計となっています。WL968のその他特徴としては、最大64GバイトのDDR4メモリ、AGA/DDIやLVDSなどの各種I/Oインターフェイス、4K×2Kの解像度に対応したDP++を搭載しています。さらに、6つのPCIeポート、GbEインターフェイス、12のUSBポート(USB 3.0×4、USB 2.0×8)により、さらなる拡張が可能です。

 

DFIは、組み込み分野の企業として、製品の長期供給サポートの重要性を理解しています。そのため、WL968は15年間のCPUライフサイクルサポートを提供しています(インテルのIOTGロードマップに基づく)。このモジュールには、標準温度(0℃~+60℃)で動作するバージョンと、拡張温度範囲(-40℃~+85℃)で動作するバージョンの2つが用意されています。

 

ウォッチドッグタイマーを適切に活用することで、システムのパフォーマンスと電力効率を向上させることができますが、不適切な使用は「バグの多い」システムにつながることがあります。DFIが問題の解決をお手伝いします。

 

 

COM Express 3.0 WDT対応製品

WL968-(Front200506) R1 TGU968-Top_50% CH961(T201123) TGH960(F211228)_50
WL968 TGU968 CH961 TGH960
       
ICD970(F211221) photo-front-GH9A3_R011_web TGU9A2_Front_210806-1 EHL9A2-Top
ICD970 GH9A3 TGU9A2 EHL9A2

 

 

筐体内にアンテナを設置する必要がありますか?

お問い合わせ