ウォッチドッグ(監視チップ)

マイクロ 構成される マイクロコンピュータシステム 、外部電磁界からの干渉をしばしば被写体作業マイクロので、各種レジスタやデータ破損のメモリで、その結果、エラーを取り除くなど、しないプログラム領域に、プログラム命令をプログラムポインタ・エラーの原因となり、プログラムの正常な動作が中断され、MCUによって制御システムが停止し、システム全体を引き起こして、正常に動作し続けることができない、無限ループに陥る可能性があり、予測不可能な結果。
ウォッチドッグと呼ばれるウォッチドッグは、一般的に、出力は、典型的には、通常、マイクロコントローラに接続された他の部分のリセット端子に接続され、入力がイヌと呼ばれ、前記入力および出力を有し、本質的にタイマー回路です。エラーがチップに信号を再起動の問題で発生した後、ウォッチドッグ機能は、チップ内部の定期的な視聴状況です。ウォッチドッグ・コマンドは、最も優先順位の高い割り込みプログラムを実施しています。
ウォッチドッグ・タイマ、タイマー回路と呼ばれるウォッチドッグ、一般的に入力を持っているが、(犬/サービス犬を蹴る犬と呼ばれる 、) の間隔で、MCU、MCU通常動作時のRST出力端子を出力所定時間(通常はプログラムの実行中に)犬を養う以上でない場合、犬はWDTに終了時間への信号が、クリアされているが、WDTタイマーを超え、リセットするためにMCU、MCUにリセット信号を与えるであろう。MCUは、クラッシュを防ぐことができます。ウォッチドッグの役割は、無限ループプログラムの発生、またはプログラムの実行を防ぐためです。  [1] 

基本的な

編集します
ウォッチドッグは、ハードウェアとソフトウェアとの組み合わせによりシステムの健全性の監視を実現するためにシステムの健全性を監視するための手段です。犬は特定の命令を完了した後、ソフトウェアの安定した動作が行われることになるウォッチドッグが一定期間内の犬のソフトウェアからの信号を受信しないと、そのシステム障害、またはルーチンはシステムリセットを強制的に中断する場合は、実行されます。システムは、動作モードに応じて、ウォッチドッグ・タイミングを可能にするために選択することができた後、ウォッチドッグカウンタがカウントを開始した場合、犬は、それが発生した時間の設定期間内になかった場合は、ウォッチドッグ・タイムアウトを有効になっています。犬のモジュールは、ウォッチドッグ割り込みやレジスタにより放出されたウォッチドッグのタイムアウト後のモードをリセット決定し、基本設定、時間カウンタが犬を数える:ウォッチドッグは、登録カウンタと犬のモジュールは、本質的に構成されています。  [2] 

アプリケーション

編集します
ように、ウォッチドッグ回路の応用は、 マイクロコントローラが 連続運転状態の非存在下で実現することができ、その作動原理は、ウォッチドッグ・チップ・マイクロコントローラ、プログラムによってタイミングを制御するI / Oピンに接続されたI / Oピンハイレベル(若しくはにこのピンにウォッチドッグ ローレベル )、分散プログラム文は、MCU、他の配置 制御ステートメントを 干渉による、プログラム実行中に、マイクロコントローラと、中間 ブロックは、 無限ループに入り、プログラムは、ウォッチドッグ・ピンを記述し、この時間を実行することができない、ウォッチドッグ回路が原因MCUによって送信された信号を得られないであろう、そしてそれは、マイクロコントローラのピンをリセットします上の給電ピン リセット信号は 、マイクロコントローラのリセットが発生する原因となります。そのプログラム のプログラムメモリは 、実行開始位置を開始し、これは自動的に達成するために、デバイスをリセットします。  [3] 

ハードウェアウォッチドッグ

ハードウェアウォッチドッグの使用であり、 タイマー のメインプログラムを実行するプロセスであるメインプログラムの動作を監視するためには、我々は時間の有効期限が切れる前にタイマーをリセットしたいです。無限ループ、またはPCに表示された場合は 、ポインタが 戻って来ることができないので、一定時間後に行うために MCUの リセットを。そのようなMAX813,5045、IMP 813などWDT従来のチップ。

ソフトウェアウォッチドッグ

いくつかのケースでは、方法は、ソフトウェアウォッチドッグを設計することができ、アイドルタイマー/カウンタを使用して、SCMシステムのように、ウォッチドッグ純粋なソフトウェアを設定するために使用されています。次のように具体的な手順は次のとおりです。
まず、初期化処理における配置タイマ/カウンタは、初期値レジスタ(TMOD)、タイマ時間を制御し、割り込みが有効になっています。
その後、タイマーの時間に応じて、一定の時間間隔挿入命令リセットタイマー(DOG)のメインプログラムは、2つの命令間の時間間隔は、犬のシステムクロックと命令サイクルから計算することができこの期間は、タイマが満了したよりも小さくすべきです。
最後に、タイマ割り込みサービスルーチンは、無条件分岐命令を設定し、プログラムカウンタPCは、入り口の初期化手順に転送されます。
以下のようなPowerPCのシステムなどの非シングルチップシステムでは、マルチスレッド方法ドングルを設定するために使用することができる、主要なステップは以下のとおりです。
まず、各ワーカースレッドのカウンターに対応し、グローバル変数、配列を維持ウォッチドッグスレッドを作成します。1上限が所定を超えると判断した後、対応するスレッドを発見した場合に1回whileループのループ、にウォッチドッグ・スレッド、およびグローバル変数配列の各値は、加算され変数は、最大値を超えたウォッチドッグがスレッドをスレッドリセットされます。
次いで、各ワーカースレッドは、定期的にグローバル変数が0(DOG)に設定されている対応するであろう。
ソフトウェアウォッチドッグの利点は、追加のハードウェアのサポートはありませんが、重大なエラーシステムがある(例:サービス・エラーを中断し)、それはソフトウェアウォッチドッグの故障につながる可能性があります。  [4]

おすすめ

転載: www.cnblogs.com/mhq-martin/p/11575983.html