Club-Z 基礎講座「おしえて電源IC」 技術情報コラム

第11回 電源監視ICってなに?(その2)

[sc name=”ricoh_to_nisshinbo” ][/sc]

 

皆さんこんにちは、日清紡マイクロデバイスの講師Sです。
前回はマイコンの電源電圧を監視してマイコンの電源起動時のパワーオンリセット信号の生成や、マイコンの電源が一時的に正常動作の動作範囲外に低下した場合にマイコンにリセットをかける電源監視ICについて説明しました。また、機能安全用途として電圧低下検出だけでなく、過電圧検出も同時に行うウィンドウタイプの電源監視ICについても言及し、電源監視ICの特性として検出精度が重要であることを説明しました。
今回はマイコンの電源電圧を監視するICではありませんが、電源監視ICと同様にマイコンを監視するという意味で同じ範疇にはいるウォッチドッグタイマーICを取り上げて説明したいと思います。ウォッチドッグタイマーICはマイコンから定期的に生成される信号を監視することでマイコンがプログラムどおりに正常に動作しているかどうかを判定するICです。マイコンからの定期信号が途切れた場合に異常と判断してマイコンをリセットします。


マイコンの暴走を監視するウォッチドッグタイマーの概要

 マイコンはプログラムROMに指定されたプログラムどおりに動作します。マイコンの電源電圧が正常範囲であっても何らかの原因(例えばノイズなど)でプログラムどおりに動作しない場合があります。プログラムどおりにマイコンが動作しないことを「マイコンの暴走」と言います。これはマイコンが故障しているわけではありません。この暴走を検出してマイコンを初期化して、暴走を止めるのがウォッチドッグタイマー(以降WDT)の役割です。
ではどのようにしてこの暴走を検出するのでしょうか。マイコンのプログラムの中にWDTに対して定時連絡をするようなイメージで定期的に信号を送出するルーチンをあらかじめ組込んでおきます。マイコンがプログラムどおりの正常な動作をしている場合には、この定期的な信号が途絶えることなく常時WDTに送り続けられます。
ところが、マイコンが暴走すると、定期信号生成のプログラムも影響を受けます。極端な場合はマイコンからの定期信号が途絶えてしまいます。身近でよく経験するのはパソコンのフリーズ状態です。これはプログラムが無限ループにはいってそこから抜けられないような場合です。
マイコンは本来、定期的な信号を生成すようにプログラムされているはずなのに、それが途絶えるということはマイコンに何か異常が発生したことになります。また、WDTにはタイマーが内蔵されており、マイコンからの定期信号をトリガーにしてこのタイマーのクリアと再スタートを繰返しています。マイコンからの定期信号が正常に送られてきている間は、タイマーがオーバーフローする前に、この定期信号によってクリアされます。しかし、マイコンからの信号が途絶えるとタイマーがオーバーフローします。これがWDTによるマイコンの暴走検出の方法(メカニズム)です。タイマーがオーバーフローすると、WDTはマイコンの暴走を止めて正常な状態に回復させるために、マイコンを初期化するリセット信号を送出します。このようにしてWDTは常時マイコンの暴走を監視して、異常があればマイコンをリセットしています。
これをイメージしたのが図1です。この図ではマイコンの中に組込まれているWDTではなく外付けのWDTを想定しています。「ウォッチドッグ」は番犬、番人、監視人を意味する英語です。飼い犬に餌を与えるのに良い時間は朝の8:00 と夜の8:00の2回だそうですが、12時間おきに餌が与えられないと吠えて飼い主に知らせる番犬の動作はWDTと似ています。

ウォッチドッグタイマー(WDT)によるマイコンの暴走監視の動作イメージ

図1.ウォッチドッグタイマー(WDT)によるマイコンの暴走監視の動作イメージ

 

ところで、マイコンをWDTに対して定期的に信号を送出するようプログラムしますが、その定期信号の送出周期とWDTのオーバーフロー時間は、つじつまが合うように調整しておく必要があります。例えば、次に示すアナログ遅延でタイマーを構成するWDTでは、外付けの容量値で時間を調整することができます。高精度なWDTでは±10%の精度でタイマー時間を設定することも可能です。

日清紡マイクロデバイス ウォッチドックタイマー製品の『★図研の回路モジュール無料ダウンロードサイト「Module Station」』はこちら!

ウォッチドッグタイマー(WDT)のタイマー時間生成

 先に説明したWDTを構成する方法として、発振回路とカウンターで構成するデジタル方式とアナログ遅延を使う方式があります。マイコン内部にあらかじめ搭載されているWDTは一般的にデジタル方式です。
ここではノコギリ波発生回路でタイマー時間を生成するアナログ回路方式のWDTを紹介します。
図2にノコギリ波を生成する回路とその動作を示すタイミングチャートを示します。

ウォッチドッグタイマー(WDT)を構成するノコギリ波発生回路とクリア信号

図2.ウォッチドッグタイマー(WDT)を構成するノコギリ波発生回路とクリア信号

 

 ノコギリ波を生成する回路はTW端子の外付け容量を充電する定電流源、Pch充電スイッチおよびNch放電スイッチ、TW端子電圧の上限電圧値(VREFH)を検出する電圧コンパレータ(CMP1)、TW端子電圧の下限電圧値(VREFL)を検出する電圧コンパレータ(CMP2)、CMP1とCMP2の出力信号から充電と放電の切換信号を生成するRSラッチから構成されています。
なお、回路とタイミングチャートに記載したノコギリ波形の上限値と下限値が回路のどの部分に対応するかを示すためにVREFH、VREFLという記号を使っています。また、外付けコンデンサー接続端子名は、この端子の波形でWDTの時間幅 (Time Width) が決まりますのでTWとしています。
Pch充電スイッチがONすると定電流源でTW端子の容量に充電を開始します。TW端子の電圧はVREFLからVREFHに到達するまで定電流値とTW端子の容量で決まる電圧傾斜 (V/t) で上昇します。TW端子電圧がVREFHに到達するとPch充電スイッチがOFFし、Nch放電スイッチがONに切換わり、TW端子の容量を一気に放電し、TW端子の電圧はVREFLになります。VREFLに到達すると再び放電から充電に切換わりますので、TW端子の電圧はVREFHとVREFL間を往復するノコギリ波形となります。この様子を図2の右側にタイミングチャートで示しています。
TW端子の電圧がVREFHに到達することが先に説明したWDTのオーバーフローに相当します。
図2のノコギリ波の発生回路にはCLEAR端子が設けられています。CLEAR端子に ”H”レベルのパルス信号が入力されるとTW電圧は強制的にVREFLにされます。これが先に説明したWDTがオーバーフローする前にタイマーをクリアすることに相当します。
これがノコギリ波発生回路によるWDTの動作イメージです。なお、ここで記載した図はWDTの動作イメージを掴んで頂くために簡略化していますので、ご注意ください。

 

ウォッチドッグタイマー(WDT)の2つのタイプ

●ノーマルタイプのWDT

図1で説明したWDTの動作を図2で示したノコギリ波で表すと図3のイメージになります。

ノーマルタイプのウォッチドッグタイマー(WDT)の動作イメージ

図3.ノーマルタイプのウォッチドッグタイマー(WDT)の動作イメージ

 

マイコンのプログラムが正常動作している間はマイコンから送られてくる定期的な信号によってノコギリ波が上限値に到達する前にクリアされますが、マイコンが暴走すると、マイコンからの定期信号が遅れる、あるいは途絶えるとノコギリ波が上限値に到達します。WDTはノコギリ波が最大値に到達するとマイコンが暴走していると判定してマイコンにRESET信号を送出します。
このように、マイコンからの定期信号を監視して、それが遅れる、あるいは途絶える場合にマイコンにリセット信号を送出するWDTをノーマルタイプのWDTと呼びます。

●ウィンドウタイプのWDT

 マイコンが暴走した場合に、マイコンからの信号周期が正常範囲より短くなる場合も考えられます。 例えば、WDTに対して定期信号を送出するプログラム部分で無限ループに入り込んでいる場合などです。ノーマルタイプのWDTではこのような暴走状態を検出することができません。そこでマイコンからの定期信号の周期が短くなった場合にも対応したのがウィンドウタイプのWDTです。 前回の第10回では電圧低下検出だけでなく、過電圧検出も同時に行なう電源監視ICをウィンドウタイプの電源監視ICとして紹介しましたが、WDTの場合もマイコンからの定期信号の上限周期だけでなく下限周期をはずれることも検出するWDTをウィンドウタイプのWDTと呼びます。「ウィンドウ」には上限と下限に囲まれた枠内(ウィンドウ内)が正常であるという意味が込められています。 図4にその動作イメージを示します。

ウィンドウタイプのウォッチドッグタイマー(WDT)の動作イメージ

図4.ウィンドウタイプのウォッチドッグタイマー(WDT)の動作イメージ

 

 ウィンドウタイプのWDTでは2つの区間(ウィンドウ)を設けています。まず、マイコンからの定期信号によって最初にクローズドウィンドウ期間が設定されます。これはマイコンからの定期信号周期が短くなっていないかを検出する期間です。この期間に信号が来るとマイコンが暴走していると判定してマイコンにリセット信号を送出します。
次に、クローズドウィンドウ期間終了までにマイコンからの信号が来なければオープンウィンドウ期間に切換わります。オープンウィンドウ期間にマイコンからの定期信号を検出するとマイコンは正常動作していると判定します。そして、オープンウィンドウ期間中に定期信号が来なかった場合にはマイコンが暴走していると判定してマイコンにリセット信号を送出します。これがウィンドウタイプWDTの動作概要です。

 

ウィンドウタイプのウォッチドッグタイマー(WDT)の詳細動作

タイミングチャートにノコギリ波を追記した図を使ってもうすこし説明を続けます。

(1)電源起動直後とマイコン信号周期が正常範囲内のWDTの動作

図5-1 は電源起動に続けてマイコン信号周期が正常範囲内の場合のWDTの動作をタイミングチャートで示した図です。

ウィンドウタイプのWDT詳細

図5-1.ウィンドウタイプのWDT詳細1

 

 図5-1は電源起動後マイコンが正常な範囲内の周期で信号を送り続けている場合の動作を表しています。 図5-1の右側のTW端子のノコギリ波形からわかるようにクローズドウィンドウとオープンウィンドウが交互に切換わっており、クローズドウィンドウではタイマーがフルになること、またオープンウィンドウではタイマーがフルになる前にクリアされることがマイコンの正常な動作を表しています。電源起動時は、マイコンからの信号を無視する期間とマイコンからの信号周期が長くなっても正常動作と判定できるように、通常より長い時間設定のオープンウィンドウを設けることで誤検出しないように対応します。このような動作はステートマシン制御で実現していますが、ここでは説明を省略します。

(2)正常範囲外のマイコン信号周期に対するWDTの動作

 図5-2 にマイコンからの信号周期が正常範囲より短い場合と、逆に正常範囲より長い場合のWDTの動作をタイミングチャートを示します。

ウィンドウタイプのWDT詳細

図5-2.ウィンドウタイプのWDT詳細2

 

 信号周期が短い場合にはクローズドウィンドウ期間にマイコンから信号が来ることでRESETB信号を送出し、信号周期が長い場合にはオープンウィンドウ期間にマイコンからの信号が来ないためタイマーがオーバーフローしてRESETB信号を送出する様子を示しています。 なお、RESETB信号によってマイコンが初期化された直後は電源起動直後と同様にマイコンからの信号を無視する期間とマイコンからの信号周期が長くなって正常動作と判定できるようにオープンウィンドウの期間を通常より長く設定します。

以上のように、マイコンのプログラムによって生成される周期的な出力信号をタイマーで監視することでマイコンのプログラムの暴走を監視するのが一般的なWDTの動作です。 WDTの中にはマイコンとWDT間をシリアルインターフェースで接続してWDTの質問 ( Question )に対してマイコンからの回答 ( Answer) が期待通りかどうかによって暴走を判定するQ&A方式のWDTがありますが、ここでは紹介だけにとどめておきます。
また、マイコンに電源を供給するリニアレギュレータとその出力電圧を監視するディテクタ、さらにはマイコンの暴走を監視するWDTを1チップに収めた複合電源ICも開発されています。

日清紡マイクロデバイス ウォッチドックタイマー製品の『★図研の回路モジュール無料ダウンロードサイト「Module Station」』はこちら!

リセットタイマーIC

 マイコンを監視しているわけではありませんが、マイコンなどのシステムをリセットするICのひとつとして、押しボタンスイッチの手動での長押しを検出してリセット信号を生成するリセットタイマーICについて簡単に紹介しておきます。
手動でリセットをかけることをマニュアルリセットと呼びます。リセットタイマーICは押しボタンスイッチが押されている時間が一定以上継続するとマイコンなどのシステムに対してリセット信号を生成するので、ある意味、時間を監視していると言えます。
リセットタイマーICは(ロングディレイプッシュ)ボタンコントローラ、スマートリセットICなどの呼び名があります。携帯電話、スマートホン、タブレット端末の電源スイッチなどの用途に使われます。
リセットタイマーICの構成を長押しボタンとして使った場合の使用例のイメージを、そのタイミングチャートとともに図 6に示します。

リセットタイマーICの使用例とタイミングチャート

図6.リセットタイマーICの使用例とタイミングチャート

 

 この例では、押しボタンスイッチが押されて2つのスイッチが同時にONすると内部のタイマーがスタートし、タイマーが設定時間(tDELAY)を超えるとリセット信号が生成されます。設定時間内にどちらかのスイッチがOFFするとタイマーはリセットされます。このようにリセットタイマーIC内部で設定された遅延時間より長い時間、しかも2つのスイッチが同時に押し続けられないとリセット信号が生成されないため、押しボタンスイッチの誤操作を防ぐことができるのです。

 

おわりに

 今回は電源を監視しているわけではありませんが、マイコンの暴走を監視するWDTについての基本的な動作を説明しました。機械制御などのために組み込まれたマイコンでは、その暴走によって意図しない動作が安全を脅かす場合もあります。その意味でウォッチドッグタイマーはマイコン監視ICの中でも重要な働きをするICのひとつです。
さて、次回が電源監視ICの最終回ですが、リチウムイオン電池パック内に搭載されて電池の過充電や過放電、充電/放電電流の過電流を監視するリチウムイオン電池保護ICについて説明したいと思います。リチウムイオン電池保護ICは一般的には電源監視ICやマイコン監視ICの範疇には含まれないかもしれませんが、リチウムイオン電池も電源のひとつであり、また監視方法も電源監視ICと同様に電圧コンパレータを使用して監視対象の電圧を電圧検出抵抗で分圧して基準電圧と比較するという方法を用いていますので、電源監視ICのテーマとして最後に取り上げたいと思います。

最後まで読んでいただきありがとうございました。

[sc name=”nisshinbo-microdevices_footer_001″][/sc]