<電子機器>
図1は、電子機器の全体構成を示すブロック図である。本構成例の電子機器1は、監視IC100と、パワーマネジメントIC200と、マイコン300と、を有する。また、電子機器1は、上記の半導体装置100~300に外付けされるディスクリート部品として、抵抗R1~R16とキャパシタC1を有する。
監視IC100は、パワーマネジメントIC200から電源電圧VDD(=出力電圧VO1)の供給を受けて動作する半導体集積回路装置であり、パワーマネジメントIC200の各種出力電圧とマイコン300の出力周波数をそれぞれ監視してそれらの異常検出を行う。なお、監視IC100は、IC外部との電気的な接続を確立する手段として、複数の外部端子(VDDピン、GNDピン、RSTINピン、RSTOUTピン、DIN1~DIN4ピン、PG1~PG4ピン、RTWピン、WDINピン、WDENピン、及び、WDOUTピン)を備えている。
パワーマネジメントIC200は、バッテリ電圧VBATの供給を受けて動作する半導体集積回路装置であり、複数の出力電圧VO1~VO5を生成して電子機器1の各部に供給する。なお、パワーマネジメントIC200に代えて、ディスクリートのDC/DCコンバータやLDO[low drop-out]レギュレータなどを用いることも可能である。
マイコン300は、パワーマネジメントIC200から電源電圧VDD(=出力電圧VO1)の供給を受けて動作する半導体集積回路装置であり、監視IC100やパワーマネジメントIC200を含む電子機器1全体の動作を統括的に制御する。
なお、マイコン300は、監視IC100から入力されるリセット出力信号RSTOUTによりリセットされる。より具体的に述べると、マイコン300は、リセット出力信号RSTOUTがローレベルであるときにリセット状態(=ディセーブル状態)となり、リセット出力信号RSTOUTがハイレベルであるときにリセット解除状態(=イネーブル状態)となる。
また、マイコン300は、監視IC100から入力されるパワーグッド信号PGx(ただしx=1,2,3,4であり、以下も同様)の論理レベルに応じて、パワーマネジメントIC200の出力電圧VOxが正常であるか否かを判定する機能を備えている。より具体的に述べると、マイコン300は、パワーグッド信号PGxがハイレベルであるときに出力電圧VOxが正常であると判定し、パワーグッド信号PGxがローレベルであるときに出力電圧VOxが異常(例えば過電圧異常または低電圧異常)であると判定する。
また、マイコン300は、監視IC100のWDINピン及びWDENピンに対して、それぞれ、ウォッチドッグ入力信号WDIN(=数十Hzのリセットパルス信号)とウォッチドッグイネーブル信号WDENを出力する機能を備えている。さらに、マイコン300は、自らが設定したウォッチドッグイネーブル信号WDENの論理レベルと、監視IC100のWDOUTピンから返ってくるウォッチドッグ出力信号WDOUTの論理レベルとの一致判定を行う機能も備えている。これらの諸機能については、後ほど詳述する。
抵抗R1及びR2は、出力電圧VO1の出力端と接地端との間に直列接続されており、出力電圧VO1の分圧回路として機能する。なお、抵抗R1及びR2相互間の接続ノード(=分圧回路の出力端)は、監視IC100のRSTINピンに接続されている。
抵抗R3及びR4は、出力電圧VO2の出力端と接地端との間に直列接続されており、出力電圧VO2の分圧回路として機能する。なお、抵抗R3及びR4相互間の接続ノード(=分圧回路の出力端)は、監視IC100のDIN1ピンに接続されている。
抵抗R5及びR6は、出力電圧VO3の出力端と接地端との間に直列接続されており、出力電圧VO3の分圧回路として機能する。なお、抵抗R5及びR6相互間の接続ノード(=分圧回路の出力端)は、監視IC100のDIN2ピンに接続されている。
抵抗R7及びR8は、出力電圧VO4の出力端と接地端との間に直列接続されており、出力電圧VO4の分圧回路として機能する。なお、抵抗R7及びR8相互間の接続ノード(=分圧回路の出力端)は、監視IC100のDIN3ピンに接続されている。
抵抗R9及びR10は、出力電圧VO5の出力端と接地端の間に直列接続されており、出力電圧VO5の分圧回路として機能する。なお、抵抗R9及びR10相互間の接続ノード(=分圧回路の出力端)は、監視IC100のDIN4ピンに接続されている。
抵抗R11は、監視IC100のRTWピンと接地端との間に接続されており、オシレータの発振周波数設定素子として機能する。
抵抗R12は、監視IC100のRSTOUTピンと電源端との間に接続されており、監視IC100からマイコン300へのリセット出力信号RSTOUTを電源電圧VDDに吊り上げるためのプルアップ抵抗として機能する。
抵抗R13は、監視IC100のPG1ピンと電源端との間に接続されており、監視IC100からマイコン300へのパワーグッド信号PG1を電源電圧VDDに吊り上げるためのプルアップ抵抗として機能する。
抵抗R14は、監視IC100のPG2ピンと電源端との間に接続されており、監視IC100からマイコン300へのパワーグッド信号PG2を電源電圧VDDに吊り上げるためのプルアップ抵抗として機能する。
抵抗R15は、監視IC100のPG3ピンと電源端との間に接続されており、監視IC100からマイコン300へのパワーグッド信号PG3を電源電圧VDDに吊り上げるためのプルアップ抵抗として機能する。
抵抗R16は、監視IC100のPG4ピンと電源端との間に接続されており、監視IC100からマイコン300へのパワーグッド信号PG4を電源電圧VDDに吊り上げるためのプルアップ抵抗として機能する。
キャパシタC1は、出力電圧VO1の出力端と接地端との間に接続されており、出力電圧VO1(=電源電圧VDD)の平滑手段として機能する。
<監視IC>
図2は、監視IC100の内部構成を示すブロック図である。本構成例の監視IC100には、基準電圧生成部111と、サブ基準電圧生成部112と、基準電圧検出部120と、UVLO[under voltage locked-out]部130と、閾値電圧生成部140~149と、コンパレータ150~159と、オシレータ161及び162と、デジタル処理部170と、Nチャネル型MOS[metal oxide semiconductor]電界効果トランジスタ180~184と、バッファ190と、が集積化されている。
基準電圧生成部111は、VDDピンに入力される電源電圧VDDから所定の基準電圧VREFを生成する。
サブ基準電圧生成部112は、電源電圧VDDから所定のサブ基準電圧VREF2を生成する。
基準電圧検出部120は、電源電圧VDDの供給を受けて動作し、基準電圧VREF及びサブ基準電圧VREF2が正常に立ち上がっているか否かを検出して基準電圧検出信号VREF_DETを生成する。なお、基準電圧検出信号VREF_DETは、基準電圧VREFとサブ基準電圧VREF2の双方が正常に立ち上がっているときにローレベルとなり、少なくとも一方が正常に立ち上がっていないときにハイレベルとなる。また、基準電圧検出部120には、BIST[built-in self test]イネーブル信号BIST_ENが入力されている。すなわち、基準電圧検出部120は、監視IC100の起動時に自己診断対象となる監視部(ないしはこれに含まれている複数の監視機構の一つ)に相当する。
UVLO部130は、電源電圧VDDの低電圧異常を検出して低電圧異常信号UVLOを出力する。低電圧異常信号UVLOは、電源電圧VDDが低電圧異常解除値UVLO_OFFよりも高くなったときにハイレベルとなり、電源電圧VDDが低電圧異常検出値UVLO_ONよりも低くなったときにローレベルとなる。
閾値電圧生成部140及び141は、それぞれ、基準電圧VREFを分圧して上側閾値電圧Vth0H(例えば0.88V)及び下側閾値電圧Vth0L(例えば0.72V)を生成する。
閾値電圧生成部142及び143は、それぞれ、基準電圧VREFを分圧して上側閾値電圧Vth1H(例えば0.88V)及び下側閾値電圧Vth1L(例えば0.72V)を生成する。
閾値電圧生成部144及び145は、それぞれ、基準電圧VREFを分圧して上側閾値電圧Vth2H(例えば0.88V)及び下側閾値電圧Vth2L(例えば0.72V)を生成する。
閾値電圧生成部146及び147は、それぞれ、基準電圧VREFを分圧して上側閾値電圧Vth3H(例えば0.88V)及び下側閾値電圧Vth3L(例えば0.72V)を生成する。
閾値電圧生成部148及び149は、それぞれ、基準電圧VREFを分圧して上側閾値電圧Vth4H(例えば0.88V)及び下側閾値電圧Vth4L(例えば0.72V)を生成する。
コンパレータ150は、電源電圧VDDの供給を受けて動作し、RSTINピンから非反転入力端(+)に入力されている入力電圧V0と、閾値電圧生成部140から反転入力端(-)に入力されている上側閾値電圧Vth0Hとを比較することにより、比較信号RSTOVDを生成する。比較信号RSTOVDは、V0>Vth0Hであるときにハイレベルとなり、V0<Vth0Hであるときにローレベルとなる。
コンパレータ151は、電源電圧VDDの供給を受けて動作し、RSTINピンから反転入力端(-)に入力されている入力電圧V0と、閾値電圧生成部141から非反転入力端(-)に入力されている下側閾値電圧Vth0Lとを比較することにより、比較信号RSTUVDを生成する。比較信号RSTUVDは、V0>Vth0Lであるときにローレベルとなり、V0<Vth0Lであるときにハイレベルとなる。
コンパレータ152は、電源電圧VDDの供給を受けて動作し、DIN1ピンから非反転入力端(+)に入力されている入力電圧V1と、閾値電圧生成部142から反転入力端(-)に入力されている上側閾値電圧Vth1Hとを比較することにより、比較信号DIN1OVDを生成する。比較信号DIN1OVDは、V1>Vth1Hであるときにハイレベルとなり、V1<Vth1Hであるときにローレベルとなる。
コンパレータ153は、電源電圧VDDの供給を受けて動作し、DIN1ピンから反転入力端(-)に入力されている入力電圧V1と、閾値電圧生成部143から非反転入力端(-)に入力される下側閾値電圧Vth1Lとを比較することにより、比較信号DIN1UVDを生成する。比較信号DIN1UVDは、V1>Vth1Lであるときにローレベルとなり、V1<Vth1Lであるときにハイレベルとなる。
コンパレータ154は、電源電圧VDDの供給を受けて動作し、DIN2ピンから非反転入力端(+)に入力されている入力電圧V2と、閾値電圧生成部144から反転入力端(-)に入力されている上側閾値電圧Vth2Hとを比較することにより、比較信号DIN2OVDを生成する。比較信号DIN2OVDは、V2>Vth2Hであるときにハイレベルとなり、V2<Vth2Hであるときにローレベルとなる。
コンパレータ155は、電源電圧VDDの供給を受けて動作し、DIN2ピンから反転入力端(-)に入力されている入力電圧V2と、閾値電圧生成部145から非反転入力端(-)に入力される下側閾値電圧Vth2Lとを比較することにより、比較信号DIN2UVDを生成する。比較信号DIN2UVDは、V2>Vth2Lであるときにローレベルとなり、V2<Vth2Lであるときにハイレベルとなる。
コンパレータ156は、電源電圧VDDの供給を受けて動作し、DIN3ピンから非反転入力端(+)に入力されている入力電圧V3と、閾値電圧生成部146から反転入力端(-)に入力されている上側閾値電圧Vth3Hとを比較することにより、比較信号DIN3OVDを生成する。比較信号DIN3OVDは、V3>Vth3Hであるときにハイレベルとなり、V3<Vth3Hであるときにローレベルとなる。
コンパレータ157は、電源電圧VDDの供給を受けて動作し、DIN3ピンから反転入力端(-)に入力されている入力電圧V3と、閾値電圧生成部147から非反転入力端(-)に入力される下側閾値電圧Vth3Lとを比較することにより、比較信号DIN3UVDを生成する。比較信号DIN3UVDは、V3>Vth3Lであるときにローレベルとなり、V3<Vth3Lであるときにハイレベルとなる。
コンパレータ158は、電源電圧VDDの供給を受けて動作し、DIN4ピンから非反転入力端(+)に入力されている入力電圧V4と、閾値電圧生成部148から反転入力端(-)に入力されている上側閾値電圧Vth4Hとを比較することにより、比較信号DIN4OVDを生成する。比較信号DIN4OVDは、V4>Vth4Hであるときにハイレベルとなり、V4<Vth4Hであるときにローレベルとなる。
コンパレータ159は、電源電圧VDDの供給を受けて動作し、DIN4ピンから反転入力端(-)に入力されている入力電圧V4と、閾値電圧生成部149から非反転入力端(-)に入力される下側閾値電圧Vth4Lとを比較することにより、比較信号DIN4UVDを生成する。比較信号DIN4UVDは、V4>Vth4Lであるときにローレベルとなり、V4<Vth4Lであるときにハイレベルとなる。
なお、上記のコンパレータ151~159には、それぞれ、BISTイネーブル信号BIST_ENが入力されている。すなわち、コンパレータ151~159は、それぞれ、監視IC100の起動時に自己診断対象となる監視部(ないしはこれに含まれている複数の監視機構の一つ)に相当する。
オシレータ161は、電源電圧VDDと基準電圧VREFの供給を受けて動作し、デジタル処理部170で用いられる発振周波数f1(例えばf1=2.2MHz)のクロック信号CLK1を生成する。
オシレータ162は、電源電圧VDDと基準電圧VREFの供給を受けて動作し、デジタル処理部170(特にウォッチドッグタイマ173)で用いられる発振周波数f2(例えばf2=500kHz)のクロック信号CLK2を生成する。なお、クロック信号CLK2の発振周波数f2は、RTWピンに外付けされる抵抗R11(図1を参照)により、任意に調整することが可能である。
また、上記のオシレータ161及び162は、それぞれ、低電圧異常信号UVLOによりリセットされる。より具体的に述べると、オシレータ161及び162は、それぞれ、低電圧異常信号UVLOがローレベルであるときにリセット状態(=ディセーブル状態)となり、低電圧異常信号UVLOがハイレベルであるときにリセット解除状態(=イネーブル状態)となる。
デジタル処理部170は、電源電圧VDDの供給を受けて動作し、各種入力信号の監視処理や各種出力信号の生成処理を行う。また、デジタル処理部170は、低電圧異常信号UVLOによりリセットされる。より具体的に述べると、デジタル処理部170は、低電圧異常信号UVLOがローレベルであるときにリセット状態(=ディセーブル状態)となり、低電圧異常信号UVLOがハイレベルであるときにリセット解除状態(=イネーブル状態)となる。なお、デジタル処理部170の内部構成及び動作については後述する。
トランジスタ180は、RSTOUTピン(=リセット出力信号RSTOUTの出力端子)と接地端との間に接続されており、デジタル処理部170から入力されるゲート信号G0に応じてオン/オフされる。リセット出力信号RSTOUTは、トランジスタ181がオンしているときにはローレベル(=リセット時の論理レベル)となり、トランジスタ181がオフしているときにはハイレベル(=リセット解除時の論理レベル)となる。
トランジスタ181は、PG1ピン(=パワーグッド信号PG1の出力端子)と接地端との間に接続されており、デジタル処理部170から入力されるゲート信号G1に応じてオン/オフされる。パワーグッド信号PG1は、トランジスタ181がオンしているときにはローレベル(=異常時の論理レベル)となり、トランジスタ181がオフしているときにはハイレベル(=正常時の論理レベル)となる。
トランジスタ182は、PG2ピン(=パワーグッド信号PG2の出力端子)と接地端との間に接続されており、デジタル処理部170から入力されるゲート信号G2に応じてオン/オフされる。パワーグッド信号PG2は、トランジスタ182がオンしているときにはローレベル(=異常時の論理レベル)となり、トランジスタ182がオフしているときにはハイレベル(=正常時の論理レベル)となる。
トランジスタ183は、PG3ピン(=パワーグッド信号PG3の出力端子)と接地端との間に接続されており、デジタル処理部170から入力されるゲート信号G3に応じてオン/オフされる。パワーグッド信号PG3は、トランジスタ183がオンしているときにはローレベル(=異常時の論理レベル)となり、トランジスタ183がオフしているときにはハイレベル(=正常時の論理レベル)となる。
トランジスタ184は、PG4ピン(=パワーグッド信号PG4の出力端子)と接地端との間に接続されており、デジタル処理部170から入力されるゲート信号G4に応じてオン/オフされる。パワーグッド信号PG4は、トランジスタ184がオンしているときにはローレベル(=異常時の論理レベル)となり、トランジスタ184がオフしているときにはハイレベル(=正常時の論理レベル)となる。
バッファ190は、電源電圧VDDの供給を受けて動作し、デジタル処理部170から入力される入力信号(=後述の内部ウォッチドッグイネーブル信号WDEN2)をバッファしてWDOUTピン(=ウォッチドッグ出力信号WDOUTの出力端子)に出力する。
<デジタル処理部>
引き続き、図2を参照しながら、デジタル処理部170の内部構成について説明する。本構成例のデジタル処理部170は、自己診断部171と、クロック検出部172と、ウォッチドッグタイマ173と、フィルタFLT0~FLT4と、カウンタCNT0~CNT5と、論理和ゲートOR0~OR4及びOR10~OR14と、論理積ゲートAND1と、インバータINV1と、を含む。
自己診断部171は、監視IC100の起動時において、基準電圧検出信号VREF_DETと比較信号(RSTOVD、RSTUVD、DINxOVD、DINxUVD)をそれぞれチェックすることにより、基準電圧検出部120とコンパレータ150~159がそれぞれ正常に機能しているか否かの自己診断動作(以下ではBISTと略称する)を行い、BISTエラー信号BIST_ERRORを生成する。なお、BISTエラー信号BIST_ERRORは、基準電圧検出部120とコンパレータ150~159のいずれかで異常が検出されたときにハイレベルとなる。
また、自己診断部171は、BISTイネーブル信号BIST_ENを生成して、基準電圧検出部120とコンパレータ150~159にそれぞれ送出する。なお、BISTイネーブル信号BIST_ENは、BISTの実行中にハイレベルとなる。
クロック検出部172は、クロック信号CLK1及びCLK2の周波数異常を検出してクロック検出信号CLK_DETを生成する。クロック検出信号CLK_DETは、クロック信号CLK1またはCLK2の周波数異常が検出されたときにハイレベルとなる。
ウォッチドッグタイマ173は、クロック信号CLK2のパルス数をカウントし、そのカウンタ値がSLOW異常検出閾値に達したら、ウォッチドッグ検出信号WDT_DETをハイレベル(=異常時の論理レベル)に立ち上げる。ただし、ウォッチドッグタイマ173のカウンタ値は、WDINピンから入力されるウォッチドッグ入力信号WDINのパルスによりリセットされる。従って、ウォッチドッグタイマ173のカウンタ値がSLOW異常検出閾値に達するまでの間に、ウォッチドッグ入力信号WDINのパルスが定期的に入力されている限り、ウォッチドッグ検出信号WDT_DETは、ローレベル(=正常時の論理レベル)に維持される。また、ウォッチドッグタイマ173は、ウォッチドッグ入力信号WDINのFAST異常を検出する機能も備えている。より具体的に述べると、ウォッチドッグタイマ173は、ウォッチドッグ入力信号WDINのパルス周期中に、カウンタ値がFAST異常検出閾値(<SLOW異常検出閾値)に達しなければ、ウォッチドッグ検出信号WDT_DETをハイレベルに立ち上げる。なお、WDINピンは、監視IC100の内部でプルダウンされている。
論理和ゲートOR0は、比較信号RSTOVD及びRSTUVDの論理和演算を行う。従って、論理和ゲートOR0の出力信号は、比較信号RSTOVD及びRSTUVDの少なくとも一方がハイレベルであるときにハイレベルとなり、比較信号RSTOVD及びRSTUVDがいずれもローレベルであるときにローレベルとなる。
論理和ゲートOR1は、比較信号DIN1OVD及びDIN1UVDの論理和演算を行う。従って、論理和ゲートOR1の出力信号は、比較信号DIN1OVD及びDIN1UVDの少なくとも一方がハイレベルであるときにハイレベルとなり、比較信号DIN1OVD及びDIN1UVDがいずれもローレベルであるときにローレベルとなる。
論理和ゲートOR2は、比較信号DIN2OVD及びDIN2UVDの論理和演算を行う。従って、論理和ゲートOR2の出力信号は、比較信号DIN2OVD及びDIN2UVDの少なくとも一方がハイレベルであるときにハイレベルとなり、比較信号DIN2OVD及びDIN2UVDがいずれもローレベルであるときにローレベルとなる。
論理和ゲートOR3は、比較信号DIN3OVD及びDIN3UVDの論理和演算を行う。従って、論理和ゲートOR3の出力信号は、比較信号DIN3OVD及びDIN3UVDの少なくとも一方がハイレベルであるときにハイレベルとなり、比較信号DIN3OVD及びDIN3UVDがいずれもローレベルであるときにローレベルとなる。
論理和ゲートOR4は、比較信号DIN4OVD及びDIN4UVDの論理和演算を行う。従って、論理和ゲートOR4の出力信号は、比較信号DIN4OVD及びDIN4UVDの少なくとも一方がハイレベルであるときにハイレベルとなり、比較信号DIN4OVD及びDIN4UVDがいずれもローレベルであるときにローレベルとなる。
フィルタFLT0~FLT4は、それぞれ、論理和ゲートOR0~OR4の出力信号に所定のフィルタリング処理を施して後段に出力する。ただし、フィルタFLT0~FLT4は必須の構成要素ではなく、ノイズなどの懸念がない場合には、フィルタFLT0~FLT4を割愛して、論理和ゲートOR0~OR4の出力信号を後段にスルーしてもよい。
カウンタCNT0~CNT4は、それぞれ、フィルタFLT0~FLT4の出力信号に所定のカウンタ処理を施して後段に出力する。なお、カウンタCNT0の出力信号は、リセット入力検出信号RST_INとして、論理和ゲートOR10に出力されている。ただし、カウンタCNT0~CNT4は必須の構成要素ではなく、ノイズなどの懸念がない場合には、カウンタCNT0~CNT4を割愛して、論理和ゲートOR0~OR4の出力信号(またはフィルタFLT0~FLT4の出力信号)を後段にスルーしてもよい。
論理和ゲートOR10は、基準電圧検出信号VREF_DET、リセット入力検出信号RSTIN_DET、BIST異常検出信号BIST_ERROR、ウォッチドッグ検出信号WDT_DET、及び、クロック検出信号CLK_DETの論理和演算を行うことにより、リセット出力検出信号RSTOUT_DETを生成する。従って、リセット出力検出信号RSTOUT_DETは、複数の入力信号のうち、いずれか一つでもハイレベルであるときにハイレベルとなり、その全てがローレベルであるときにローレベルとなる。なお、リセット出力検出信号RSTOUT_DETは、先述のゲート信号G0として、トランジスタ180のゲートに出力されている。
論理和ゲートOR11~OR14は、それぞれ、カウンタCNT1~CNT4の出力信号と基準電圧検出信号VREF_DETとの論理和演算を行うことにより、パワーグッド検出信号PG1_DET~PG4_DETを生成する。従って、基準電圧検出信号VREF_DETがローレベルであるときには、カウンタCNT1~CNT4の出力信号がパワーグッド検出信号PG1_DET~PG4_DETとしてそのままスルー出力される。一方、基準電圧検出信号VREF_DETがハイレベルであるときには、カウンタCNT1~CNT4の出力信号に依ることなく、パワーグッド検出信号PG1_DET~PG4_DETがいずれもハイレベルに固定される。なお、パワーグッド検出信号PG1_DET~PG4_DETは、先述のゲート信号G1~G4として、トランジスタ181~184それぞれのゲートに出力されている。
カウンタCNT5は、WDENピンから入力されるウォッチドッグイネーブル信号WDENに所定のカウンタ処理を施して出力する。なお、WDENピンは、監視IC100の内部でプルダウンされている。ただし、カウンタCNT5は必須の構成要素ではなく、ノイズなどの懸念がない場合には、カウンタCNT5を割愛して、ウォッチドッグイネーブル信号WDENを後段にスルーしてもよい。
インバータINV1は、リセット出力検出信号RSTOUT_DETを論理反転して出力する。従って、インバータINV1の出力信号は、リセット出力検出信号RSTOUT_DETがハイレベル(=異常検出時の論理レベル)であるときにローレベルとなり、リセット出力検出信号RSTOUT_DETがローレベル(=異常未検出時の論理レベル)であるときにハイレベルとなる。
論理積ゲートAND1は、カウンタCNT5の出力信号とインバータINV1の出力信号との論理積演算を行い、これを内部ウォッチドッグイネーブル信号WDEN2として、ウォッチドッグタイマ173に出力する。従って、インバータINV1の出力信号がハイレベルであるときには、カウンタCNT5の出力信号が内部ウォッチドッグイネーブル信号WDEN2としてそのままスルー出力される。一方、インバータINV1の出力信号がローレベルであるときには、カウンタCNT5の出力信号に依ることなく、内部ウォッチドッグイネーブル信号WDEN2がローレベルに固定される。
なお、ウォッチドッグタイマ173は、内部ウォッチドッグイネーブル信号WDEN2がハイレベルであるときに有効(=イネーブル状態)となり、内部ウォッチドッグイネーブル信号WDEN2がローレベルであるときに無効(=ディセーブル状態)となる。
また、内部ウォッチドッグイネーブル信号WDEN2は、バッファ190を介してWDOUTピン(=ウォッチドッグ出力信号WDOUTの出力端子)に出力されている。すなわち、ウォッチドッグ出力信号WDOUTは、内部ウォッチドッグイネーブル信号WDEN2と等価の2値信号であり、ウォッチドッグタイマ173の有効/無効をマイコン300に通知するためのステータス信号として機能する。
なお、上記構成から成る監視IC100は、その故障検出率を高めるために、監視機構の自己診断機能、内部クロックの自己監視機能、並びに、制御端子の監視機能などを備えている。以下では、これらの新機能について個別具体的に詳述する。
<起動シーケンス>
図3は、電子機器1における第1の起動シーケンス(=一般的な起動シーケンス)を示す模式図である。本図の起動シーケンスでは、パワーマネジメントIC200による電源起動後、パワーマネジメントIC200からのリセット解除により、監視IC100及びマイコン300がそれぞれの動作を開始する。
このように、一般的な起動シーケンスは、自己診断機能付きの監視IC100を想定したものではない。そのため、監視IC100におけるBISTの実施タイミングは、パワーマネジメントIC200からのリセット解除後となるので、電子機器1全体の起動時間に影響を与えてしまう。また、BISTの実施タイミングをマイコン300で判断することもできない。以下では、このような不具合を解消することのできる第2の起動シーケンスについて提案する。
図4は、電子機器1における第2の起動シーケンス(=新規な起動シーケンス)を示した模式図である。本図の起動シーケンスでは、パワーマネジメントIC200による電源起動後、監視IC100において、所定のリセット解除待機時間t1(詳細は後述)が経過するまでの間に、BISTが実施される。そして、監視IC100に異常が検出されなければ、速やかに監視動作が開始され、さらに、リセット解除待機時間t1が経過した時点で、マイコン300のリセット解除が行われる。その結果、マイコン300の動作が開始される。
このように、監視IC100には、自己診断機能とリセット出力機能の双方が具備されている。このような構成を採用することにより、マイコン300の動作開始タイミングに何ら影響を与えることなく、BISTを実施することができるので、電子機器1を従前と同様のタイミングで起動することが可能となる。
また、監視IC100に着目すると、自身が正常に動作するか否かを自己診断した上で本来の監視動作を開始することができるので、故障検出率を向上することも可能となる。
図5は、上記した第2の起動シーケンスをより具体的に説明するためのタイミングチャートであり、本図の上段から中段にかけて、上側から順番に、監視IC100の動作状態(STATE)、電源電圧VDD、リセット入力信号RSTIN(=図2の入力電圧V0に相当)、リセット出力信号RSTOUT、低電圧異常信号UVLO、通常モードにおける各種検出信号(VREF_DET、RSTIN_DET、PGx_DET)、並びに、BISTモードにおける各種検出信号(VREF_DET、RSTIN_DET、PGx_DET)とクロック信号CLK1及びCLK2の自己監視状態が描写されている。
また、本図の下段には、ウォッチドッグタイマ173の動作開始挙動(STATE、WDEN、WDT)が、第1ケース(=例えばIC外部でWDENピンがVDDピンとショートされている場合)と第2ケース(=WDENピンがマイコン300により制御されている場合)に場合を分けて描写されている。
なお、本図中でハッチングが付されている信号は、それぞれの検出動作(ないしは生成動作)がアクティブであることを示している。
パワーマネジメントIC200が起動して、監視IC100に電源電圧VDDが投入されると、低電圧異常信号UVLOの検出動作がアクティブとなり、電源電圧VDDが低電圧異常解除値UVLO_OFFまで上昇すると、監視IC100がOFFステートからSTBYステートに移行する。なお、OFFステートは、UVLO部130以外の回路部が全てシャットダウンした状態に相当する。一方、STBYステートは、UVLOが解除されて、オシレータ161及び162がそれぞれの発振動作を開始した状態に相当する。また、STBYステートでは、基準電圧検出信号VREF_DETとリセット入力検出信号RSTIN_DETそれぞれの検出動作がアクティブとなる。なお、低電圧異常解除値UVLO_OFFは、監視IC100の最低動作可能電圧に基づいて設定するとよい。
その後、リセット入力信号RSTIN(=電源電圧VDDの分圧電圧に相当)がリセット解除値RST_OFFまで上昇すると、監視IC100がSTBYステートからBISTステートに移行する。これ以降、クロック信号CLK1及びCLK2の自己監視動作がアクティブとなる。また、STBYステートからBISTステートへの移行と同時に、リセット解除待機時間t1(例えば10ms)のカウントが開始される。なお、リセット解除値RST_OFFは、マイコン300の最低動作可能電圧に基づいて設定するとよい。
また、BISTステートは、BIST_STBYステート(=BISTの開始待機状態に相当)、BIST_WORKステート(=BISTの実行状態に相当)、並びに、BIST_STBY2ステート(=BISTの結果判定状態に相当)の3つに細分化することができる。
特に、BIST_WORKステートでは、基準電圧検出信号VREF_DET、リセット入力検出信号RSTIN_DET、及び、パワーグッド検出信号PGx_DETの検出動作が順次アクティブとされる。なお、BISTの手法については、後ほど具体例を挙げて詳述する。
また、上記3ステートを一巡するためのBIST所要時間t2は、先出のリセット解除待機時間t1と比べて、十分に短い時間(例えば1ms程度)で足りる。
BISTが正常に終了すると、監視IC100がBISTステートからON1ステートに移行し、これ以降、基準電圧検出信号VREF_DET、リセット入力検出信号RSTIN_DET、及び、パワーグッド検出信号PGx_DETの検出動作(=本来の監視動作に相当)がいずれもアクティブとなる。なお、ON1ステートは、BISTが正常終了し、リセット出力信号RSTOUTがリセット解除されるまでの状態に相当する。
その後、リセット解除待機時間t1が経過すると、監視IC100がON1ステートからON2ステートに移行し、リセット出力信号RSTOUTがハイレベルに立ち上げられて、マイコン300がリセット解除される。ただし、この時点では、ウォッチドッグタイマ173が無効のままである。このように、ON2ステートは、マイコン300のリセット解除後、ウォッチドッグタイマ173が検出動作を開始するまでの状態に相当する。
なお、第1ケースで示したように、監視IC100の外部でWDENピンがVDDピンとショートされており、ON2ステートへの移行前からウォッチドッグイネーブル信号WDENがハイレベルとなっている場合には、リセット出力信号RSTOUTがハイレベルに立ち上げられてから所定のウォッチドッグ待機時間t3(例えば500ms)が経過した時点で、監視IC100がON2ステートからON3ステートに移行し、ウォッチドッグタイマ173が検出動作を開始する。
一方、第2ケースで示したように、ウォッチドッグイネーブル信号WDENがマイコン300で制御されており、ON2ステートへの移行後にウォッチドッグイネーブル信号WDENがハイレベルとされる場合には、ウォッチドッグイネーブル信号WDENがハイレベルに立ち上げられた時点で、監視IC100がON2ステートからON3ステートに遅滞なく移行し、ウォッチドッグタイマ173が検出動作を開始する。
以上で説明してきたように、監視IC100は、監視対象の異常検出を行う監視部(=基準電圧検出部120及びコンパレータ150~159)と、電源が起動してからリセット解除待機時間t1が経過するまでの間に上記の監視部が正常に機能しているか否かを診断する自己診断部171と、リセット解除待機時間t1が経過してからリセット出力信号RSTOUTのリセット解除を行うリセット制御部(=図25及び図26のリセット制御部CTRLを参照)と、を有する。このような構成を採用することにより、電子機器1の起動タイミングに影響を及ぼすことなく、故障検出率を向上することが可能となる。
なお、監視IC100は、リセット入力信号RSTINがリセット解除値RST_OFFに達した後、所定のリセット解除待機時間t1が経過するまでの間にBISTを行い、自身の監視機能が正常であることを確認してからリセット出力信号RSTOUTのリセット解除を行うものであり、従来のパワーオンリセット機能(=監視対象電圧が所定値に達した時点で即座にリセット解除を行う機能)を単純に組み込んだものではない。
図6は、第2の起動シーケンスを示す状態遷移図(=ステートマシン図)であり、本図中の各種ステート(OFF、STBY、BIST、ON1、ON2、ON3)は、それぞれ、図5の各種ステートと対応している。
簡単に説明すると、OFFステートは、UVLO=Hにより、STBYステートに移行する。STBYステートは、VREF_DET=RSTIN_DET=Lにより、BISTステートに移行する。BISTステートは、OK判定により、ON1ステートに移行する。ON1ステートは、RSTOUT=Hにより、ON2ステートに移行する。ON2ステートは、WDOUT=Hにより、ON3ステートに移行し、RSTOUT=Lにより、ON1ステートに移行する。ON3ステートは、WDOUT=Lにより、ON2ステートに移行し、RSTOUT=Lにより、BISTステートに移行する。
ところで、BISTの診断対象(本構成例では、基準電圧検出部120及びコンパレータ150~159)が多いほど、ノイズなどの過渡的な外来要因により、BISTステートで意図しないNG判定を生じやすくなる。このようなNG判定を安易に信頼して後続の処理を停止してしまうと、監視IC100を正常に起動することができなくなるので、非常に都合が悪い。
そこで、自己診断部171は、BISTの診断対象が正常に機能していることを確認するまで診断を繰り返す。すなわち、図6で示すように、BISTステートは、NG判定が下されている限り、何度でもBISTステートを繰り返す。その際、当然のことながら、リセット出力信号RSTOUTは、ローレベルに維持されたままとなる。また、自己診断部171は、BISTエラー信号BIST_ERRORをハイレベルに立ち上げて、BISTエラーフラグをレジスタに格納する(詳細は後述)。
このような起動シーケンスを採用することにより、BISTの診断結果に過渡的な異常が生じた場合であっても、BISTを繰り返して真の診断結果を得ることができる。従って、監視IC100のノイズ耐性を改善することが可能となる。
なお、先にも述べたように、BIST所要時間t2は、リセット解除待機時間t1よりも十分に短いので、BISTを2~3回繰り返したとしても、マイコン300のリセット解除タイミングが遅れることはない。
<テスト回路>
図7は、テスト回路の一構成例を示す回路図である。本図で示すように、監視IC100には、先に説明したBISTを実施するための手段として、複数のテスト回路(T1、T2、T10~T14)が組み込まれている。
テスト回路T1及びT2は、基準電圧検出部120に取り付けられている。より具体的に述べると、基準電圧検出部120は、分圧電圧生成部121及び122と、コンパレータ123及び124と、を含み、テスト回路T1及びT2は、それぞれ、分圧電圧生成部121及び122に接続されている。
分圧電圧生成部121は、基準電圧VREFから分圧電圧Vd1H及びVd1L(ただしVd1H>Vd1L)を生成する。
分圧電圧生成部122は、サブ基準電圧VREF2から分圧電圧Vd2H及びVd2L(ただしVd2H>Vd2L)を生成する。
コンパレータ123は、非反転入力端(+)に入力される分圧電圧Vd2Hと、反転入力端(-)に入力される分圧電圧Vd1Lとを比較して、比較信号VRDET1を生成する。比較信号VRDET1は、Vd2H>Vd1Lであるときにハイレベルとなり、Vd2H<Vd1Lであるときにローレベルとなる。
コンパレータ124は、非反転入力端(+)に入力される分圧電圧Vd1Hと、反転入力端(-)に入力される分圧電圧Vd2Lとを比較して、比較信号VRDET2を生成する。比較信号VRDET2は、Vd1H>Vd2Lであるときにハイレベルとなり、Vd1H<Vd2Lであるときにローレベルとなる。
テスト回路T1は、分圧電圧生成部121の中点ノードA(=分圧電圧Vd1H及びVd1Lそれぞれの出力端に挟まれている中間ノード)に接続されており、制御信号VRDET1SWに応じて、中点ノードAの電圧値を切り替える。具体的に述べると、テスト回路T1は、VRDET1SW=Lであるときに中点ノードAをオープンとし、VRDET1SW=Hであるときに中点ノードAを接地端にショートする。
テスト回路T2は、分圧電圧生成部122の中点ノードB(=分圧電圧Vd2H及びVd2Lそれぞれの出力端に挟まれている中間ノード)に接続されており、制御信号VRDET2SWに応じて、中点ノードBの電圧値を切り替える。具体的に述べると、テスト回路T2は、VRDET2SW=Lであるときに中点ノードBをオープンとし、VRDET2SW=Hであるときに中点ノードBを接地端にショートする。
テスト回路T10は、入力電圧V0の印加端に接続されており、制御信号RSTSW1~RSTSW4(=択一的にハイレベルとされる2値信号)に応じて、入力電圧V0の電圧値を切り替える。具体的に述べると、テスト回路T10は、RSTSW1=HであるときにV0=RSTINとし、RSTSW2=HであるときにV0=V0H(例えば1.04V)とし、RSTSW3=HであるときにV0=V0M(例えば0.8V)とし、RSTSW4=HであるときにV0=V0L(例えば0.56V)とする。なお、上記3つのテスト入力電圧(V0H、V0M、V0L)は、それぞれ、基準電圧VREFを分圧して生成するとよい。
テスト回路T11は、入力電圧V1の印加端に接続されており、制御信号DIN1SW1~DIN1SW4(=択一的にハイレベルとされる2値信号)に応じて、入力電圧V1の電圧値を切り替える。具体的に述べると、テスト回路T11は、DIN1SW1=HであるときにV1=DIN1とし、DIN1SW2=HであるときにV1=V1H(例えば1.04V)とし、DIN1SW3=HであるときにV1=V1M(例えば0.8V)とし、DIN1SW4=HであるときにV1=V1L(例えば0.56V)とする。なお、上記3つのテスト入力電圧(V1H、V1M、V1L)は、それぞれ、基準電圧VREFを分圧して生成するとよい。
テスト回路T12は、入力電圧V2の印加端に接続されており、制御信号DIN2SW1~DIN2SW4(=択一的にハイレベルとされる2値信号)に応じて、入力電圧V2の電圧値を切り替える。具体的に述べると、テスト回路T12は、DIN2SW1=HであるときにV2=DIN2とし、DIN2SW2=HであるときにV2=V2H(例えば1.04V)とし、DIN2SW3=HであるときにV2=V2M(例えば0.8V)とし、DIN2SW4=HであるときにV2=V2L(例えば0.56V)とする。なお、上記3つのテスト入力電圧(V2H、V2M、V2L)は、それぞれ、基準電圧VREFを分圧して生成するとよい。
テスト回路T13は、入力電圧V3の印加端に接続されており、制御信号DIN3SW1~DIN3SW4(=択一的にハイレベルとされる2値信号)に応じて、入力電圧V3の電圧値を切り替える。具体的に述べると、テスト回路T13は、DIN3SW1=HであるときにV3=DIN3とし、DIN3SW2=HであるときにV3=V3H(例えば1.04V)とし、DIN3SW3=HであるときにV3=V3M(例えば0.8V)とし、DIN3SW4=HであるときにV3=V3L(例えば0.56V)とする。なお、上記3つのテスト入力電圧(V3H、V3M、V3L)は、それぞれ、基準電圧VREFを分圧して生成するとよい。
テスト回路T14は、入力電圧V4の印加端に接続されており、制御信号DIN4SW1~DIN4SW4(=択一的にハイレベルとされる2値信号)に応じて、入力電圧V4の電圧値を切り替える。具体的に述べると、テスト回路T14は、DIN4SW1=HであるときにV4=DIN4とし、DIN4SW2=HであるときにV4=V4H(例えば1.04V)とし、DIN4SW3=HであるときにV4=V4M(例えば0.8V)とし、DIN4SW4=HであるときにV4=V4L(例えば0.56V)とする。なお、上記3つのテスト入力電圧(V4H、V4M、V4L)は、それぞれ、基準電圧VREFを分圧して生成するとよい。
<BIST>
図8は、BISTの第1実施形態を示すタイミングチャートであり、上から順番に、電源電圧VDD、リセット入力信号RSTIN、リセット出力信号RSTOUT、監視IC100の動作状態(STATE)、BISTイネーブル信号BIST_EN、クロック信号CLK1のカウンタ値(COUNT)、各種の制御信号(VRDET1SW、VRDET2SW、RSTSW1~RSTSW4、DIN1SW1~DIN1SW4、DIN2SW1~DIN2SW4、DIN3SW1~DIN3SW4、DIN4SW1~DIN4SW4)、カウンタ値COUNT(先出と同様)、各種の検出信号(VRDET1、VRDET2、RSTOVD、RSTUVD、DIN1OVD、DIN1UVD、DIN2OVD、DIN2UVD、DIN3OVD、DIN3UVD、DIN4OVD、DIN4UVD)が描写されている。
また、カウンタ値COUNTのインクリメントタイミングにおいて、各種の検出信号に付されている上向き矢印は、それぞれの検出値と期待値との一致/不一致を判定するための比較タイミングを示している。
本図で示したように、BISTは、クロック信号CLK1のカウンタ値COUNTに同期して、その検出動作が順次進められていく。なお、BISTイネーブル信号BIST_ENの立上りタイミングとカウンタ値COUNTのインクリメントタイミングは、互いに非同期である。従って、BISTイネーブル信号BIST_ENがハイレベルに立ち上がってから、カウンタ値COUTのインクリメントが開始されるまでの遅延時間t11は、最小で0μsとなり、最大でカウンタ値COUNTのインクリメント周期t12(例えば数十μs)となる。
COUNT=「1」では、各種の制御信号のうち、制御信号(RSTSW1、DIN1SW1、DIN2SW1、DIN3SW1、DIN4SW1)がハイレベルとなり、その他の制御信号がいずれもローレベルとなる。従って、図7のノードA及びBは、いずれもオープンとなる。また、V0=RSTINとなり、V1=DIN1となり、V2=DIN2となり、V3=DIN3となり、V4=DIN4となる。
COUNT=「2」では、各種の制御信号のうち、制御信号(RSTSW3、DIN1SW3、DIN2SW3、DIN3SW3、DIN4SW3)がハイレベルとなり、その他の制御信号がいずれもローレベルとなる。従って、図7のノードA及びBは、いずれもオープンに維持される。また、V0=V0Mとなり、V1=V1Mとなり、V2=V2Mとなり、V3=V3Mとなり、V4=V4Mとなる。このとき、BISTの診断対象となる監視部(基準電圧検出部120及びコンパレータ150~159)が正常ならば、全ての検出信号がローレベルとなるはずである。
COUNT=「3」では、COUNT=「2」の状態をベースとしつつ、制御信号VRDET1SWがハイレベルとなる。従って、図7のノードAが接地端にショートされる。このとき、上記の監視部が正常ならば、検出信号VRDET1のみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「4」では、COUNT=「2」の状態をベースとしつつ、制御信号VRDET2SWがハイレベルとなる。従って、図7のノードBが接地端にショートされる。このとき、上記の監視部が正常ならば、検出信号VRDET2のみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「5」では、COUNT=「2」の状態をベースとしつつ、制御信号RSTSW2がハイレベルとなり、制御信号RSTSW3がローレベルとなる。従って、V0=V0Hとなる。このとき、上記の監視部が正常ならば、検出信号RSTOVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「6」では、COUNT=「2」の状態をベースとしつつ、制御信号RSTSW4がハイレベルとなり、制御信号RSTSW3がローレベルとなる。従って、V0=V0Lとなる。このとき、上記の監視部が正常ならば、検出信号RSTUVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「7」では、COUNT=「2」と同一の状態に戻される。従って、上記の監視部が正常ならば、全ての検出信号がローレベルとなるはずである。
COUNT=「8」では、COUNT=「7」の状態をベースとしつつ、制御信号DIN1SW2がハイレベルとなり、制御信号DIN1SW3がローレベルとなる。従って、V1=V1Hとなる。このとき、上記の監視部が正常ならば、検出信号DIN1OVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「9」では、COUNT=「7」の状態をベースとしつつ、制御信号DIN1SW4がハイレベルとなり、制御信号DIN1SW3がローレベルとなる。従って、V1=V1Lとなる。このとき、上記の監視部が正常ならば、検出信号DIN1UVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「A」では、COUNT=「7」と同一の状態に戻される。従って、上記の監視部が正常ならば、全ての検出信号がローレベルとなるはずである。
COUNT=「B」では、COUNT=「A」の状態をベースとしつつ、制御信号DIN2SW2がハイレベルとなり、制御信号DIN2SW3がローレベルとなる。従って、V2=V2Hとなる。このとき、上記の監視部が正常ならば、検出信号DIN2OVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「C」では、COUNT=「A」の状態をベースとしつつ、制御信号DIN2SW4がハイレベルとなり、制御信号DIN2SW3がローレベルとなる。従って、V2=V2Lとなる。このとき、上記の監視部が正常ならば、検出信号DIN2UVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「D」では、COUNT=「A」と同一の状態に戻される。従って、上記の監視部が正常ならば、全ての検出信号がローレベルとなるはずである。
COUNT=「E」では、COUNT=「D」の状態をベースとしつつ、制御信号DIN3SW2がハイレベルとなり、制御信号DIN3SW3がローレベルとなる。従って、V3=V3Hとなる。このとき、上記の監視部が正常ならば、検出信号DIN3OVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「F」では、COUNT=「D」の状態をベースとしつつ、制御信号DIN3SW4がハイレベルとなり、制御信号DIN3SW3がローレベルとなる。従って、V3=V3Lとなる。このとき、上記の監視部が正常ならば、検出信号DIN3UVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「10」では、COUNT=「D」と同一の状態に戻される。従って、上記の監視部が正常ならば、全ての検出信号がローレベルとなるはずである。
COUNT=「11」では、COUNT=「10」の状態をベースとしつつ、制御信号DIN4SW2がハイレベルとなり、制御信号DIN4SW3がローレベルとなる。従って、V4=V4Hとなる。このとき、上記の監視部が正常ならば、検出信号DIN4OVDのみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「12」では、COUNT=「10」の状態をベースとしつつ、制御信号DIN4SW4がハイレベルとなり、制御信号DIN4SW3がローレベルとなる。従って、V4=V4Lとなる。このとき、上記の監視部が正常ならば、検出信号DIN4UVDみがハイレベルとなり、その他の検出信号がいずれもローレベルとなるはずである。
COUNT=「13」~「16」では、COUNT=「10」と同一の状態に戻された後、更には、COUNT=「1」と同一の状態に戻されて、一連のBISTが終了する。
ところで、本実施形態のBISTでは、テスト入力電圧が入力されたコンパレータの検出信号のみに着目して、その検出値と期待値との一致/不一致判定が行われている。例えば、COUNT=「8」では、コンパレータ152への入力電圧V1として、上側閾値電圧Vth1Hよりも高いテスト入力電圧V1Hが入力されていることから、検出信号DIN1OVDだけが期待値と比較されている。その他のカウンタ値でもこれと同様である。
このようなBIST手法では、監視IC100のレイアウト要因などにより、複数のコンパレータが「釣られ検出」と呼ばれる異常を生じているにも関わらず、この異常を看過してしまうおそれがある。以下では、上記の「釣られ検出」について、入力電圧V1及びV2それぞれの印加端が互いにショートしていた場合を例に挙げて考察する。
例えば、COUNT=「8」において、V1=V1Hとしたとき、本来ならば、V2=V2Mであるべきところ、V1-V2間のショート経路を介して、V2≒V1Hとなる。その結果、検出信号DIN1OVDだけでなく、検出信号DIN2OVDも釣られてハイレベルとなってしまう。
ただし、COUNT=「8」では、検出信号DIN1OVDだけしか期待値と比較されない。従って、検出信号DIN1OVDの検出値が期待値と一致していれば、検出信号DIN2OVDの検出値が期待値と不一致でも、BISTの診断結果は「OK」となる。
一方、COUNT=「B」において、V2=V2Hとしたとき、本来ならば、V1=V1Mであるべきところ、V1-V2間のショート経路を介して、V1≒V2Hとなる。その結果、検出信号DIN2OVDだけでなく、検出信号DIN1OVDも釣られてハイレベルとなってしまう。
ただし、COUNT=「B」では、検出信号DIN2OVDだけしか期待値と比較されいない。従って、検出信号DIN2OVDの検出値が期待値と一致していれば、検出信号DIN1OVDの検出値が期待値と不一致でも、BISTの診断結果は「OK」となる。
このように、第1実施形態のBISTでは、検出信号DIN1OVD及びDIN2OVDがいずれも「OK」と診断されるので、V1-V2間のショート異常に起因した「釣られ検出」が看過されてしまう。
なお、上記では、V1-V2間のショート異常のみを例に挙げたが、実際には、複数チャンネルの組み合わせ数だけ「釣られ検出」の異常パターンが存在する。特に、テスト回路T10~T14それぞれの後段側(監視IC100のチップ内側)では、配線間隔が非常に狭くなってくるので、レイアウト的に配線間のショートを生じるおそれが高くなり、延いては、「釣られ検出」を生じやすくなる。
そのため、監視IC100の信頼性を高める上で、上記の「釣られ検出」を正しく診断することが非常に重要となる。以下では、このような課題を解決することのできるBISTの第2実施形態について提案する。
図9は、BISTの第2実施形態を示すタイミングチャートであり、各種制御信号の駆動手法については、先出の図8と同様である。ただし、本実施形態のBISTでは、先の第1実施形態と異なり、テスト入力電圧が入力されたコンパレータだけでなく、全てのコンパレータについて、その検出値と期待値との一致/不一致判定が行われている。
すなわち、自己診断部171は、監視部に含まれる複数の監視機構(例えばコンパレータ151~159)の中から、テスト入力信号を入力する診断対象をシリアルに順次切り替えつつ、診断対象とされた監視機構について、その出力信号が期待値と一致しているか否かを比較するとともに、診断対象以外の監視機構についても、それぞれの出力信号が期待値と一致しているか否かを比較する。
例えば、COUNT=「8」では、コンパレータ152にテスト入力電圧V1Hを入力しているが、コンパレータ152から出力される検出信号DIN1OVDだけでなく、その他の検出信号についても、それぞれの検出値と期待値が逐一比較されている。
同様に、COUNT=「B」では、コンパレータ154にテスト入力電圧V2Hを入力しているが、コンパレータ154から出力される検出信号DIN1OVDだけでなく、その他の検出信号についても、それぞれの検出値と期待値が逐一比較されている。
このようなBIST手法によれば、例えば、V1-V2間のショート異常に起因して、先述の「釣られ検出」が生じていたとしても、これを異常と診断してNG判定を下すことができる。従って、監視IC100の信頼性を高めることが可能となる。
ただし、複数のコンパレータを同時に検査した場合(例えば同一のタイミングでV1=V1HかつV2=V2Hとした場合)には、全ての比較タイミングで全てのコンパレータの出力評価を行ったとしても、「釣られ検出」を正しく判別することができなくなる。そのため、「釣られ検出」の解決策としては、各コンパレータを1つずつ検査しながら、全ての比較タイミングで全てのコンパレータの出力評価を行う、という2点が重要となる。
なお、上記では、複数のチャンネル間で生じる「釣られ検出」に着目して、第2実施形態の優位性を述べたが、以下では、これとは別の観点から、第1実施形態(図8)と第2実施形態(図9)との違いを説明する。
図10は、第1実施形態(図8)のBISTによる診断結果の一例(H固着なし)を示すタイミングチャートであり、上から順に、入力電圧V1、並びに、検出信号DIN1OVD及びDIN1UVDが描写されている。
本図で示したように、自己診断部171は、例えば、図7のコンパレータ152及び153を診断対象としたBISTを実行するとき、入力電圧V1として、3つのテスト入力電圧V1H、V1M、V1L(ただし、V1L<Vth1L<V1M<Vth1H<V1H)を順次切り替えつつ、検出信号DIN1OVD及びDIN1UVDそれぞれの検出値が期待値と一致しているか否かを比較する。
ここで、第1実施形態(図8)のBISTでは、本図中の上向き矢印で示したように、テスト入力電圧V1Hの入力期間中には、DIN1OVD=Hであるか否かの期待値判定だけが行われ、テスト入力電圧V1Lの入力期間中には、DIN1UVD=Hであるか否かの期待値判定だけが行われる。もちろん、入力電圧V1の切り替わりに応じて、検出信号DIN1OVD及びDIN1UVDの論理レベルが正しく変遷していくのであれば、このようなBIST手法でも特段の問題は生じない。
ただし、検出信号DIN1OVD及びDIN1UVDがハイレベル(=異常時の論理レベル)に固着している場合には、誤ったBIST診断結果が得られることになる。以下では、このような課題について詳細に説明する。
図11は、第1実施形態(図8)のBISTによる診断結果の別の一例(H固着あり)を示すタイミングチャートであり、図10と同様、上から順に、入力電圧V1、並びに、検出信号DIN1OVD及びDIN1UVDが描写されている。
本図の例では、検出信号DIN1OVD及びDIN1UVDがいずれもハイレベル(=異常時の論理レベル)に固着している。そのため、テスト入力電圧V1H及びV1Lそれぞれの入力期間中に、検出信号DIN1OVD及びDIN1UVDそれぞれの期待値判定を個別に行うだけでは、それぞれの判定結果が「OK」となるので、検出信号DIN1OVD及びDIN1UVDのハイレベル固着が看過されてしまう。一方、第2実施形態(図9)のBISTであれば、上記の不具合が解消される。以下では、その様子を説明する。
図12は、第2実施形態のBISTによる診断結果の一例(H固着なし)を示すタイミングチャートであり、図10及び図11と同じく、上から順に、入力電圧V1、並びに、検出信号DIN1OVD及びDIN1UVDが描写されている。
本図中の上向き矢印で示すように、第2実施形態のBISTでは、入力電圧V1の電圧値を切り替える毎に、検出信号DIN1OVD及びDIN1UVD双方の期待値判定が行われる。より具体的に述べると、テスト入力電圧V1Hの入力期間中には、DIN1OVD=HかつDIN1UVD=Lであるか否かの期待値判定が行われ、テスト入力電圧V1Lの入力期間中には、DIN1OVD=LかつDIN1UVD=Hであるか否かの期待値判定が行われる。また、テスト入力電圧V1Mの入力期間中には、DIN1OVD=DIN1UVD=Lであるか否かの期待値判定が行われる。
このような期待値判定を行うことにより、検出信号DIN1OVD及びDIN1UVDがハイレベル(=異常時の論理レベル)に固着していないときには、全てのタイミングで期待値判定の結果が「OK」となる。
図13は、第2実施形態のBISTによる診断結果の別の一例(H固着あり)を示すタイミングチャートであり、図10~図12と同様、上から順に、入力電圧V1、並びに、検出信号DIN1OVD及びDIN1UVDが描写されている。
本図で示したように、検出信号DIN1OVD及びDIN1UVDがハイレベル(=異常時の論理レベル)に固着しているときには、本来、検出信号DIN1OVDまたはDIN1UVDがローレベルとなるべきタイミングで、期待値判定の結果が「NG」となる。従って、検出信号DIN1OVD及びDIN1UVDのハイレベル固着を看過することがないので、監視IC100の故障検出率を向上することができる。
<BISTエラーフラグ>
図14は、BISTエラー信号BIST_ERRの生成動作を示すタイミングチャートであり、上から順に、BISTイネーブル信号BIST_EN、カウンタ値COUNT、各種の制御信号(VRDET1SW、VRDET2SW、RSTSW1~RSTSW4、DIN1SW1~DIN1SW4、DIN2SW1~DIN2SW4、DIN3SW1~DIN3SW4、DIN4SW1~DIN4SW4)、カウンタ値COUNT(先出と同様)、各種の検出信号(VRDET1、VRDET2、RSTOVD、RSTUVD、DIN1OVD、DIN1UVD、DIN2OVD、DIN2UVD、DIN3OVD、DIN3UVD、DIN4OVD、DIN4UVD)、及び、BISTエラー信号BIST_ERRが描写されている。
本図では、1巡目のBISTで検出信号DIN4UVDの期待値判定が「NG」となったことに伴い、BISTエラー信号BIST_ERRがハイレベルに立ち上げられている(図中の丸印を参照)。
また、本図では、BIST_ERR=Hであることを受けて、2巡目のBISTが繰り返されている。その結果、検出信号DIN4UVDの期待値判定が「OK」となったことに伴い、BISTエラー信号BIST_ERRがローレベルに立ち下げられている。
このように、BIST_ERR=Lとなるまで、BISTを繰り返すことにより、ノイズなどの過渡的な外来要因に依らず、真の診断結果を得ることができるので、監視IC100のノイズ耐性を改善することが可能となる。この点については、先出の図6でも説明した通りである。
また、自己診断部171は、監視対象のいずれかでエラーが検出されたときに、BISTエラー信号BIST_ERRORをハイレベルに立ち上げるとともに、そのエラー個所を特定するためのBISTエラーフラグをレジスタマップに格納する。
図15は、BISTエラーフラグの格納領域を示すレジスタマップである。本図で示したように、レジスタマップには、BISTの監視対象とされている全ての検出信号(DIN1OVD、DIN2OVD、DIN3OVD、DIN4OVD、DIN1UVD、DIN2UVD、DIN3UVD、DIN4UVD、RSTOVD、RSTUVD、VRDET1、VRDET2)毎のBISTエラーフラグが個別のアドレスに格納される。
例えば、先出の図14では、検出信号DIN4UVDの期待値判定が「NG」となっているので、その判定結果がラッチされた後、所定のタイミングでレジスタマップの所定アドレス(レジスタ名「ERR_BCHECK1」のアドレス「D7」)に書き込まれる。
なお、BISTエラーフラグは、例えば、SPI[serial peripheral interface]通信により、監視IC100の外部から任意に読み出すことが可能である。このような構成とすることにより、BISTでエラーが検出された場合には、そのエラー個所を事後的に特定することが可能となる。Q&A方式に応用することで、監視IC100の故障検出率を向上させることも可能となる。
上記のQ&A方式について補足する。監視IC100の今後の展開としては、例えば、PGxピンを削除し、I2C[inter-integrated circuit]、若しくは、SPI[serial peripheral interface]などの通信インタフェイス経由を介して、BISTエラーフラグを読み出すことのできるシステムが考えられる。
その際、監視IC100は、BISTや通常動作を行う中で、マイコン300からの質問信号(Question:○○のレジスタに書き込まれたBISTエラーフラグを読む、というコマンド)を受信したら、これに応じた回答信号(Answer:読み出し要求がなされたBISTエラーフラグ)を送信する。
このようなQ&Aを定期的に行うことにより、マイコン300側では、監視IC100のどこに異常があるかを自由に読み出すことができる。
<WDEN-WDOUT>
図16は、監視IC100とマイコン300との間でウォッチドッグイネーブル信号WDENの一方向通信が行われる様子を示す図である。この場合、ウォッチドッグイネーブル信号WDENが、天絡(=電源端またはこれに準ずる高電位端への短絡)、地絡(=接地端またはこれに準ずる低電位端への短絡)、または、オープン異常などを生じた場合、マイコン300では、これらの異常を認識することができない。
そのため、マイコン300は、監視IC100の監視機能(ここではウォッチドッグタイマ173)を動作させているつもりでも、実際には、これが正しく動作していないおそれがあり、監視IC100の故障検出率が低下してしまう。以下では、このような不具合を解消するために、監視IC100で採用されている新規な構成について提案する。
図17は、監視IC100とマイコン300との間で、ウォッチドッグイネーブル信号WDENとウォッチドッグ出力信号WDOUTの双方向通信が行われる様子を示す図である。すなわち、監視IC100は、ウォッチドッグ入力信号WDINの周波数監視を行うウォッチドッグタイマ173と、ウォッチドッグタイマ173の有効/無効を切り替えるためのウォッチドッグイネーブル信号WDENが入力される入力端子(=WDENピン)と、ウォッチドッグタイマ173の有効/無効をマイコン300に通知するためのウォッチドッグ出力信号WDOUT(=ステータス信号に相当)を出力する出力端子(=WDOUTピン)と、を有する。
このような構成を採用することにより、ウォッチドッグイネーブル信号WDENを用いてウォッチドッグタイマ173の動作制御を正しく行うことができているか否かを、マイコン300で確認することができるようになる。従って、WDENピンの異常発生時における監視スルー(=ウォッチドッグタイマ173が意図に反して動作していない状態)を未然に防止することが可能となる。
図18は、ウォッチドッグ出力信号WDOUT(=ステータス信号)の生成動作を示すタイミングチャートであり、上から順番に、電源電圧VDD、リセット入力信号RSTIN、クロック信号CLK1及びCLK2、BISTイネーブル信号BIST_EN、リセット出力信号RSTOUT、監視対象電圧DINx、パワーグッド信号PGx、ウォッチドッグ入力信号WDIN、ウォッチドッグイネーブル信号WDEN、ウォッチドッグタイマ173の動作状態、及び、ウォッチドッグ出力信号WDOUTが描写されている。
パワーマネジメントIC200による電源投入後、電源電圧VDDが低電圧異常解除値UVLO_OFFまで上昇すると、クロック信号CLK1及びCLK2それぞれの発振動作が開始される。ただし、この時点では、ウォッチドッグイネーブル信号WDENがローレベルに維持されているので、ウォッチドッグタイマ173はディセーブル状態となる。また、ウォッチドッグ出力信号WDOUTは、監視IC100で受け付けられたウォッチドッグイネーブル信号WDENと同じく、ローレベルに維持されている。
その後、リセット入力信号RSTIN(=電源電圧VDDの分圧電圧に相当)がリセット解除値RST_OFFまで上昇すると、BISTイネーブル信号BIST_ENがハイレベルに立ち上げられてBISTが開始される。
BISTの診断結果が「OK」であれば、リセット解除待機時間t1の経過後、リセット出力信号RSTOUTがハイレベルに立ち上げられる(RSTOUTの実線を参照)。一方、BISTの診断結果が「NG」であれば、リセット出力信号RSTOUTがローレベルに維持されたまま、BISTが繰り返される(RSTOUTの二点鎖線を参照)。
なお、リセット出力信号RSTOUTがハイレベルに立ち上げられた後、監視対象電圧DINxが下側閾値電圧VthxLまで上昇した場合には、DINx=VthxLとなった時点から所定の遅延時間tdが経過したタイミングで、パワーグッド信号PGxがハイレベルに立ち上げられる(DINx及びPGxの実線を参照)。
一方、リセット出力信号RSTOUTがハイレベルに立ち上げられる前に、監視対象電圧DINxが下側閾値電圧VthxLまで上昇していた場合には、BISTが正常に終了した時点から所定の遅延時間tdが経過したタイミングで、パワーグッド信号PGxがハイレベルに立ち上げられる(DINx及びPGxの一点鎖線を参照)。
また、リセット出力信号RSTOUTがハイレベルに立ち上げられると、マイコン300がリセット解除される。従って、これ以降、監視IC100には、マイコン300からウォッチドッグ入力信号WDIN(=ウォッチドッグタイマ173の監視対象に相当)が入力されるようになる。
さらに、マイコン300は、ウォッチドッグ入力信号WDINの出力開始後、ウォッチドッグイネーブル信号WDENをハイレベルに立ち上げる。その結果、ウォッチドッグタイマ173は、ディセーブル状態からイネーブル状態(=ウォッチドッグ入力信号WDINの周波数監視を行う状態)に移行する。
このとき、WDENピンに異常(天絡、地絡、または、オープン異常など)が生じていなければ、ウォッチドッグ出力信号WDOUTは、監視IC100で受け付けられたウォッチドッグイネーブル信号WDENと同じく、ハイレベルに立ち上げられる。
従って、マイコン300では、監視IC100に出力したウォッチドッグイネーブル信号WDENと、監視IC100から入力されたウォッチドッグ出力信号WDOUTとの一致/不一致を判定することにより、ウォッチドッグイネーブル信号WDENを用いてウォッチドッグタイマ173のイネーブル制御を正しく行うことができているか否かを確認することができる(詳細は後述)。
なお、リセット入力信号RSTINがリセット検出値RST_ONまで低下すると、リセット出力信号RSTOUTがローレベルに立ち下げられる。その結果、マイコン300がリセットされるので、ウォッチドッグ入力信号WDINの出力が停止される。また、ウォッチドッグイネーブル信号WDENがローレベルに立ち下げられるので、ウォッチドッグタイマ173がディセーブル状態となる。このとき、ウォッチドッグ出力信号WDOUTもローレベルに立ち下げられる。
その後、電源電圧VDDが低電圧異常検出値UVLO_ONまで低下すると、クロック信号CLK1及びCLK2それぞれの発振動作が停止されて、パワーグッド信号PGxがローレベルに立ち下げられる。
図19は、ウォッチドッグイネーブル信号WDEN、ウォッチドッグ出力信号WDOUT(=ステータス信号)、及び、WDENピンの端子状態を示す相関図である。
なお、本図におけるウォッチドッグイネーブル信号WDENの論理レベルは、監視IC100に入力されている実際の論理レベルではなく、マイコン300の内部で設定されている本来の論理レベルを示している。一方、ウォッチドッグ出力信号WDOUTの論理レベルは、マイコン300に入力される実際の論理レベルを示している。なお、ここでは、説明を簡単とするために、ウォッチドッグ出力信号WDOUTの異常(天絡、地絡、または、オープン異常)については、一切考慮していない。
マイコン300において、WDEN=Hを出力しているときに、WDOUT=Hが入力されていれば、マイコン300側の意図通りに、ウォッチドッグタイマ173がイネーブル状態となっていることを確認することができる。
同様に、マイコン300において、WDEN=Lを出力しているときに、WDOUT=Lが入力されていれば、マイコン300側の意図通りに、ウォッチドッグタイマ173がディセーブル状態となっていることを確認することができる。
一方、マイコン300において、WDEN=Hを出力しているにも関わらず、WDOUT=Lが入力されていれば、WDENピンが地絡などの異常を生じており、マイコン300側の意図に反して、ウォッチドッグタイマ173がディセーブル状態となっていることを確認することができる。
また、マイコン300において、WDEN=Lを出力しているにも関わらず、WDOUT=Hが入力されていれば、WDENピンが天絡などの異常を生じており、マイコン300側の意図に反して、ウォッチドッグタイマ173がイネーブル状態となっていることを確認することができる。
<クロック検出部>
図20は、クロック検出部172の第1構成例を示すブロック図である。本構成例のクロック検出部172は、高周波数異常検出部172a及び172bと、低周波数異常検出部172c及び172dと、オシレータ172eと、を含む。
高周波数異常検出部172aは、クロック信号CLK0(発振周波数f0)を用いてクロック信号CLK1(発振周波数f1)の高周波数異常を検出する。
高周波数異常検出部172bは、クロック信号CLK0を用いてクロック信号CLK2(発振周波数f2)の高周波数異常を検出する。
低周波数異常検出部172cは、クロック信号CLK0を用いてクロック信号CLK1の低周波数異常を検出する。
低周波数異常検出部172dは、クロック信号CLK0を用いてクロック信号CLK2の低周波数異常を検出する。
オシレータ172eは、クロック信号CLK1及びCLK2の発振周波数f1及びf2よりも高い発振周波数f0(>f1>f2)のクロック信号CLK0を生成する。
図21は、第1構成例のクロック検出部172による判定動作の一例を示す図である。なお、以下の説明では、クロック信号CLK1(またはCLK2)の一周期中におけるクロック信号CLK0のパルス数をCNTとし、高周波数異常検出値及び低周波数異常検出値をそれぞれCNTf及びCNTs(ただしCNTf<CNTs)とする。
本図上段で示したように、CNTf<CNT<CNTsであるときには、クロック信号CLK1の発振周波数f1(またはクロック信号CLK2の発振周波数f2)が正常であると判定される。
一方、本図中段で示したように、CNT<CNTfであるときには、クロック信号CLK1の発振周波数f1(またはクロック信号CLK2の発振周波数f2)が高周波数異常であると判定される。
また、本図下段で示したように、CNTs<CNTであるときには、クロック信号CLK1の発振周波数f1(またはクロック信号CLK2の発振周波数f2)が低周波数異常であると判定される。
上記したように、第1構成例のクロック検出部172では、クロック信号CLK1及びCLK2それぞれの発振周波数f1及びf2を監視するために、より高い発振周波数f0(>f1>f2)のクロック信号CLK0を用意する必要がある。また、クロック検出部172の検出精度を高めるためには、クロック信号CLK0の発振周波数f0が正確であることを保証しなければならず、回路規模が増大してしまう。以下では、このような不具合を解消することのできる第2構成例のクロック検出部172を提案する。
図22は、クロック検出部172の第2構成例を示すブロック図である。本図に示すように、本構成例のクロック検出部172は、分周器172fと、低周波数異常検出部172g及び172hと、を含む。
分周器172fは、発振周波数f1のクロック信号CLK1を分周して、発振周波数f3(<f2)のクロック信号CLK3を生成する。
低周波数異常検出部172gは、発振周波数f2のクロック信号CLK2を用いてクロック信号CLK3の低周波数異常を検出する。
低周波数異常検出部172hは、クロック信号CLK1を用いてクロック信号CLK2の低周波数異常を検出する。
このように、本構成例のクロック検出部172では、分周器172fの導入により、高周波数のクロック信号CLK0(図20を参照)を用意することなく、クロック信号CLK1及びCLK2相互間での周波数監視を実現している。以下、低周波数異常検出部172g及び172hそれぞれの判定動作について、個別具体的に説明する。
図23は、低周波数異常検出部172gの判定動作を示す図である。なお、以下の説明では、クロック信号CLK3の一周期中におけるクロック信号CLK2のパルス数をCNTとし、低周波数異常検出値をCNTsとする。
本図上段で示したように、CNT<CNTsであるときには、クロック信号CLK2及びCLK3(延いてはクロック信号CLK1)がいずれも正常であると判定される。
一方、本図中段及び下段で示したように、CNTs<CNTとなったときには、クロック信号CLK3(延いてはクロック信号CLK1)の低周波数異常、若しくは、クロック信号CLK2の高周波数異常であると判定される。
このように、低周波数異常検出部172gでは、監視される側のクロック信号CLK3(延いてはクロック信号CLK1)について、その低周波数異常を検出するだけでなく、逆に、監視する側のクロック信号CLK2についても、その高周波数異常を検出することができる。従って、クロック検出部172の回路規模縮小に貢献することができる。
図24は、低周波数異常検出部172hの判定動作を示す図である。なお、以下の説明では、クロック信号CLK2の一周期中におけるクロック信号CLK1のパルス数をCNTとし、低周波数異常検出値をCNTsとする。
本図上段で示したように、CNT<CNTsであるときには、クロック信号CLK1及びCLK2がいずれも正常であると判定される。
一方、本図中段及び下段で示したように、CNTs<CNTとなったときには、クロック信号CLK2の低周波数異常、若しくは、クロック信号CLK1の高周波数異常であると判定される。
このように、低周波数異常検出部172hでは、監視される側のクロック信号CLK2について、その低周波数異常を検出するだけでなく、逆に、監視する側のクロック信号CLK1についても、その高周波数異常を検出することができる。従って、クロック検出部172の回路規模縮小に貢献することができる。
<デジタル処理部>
図25は、デジタル処理部170の第1構成例(リセット出力動作に関連する要部構成のみ)を示す図である。本構成例のデジタル処理部170は、先出のクロック信号検出部172や論理和ゲートOR10とともに、リセット制御部CTRLを含む。
リセット制御部170は、クロック信号CLK1に同期して論理和ゲートOR10の論理和信号S1をラッチし、これをラッチ出力信号S2(=先出のリセット出力検出信号RSTOUT_DET、ないしは、ゲート信号G0に相当)としてトランジスタ180のゲートに出力する。また、リセット制御部CTRLには、リセット解除待機時間t1をカウントするタイマ機能なども実装されている。なお、先出の図2では、リセット制御部CTRLが不図示とされていたが、実際には、本図で示すように、論理和ゲートOR10とトランジスタ180との間に、リセット制御部170が設けられている。
ただし、本構成例のデジタル処理部170では、オシレータ161に異常が生じてクロック信号CLK1が停止してしまうと、リセット制御部170のリセット出力動作が不能となり、リセット出力信号RSTOUTを正しくローレベルに立ち下げられないおそれがある。以下では、このような不具合を解消することのできる第2構成例のデジタル処理部170について提案する。
図26は、デジタル処理部170の第2構成例を示す図である。本構成例のデジタル処理部170は、先の第1構成例(図25)をベースとしつつ、さらに、論理和ゲートOR20を含む。また、クロック検出部172では、クロック検出信号CLK_DETだけでなく、クロック停止信号CLK_DET2が生成される。
なお、クロック検出信号CLK_DETは、先にも述べたように、クロック信号CLK1及びCLK2それぞれの周波数異常が検出されたときにハイレベルとなる。一方、クロック停止信号CLK_DET2は、クロック信号CLK1の異常停止(またはこれに準ずる低周波数異常)が検出されたときにハイレベルとなる。
論理和ゲートOR20は、クロック制御部CTRLから入力されるラッチ出力信号S2と、クロック検出部172から入力されるクロック停止信号CLK_DET2との論理和演算を行い、これを論理和信号S3(=先出のリセット出力検出信号RSTOUT_DET、ないしは、ゲート信号G0に相当)としてトランジスタ180のゲートに出力する。
なお、クロック停止信号CLK_DET2がローレベルであるときには、ラッチ出力信号S2が論理和信号S3としてスルー出力される。一方、クロック停止信号CLK_DET2がハイレベルであるときには、ラッチ出力信号S2の論理レベルに依ることなく、論理和信号S3をハイレベルに固定する。
すなわち、クロック信号CLK1の異常停止が検出されたときには、リセット制御部CTRLのラッチ出力信号S2を無視してリセット出力信号RSTOUTがハイレベル(=異常検出時の論理レベル)に固定される。言い換えれば、クロック停止信号CLK_DET2を用いてリセット出力信号RSTOUTが直接的に制御されることになる。
このような構成であれば、クロック信号CLK1が異常停止して、リセット制御部170のリセット出力動作が不能となった場合でも、リセット出力信号RSTOUTを確実にローレベルとすることができるので、電子機器1を安全に停止することが可能となる。
図27は、第2構成例(図26)のデジタル処理部170におけるリセット出力動作の一例を示すタイミングチャートであり、上から順に、クロック信号CLK1、クロック検出信号CLK_DET、クロック停止信号CLK_DET2、及び、リセット出力信号RSTOUTが描写されている。
時刻t21~t22では、クロック信号CLK1が正常なので、クロック検出信号CLK_DETとクロック停止信号CLK_DET2は、いずれもローレベルとなっている。従って、リセット出力信号RSTOUTは、その他の異常が検出されていない限り、ハイレベル(=リセット解除時の論理レベル)となる。
時刻t22~t23では、クロック信号CLK1の低周波数異常が検出されたことに伴い、クロック検出信号CLK_DETがハイレベルとなっている。ただし、クロック信号CLK1が完全に停止しているわけではないので、リセット制御部CTRLのリセット出力動作は有効である。従って、リセット出力信号RSTOUTは、リセット制御部CTRLから出力されるラッチ出力信号S2(=H)に応じて、ローレベル(=リセット時の論理レベル)に立ち下げられる。
時刻t23~t24では、クロック信号CLK1の異常停止が検出されたことに伴い、クロック停止信号CLK_DET2がハイレベルとなっている。この状態では、リセット制御部CTRLのリセット出力動作が不能となる。従って、リセット出力信号RSTOUTは、クロック検出部172から出力されるクロック停止信号CLK_DET2(=H)に応じて、ローレベルに固定される。
時刻t24~t25では、クロック信号CLK1の異常停止が解消したものの、その低周波数異常が検出されているので、クロック検出信号CLK_DETがハイレベルとなっている。ただし、クロック信号CLK1が完全に停止しているわけではないので、リセット制御部CTRLのリセット出力動作は有効である。従って、先の時刻t22~t23と同様、リセット出力信号RSTOUTは、リセット制御部CTRLから出力されるラッチ出力信号S2(=H)に応じて、引き続きローレベルに維持される。
時刻t25~t26では、クロック信号CLK1が正常に復帰しているので、クロック検出信号CLK_DETとクロック停止信号CLK_DET2は、いずれもローレベルとなっている。従って、リセット出力信号RSTOUTは、その他の異常が検出されていない限り、ハイレベル(=リセット解除時の論理レベル)に立ち上げられる。
このように、第2構成例のデジタル処理部170であれば、クロック信号CLK1の発振周波数f1がどのように変動したとしても、その発振状態に応じて適切なリセット出力動作を行うことが可能となる。
<車両への適用>
図28は、車両Xの一構成例を示す外観図である。本構成例の車両Xは、バッテリから電力供給を受けて動作する種々の電子機器(車載機器)X11~X18を搭載している。なお、本図における電子機器X11~X18の搭載位置については、図示の便宜上、実際とは異なる場合がある。
電子機器X11は、エンジンに関連する制御(インジェクション制御、電子スロットル制御、アイドリング制御、酸素センサヒータ制御、及び、オートクルーズ制御など)を行うエンジンコントロールユニットである。
電子機器X12は、HID[high intensity discharged lamp]やDRL[daytime running lamp]などの点消灯制御を行うランプコントロールユニットである。
電子機器X13は、トランスミッションに関連する制御を行うトランスミッションコントロールユニットである。
電子機器X14は、車両Xの運動に関連する制御(ABS[anti-lock brake system]制御、EPS[electric power steering]制御、電子サスペンション制御など)を行う制動ユニットである。
電子機器X15は、ドアロックや防犯アラームなどの駆動制御を行うセキュリティコントロールユニットである。
電子機器X16は、ワイパー、電動ドアミラー、パワーウィンドウ、ダンパー(ショックアブソーバー)、電動サンルーフ、及び、電動シートなど、標準装備品やメーカーオプション品として、工場出荷段階で車両Xに組み込まれている電子機器である。
電子機器X17は、車載A/V[audio/visual]機器、カーナビゲーションシステム、及び、ETC[electronic toll collection system]など、ユーザオプション品として任意で車両Xに装着される電子機器である。
電子機器X18は、車載ブロア、オイルポンプ、ウォーターポンプ、バッテリ冷却ファンなど、高耐圧系モータを備えた電子機器である。
なお、先に説明した監視IC100は、電子機器X11~X18のいずれにも組み込むことが可能である。
<その他の変形例>
なお、上記の実施形態では、車載機器に搭載される監視ICを例に挙げたが、その適用対象はこれに限定されるものではなく、電子機器全般に広く適用することが可能である。
本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態に限定されるものではなく、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。