wiki:Watch_dog_for_RPi

Version 2 (modified by aoki, 5 years ago) (diff)

--

RPi用のウォッチドックタイマ の使い方

Raspberry Pi Model B用ウォッチドッグ基板 販売ページ

Raspberry Pi Model B+用ウォッチドッグ基板 販売ページ

特徴

  • Raspberry Piにウォッチドッグ機能(以下WD機能)を追加する電源供給基板
  • WD機能を利用する場合は、基板上のDCジャックから5V電源を供給する必要がある
  • 基板上のマイコンは、Raspberry PiのGPIOを監視し、Raspberry Pi上のメインプログラムに異常が無いかを判定する。
  • 異常を検出したときは、Raspberry Piへの電源供給を一時停止し、電源再投入してRaspberry Piの再起動を促す。


Raspberry Pi Model B用ウォッチドッグ基板のハードウェア

  • 右下のDCジャックは5V入力専用
  • 監視ポート選択パッドの初期接続はGPIO17
  • ジャンパを切り接続を変更すると、GPIO の9,10,11,22,27も選択可能
  • LED on/offジャンパーをショートすると、動作ステート用LEDが点灯する

Watch_dog_for_RPi_04_Function

Raspberry Pi Model B+用ウォッチドッグ基板のハードウェア

  • 右下のDCジャックは5V入力専用
  • HAT形状の基板だが、RPi本体側からの電源逆流防止回路は搭載していない
  • 監視ポート選択パッドの初期接続はGPIO17
  • ジャンパを切り接続を変更すると、GPIO の9,10,11,13,19,22,26,27も選択可能
  • LED on/offジャンパーをショートすると、動作ステート用LEDが点灯する

Watch_dog_for_RPi_BP_04_Function

マイコンのウォッチドッグプログラムの状態遷移

  • WD_default時には、ステートLEDが約2.56秒に1回点滅
  • WD_Active時には、ステートLEDが約0.32秒に1回LED点滅
  • WD_ReBoot時には、ステートLEDが約0.08秒に1回LED点滅

program state

使用方法

ウォッチドッグ基板は、初期状態でGPIO17を監視しながら上記の状態遷移を自動で繰り返すので、特に設定することはありません。唯一LEDの点灯だけは標準で消灯となっているので、用途に合わせてジャンパをショートしてください。その場合、マイコンの状態がLEDに反映されます。

Raspberry Pi側で準備する事は、ブートアップして準備が整ったら、監視ポート(標準ではGPIO17)の信号を4秒以内に1回トグルするプログラムを走らせ続ける事です。マイコンは最初にトグルエッジを5回検出すると、自動的にウォッチドッグ動作を有効にし、それ以降、異常検出のための監視を続けます。(初期トグルの間隔は無制限)
トグルをするプログラムは、メインのプログラムでも専用のプログラムでも(あるいは両方でも)可能です。エッジは0.1秒~5秒未満に1回検出できれば不規則な間隔であっても単独のエッジとみなされます。よって監視ポートを0.1秒~5秒未満に1回トグルし続ければリブートはかかりません。なおトグルの間隔は、余裕を見て0.5秒~4秒程度に設定する事をお勧めします。

もしGPIO17を利用出来ない場合は、他のGPIOピンを監視ポートにすることも可能です。その時は、基板上のGPIO17のジャンパをカットし、利用したいポートのジャンパをショートしてください。同時にRaspberry Pi側の出力もそのポートに変更してください。

Attachments (3)

Download all attachments as: .zip