JPH052654A - マイクロコンピユータの故障検知方法および回路 - Google Patents

マイクロコンピユータの故障検知方法および回路

Info

Publication number
JPH052654A
JPH052654A JP3180122A JP18012291A JPH052654A JP H052654 A JPH052654 A JP H052654A JP 3180122 A JP3180122 A JP 3180122A JP 18012291 A JP18012291 A JP 18012291A JP H052654 A JPH052654 A JP H052654A
Authority
JP
Japan
Prior art keywords
counter
output
microcomputer
internal state
comparator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3180122A
Other languages
English (en)
Inventor
Hiroshi Ikeda
博 池田
Akito Yamamoto
明人 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP3180122A priority Critical patent/JPH052654A/ja
Priority to DE4220723A priority patent/DE4220723C2/de
Priority to US07/904,306 priority patent/US5408645A/en
Publication of JPH052654A publication Critical patent/JPH052654A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 簡単な構成でマイクロコンピュータの故障検
出率を向上させ、さらに故障発生から検知までの時間を
短縮する。 【構成】 コンピュータの内部状態であるマイクロ命令
14を、コンパレータ4で比較用データメモリ5にある
所定の命令データと比較して、一致したらリセット信号
15によりカウンタ6をリセットする。カウンタ6は、
所定の時間だけ経過しても前記の所定の命令データと同
じマイクロ命令14が現れず、リセット信号が来ないと
きには、オーバーフローしてエラー検知信号16を出力
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
の故障検知方法および回路に関する。
【0002】
【従来の技術】マイクロコンピュータあるいはマイクロ
プロセッサ(以後、両者を含めてマイクロコンピュータ
として説明する)の故障検知には大別して次の4つの手
法がある。第1は、例えばパリティチェックなど、冗長
化符号による回路レベルでの故障検知である。これはメ
モリ読み出し時に直ちにエラーの検知ができ、フォール
トトレランスの観点から検知対象によっては用いざるを
えない手法であり、エラー修正を含め、ECC(=Er
ror Correcting Code)として、
「マイクロコンピュータアーキテクチャ](オーム社
p. 209 )に詳説されている。
【0003】第2は、セルフチェッキング構成で回路を
組んで、回路自信がエラーチェックを行うもので、例え
ば「電子情報通信学会誌 Vol.73、 No. 9」
(p. 991−999)に開示されている。この場合に
は、単一縮退モデル、すなわちある単一ノードが0か1
に固定されてしまう態様など、その回路構成で前提にな
っている故障モデルについて、完全なチェックが可能で
ある。
【0004】次に第3は、例えばマイクロコンピュータ
を3組用意して多重化し、多数結論理をとるもので、こ
れは機能上は合理的なシステムを構成でき、ノンストッ
プ・コンピュータや航空機制御などの巨大システムに使
われている。
【0005】第4は、ウォッチドッグタイマなどの監視
機能を付加するもので、例えば「マイクロコンピュータ
ハンドブック」(オーム社 p. 751 )に開示さ
れ、また図13に示すようにマイクロコンピュータにウ
ォッチドッグタイマを外付にしたものがよく用いられて
いる。
【0006】これはマイクロコンピュータ100のプロ
グラムでウォッチドッグタイマ102のカウンタをリセ
ットするようにして、プログラムが異常ループにはいる
と、カウンターがオーバーフローし、エラー信号103
を出す。このエラー信号をリセット信号あるいは割り込
み信号として、マイクロコンピュータ100をリセット
して再び処理をやり直すか、あるいは予備のマイクロコ
ンピュータに切り替えてフェイルソフト構成にするなど
の処置を行う。このウォッチドッグタイマによる故障検
知は、故障モデルを仮定していないから、ハードウェア
の故障も単一縮退故障などに限定されないのは言うまで
もなく、ソフトのバグや回路の設計ミス、メモリやゲー
トのソフトエラーなども検知できる利点を有する。
【0007】
【発明が解決しようとする課題】しかし、上記第1また
は第2の手法では、すべての故障を検知することはむず
かしい。例えば、ECCでは限定されたハードウエア資
源に制約され、検知・修正できるエラーのビット数は限
られ、エラー数が多くなると検知もできなくなる。
【0008】またセルフチェッキング構成では多重縮退
故障や、トランジスタが中途半端な導通状態になる故
障、あるいは一般にメモリのソフトエラーが知られてい
るが、微細化するとゲートについてもα線によるソフト
エラーが生じることが指摘されており、このようなゲー
トのソフトエラーなどについては、対処することが難し
い。しかもリアルタイム処理を行うマイクロコンピュー
タでは、処理速度が問題になるので、符号チェックやセ
ルフチェッキングの回路構成をあまり大きくするのは、
ゲート段数の増加で遅延が増えるなどのため望ましくな
い。
【0009】第3のものは、ハードウェアが膨大になっ
て、中小システムの制御においては実際的でない。
【0010】また従来行なわれていた第4のものは、故
障モデルが限定されないかわりにエラーの特定ができな
い欠点を持ち、さらに検知するまでに時間がかかって、
その間にエラーが拡大する恐れがあった。
【0011】このように、従来の故障検知は、単独では
限定されたハードウエア資源で良好なものにするのは困
難なため、例えばパリティチェックまたはECC構成を
組み込んだマイクロコンピュータに、ウォッチドッグタ
イマを外付けして監視するなど、いくつか組み合わせて
行なうのが通例である。このため、全体の構成が複雑に
なる一方、マイクロコンピュータの本来のデータ処理速
度も低下する問題がある。
【0012】したがって本発明は、限られたハードウェ
アでデータ処理速度を低下させないで、故障検出率を向
上させ、さらに故障発生から検知までの時間を短縮して
エラー拡大を防ぐことのできる、とくにリアルタイム処
理が重要な制御用マイクロコンピュータに好適なマイク
ロコンピュータの故障検知方法および回路を提供するこ
とを目的とする。
【0013】
【課題を解決するための手段】このため本発明方法は、
マイクロコンピュータの作動の間変化するとともに外部
への出力形態に変換されていない内部状態を監視対象と
し、マイクロコンピュータが正常に作動するときに生起
される特定の内部状態と比較して、設定された所定の時
間内に、前記監視対象の内部状態と前記特定された内部
状態との一致に関する所定の条件に基づいてエラー検知
信号を出力するようにした。
【0014】またこれを実現するための本発明回路は、
図1に示されるようにマイクロコンピュータ200の内
部ノード201に接続されて、マイクロコンピュータの
作動の間変化するとともに外部への出力形態に変換され
ていない内部状態を監視入力とし、マイクロコンピュー
タが正常に作動するときに前記内部ノード201に生起
されるべき特定の内部状態を比較用データとして、前記
監視入力の内部状態と前記比較用データとしての特定の
内部状態とが一致したとき出力する第1のコンパレータ
202と、時間を計測するカウンタ203と、プログラ
ム周期に関連して設定された前記カウンタの所定カウン
ト内における前記第1のコンパレータの出力に関する所
定の条件に基づいてエラー検知信号220を出力する手
段204とを備えるものとした。
【0015】ここでマイクロコンピュータにおける内部
ノードとは、1チップマイクロコンピュータの内部信号
やバスであっても、ポートやバッファを通じてデータが
そのままチップ外に出力され外部からでも監視できるも
のは除かれ、マイクロコンピュータの内部状態を示すチ
ップ内のノードである。
【0016】内部状態として、マイクロプログロムメモ
リの出力であるマイクロ命令、プログラムメモリの出力
である命令セットのオペコードあるいは内部アドレス、
プログラムカウンタの出力、さらにはスタックポインタ
のポインタ値などが用いられる。
【0017】
【作用】本発明によれば、マイクロコンピュータの内部
状態を表す内部ノードにおいて監視し、所定時間内に当
該ノードに生起すべき特定の内部状態が現出しない場合
にエラー検知信号が出力される。これにより故障検出率
が向上し、さらに故障から検知までの時間が短縮され
る。
【0018】とくに内部ノードをマイクロプログラムメ
モリの出力とした場合には、内部状態としてマイクロコ
ンピュータ内の制御信号であるマイクロ命令を監視す
る。マイクロコンピュータが作動を始めプログラムカウ
ンタの進行により順次プログラムがメモリの特定領域か
ら読まれていく。プログラムはオペコードとアドレスあ
るいはデータから成る命令セットとされており、オペコ
ードを抽出して、マイクロプログラムメモリへ送る。マ
イクロプログラムメモリからは、次のアドレスとマイク
ロ命令が出て、アドレスは次のマイクロ命令を読み出す
のに使われる。これを繰り返して次々にマイクロ命令が
出力される。
【0019】なお、マイクロコンピュータによっては、
PLA(プログラマブルロジックアレイ)や布線論理を
用いているものもあるが、その場合にも同様であり、マ
イクロプログラムメモリからのマイクロ命令で代表させ
て説明する。またマイクロ命令バスを用いた分散型のマ
イクロプログラム方式についても、マイクロ命令バス
や、個々のマイクロプログラムメモリの出力を監視すれ
ばよい。
【0020】そして所定時間内に予め選定された所定の
マイクロ命令が出力されると、カウンタがリセットさ
れ、エラー検知信号は出ない。故障によりプログラムの
流れが狂い、無限ループに入ったり無制御の流れになっ
て、所定時間内に所定マイクロ命令がマイクロプログラ
ムメモリから出力されないときには、カウンタがオーバ
ーフローしてエラー検知信号が出される。
【0021】また他の態様として、所定時間内に所定の
マイクロ命令が出力される回数を計測して、前回計測時
の回数と異なるときにエラー検知信号が出される。
【0022】次に、内部状態をプログラムメモリから出
る命令セットの内部アドレスとした場合には、予め選定
された所定のアドレスと比較し、所定時間内にその所定
の内部アドレスが現われると、カウンタがリセットさ
れ、エラー検知信号は出ない。故障によりプログラムの
流れが狂い、無限ループに入ったり無制御の流れになっ
て、所定時間内に所定アドレスが現われないときには、
カウンタがオーバーフローしてエラー検知信号が出され
る。その他プログラムカウンタのカウンタ値、スタック
ポインタのポインタ値の場合も同様である。
【0023】さらに内部状態を命令セットのオペコード
とした場合には、アドレス情報をデータバスに送る命令
の中から予め選定した所定のオペコードの現出と、該オ
ペコードの内容となっている所定アドレスのデータバス
への現出とがチェックされ、両者が同時に成立したとき
カウンタがリセットされる。所定時間内に同時成立しな
いときはエラー検知信号が出力される。
【0024】
【実施例】図2はマイクロコンピュータのマイクロプロ
グラム部に適用した第1の実施例を示す。プログラムメ
モリ20からオペコード10がアドレスシーケンサ2に
フェッチされ、この例ではオペコード10がそのままマ
イクロプログラムメモリ1のアドレス11となって送ら
れる。アドレス11に応じて、マイクロプログラムメモ
リ1からデータ12が出て、マイクロ命令レジスタ3に
格納される。マイクロ命令レジスタ3に格納されたデー
タは、次のアドレス13とマイクロ命令14から成り、
次のアドレス13はアドレスシーケンサ2に送られ、次
のマイクロ命令を読み出すのに使われる。
【0025】このようにして、順次にマイクロ命令14
が発され、そのシーケンスで図示しないレジスタ、メモ
リ、ポート、演算器などの各モジュールが制御される。
このマイクロ命令14を、コンパレータ4で比較用デー
タメモリ5に設定してある所定の命令データと比較し
て、一致したらリセット信号15を出して、カウンタ6
をリセットする。カウンタ6は、発振器7のパルスをカ
ウントしており、所定の時間だけ経過しても比較用デー
タメモリ5の所定の命令データと同じマイクロ命令14
が現れずリセット信号15が来ないときには、カウンタ
6がオーバーフローして、オーバーフロー信号、すなわ
ちエラー検知信号16が出力される。
【0026】ここでコンパレータ4、比較用データメモ
リ5、カウンタ6および発振器7を含んでウォッチドッ
グタイマ8が形成される。こうしてウォッチドッグタイ
マ8から出力されたエラー検知信号16をもとに、マイ
クロコンピュータをリセットしてプログラムをやり直し
たり、割り込みをして他のプログラムを流したり、他の
マイクロコンピュータでバックアップしたりして、適切
な処置を行なう。
【0027】上記の故障検知の様子を図3によりさらに
説明すると、まずマイクロコンピュータの正常な作動状
態では、同図(a)のようにプログラムカウンタ21か
らのアドレスに応じて、プログラムメモリ20から命令
セット22が読み出され、そのうち、オペコード10が
マイクロプログラムメモリ1に送られて、マイクロ命令
14が出力され、マイクロコンピュータの制御が行われ
る。順次出力されるマイクロ命令14としてA、Bおよ
びCの3命令があり、所定の命令データとして命令Cを
比較用データメモリ5に設定してあるとすると、ウォッ
チドッグタイマ8のカウンタ6はオーバーフローする前
にリセットされて、エラー検知信号16は出力されない
【0028】ところが、同図(b)に示すように、例え
ばプログラムメモリ20の読み出しが無限ループに入っ
てしまうと、命令セット22も循環してマイクロ命令1
4のCがマイクロプログラムメモリ1から所定の時間内
に出てこない状況になり得る。すると、ウォッチドッグ
タイマ8のカウンタ6がオーバフローして、エラー検知
信号16が出力される。
【0029】さらに、同図(c)に示すように、誤って
命令セット22’がフェッチしたり、オペコード10’
が誤ってマイクロプログラムメモリ1に送られた場合に
も、マイクロ命令14のCが所定時間内に出力されない
こととなるので、エラー検知信号16が出力される。
【0030】この実施例によれば、プログラムの流れを
監視する従来のウォッチドッグ・タイマの機能と、マイ
クロプログラムメモリの出力である制御信号を監視する
機能が併せて得られる。
【0031】すなわち従来のウォッチドッグタイマで
は、予めプログラムで指定されたI/Oポートにリセッ
ト信号を出して、ウォッチドッグタイマのカウンタをリ
セットするので、マイクロコンピュータの制御信号を監
視することはできなかったうえ、マイクロ命令の読み出
し不良があっても、プログラムの流れの不良にまで表出
するには時間がかかった。
【0032】これに比べ、プログラムの流れを所定のマ
イクロ命令、例えばI/O設定命令の現出をチェックす
ることにより監視できるのはもちろん、さらにマイクロ
プログラムメモリの出力を見ることにより、マイクロ命
令の読み出し不良やオペコード転送不良などの検知まで
も容易になされる。マイクロコンピュータの制御信号で
あるマイクロ命令はまた故障してから検知されるまでの
時間が短い。従って、故障検出率が向上するとともに、
検知までの時間が速く、故障発生後の迅速な処置やバッ
クアップができる。
【0033】図4は第2の実施例を示す。ウォッチドッ
グタイマ28では前実施例と同様にマイクロプログラム
メモリの出力を監視するが、マイクロ命令の数で故障検
知するようにしたものである。マイクロ命令14は比較
用データメモリ5の所定の命令データと比較され、一致
した時第2のカウンタとしてのカウンタ24をカウント
アップする。発振器27とカウンタ26で計測される一
定時間の間、前記のカウントアップを行なって比較用の
レジスタ17に格納する。カウンタ26からのリセット
信号25によりカウンタ24はリセットされる。レジス
タ17に格納されたカウント値は他の比較用のレジスタ
18に転送される。
【0034】次のプログラム周期で、マイクロ命令14
のうちの比較用データメモリ5の命令データと同じもの
の数を、コンパレータ4とカウンタ24でカウントアッ
プして、レジスタ17にカウント値が送られる。第2の
コンパレータとしてのコンパレータ19により、レジス
タ17の値とレジスタ18に格納されている前回のプロ
グラム周期時の値を比較して、一致しなければエラー検
知信号16が出力される。
【0035】これによって、比較用の命令データとして
監視しているマイクロ命令を含む形で無限ループにはい
った場合でも、一致するマイクロ命令の数が異なってく
るから故障したことを正しく検知することができる。
【0036】この実施例によれば、マイクロプロセッサ
の内部状態であるプログラムカウンタによって指定する
ことができる範囲内のマイクロ命令の数を計測すること
により、巨大なプログラムの場合にも、適切なマイクロ
命令の数で監視することができる。すなわちあるプログ
ラムでマイクロ命令Aが1000回使われたとしても、
プログラムカウンタの00〜FFに限定すると、当該マ
イクロ命令は十数回使われることになり、適切なカウン
ト値で監視できることになる。
【0037】以上のとおり内部状態を使っているため、
プログラムにチェックポイントを入れなくても良いう
え、故障検出率が高い。しかも適切な数で使用されてい
るマイクロ命令を比較用の命令データとして選択すれ
ば、プログラムを監視するより少ないカウントで有効な
監視ができ、使いやすいという利点がある。
【0038】なお、カウンタ24をリセットするための
一定時間は、上記例のほかプログラムメモリのアドレス
あるいはプログラムカウンタで見るプログラム周期とす
ることもできる。
【0039】図5は第3の実施例として、アドレスを監
視する例を示す。プログラムメモリ20から読み出され
た命令セット22はオペコード10と内部アドレス23
を含んでいる。内部アドレス23と、外付けメモリをア
クセスするときにも用いられるアドレスバス33のアド
レスとは、一般に異なる場合が多く、相対アドレスある
いは間接アドレスとして内部アドレス23は出力され、
演算器32でポインタデータ36などとの演算を行な
い、物理アドレスに変換してからアドレスバス33に出
力される。
【0040】ウォッチドッグタイマ38は、内部アドレ
ス23の出力と比較データメモリ35に設定された所定
のアドレスとをコンパレータ34で比較し、一致したら
リセット信号15を出力してカウンタ6をリセットす
る。所定時間内に比較用のアドレスデータと同じアドレ
スが来ないとき、カウンタ6がオーバーフローして、エ
ラー検知信号16が出る。
【0041】この例によれば、比較用の所定のアドレス
データとしてはプログラム中に書かれたのと同一のアド
レス値、すなわち相対あるいは間接アドレスを書き込め
ばよい。したがってウォッチドッグタイマがアドレスバ
ス33上のアドレスを監視する従来の構成に比べ、相対
あるいは間接アドレスを物理アドレスに直して入力する
必要がない。内部アドレス23という内部状態を用いる
ことによって、手間を要することがなくしかも故障検出
が早いという効果がある。
【0042】図6はデータバスの情報を監視対象に含む
第4の実施例を示す。ここではウォッチドッグタイマ4
8がオペコード10を用いて、データバス40上に転送
されているアドレス情報を監視する。すなわちプログラ
ムメモリ20から出力される命令セット22の内のオペ
コード10と比較用データメモリ45に設定された所定
のオペコードとをコンパレータ44で比較する。比較用
データメモリ45の所定のオペコードとしては、アドレ
ス情報をデータとしてデータバス40に送る命令が選択
される。
【0043】従って、コンパレータ44でオペコード1
0が比較用データメモリ45の所定オペコードと一致し
たら、マイクロコンピュータの正常作動中であれば、デ
ータバス40には少なくもアドレス情報が流れているこ
ととなる。よって、第3のコンパレータとしてのコンパ
レータ43でデータバス40に流れている情報と比較用
データメモリ41に設定されている所定のアドレスデー
タとを比較する。この所定のアドレスデータは上記比較
用データメモリ45の所定オペコードの命令内容である
アドレスとされる。
【0044】コンパレータ43および44における比較
結果が双方とも一致であるときは、ANDゲート42を
通してリセット信号15が出力される。このようにし
て、データバス40上のアドレス情報も、内部状態のデ
ータを基準にして監視でき、故障検出率を上げることが
できる。
【0045】図7は第5の実施例として、割り込みやサ
ブルーチンで行われるスタックを監視するようにした例
を示す。マイクロコンピュータにおける割り込みは、プ
ログラムカウンタの値と他のデータをスタックに格納し
ておいてから、割り込みプログラムを開始する。すなわ
ち割り込みやサブルーチンのとき、スタック50にプロ
グラムカウンタ21のカウンタ値と他のデータ53が格
納されて開始し、割り込みやサブルーチンが終了する
と、また同じカウンタ値がプログラムカウンタ21に戻
り、データも復活する。従って、所定時間内に同一のカ
ウンタ値が現われることとなる。
【0046】ウォッチドッグタイマ58では、割り込み
の際のプログラムカウンタ21のカウント値のスタック
50への出入毎に、コンパレータ54にレジスタ65を
介してそのカウント値が入力され、比較用のレジスタ5
5にはレジスタ65から前回のカウント値が転送され
る。コンパレータ54はレジスタ65からのカウント値
と比較用レジスタ55にある前回のカウント値とを比較
する。
【0047】割込み信号52あるいはサブルーチン信号
で発振器57を基にするカウンタ56をスタートさせ、
コンパレータ54での比較が一致したときORゲート6
3を介してリセット信号15をカウンタ56に送りリセ
ットする。もし同一のプログラムカウンタ値が所定時間
内に得られないときには、カウンタ56がオーバーフロ
ーしてエラー検知信号16が出力される。
【0048】スタック・ポインタ51においても、層の
深いサブルーチンについても必ず所定時間後に元のポイ
ンタの位置に戻るわけであるから、上記と同様に、比較
データメモリ61に設定してある所定のポインタ値と同
一のポインタ値が所定時間内にコンパレータ60に入っ
てくれば、ORゲート63を介してリセット信号15が
カウンタ56へ送られて該カウンタをリセットする。所
定の時間内に入ってこないときには、カウンタ56がオ
ーバーフローしてエラー検知信号16が出力される。
【0049】以上プログラムカウンタまたはスタックポ
インタの何れかを監視する例で説明したが、さらに図7
では、プログラムカウンタ21のカウンタ値の一致およ
びスタックポインタ51のポインタ値の一致の双方が成
立してはじめてリセット信号を発生するように、コンパ
レータ54および60の出力をANDゲート62を介し
てカウンタ56へ送る経路も設け、マルチプレクサ64
によってORゲート経由かANDゲート経由かを切り替
えることができるようにしてある。
【0050】このように、スタック50の入出力をチェ
ックすることにより、サブルーチンが正常に終了したこ
とや、割込みがうまく行われたかどうかなどを、ウォッ
チドッグタイマ58で監視することができる。
【0051】なお、図7の実施例では割り込みやサブル
ーチン処理時のスタック状況を監視するようにしたが、
所定周期の制御を行なう場合にはプログラムは全体とし
て繰り返しているから、図8のようにプログラムカウン
タを直接チェックすることもできる。
【0052】すなわちウォッチドッグタイマ68の比較
データメモリ75にプログラムカウンタ21の所定のカ
ウンタ値を設定しておき、コンパレータ74でプログラ
ムカウンタ21の出力を比較データメモリ75の所定カ
ウンタ値と比較する。プログラムは繰り返しているから
正常であれば比較データメモリ75の所定のカウンタ値
は所定時間内に必ずまた現われる。そしてコンパレータ
74で一致したときリセット信号15をカウンタ6に送
る。プログラムの流れに異常が発生すると比較データメ
モリ75に設定されたプログラムカウンタ値が所定時間
内に現われないからカウンタ6がオーバーフローしてエ
ラー検知信号16が出力される。
【0053】以上に説明した各実施例におけるウォッチ
ドッグタイマをマイクロコンピュータ上に構成するアー
キテクチャとして図9に例を示す。マイクロコンピュー
タ80に符号78で代表させた一つの集中型のウォッチ
ドッグ・タイマを設けるものである。発振器7はウォッ
チドッグ・タイマ78の中に含まれる。したがって発振
器も一個で済む。
【0054】マイクロコンピュータ80内には複数の回
路モジュール81a〜81fが組み込まれており、それ
らのいくつかに上述したマイクロ命令、命令数あるいは
プログラムカウンタ値など内部状態である監視ポイント
82a〜82cを設定して、ウォッチドッグタイマ78
で集中的に監視する。ウォッチドッグタイマが1個であ
るから全体としては多くの面積を必要としない。
【0055】図10はさらに他のアーキテクチャ例を示
し、マイクロコンピュータ80aにウォッチドッグタイ
マ88a〜88cを分散型に配置したものである。ウォ
ッチドッグタイマの数が多くなって全体的にある程度面
積を必要とするが、配線が最少で済むので監視ポイント
72a〜72cの数が多くなって配線がネックになる恐
れがある場合に好適である。発振器もそれぞれに設けれ
ばフォールトトレラント性がよくなる。
【0056】図11はマイクロコンピュータによる制御
ユニットの入出力部、とくにマイクロコンピュータの出
力ポートと外部センサやアクチュエータに向かう通信線
とを接続するコネクタ部の故障をウォッチドッグタイマ
で検知する例を示す。すなわちマイクロコンピュータ9
0aの出力ポート92はコネクタ93を介して制御ユニ
ット99a外部の通信線94と接続しており、同制御ユ
ニット内にはウォッチドッグタイマ98aがそのエラー
検知信号96をマイクロコンピュータへそのリセットあ
るいは割り込み信号として出力するように設けられてい
る。
【0057】ウォッチドッグタイマ98aそれ自身のリ
セット端子にはコネクタ93の外部へ出た通信線94か
ら配線して信号95aを入力される。この場合図示のよ
うに同じコネクタ93内を折り返して制御ユニット99
a内に引き込んでもよい。この入力信号としては、プロ
グラムとして特定の通信線上に流されるリセット信号を
使える。
【0058】正常状態では所定の制御周期と同じ周期で
リセット信号がウォッチドッグタイマのリセット端子に
入るからウォッチドッグタイマはオーバーフローしな
い。一方マイクロコンピュータ90aに故障が発生した
時に加え、出力ポートあるいはコネクタ93が不良にな
った場合にもウォッチドッグタイマのリセット端子にリ
セット信号が来なくなるからオーバーフローしてウォッ
チドッグタイマからエラー検知信号が出力される。
【0059】なお、ウォッチドッグタイマ内にデータ一
致をチェックする比較回路が内蔵されて、所定データと
一致したときにリセットするようになっていればオンラ
イン故障検知も行なえる。このときには1つの通信線が
不良になったとき、出力ポートを切り替えて他の通信線
上で監視をすることも可能になる。
【0060】図12はウォッチドッグタイマ98bがマ
イクロコンピュータ90bに内蔵されている場合を示
し、ウォッチドッグタイマのリセット信号入力はマイク
ロコンピュータのICピンとして設けられる。前図例と
同様に一度コネクタ93を経て制御ユニット99bの外
部へ出た通信線94からこのICピンにチェック対象の
信号95aが導かれる。
【0061】なお、ウォッチドッグタイマにおけるチェ
ック態様としては上記のほか、複数の通信線の信号の組
み合わせ論理をとるもの、さらには、通信線毎にウォッ
チドッグタイマを設け、複数のウォッチドッグタイマの
出力の組み合わせ論理をとってマイクロコンピュータへ
の出力とするものなど監視対象に応じて適切なものが選
択される。
【0062】
【発明の効果】以上のとおり本発明は、マイクロコンピ
ュータの内部状態を監視し、正常に作動するときに生起
されるべき特定の内部状態が所定時間内に現出しないと
きにはエラー検知信号を出力するようにしたので、プロ
グラムにチェックポイントを入れなくても監視すること
ができる。
【0063】また内部状態をチェックするから、故障検
出率が大幅に向上し、さらに故障から検知までの時間も
短縮されるので、エラーの拡大を防ぐことができる。こ
の際故障モデルが限定されないことはもちろんのこと、
従来では監視できなかった情報を監視できるためエラー
の特定もできる利点がある。
【0064】また、内部状態としてアドレスを監視する
ものとした場合にもプログラムと同じ相対あるいは間接
アドレスを比較用のデータとして指定できるから設定が
容易である。
【0065】なお、データの異常については符号チェッ
クによる手法が優れているから、本発明と組み合わせる
ことによって、より高い故障検出率を備えたフォールト
トレラントなマイクロコンピュータシステムを実現する
ことができる。
【図面の簡単な説明】
【図1】本発明の構成を示す図である。
【図2】本発明の実施例を示すブロック図である。
【図3】発明の動作説明図である。
【図4】第2の実施例を示すブロック図である。
【図5】第3の実施例を示すブロック図である。
【図6】第4の実施例を示すブロック図である。
【図7】第5の実施例を示すブロック図である。
【図8】第6の実施例を示すブロック図である。
【図9】コンピュータ上の配置例を示す図である。
【図10】他の配置例を示す図である。
【図11】コネクタ部故障検知回路の例を示す図であ
る。
【図12】コネクタ部故障検知回路の他の例を示す図で
ある。
【図13】従来例を示す図である。
【符号の説明】
1 マイクロプログラムメモリ 2 アドレスシーケンサ 3 マイクロ命令レジスタ 4、34、44、54、60、74 コンパレータ 5、35、45、55、61、75 比較用データメ
モリ 6 カウンタ 7、27、57 発振器 8、28、38、48、58、68 ウォッチドッグ
タイマ 10、10’ オペコード 11 アドレス 12、53 データ 13 アドレス 14 マイクロ命令 15、25 リセット信号 16 エラー検知信号 17、18 レジスタ 19 コンパレータ 20 プログラムメモリ 21 プログラムカウンタ 22、22’ 命令セット 23 アドレス 24 カウンタ 26 カウンタ 32 演算器 33 アドレスバス 36 ポインタデータ 40 データバス 42、62 ANDゲート 43 コンパレータ 41 比較用データメモリ 50 スタック 51 スタックポインタ 52 割り込み信号 56 カウンタ 63 ORゲート 64 マルチプレクサ 65 レジスタ 78、88a〜88c ウォッチドッグタイマ 80、80a マイクロコンピュータ 81a〜81f 回路モジュール 82a〜82c 監視ポイント 90a、90b マイクロコンピュータ 92 出力ポート 93 コネクタ 94 通信線 95 リセット信号 96 エラー検知信号 98a、98b ウォッチドッグタイマ 99a、99b 制御ユニット 200 マイクロコンピュータ 201 内部ノード 202 コンパレータ 203 カウンタ 204 エラー検知信号出力手段 210 比較用データ 220 エラー検知信号

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 マイクロコンピュータの作動の間変化す
    るとともに外部への出力形態に変換されていない内部状
    態を監視対象とし、マイクロコンピュータが正常に作動
    するときに生起される特定の内部状態と比較して、設定
    された所定の時間内における前記監視対象の内部状態と
    前記特定された内部状態との一致に関する所定の条件に
    基づいて、エラー検知信号を出力するようにしたことを
    特徴とするマイクロコンピュータの故障検知方法。
  2. 【請求項2】 マイクロコンピュータの内部ノードに接
    続されて、マイクロコンピュータの作動の間変化すると
    ともに外部への出力形態に変換されていない内部状態を
    監視入力とし、マイクロコンピュータが正常に作動する
    ときに前記内部ノードに生起されるべき特定の内部状態
    を比較用データとして、前記監視入力の内部状態と前記
    特定された内部状態とが一致したとき出力する第1のコ
    ンパレータと、時間を計測するカウンタと、プログラム
    周期に関連して設定された前記カウンタの所定カウント
    内における前記第1のコンパレータの出力に関する所定
    の条件に基づいて、エラー検知信号を出力する手段とを
    備えたことを特徴とするマイクロコンピュータの故障検
    知回路。
  3. 【請求項3】 前記内部状態がマイクロプログロムメモ
    リの出力であり、前記比較用データが前記出力の選択さ
    れた所定のマイクロ命令であることを特徴とする請求項
    2記載のマイクロコンピュータの故障検知回路。
  4. 【請求項4】 前記内部状態がプログラムカウンタの出
    力であり、前記比較用データが所定の選択されたカウン
    タ値であることを特徴とする請求項2記載のマイクロコ
    ンピュータの故障検知回路。
  5. 【請求項5】 前記内部状態がプログラムメモリの出力
    の内部アドレスであり、比較用データが所定の選択され
    た内部アドレスであることを特徴とする請求項2記載の
    マイクロコンピュータの故障検知回路。
  6. 【請求項6】 前記内部状態がプログラムカウンタのカ
    ウンタ値またはスタックポインタのポインタ値であり、
    比較用データが割り込みまたはサブルーチン信号発生時
    のプログラムカウンタのカウンタ値またはスタックポイ
    ンタ値であることを特徴とする請求項2記載のマイクロ
    コンピュータの故障検知回路。
  7. 【請求項7】 前記エラー検知信号出力手段は、第1の
    コンパレータの出力で前記カウンタをリセットするとと
    もに、前記所定カウント内に第1のコンパレータの出力
    がないときは、カウンタのオーバーフロー信号をエラー
    検知信号として出力することを特徴とする請求項2、
    3、4、5または6記載のマイクロコンピュータの故障
    検知回路。
  8. 【請求項8】 前記エラー検知信号出力手段は、前記所
    定カウント内における第1のコンパレータの出力数を計
    測する第2のカウンタと、該第2のカウンタの最新の計
    測値と前回の計測値を保持するレジスタと、前記最新の
    計測値と前回の計測値を比較して一致しないときにエラ
    ー検知信号として出力を発する第2のコンパレータを有
    することを特徴とする請求項2または3記載のマイクロ
    コンピュータの故障検知回路。
  9. 【請求項9】 前記内部状態がプログラムメモリの出力
    のオペコードであり、比較用データがアドレス情報をデ
    ータバスに送る命令を持つ特定のオペコードとされると
    ともに、前記エラー検知信号出力手段は、データバスを
    流れる情報が前記オペコードが示すアドレスと一致する
    とき出力する第3のコンパレータを有し、前記所定カウ
    ント内に第1および第3のコンパレータの出力のAND
    出力がないとき、エラー検知信号を出力するものである
    ことを特徴とする請求項2記載のマイクロコンピュータ
    の故障検知回路。
JP3180122A 1991-06-25 1991-06-25 マイクロコンピユータの故障検知方法および回路 Pending JPH052654A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3180122A JPH052654A (ja) 1991-06-25 1991-06-25 マイクロコンピユータの故障検知方法および回路
DE4220723A DE4220723C2 (de) 1991-06-25 1992-06-24 Schaltkreis zum Detektieren eines Fehlers in einem Mikrocomputer
US07/904,306 US5408645A (en) 1991-06-25 1992-06-25 Circuit and method for detecting a failure in a microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3180122A JPH052654A (ja) 1991-06-25 1991-06-25 マイクロコンピユータの故障検知方法および回路

Publications (1)

Publication Number Publication Date
JPH052654A true JPH052654A (ja) 1993-01-08

Family

ID=16077808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3180122A Pending JPH052654A (ja) 1991-06-25 1991-06-25 マイクロコンピユータの故障検知方法および回路

Country Status (3)

Country Link
US (1) US5408645A (ja)
JP (1) JPH052654A (ja)
DE (1) DE4220723C2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008087573A (ja) * 2006-09-29 2008-04-17 Matsushita Electric Ind Co Ltd 車両電源制御装置
JP2008152544A (ja) * 2006-12-18 2008-07-03 Hitachi Ltd 制御用マイクロコンピュータの検証装置および車載用制御装置
US8522081B2 (en) 2008-11-13 2013-08-27 Fujitsu Semiconductor Limited Microcomputer outputting failure detection result
US10162695B2 (en) 2014-06-19 2018-12-25 Canon Kabushiki Kaisha Information processing apparatus and fault diagnosis method

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2658697B2 (ja) * 1991-12-11 1997-09-30 富士通株式会社 ウォッチ・ドック・タイマ回路
FR2706153B1 (fr) * 1993-06-07 1995-08-18 Sextant Avionique Dispositif de pilotage automatique pour aérodynes.
DE4332769C1 (de) * 1993-09-25 1994-12-15 Bosch Gmbh Robert Mikrorechner
JP3135772B2 (ja) * 1993-12-27 2001-02-19 アスコ株式会社 車両用安全装置
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US5555456A (en) * 1994-08-02 1996-09-10 Itt Corporation Reconfigurable fault control apparatus
US5528756A (en) * 1995-01-30 1996-06-18 Elsag International N.V. Method and apparatus for performing supervisory functions in digital systems and obtaining diagnostics thereof
KR100252250B1 (ko) * 1996-06-28 2000-04-15 윤종용 시스템복구장치
US5875290A (en) * 1997-03-27 1999-02-23 International Business Machines Corporation Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system
US6012150A (en) * 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US6098181A (en) * 1997-04-10 2000-08-01 International Business Machines Corporation Screening methodology for operating system error reporting
US6012154A (en) * 1997-09-18 2000-01-04 Intel Corporation Method and apparatus for detecting and recovering from computer system malfunction
US6327676B1 (en) * 1998-03-31 2001-12-04 Emc Corporation Test equipment
DE19918620A1 (de) * 1999-04-23 2000-10-26 Giesecke & Devrient Gmbh Sicherung eines Rechnerkerns gegen äußere Manipulationen
US6587800B1 (en) * 2000-06-30 2003-07-01 Intel Corporation Reference timer for frequency measurement in a microprocessor
US6847917B2 (en) * 2001-05-24 2005-01-25 Simmonds Precision Products, Inc. Method and apparatus for selecting condition indicators in determining the health of a component
US7634640B2 (en) * 2002-08-30 2009-12-15 Infineon Technologies Ag Data processing apparatus having program counter sensor
US7310751B2 (en) * 2004-02-20 2007-12-18 Hewlett-Packard Development Company, L.P. Timeout event trigger generation
US7340667B2 (en) * 2004-05-10 2008-03-04 Via Telecom Co., Ltd. Method and/or apparatus implemented in hardware to discard bad logical transmission units (LTUs)
JP2006259935A (ja) * 2005-03-15 2006-09-28 Denso Corp 演算異常判断機能付き演算装置
US20070050685A1 (en) * 2005-08-23 2007-03-01 Tsai Chung-Hung Method of resetting an unresponsive system and system capable of recovering from an unresponsive condition
DE102007004794B4 (de) * 2007-01-31 2012-04-19 Leopold Kostal Gmbh & Co. Kg Controllerbaustein mit einer Überwachung durch einen Watchdog
JP5297833B2 (ja) 2009-02-17 2013-09-25 ルネサスエレクトロニクス株式会社 ウォッチドッグタイマとその制御方法
US10013327B2 (en) * 2013-12-09 2018-07-03 Nxp Usa, Inc. Monitor, integrated circuit and method for monitoring an integrated circuit
JP6183251B2 (ja) * 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
KR20160095688A (ko) * 2015-02-03 2016-08-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 상태 확인 방법
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US12430543B2 (en) 2017-04-04 2025-09-30 Hailo Technologies Ltd. Structured sparsity guided training in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US12248367B2 (en) 2020-09-29 2025-03-11 Hailo Technologies Ltd. Software defined redundant allocation safety mechanism in an artificial neural network processor
US11237894B1 (en) * 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11520654B2 (en) 2021-02-03 2022-12-06 Semiconductor Components Industries, Llc System watchdog timer for a data processing system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN155448B (ja) * 1980-03-19 1985-02-02 Int Computers Ltd
JPS59114652A (ja) * 1982-12-21 1984-07-02 Nissan Motor Co Ltd ウォッチドッグ・タイマ回路
US4639921A (en) * 1985-01-09 1987-01-27 Sytek, Inc. Method and an apparatus for early bit collision detection
US4727549A (en) * 1985-09-13 1988-02-23 United Technologies Corporation Watchdog activity monitor (WAM) for use wth high coverage processor self-test
JPH0795291B2 (ja) * 1986-01-13 1995-10-11 沖電気工業株式会社 ウオツチドツグタイマ
US5043984A (en) * 1987-04-14 1991-08-27 Japan Electronic Control Systems Co., Ltd. Method and system for inspecting microprocessor-based unit and/or component thereof
US4866713A (en) * 1987-11-02 1989-09-12 Motorola, Inc. Operational function checking method and device for microprocessors
US5210758A (en) * 1988-06-13 1993-05-11 Unisys Corporation Means and method for detecting and correcting microinstruction errors
US5012435A (en) * 1988-11-17 1991-04-30 International Business Machines Corporation Multiple event timer circuit
US5040178A (en) * 1989-05-12 1991-08-13 Chrysler Corporation Method of fault protection for a microcomputer system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008087573A (ja) * 2006-09-29 2008-04-17 Matsushita Electric Ind Co Ltd 車両電源制御装置
JP2008152544A (ja) * 2006-12-18 2008-07-03 Hitachi Ltd 制御用マイクロコンピュータの検証装置および車載用制御装置
US8522081B2 (en) 2008-11-13 2013-08-27 Fujitsu Semiconductor Limited Microcomputer outputting failure detection result
US10162695B2 (en) 2014-06-19 2018-12-25 Canon Kabushiki Kaisha Information processing apparatus and fault diagnosis method

Also Published As

Publication number Publication date
DE4220723C2 (de) 1998-01-29
DE4220723A1 (de) 1993-01-21
US5408645A (en) 1995-04-18

Similar Documents

Publication Publication Date Title
JPH052654A (ja) マイクロコンピユータの故障検知方法および回路
EP0461792B1 (en) Master/slave checking system
US4967347A (en) Multiple-redundant fault detection system and related method for its use
US5423024A (en) Fault tolerant processing section with dynamically reconfigurable voting
US9052887B2 (en) Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode
US5068851A (en) Apparatus and method for documenting faults in computing modules
US4594685A (en) Watchdog timer
US6061810A (en) Computer system with error handling before reset
US4849979A (en) Fault tolerant computer architecture
JP4987182B2 (ja) コンピュータシステム
US4493078A (en) Method and apparatus for testing a digital computer
US5020024A (en) Method and apparatus for detecting selected absence of digital logic synchronism
JPS63141139A (ja) 構成の変更が可能なコンピュータ
US4620302A (en) Programmable digital signal testing system
CN101349905A (zh) 引擎控制模块的双核体系结构
JPH0764817A (ja) 故障検出システム
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JP2001154875A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
CN101681287A (zh) 处理器动作检查系统及动作检查电路
US5440604A (en) Counter malfunction detection using prior, current and predicted parity
US7568138B2 (en) Method to prevent firmware defects from disturbing logic clocks to improve system reliability
JPH1115661A (ja) Cpuの自己診断方法
JP2668382B2 (ja) マイクロプログラムの試験のための擬似障害発生方法
JPH07114521A (ja) マルチマイクロコンピュータシステム
JPS6229820B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010710