マイコンの動作を見守る番犬
図1は,マイコンに,電源電圧監視機能とウォッチドック・タイマ機能を持った,マイコン監視IC(LTC1232)を接続した回路です.ウォッチドック・タイマ機能の説明として正しいのは,(a)~(d)のどれでしょうか.
LTC1232には,電源電圧監視とウォッチドック・タイマ機能がある.
(a) マイコンで正確な時間を計測するための基準信号を供給する
(b) 設定した時間になったときに,スリープ状態のマイコンを復帰させる
(c) マイコンが暴走しても,正常動作に復帰できるよう,定期的にリセットする
(d) マイコンから一定時間入力信号が無いときに,マイコンをリセットする
ウォッチドック(watchdog)は番犬という意味です.(a)~(d)の中で番犬の役割から連想される機能に近いのははどれかという観点で考えてみてください.また,ウォッチドック・タイマは,マイコンにもほぼ内蔵されています.信頼性が必要な場合,マイコンの内部と外部の両面で監視します.
ウォッチドック・タイマ機能は,マイコンのプログラムが暴走または停止してしまったときに,マイコンをリセットして,正常動作にするものです.図1の回路では,マイコンが正常に動作しているときは,LTC1232のST端子を定期的にLowにします.マイコンが暴走するとこの信号が入力されなくなります.そこで,この信号が一定時間以上入力されない場合,LTC1232のRES端子でマイコンをリセットし,正常動作に復帰させます.つまり,ウォッチドック・タイマ機能の説明としては,(d)が正解です.
●マイコンの電源監視とリセット
マイコンは,ROM(Read‐Only Memory)または,RAM(Random Access Memory)から,プログラムを順番に読み出し,命令を実行します.プログラムを順番に実行するために使われるのが,プログラム・カウンタです.マイコンの電源投入直後は,このプログラム・カウンタの値がランダムな値となってしまうため,リセットにより初期化する必要があります.電源投入直後に行うリセットを,パワー・オン・リセットと呼びます.
また,動作中に電源電圧がマイコンの動作可能電圧を下回ってしまった場合も,リセットにより初期化する必要があります.LTC1232には,マイコンの電源電圧を監視し,適切にリセットする機能が内蔵されています.
図2は,LTC1232のデータシートに記載されているブロック図(1)から,電源電圧監視機能の部分を取り出し,一部補足したものです.RES端子はマイコンのRESET端子に接続します.Vcc端子の電圧を抵抗分圧し,反転入力端子に1.3Vの基準電圧が接続されたコンパレータにより,Vccの電圧を判定します.
Vcc端子の電圧を抵抗分圧し,コンパレータで電源電圧を判定する.
抵抗分圧比は,TOL端子の電圧によって選択できるようになっています.TOL端子がGNDに接続されている場合は,電源電圧が4.62V以下で,RES端子がLowになります.LTC1232のデータシートでは,この,RES端子の出力が変化する電源電圧を,トリップ・ポイント電圧と呼んでいます.TOL端子がVccに接続されている場合は,トリップ・ポイント電圧は4.37Vになります.「リセット・パルス・ジェネレータ」は一定のリセットパルス幅を作るためのもので,610msの間,RES端子をLowに維持します.
●電源監視機能をシミュレーションする
図3は,LTC1232の電源監視機能をシミュレーションするための回路です.電源(Vcc)の立ち上がりと,一時的な電圧低下が発生したときのRES端子の出力をシミュレーションします.Vccの電圧はPWLで記述し,初期値0Vで100ms後に5Vとします.そして,4s後に100msの間に4Vまで電圧を低下させ,再び5Vとします.
Vccの立ち上がりと,一時的な電圧低下が発生したときのふるまいをシミュレーションする
図4は,図3のシミュレーヨン結果です.電源の立ち上がりのとき,Vccが4.37Vを越えた後,610msの間,RES端子はLowを維持しています.これにより,マイコンのパワー・オン・リセットを行います.そして,Vccの電圧が低下し,4.37V以下になるとRES端子がLowとなっています.この信号でマイコンをリセットすることで,瞬間的な電圧低下で誤動作したマイコンを,正常動作に復帰させることができます.
データシートでは,トリップ・ポイント電圧を4.37Vとするには,TOL端子をVccに接続する必要がありますが,今回使用したLTC1232のLTspiceモデルでは,TOL端子をGNDに接続したときに,トリップ・ポイント電圧が4.37Vになり,Vccに接続したときに4.62Vになるようです.
Vccが4.37V以下になるとRES端子がLowとなっている.
●ウォッチドック・タイマ機能
マイコンのプログラムは,外来ノイズや放射線によるメモリ内容の変化等,さまざまな原因で暴走することがあります.ウォッチドック・タイマ機能はマイコンが暴走した場合,その暴走を検出してマイコンをリセットし,正常動作に戻すためのものです.また,マイコンにもウォッチドック・タイマは,ほぼ内蔵されていますが,外部のウォッチドック・タイマを使用することで,より信頼性が向上します(2).
図5は,LTC1232のウォッチドック・タイマ機能部分を取り出したブロック図です.ST端子はマイコンのI/Oポート接続し,RES端子はマイコンのRESET端子に接続します.
ST端子はマイコンのI/Oポート接続し,RES端子はマイコンのRESET端子に接続する
図5の「ウォッチドック・タイマ」ブロックは,時間を計測するためのカウンタで,設定(タイム・アウト)時間が経過すると,RES端子をLowにします.タイム・アウト時間はTD端子を使用して設定することができます.TD端子をGNDに接続した場合は150ms,TD端子をフローティングとすると,600ms,TD端子をVccに接続した場合は1.2sになります.
ST端子が「ウォッチドック・タイマ」をクリアするための入力端子です.設定したタイム・アウト時間内にST端子にLowレベルのパルスを入力すると,「ウォッチドック・タイマ」のカウンタがリセットされ,RES端子はLowになりません.そのため,マイコンのI/Oポートにより,定期的にST端子をLowとするようにプログラムを組みます.マイコンが正常に動作している間は,定期的に「ウォッチドック・タイマ」のカウンタがリセットされますが,マイコンが暴走して,ST端子をLowとしなくなると,タイム・アウト時間後にRES端子がLowとなって,マイコンをリセットします.
●ウォッチドック・タイマ機能を確認する
図6は,LTC1232のウォッチドック・タイマ機能と,外部リセット機能をシミュレーションするための回路です.ST端子にはマイコンからの信号を模擬する信号源(V2,V3)が接続されています.V2,V3は,途中で1.7sの間途切れた10Hzの矩形波を発生させます.TD端子がVccに接続されているため,タイム・アウト時間は1.2sに設定されます.そのため,ST端子の信号が1.2s以上途切れると,RES端子がLowになります.また,外部リセット機能を確認するため,スイッチS1を6s後にオンさせ,PB_RES端子をLowとします.
V2,V3は,途中で1.7sの間途切れた10Hzの矩形波を発生させる.
図7は,図6のシミュレーション結果です.上段がマイコンをリセットするためのRES端子の電圧で,中段がマイコンから入力されるST端子の電圧,下段がマニュアル・リセットするためのPB_RES端子の電圧です.
ST端子の信号が喪失して1.2s後,RES端子がLowレベルとなっている
シミュレーション開始直後は,パワー・オン・リセットとなり,RES端子は610msの間Lowとなっています.ST端子は10Hzの矩形波となっていますが,2s以降信号がなくなり,Lowレベルのままとなります.そして,ST端子の信号が喪失して1.2s後,RES端子がLowレベルとなっています.このように,マイコンが暴走して,ST端子の信号が喪失すると,マイコンにリセットがかかることになります.6s後にST端子がLowレベルとなると,RES端子がLowレベルとなり,外部からマニュアル・リセットができることが確認できます.
以上,マイコン監視ICとウォッチドック・タイマに関して説明しました.LTC1232の詳しい使用方法に関しては,データシートを参照してください.
◆参考・引用*文献
(1)アナログデバイセズ:LTC1232データシート P4 BLOCK DIAGRAM
(2)アナログデバイセズ:内部および外部ウォッチドッグタイマの比較
解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice10_041.zip
●データ・ファイル内容
LTC1232_VDET.asc:図3の回路
LTC1232_VDET.plt:図4のグラフを描画するためのPlot settinngsファイル
LTC1232_WDT.asc:図6の回路
LTC1232_WDT.plt:図7のグラフを描画するためのPlot settinngsファイル
■LTspice関連リンク先
(01) LTspice ダウンロード先
(02) LTspice Users Club
(03) LTspice メール・マガジン全アーカイブs
(04) ◆LTspice電子回路マラソン・アーカイブs
(05) ◆LTspiceアナログ電子回路入門アーカイブs
(06) ◆LTspice電源&アナログ回路入門アーカイブs
(07) ◆IoT時代のLTspiceアナログ回路入門アーカイブs
(08) ◆オームの法則から学ぶLTspiceアナログ回路入門アーカイブs
(09) ◆LTspiceエデュケーショナル・ファイルで学ぶアナログ回路アーカイブs
(10) ◆LTspiceドット・コマンドから学ぶアナログ回路アーカイブs
(11) ◆LTspiceで始める実用電子回路入門アーカイブs