(57)【要約】【課題】ＣＰＵにおいてプログラムシーケンスがタイマーリセットを指令したままの状態となるような暴走モードも含めて検出することが可能なプログラム暴走検出回路を提供する。【解決手段】本発明は、ソフトウェア制御されたマイクロプロセッサーシステムについて、その演算処理部におけるプログラムの暴走を検出するプログラム暴走検出回路であって、マイクロプロセッサーシステムが起動すると経過時間の計測を開始し、制御プログラムによってほぼ定期的に演算処理部から送出させるプログラム信号により初期化され、かつこのプログラム信号が遅れたときに第一暴走モードを検出する第一タイマー手段と、定期的なプログラム信号により経過時間の計測を開始し、プログラム信号が無くなると初期化され、かつプログラム信号が出力し続けると第二暴走モードを検出する第二タイマー手段とを有した構成としてある。【選択図】      図１
2004295374.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア制御されたマイクロプロセッサーシステムについて、その演算処理部におけるプログラムの暴走を検出するプログラム暴走検出回路であって、
マイクロプロセッサーシステムが起動すると経過時間の計測を開始し、制御プログラムによってほぼ定期的に演算処理部から送出させるプログラム信号により初期化され、かつこのプログラム信号が遅れたときに第一暴走モードを検出する第一タイマー手段と、
前記定期的なプログラム信号により経過時間の計測を開始し、プログラム信号が無くなると初期化され、かつプログラム信号が出力し続けると第二暴走モードを検出する第二タイマー手段とを有したことを特徴とするプログラム暴走検出回路。
【請求項２】
前記第一タイマー手段は、マイクロプロセッサーシステムにおけるクロック信号の個数をカウントすることにより経過時間を計測するカウンターを有しており、そのカウント値を演算処理部のプログラム信号によりリセットしていることを特徴とする請求項１記載のプログラム暴走検出回路。
【請求項３】
前記第一タイマー手段は、経過時間を基準時間と比較する比較回路を有しており、この経過時間が基準時間を超えたことによりプログラム信号が遅れたこととしていることを特徴とする請求項１または２記載のプログラム暴走検出回路。
【請求項４】
前記第一タイマー手段は、第一暴走モードの検出感度を制御する制御回路を有しており、プログラム信号の周期よりも長い時間を設定することにより、プログラム信号の遅れに応じた検出感度としていることを特徴とする請求項１〜３のいずれか一つに記載のプログラム暴走検出回路。
【請求項５】
前記第二タイマー手段は、マイクロプロセッサーシステムにおけるクロック信号の個数をカウントすることにより経過時間を計測するカウンターを有しており、そのカウント値を演算処理部のプログラム信号が無くなるとリセットしていることを特徴とする請求項１〜４のいずれか一つに記載のプログラム暴走検出回路。
【請求項６】
前記第二タイマー手段は、経過時間を基準時間と比較する比較回路を有しており、この経過時間が基準時間を超えたことによりプログラム信号が出力し続けたこととしていることを特徴とする請求項１〜５のいずれか一つに記載のプログラム暴走検出回路。
【請求項７】
前記第二タイマー手段は、第二暴走モードの検出感度を制御する制御回路を有しており、演算処理の時間よりも長い時間を設定することにより、プログラム信号の長さに応じた検出感度としていることを特徴とする請求項１〜６のいずれか一つに記載のプログラム暴走検出回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム暴走検出回路に関し、たとえばマイクロプロセッサーシステムなどのウォッチドッグタイマーに適用できるプログラム暴走検出回路に関する。
【０００２】
【従来の技術】
従来より、マイクロプロセッサーシステムにおいて、その制御プログラムの暴走を検出する回路が種々提案されている。このようなプログラム暴走検出回路としては、制御プログラム自体やそのシーケンスの遂行工程に着目したものと、演算制御の中枢部となるＣＰＵの動作に着目することにより、送出される制御信号の不調を監視するものとがある。
【０００３】
たとえば、ＣＰＵの動作に着目したものとして、シングルチップマイクロコンピューターの「プログラム暴走検出回路」では、ＣＰＵから出力されるプログラム信号によりウォッチドッグタイマーを起動し、そのオーバーフローが生じたときにプログラム暴走検出回路のリセットを行わせている。また、起動後に、ワンショットモノマルチによって、オーバーフローの検出を所定期間だけ禁止させることにより、ウォッチドッグタイマーのリセットシーケンス内における正常な動作を保証している（たとえば、特許文献１参照）。
【０００４】
【特許文献１】
特開平２−５１４９号公報  （第２頁、第１図）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例によるプログラム暴走検出回路では、次のような問題が生じていた。
このようなウォッチドッグタイマーにおいて、演算処理回路（ＣＰＵ）の制御プログラムが、ＣＰＵに定期的なタイマーリセット（リセットシーケンス）を指令できなくなると、これをプログラムの暴走であるとして判定させようとしている。したがって、リセットシーケンスが実行されてタイマーリセットが指令され続ける限り、制御プログラムがＣＰＵにおいて暴走したままの状態になっても、このようなプログラムの暴走を検出できないおそれがあった。
【０００６】
本発明は、これら上記課題を解決することにあり、ＣＰＵにおいてプログラムシーケンスがタイマーリセットを指令したままの状態となるような暴走モードも含めて検出することが可能なプログラム暴走検出回路の提供を目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１記載のプログラム暴走検出回路は、ソフトウェア制御されたマイクロプロセッサーシステムについて、その演算処理部におけるプログラムの暴走を検出するプログラム暴走検出回路であって、
マイクロプロセッサーシステムが起動すると経過時間の計測を開始し、制御プログラムによってほぼ定期的に演算処理部から送出させるプログラム信号により初期化され、かつこのプログラム信号が遅れたときに第一暴走モードを検出する第一タイマー手段と、
前記定期的なプログラム信号により経過時間の計測を開始し、プログラム信号が無くなると初期化され、かつプログラム信号が出力し続けると第二暴走モードを検出する第二タイマー手段とを有したことを特徴とする構成としてある。
【０００８】
このように構成することによって、ＣＰＵにおいて制御プログラムが正常に実行されていると、定期的なプログラム信号が第一タイマーに導入されて初期化が行われる。正常な実行が滞った場合には、このプログラム信号が遅れるので初期化されずに第一暴走モードとしてプログラムの暴走が検出される。また、プログラム信号が第二タイマー手段に導入されると、プログラム信号の経過時間が定期的に繰り返し計測される。ＣＰＵに何らかの不調が生じてプログラム信号が出力し続けると、第二タイマーが初期化されないので第二暴走モードとして検出される。したがって、プログラムシーケンスがＣＰＵにおいてタイマーリセットを指令したままの状態となるような暴走モードが生じても、これらモードを含めてプログラムの暴走を検出することができる。
【０００９】
請求項２記載のプログラム暴走検出回路は、前記第一タイマー手段は、マイクロプロセッサーシステムにおけるクロック信号の個数をカウントすることにより経過時間を計測するカウンターを有しており、そのカウント値を演算処理部のプログラム信号によりリセットしている構成としてある。
【００１０】
このように構成することによって、第一タイマー手段における経過時間をデジタル信号処理によって誤作動などなく計測することができる。
【００１１】
請求項３記載のプログラム暴走検出回路は、前記第一タイマー手段は、経過時間を基準時間と比較する比較回路を有しており、この経過時間が基準時間を超えたことによりプログラム信号が遅れたこととしている構成としてある。
【００１２】
このように構成することによって、プログラム信号の遅れを基準時間によって定量的に判定することができる。
【００１３】
請求項４記載のプログラム暴走検出回路は、前記第一タイマー手段は、第一暴走モードの検出感度を制御する制御回路を有しており、プログラム信号の周期よりも長い時間を設定することにより、プログラム信号の遅れに応じた検出感度としている構成としてある。
【００１４】
このように構成することによって、第一タイマー手段による第一暴走モードの検出について融通的な管理が実現できる。
【００１５】
請求項５記載のプログラム暴走検出回路は、前記第二タイマー手段は、マイクロプロセッサーシステムにおけるクロック信号の個数をカウントすることにより経過時間を計測するカウンターを有しており、そのカウント値を演算処理部のプログラム信号が無くなるとリセットしている構成としてある。
【００１６】
このように構成することによって、第二タイマー手段における経過時間をデジタル信号処理によって誤作動などなく計測することができる。
【００１７】
請求項６記載のプログラム暴走検出回路は、前記第二タイマー手段は、経過時間を基準時間と比較する比較回路を有しており、この経過時間が基準時間を超えたことによりプログラム信号が出力し続けたこととしている構成としてある。
【００１８】
このように構成することによって、プログラム信号の長さを基準時間によって定量的に判定することができる。
【００１９】
請求項７記載のプログラム暴走検出回路は、前記第二タイマー手段は、第二暴走モードの検出感度を制御する制御回路を有しており、演算処理の時間よりも長い時間を設定することにより、プログラム信号の長さに応じた検出感度としている構成としてある。
【００２０】
このように構成することによって、第二タイマー手段による第二暴走モードの検出について融通的な管理が実現できる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の一形態につき添付図面を参照して説明する。
図１は、本実施の形態に係るプログラム暴走検出回路の概略構成例を示すブロック図である。
［実施形態の構成］
この回路は、プログラミングが可能なマイクロプロセッサーシステムにおいて、その制御プログラムの暴走を検出するものであって、制御プログラムによる演算処理の中枢部であるＣＰＵ１と、マイクロプロセッサーシステムプログラム暴走検出回路が正常に動作していることを示すウォッチドッグタイマー２とを有している。
【００２２】
ＣＰＵ１は、起動に伴ってマイクロプロセッサーシステムのリセット信号を演算処理各部の初期化機能に供給している。また、特定のプログラムシーケンスにより、制御プログラムの実行に伴って定期的にプログラム信号Ｓ３をウォッチドッグタイマー２に送出し、制御プログラムが正常に実行されつつあることを表示している。
【００２３】
ウォッチドッグタイマー２は、マイクロプロセッサーシステムの外部クロックをカウントする二つのカウンターａ，ｃと、各カウンターａ，ｃによるカウント値を基準値（基準時間）と比較する比較回路ｂ，ｄと、両比較回路ｂ，ｄに適切な基準値（検出感度）を設定する制御回路ｅとを有している。これらカウンターａ、比較回路ｂ、制御回路ｅが本発明における第一タイマー手段を、また、カウンターｃ、比較回路ｄ、制御回路ｅが本発明における第二タイマー手段を構成する。
【００２４】
カウンターａは、プログラム信号Ｓ３の導入によってカウント値を初期化し、かつプログラム信号Ｓ３がなくなるとカウントを開始する。また、カウンターｃは、プログラム信号Ｓ３の導入によってカウントを開始し、かつプログラム信号Ｓ３がなくなるとカウント値を初期化している。比較回路ｂ，ｄは、カウンターａ，ｃのカウント値が各基準値に達すると、アラーム信号を生成して外部回路に出力し、たとえば、マイクロプロセッサーシステムのアラーム信号として制御プログラムの暴走を外部に通知している。
【００２５】
制御回路ｅは、マイクロプロセッサーシステムの外部制御データをレジスタなどの設定機能に供給するとともに、これらを基準値として比較回路ｂ，ｄに送出している。たとえば、カウンターａの基準値は、定期的なプログラム信号Ｓ３として許容し得る最大の実行周期（許容最大実行周期）よりも若干長めの値であり、また、カウンターｃの基準値は、ＣＰＵ１の演算処理として許容し得る最長の処理時間（許容最長処理時間）よりも、若干長めの値である。
【００２６】
［実施形態の動作の説明］
次に、図１，２を参照して本実施形態に係る」プログラム暴走検出回路の動作について詳細に説明する。
制御プログラムの暴走モードとしては、暴走によりプログラム信号Ｓ３が遅延することによって許容最大実行周期を超える場合と、プログラム信号Ｓ３が出力されたまま許容最長処理時間を超える場合とが挙げられる。これらの場合をウォッチドッグタイマー２が判定することにより、マイクロプロセッサーシステムの異常動作を監視している。あらかじめ、ウォッチドッグタイマー２の制御回路ｅには、外部制御信号の指示により、カウンターａ，ｃの各基準値として所定値が設定されている。
【００２７】
マイクロプロセッサーシステムのリセット信号がイネーブルになると、ＣＰＵ１とウォッチドッグタイマー２が初期化されてカウンターａ，ｃのカウント値も初期値（たとえば「０」）となる。また、ディセーブルになると、ＣＰＵ１が稼動可能となってカウンターａ，ｃがアクティブとなり、プログラム信号Ｓ３（負論理）が生じるまでは、カウンターａだけがカウントを開始する。このカウント値が、比較回路ｂにおいて制御回路ｅの許容最大実行周期と比較される。
【００２８】
リセット信号がディセーブルになると、マイクロプロセッサーシステムにおいて、制御プログラムの実行が開始され、ＣＰＵ１が定期的にプログラム信号Ｓ３を出力するので、カウンターａも定期的に初期化される。したがって、比較回路ｂにおいて、カウンターａのカウント値が許容最大実行周期に達することはなく、ウォッチドッグタイマー２からアラーム信号が出力されることもない。また、定期的なプログラム信号Ｓ３によって、カウンターｃがカウントを開始するが、その直後にはプログラム信号Ｓ３がなくなる。したがって、プログラム信号Ｓ３の長さが多少変動したとしても、そのカウント値が比較回路ｄにおいて許容最長処理時間に達することはなく、同じく、アラーム信号は出力されない。
以上は、図２（ａ）に示す「正常動作」のように、マイクロプロセッサーシステムプログラム暴走検出回路が正常に動作している場合である。
【００２９】
次に、図２（ｂ）に示す「プログラム信号が無くなった場合」について説明する。
ＣＰＵ１が異常動作を起こし、プログラム信号Ｓ３が、定期的に出力されずに遅延すると、カウンターａのカウント値が、定期的に初期化されずに、いずれは比較回路ｂにおいて許容最大実行周期を超えるので、アラーム信号が出力されることとなり、マイクロプロセッサーシステムの異常動作（第一暴走モード）が外部に表示される。
【００３０】
また、図２（ｃ）に示す「プログラム信号継続中の場合」については、ＣＰＵ１が予期しない異常動作（たとえば過熱による。）を起こし、プログラム信号Ｓ３が出力され続ける場合が挙げられる。プログラム信号が出力し続けると、カウンターａは初期化されたままアラーム信号が出力されない。しかし、カウンターｃのカウント値が、定期的に初期化されずに、いずれは比較回路ｄにおいて許容最長処理時間を超えるので、アラーム信号が出力されることとなり、マイクロプロセッサーシステムの異常動作（第二暴走モード）が外部に表示される。
【００３１】
［他の実施形態］
次に、他の実施形態に係るプログラム暴走検出回路について説明する。
この回路は、前記実施の形態に係る回路において、ウォッチドッグタイマーを二つのワンショットモノマルチ回路により構成したものである。一のワンショットモノマルチ回路は、マイクロプロセッサーシステムのリセット信号により初期化され、このリセット信号がディセーブルになると、プログラム信号により定期的にリセットされる。内蔵のＣＲ時定数回路には、許容最大実行周期よりも若干大きな値を設定しておくことにより、第一暴走モードを検出してアラーム信号を送出させている。
【００３２】
また、別のワンショットモノマルチ回路は、同じくリセット信号により初期化され、プログラム信号により起動してプログラム信号が無くなるとリセットされる。内蔵のＣＲ時定数回路には、許容最長処理時間よりも若干大きな値を設定しておくことにより、第二暴走モードを検出してアラーム信号を送出させている。すなわち、両ワンショットモノマルチ回路においても、検出のための各基準時間が固定的な値になるが、外部制御データの設定を要しないなどにより、少ない回路素子から簡易に構成することができる。
【００３３】
【発明の効果】
以上のように、本発明のプログラム暴走検出回路によれば、マイクロプロセッサーシステムのソフトウェア制御について、制御プログラムの異常な実行を定期的なプログラム信号の遅れにより検出するばかりか、このプログラム信号自体の異常な出力をも検出することができる。したがって、プログラムシーケンスがＣＰＵにおいてタイマーリセットを指令したままの状態となるような暴走モードも含めて検出することが可能なプログラム暴走検出回路を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るプログラム暴走検出回路の概略構成の一例を示すブロック図。
【図２】同じく、プログラム暴走検出回路の各信号の遷移を示すフローチャート。
【符号の説明】
１  演算処理回路（ＣＰＵ）
２  ウォッチドッグタイマー（第一および第二タイマー手段）
３  プログラム信号
【図１】
2004295374.tif 000003
【図２】
2004295374.tif 000004