JP4317672B2 - CPU abnormality monitoring device - Google Patents

CPU abnormality monitoring device Download PDF

Info

Publication number
JP4317672B2
JP4317672B2 JP2001177645A JP2001177645A JP4317672B2 JP 4317672 B2 JP4317672 B2 JP 4317672B2 JP 2001177645 A JP2001177645 A JP 2001177645A JP 2001177645 A JP2001177645 A JP 2001177645A JP 4317672 B2 JP4317672 B2 JP 4317672B2
Authority
JP
Japan
Prior art keywords
data
cpu
comparison
trigger
state
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.)
Expired - Fee Related
Application number
JP2001177645A
Other languages
Japanese (ja)
Other versions
JP2002366391A (en
Inventor
毅 平野
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries 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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2001177645A priority Critical patent/JP4317672B2/en
Publication of JP2002366391A publication Critical patent/JP2002366391A/en
Application granted granted Critical
Publication of JP4317672B2 publication Critical patent/JP4317672B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、CPU異常監視装置に関し、特に、ハードウェアロジック回路によってCPUの異常を監視するCPU異常監視装置に関する。
【0002】
【従来の技術】
宇宙搭載機器における液体ロケットエンジン等では、CPU(中央演算処理装置)が、燃料配管に設けられるバルブ等をある定められた順番とタイミングで開閉するシーケンス制御が行われる。
【0003】
このようなCPUは、宇宙放射線環境に曝されるため、地上よりも頻繁にビット反転が発生し、プログラムが暴走する可能性が高い。このため、宇宙搭載機器には、CPUの異常を監視するCPU異常監視装置が設けられる。
【0004】
図3は、CPUの異常を監視する従来の監視装置の説明図である。図3において、CPU17は、アドレスバス19、データバス18及び制御バス21により、RAM、ROM又は入出力ポート等の周辺回路20に接続される。また、制御バス21にはウォッチドッグタイマ( WDT)91が接続され、CPU17の異常を検出した場合にエラー信号ERRが出力される。
【0005】
図4は、CPU17がシーケンス制御を行う場合のタイムチャートである。シーケンス制御では、CPU17からデータバス18に、シーケンス状態(例えば、制御対象となるバルブの番号やその開度等)の遷移のトリガーとなるトリガーデータTRG1、TRG2等と、そのシーケンス状態を表わす状態データSEQ1、SEQ2等とが交互に出力される。
【0006】
また、CPU17からアドレスバス19に、トリガーデータTRG1、TRG2等及び状態データSEQ1、SEQ2等のそれぞれを特定するアドレスデータADRT1、ADRT2、ADRS1、ADRS2等が出力され、更に、CPU17から制御バス21に、フリーランするウォッチドッグタイマ91を所定周期でリセットするリセットパルスRSTが出力される。
【0007】
このCPU異常監視装置では、CPU17が正常に動作している場合は、ウォッチドッグタイマ91が所定時間(タイムアウト時間)を計数する前にリセットされるため、エラー信号ERRが出力されることはない。
【0008】
一方、CPU17が暴走し、リセットパルスRSTが出力されなくなると、ウォッチドッグタイマ91がタイムアウトし、エラー信号ERRが出力されてCPU17の異常が外部に通知される。
【0009】
図5は、従来の他のCPU異常監視装置の説明図である。この場合は、CPU17からアドレスバス19に出力されるアドレスデータを監視することにより、CPU17の異常が監視される。
【0010】
図5において、CPU17と周辺回路20とはアドレスバス19、データバス18及び制御バス21で接続され、比較回路93と設定回路94とで構成されるアドレス監視回路95が、アドレスバス19と制御バス21とに接続される。
【0011】
比較回路93は、アドレスバス19により伝送されるアドレスデータが、設定回路94で設定されたメモリ空間内のアドレスか否かを常時監視し、アドレスデータが未定義エリアのアドレスを示した場合に、CPU17で誤動作が発生したものとしてエラー信号ERRを出力する。なお、アドレス監視回路95は、アドレスインバリッド検出回路とも呼ばれている。
【0012】
【発明が解決しようとする課題】
このように、図3に示した従来のCPU異常監視装置では、例えば、CPU17のプログラムカウンタやスタックポインタ等の制御用レジスタがビット反転を起こし、プログラムが暴走してウォッチドッグタイマ91にリセットパルスRSTが供給されない場合を検出することができる。
【0013】
また、図5に示した従来のCPU異常監視装置では、プログラムが暴走してアドレスデータが予め設定されたメモリ空間のアドレスを超えた場合を検出することができる。
【0014】
しかしながら、これらの従来のCPU異常監視装置では、アキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転によるCPU17の異常を検出することができない。なぜなら、これらの場合は、CPU17のプログラムが暴走することはなく、また、アドレスデータも予め設定されたメモリ空間内のアドレスを示すためである。
【0015】
即ち、従来のCPU異常監視装置では、CPU17の演算エラー等によるビット反転により、制御対象が不適切なシーケンス遷移を起こす場合を検出することができず、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生し、かつ高い信頼性が要求される機器の異常を十分に検出することができない。
【0016】
そこで、本発明の目的は、アキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができるCPU異常監視装置を提供することにある。
【0017】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、シーケンス状態を順次遷移させてシーケンス制御を行うCPUの異常を監視するCPU異常監視装置において、CPUとデータバスにより接続され、シーケンス状態の遷移のトリガーとなるトリガーデータの有効性を判定するトリガーデータ有効性判定手段と、CPUとデータバスにより接続され、シーケンス状態を示す状態データの有効性を判定する状態データ有効性判定手段と、CPUとアドレスバスにより接続され、トリガーデータ有効性判定手段及び状態データ有効性判定手段を交互に活性化するデコーダとを有することを特徴とする。
【0018】
本発明によれば、トリガーデータ有効性判定手段と状態データ有効性判定手段とにより、CPUにおける演算エラーやデータのビット反転を直接監視しているため、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生する機器の異常を正確に検出することができる。
【0019】
また、上記の発明における好ましい態様として、トリガーデータ有効性判定手段は、トリガーデータに対する比較データを保持するトリガーデータ設定手段と、トリガーデータと比較データとを比較し、トリガーデータと比較データとが一致しなければエラー信号を出力する比較手段とを有し、トリガーデータ設定手段は、トリガーデータの所定ビットに対する第1の比較データを保持するトリガーデータ有効性設定回路と、トリガーデータの他の所定ビットに対する第2の比較データを保持するトリガーデータビットパターン設定回路とを有し、比較手段は、トリガーデータと第1の比較データとを比較する第1のコンパレータと、トリガーデータと第2の比較データとを比較する第2のコンパレータとを有することを特徴とする。
【0020】
更に、上記の発明における好ましい態様として、状態データ有効性判定手段は、状態データに対する比較データを保持する状態データ設定手段と、状態データと比較データとを比較し、状態データと比較データとが一致しなければエラー信号を出力する比較手段とを有し、状態データ設定手段は、状態データの所定ビットに対する第1の比較データを保持する状態データ有効性設定回路と、状態データの他の所定ビットに対する第2の比較データを保持し、トリガーデータと第2の比較データとを比較する第2のコンパレータからの遷移信号によりビットパターンの設定を変更可能な状態データビットパターン設定回路とを有し、比較手段は、状態データと第1の比較データとを比較する第1のコンパレータと、状態データと第2の比較データとを比較する第2のコンパレータとを有することを特徴とする。
【0021】
本発明によれば、トリガーデータ設定手段及び状態データ設定手段により設定された比較データと、CPUにおける演算データの一部を直接比較しているため、CPU内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるCPUの異常を正確に検出することができる。
【0022】
また、本発明では、演算データを、トリガーデータ設定手段及び状態データ設定手段等のハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【0023】
更に、本発明は、ハードウェアによる異常監視であることから、リアルタイムかつ高速にCPUの異常を監視することができ、特に高速なシーケンス制御を行う電子機器の異常を迅速に検出することができる。
【0024】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0025】
図1は、本発明の実施の形態のCPU異常監視装置の構成図である。本実施の形態のCPU異常監視装置37は、CPU17と周辺回路20とを接続するデータバス18とアドレスバス19とに接続され、CPU17の演算エラー等によるデータのビット反転を検出することができる。
【0026】
本実施の形態のCPU異常監視装置37は、アドレス信号をデコードしてチップセレクト信号を出力するデコーダ29と、トリガーデータの有効性判定における比較データ(第1の比較データ)を設定するトリガーデータ有効性設定回路22と、トリガーデータの下位ビットパターン判定における比較データ(第2の比較データ)を設定するトリガーデータ下位ビットパターン設定回路25と、トリガーデータ有効性設定回路22及びトリガーデータ下位ビットパターン設定回路25の比較データと、データバス18のデータとを比較するコンパレータ23,26とを有する。
【0027】
また、本実施の形態のCPU異常監視装置37は、状態データの有効性判定における比較データ(第1の比較データ)を設定する状態データ有効性設定回路31と、状態データの下位ビットパターン判定における比較データ(第2の比較データ)を設定し、トリガーデータと第2の比較データとを比較する第2のコンパレータからの遷移信号によりビットパターンの設定を変更可能な状態データ下位ビットパターン設定回路34と、状態データ有効性設定回路31及び状態データ下位ビットパターン設定回路34の比較データと、データバス18のデータとを比較するコンパレータ32,35とを有する。
【0028】
本実施の形態のCPU故障監視装置37では、CPU17と周辺回路20とを結ぶデータバス18から、シーケンス状態の遷移のトリガーとなるトリガーデータと、シーケンス状態を示す状態データとを取り出し、それらのデータをプログラムの一部をハードウェアロジックで実現した各設定回路22、25、31、34の比較データと比較し、トリガーデータ又は状態データが比較データと異なる場合にCPU17の異常を検出する。
【0029】
このため、CPU17におけるアキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生し、かつ、高い信頼性が要求される機器において、CPU17の異常を迅速に検出し、宇宙搭載機器の信頼性を向上することができる。
【0030】
次に、本実施の形態のCPU異常監視装置における異常監視処理を、図2に示す処理フローチャートにより説明する。本実施の形態のCPU異常監視装置37では、異常監視処理が開始されると、まず、コンパレータ23において、シーケンス状態の遷移のトリガーとなるトリガーデータの有効性が判定される(ステップS1)。
【0031】
シーケンス状態が遷移する場合は、図4に示したように、CPU17からデータバス18に、その遷移のトリガーとなるトリガーデータTRG1等が出力され、アドレスバス19に、そのトリガーデータTRG1等を特定するアドレスデータADRT1等が出力される。
【0032】
トリガーデータTRG1等は、例えば、8ビットの場合、
「0000xxxx」 … 式1
のように、上位4ビットが「0」に設定されている。なお、式1の「x」は「0」又は「1」を示す。
【0033】
図4に示すように、データバス18にトリガーデータTRG1等が出力される時は、アドレスバス19にトリガーデータTRG1等を特定するアドレスデータADRT1等が出力されるため、デコーダ29は、アドレスデータADRT1等をデコードして、トリガーデータTRG1等の有効性を判定するコンパレータ23をチップセレクトすることができる。
【0034】
一方、トリガーデータ有効性設定回路22には、予め、トリガーデータの有効性を判断するための比較データが設定されている。比較データは、トリガーデータTRG1等に対応して、
「0000xxxx」 … 式2
のように、上位4ビットが「0」に設定されている。
【0035】
コンパレータ23は、チップセレクトされると、データバス18から取り込んだトリガーデータTRG1等の上位4ビットと、トリガーデータ有効性設定回路22において設定された比較データの上位4ビットとを比較する。
【0036】
そして、トリガーデータTRG1の上位4ビットが、比較データの上位4ビットと一致しなければ、エラー信号ERR1を出力し、CPU17の異常を外部に通知する(ステップS2)。
【0037】
一方、トリガーデータTRG1等の上位4ビットが、比較データの上位4ビットと一致すれば、コンパレータ23は一致信号AGR1を出力し、コンパレータ26をチップセレクトして、次のトリガーデータ下位ビットパターンの判定を行う(ステップS3)。
【0038】
この場合、トリガーデータ下位ビットパターン設定回路25には、予め、トリガーデータの下位4ビットの有効性を判断するための比較データが設定されている。この比較データは、トリガーデータがどのようなシーケンス状態の遷移に対応するかにより、例えば、そのトリガーデータがシーケンス状態の遷移を発生させず定常状態を維持するものであれば、
「xxxx1000」 … 式3
のように設定され、そのトリガーデータが遷移Aに対応するものであれば、
「xxxx0100」 … 式4
のように設定され、そのトリガーデータが遷移Bに対応するものであれば、
「xxxx0010」 … 式5
のように設定され、そのトリガーデータが遷移Cに対応するものであれば、
「xxxx0001」 … 式6
のように設定されている。
【0039】
コンパレータ26は、コンパレータ23によりチップセレクトされると、データバス18から取り入れたトリガーデータTRG1等の下位4ビットと、トリガーデータ下位ビットパターン設定回路25において設定された比較データとを比較する。
【0040】
そして、トリガーデータTRG1等の下位4ビットが、比較データの下位4ビットと一致しなければ、エラー信号ERR2を出力し、CPU17の異常を外部に通知する(ステップS4)。
【0041】
一方、トリガーデータTRG1等の下位4ビットが、定常状態を示す比較データの下位4ビットと一致すれば、コンパレータ26は、定常状態を示す信号NORを出力し、トリガーデータTRG1の下位4ビットが、比較データの遷移A乃至遷移Cを示す下位4ビットと一致すれば、状態データ下位ビットパターン設定回路34に遷移A乃至遷移Cに対応する遷移信号TRAを出力する。
【0042】
この状態データ下位ビットパターン設定回路34には、予め、シーケンスの定常状態を示す比較データが、例えば、
「xxxx0001」 … 式7
のように設定されている。そして、コンパレータ26から遷移信号TRAが入力されると、その比較データは、例えば、遷移A乃至遷移Cに対応して、
「xxxx0010」 … 式8
「xxxx0011」 … 式9
「xxxx0100」 … 式10
のように再設定される(ステップS5)。
【0043】
次に、コンパレータ32おいて、CPU17からデータバス18に出力される状態データの有効性の判定が行われる(ステップS6)。
【0044】
CPU17がシーケンス制御を行う場合、図4に示したように、データバス18には、そのシーケンス状態を示す状態データSEQ1等が出力され、アドレスバス19に、その状態データSEQ1等を特定するアドレスデータADRS1等が出力される。
【0045】
状態データSEQ1等は、例えば、8ビットの場合、トリガーデータTRG1等と同様に、
「0000xxxx」 … 式11
のように、上位4ビットが「0」に設定されている。
【0046】
この場合、アドレスバス19には、状態データSEQ1等を特定するアドレスデータADRS1等が出力されるため、デコーダ29は、アドレスデータADRS1等をデコードしてコンパレータ32をチップセレクトすることができる。
【0047】
一方、状態データ有効性設定回路31には、予め、状態データの有効性を判断するための比較データが設定されている。この比較データは、状態データに対応して、
「0000xxxx」 … 式12
のように、上位4ビットが「0」に設定されている。
【0048】
コンパレータ32は、チップセレクトされると、データバス18から取り込んだ状態データSEQ1等の上位4ビットと、状態データ有効性設定回路31において設定された比較データの上位4ビットとを比較する。
【0049】
そして、状態データSEQ1等の上位4ビットが、比較データの上位4ビットと一致しなければ、エラー信号ERR3を出力し、CPU17の異常を外部に通知する(ステップS7)。
【0050】
一方、状態データSEQ1等の上位4ビットが、比較データの上位4ビットと一致すれば、コンパレータ32は、コンパレータ35をチップセレクトし、次の状態データ下位ビットパターンの判定を行う(ステップS8)。
【0051】
前述のように、状態データ下位ビットパターン設定回路34には、予め、状態データの下位4ビットの有効性を判定するための比較データが設定されている。即ち、この比較データは、シーケンス状態が定常状態を維持するものであれば、
「xxxx0001」 … 式13
が設定されており、シーケンス状態が遷移Aを起こす場合は、
「xxxx0010」 … 式14
のように再設定されており、シーケンス状態が遷移Bを起こす場合は、
「xxxx0011」 … 式15
のように再設定されており、シーケンス状態が遷移Cを起こす場合は、
「xxxx0100」 … 式16
のように再設定されている。
【0052】
コンパレータ35は、コンパレータ32によりチップセレクトされると、データバス18から取り入れた状態データSEQ1等の下位4ビットと、状態データ下位ビットパターン設定回路34において設定された比較データとを比較する。
【0053】
そして、状態データSEQ1等の下位4ビットが、比較データの下位4ビットと一致しなければ、エラー信号ERR4を出力し、CPU17の異常を外部に通知する(ステップS9)。
【0054】
一方、状態データSEQ1等の下位4ビットが、定常状態を示す比較データの下位4ビット、または、遷移A乃至遷移Cを示す比較データの下位4ビットと一致すれば、一致信号AGR3を出力してシーケンス制御が正常に動作していることを外部等に通知する。
【0055】
そして、監視処理を継続するか否かを判断し(ステップS10)、監視処理を継続する場合(Yes)は、ステップS1に戻り、次のトリガーデータの有効性を判定する。一方、監視処理を継続しない場合(No)は、処理を終了する。
【0056】
このように本実施の形態のCPU異常監視装置は、演算データの一部を直接監視しているため、CPU17内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるCPUの異常を正確に検出することができる。
【0057】
また、本実施の形態のCPU異常監視装置は、演算データをハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【0058】
更に、本実施の形態のCPU異常監視装置は、ハードウェアによるCPU異常監視であることから、リアルタイムかつ高速な監視を行うことが可能であり、特に高速なシーケンス制御を行う電子機器のCPU異常を迅速に検出することができる。
【0059】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【0060】
【発明の効果】
以上、本発明によれば、トリガーデータ設定手段及び状態データ設定手段により設定された比較データと、CPUにおける演算データの一部を直接比較しているため、CPU内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるCPUの異常を正確に検出することができる。
【0061】
また、演算データを、トリガーデータ設定手段及び状態データ設定手段等のハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【0062】
更に、ハードウェアによる異常監視であることから、リアルタイムかつ高速にCPUの異常を監視することができ、特に高速なシーケンス制御を行う電子機器の異常を迅速に検出することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のCPU異常監視装置の構成図である。
【図2】本発明の実施の形態のCPU異常監視装置の処理フローチャートである。
【図3】従来のCPU異常監視装置の説明図である。
【図4】シーケンス制御のタイムチャートである。
【図5】従来のCPU異常監視装置の説明図である。
【符号の説明】
17 CPU
18 データバス
19 アドレスバス
20 周辺回路
21 制御バス
22 トリガーデータ有効性設定回路
23,26,32,35 コンパレータ
25 トリガーデータ下位ビットパターン設定回路
29 デコーダ
31 状態データ有効性設定回路
34 状態データ下位ビットパターン設定回路
37 CPU異常監視装置
91 ウォッチドッグタイマ(WDT)
93 比較回路
94 設定回路
95 アドレス監視回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a CPU abnormality monitoring apparatus, and more particularly to a CPU abnormality monitoring apparatus that monitors a CPU abnormality by a hardware logic circuit.
[0002]
[Prior art]
In a liquid rocket engine or the like in a space-borne device, a sequence control is performed in which a CPU (Central Processing Unit) opens and closes a valve or the like provided in a fuel pipe in a predetermined order and timing.
[0003]
Since such a CPU is exposed to a space radiation environment, bit inversion occurs more frequently than on the ground, and the program is likely to run away. For this reason, the space-borne equipment is provided with a CPU abnormality monitoring device that monitors CPU abnormality.
[0004]
FIG. 3 is an explanatory diagram of a conventional monitoring apparatus that monitors a CPU abnormality. In FIG. 3, the CPU 17 is connected to a peripheral circuit 20 such as a RAM, a ROM, or an input / output port by an address bus 19, a data bus 18 and a control bus 21. A watchdog timer (WDT) 91 is connected to the control bus 21 and an error signal ERR is output when an abnormality of the CPU 17 is detected.
[0005]
FIG. 4 is a time chart when the CPU 17 performs sequence control. In the sequence control, the CPU 17 sends trigger data TRG1, TRG2, etc. that trigger the transition of the sequence state (for example, the number of the valve to be controlled and its opening degree) from the CPU 17 to the data bus 18, and the state data representing the sequence state. SEQ1, SEQ2, etc. are output alternately.
[0006]
Further, the CPU 17 outputs address data ADRT1, ADRT2, ADRS1, ADRS2, etc. for specifying the trigger data TRG1, TRG2, etc. and the status data SEQ1, SEQ2, etc. to the address bus 19, and further, the CPU 17 sends to the control bus 21. A reset pulse RST for resetting the free-running watchdog timer 91 at a predetermined cycle is output.
[0007]
In this CPU abnormality monitoring device, when the CPU 17 is operating normally, the watchdog timer 91 is reset before counting a predetermined time (timeout time), so that the error signal ERR is not output.
[0008]
On the other hand, when the CPU 17 runs away and the reset pulse RST is not output, the watchdog timer 91 times out, the error signal ERR is output, and the CPU 17 is notified of the abnormality.
[0009]
FIG. 5 is an explanatory diagram of another conventional CPU abnormality monitoring apparatus. In this case, the abnormality of the CPU 17 is monitored by monitoring the address data output from the CPU 17 to the address bus 19.
[0010]
In FIG. 5, a CPU 17 and a peripheral circuit 20 are connected by an address bus 19, a data bus 18, and a control bus 21, and an address monitoring circuit 95 including a comparison circuit 93 and a setting circuit 94 is connected to the address bus 19 and the control bus. 21.
[0011]
The comparison circuit 93 constantly monitors whether the address data transmitted by the address bus 19 is an address in the memory space set by the setting circuit 94, and when the address data indicates an address of an undefined area, An error signal ERR is output as a malfunction of the CPU 17. The address monitoring circuit 95 is also called an address invalid detection circuit.
[0012]
[Problems to be solved by the invention]
As described above, in the conventional CPU abnormality monitoring apparatus shown in FIG. 3, for example, the control register such as the program counter or stack pointer of the CPU 17 causes bit inversion, the program runs out of control, and the reset pulse RST is sent to the watchdog timer 91. Can be detected.
[0013]
In the conventional CPU abnormality monitoring apparatus shown in FIG. 5, it is possible to detect a case where the program runs away and the address data exceeds an address in a preset memory space.
[0014]
However, these conventional CPU abnormality monitoring devices cannot detect an operation error of an operation register such as an accumulator or an abnormality of the CPU 17 due to bit inversion of data in a user area on a memory map. This is because in these cases, the program of the CPU 17 does not run out of control, and the address data also indicates an address in a preset memory space.
[0015]
That is, in the conventional CPU abnormality monitoring device, it is impossible to detect a case where the control target causes an inappropriate sequence transition due to a bit inversion due to a calculation error of the CPU 17, etc., and it is exposed to the space radiation environment like a space-borne device. Thus, bit inversion occurs more frequently than on the ground, and it is not possible to sufficiently detect an abnormality in a device that requires high reliability.
[0016]
SUMMARY OF THE INVENTION An object of the present invention is to provide a CPU abnormality monitoring device that can detect an operation error of an operation register such as an accumulator or a bit inversion of data in a user area on a memory map.
[0017]
[Means for Solving the Problems]
In order to achieve the above object, according to one aspect of the present invention, in a CPU abnormality monitoring apparatus that monitors abnormality of a CPU that performs sequence control by sequentially changing sequence states, the CPU is connected to the CPU by a data bus, Trigger data validity determination means for determining the validity of trigger data that triggers the transition of the state, state data validity determination means for determining the validity of the state data connected to the CPU and the data bus and indicating the sequence state, A decoder is connected to the CPU by an address bus and alternately activates trigger data validity determination means and state data validity determination means.
[0018]
According to the present invention, since the trigger data validity judgment unit and the state data validity judgment unit directly monitor the calculation error and the bit inversion of the data in the CPU, the trigger data validity judgment unit and the state data validity judgment unit are exposed to the space radiation environment like a space-borne device. Therefore, it is possible to accurately detect an abnormality in a device in which bit inversion occurs more frequently than on the ground.
[0019]
Further, as a preferable aspect in the above invention, the trigger data validity determination unit compares the trigger data and the comparison data with the trigger data setting unit that holds comparison data with respect to the trigger data, and the trigger data and the comparison data match. If not, the trigger data setting means includes a trigger data validity setting circuit for holding first comparison data for a predetermined bit of the trigger data, and another predetermined bit of the trigger data. A trigger data bit pattern setting circuit for holding second comparison data for the first comparison data, the comparison means, a first comparator for comparing the trigger data and the first comparison data, the trigger data and the second comparison data And a second comparator for comparing.
[0020]
Furthermore, as a preferable aspect in the above invention, the state data validity determination unit compares the state data and the comparison data with the state data setting unit that holds the comparison data for the state data, and the state data and the comparison data match. If not, a comparator means for outputting an error signal is provided. The status data setting means has a status data validity setting circuit for holding first comparison data for a predetermined bit of the status data, and another predetermined bit of the status data. A state data bit pattern setting circuit capable of holding a second comparison data with respect to and changing a bit pattern by a transition signal from a second comparator for comparing the trigger data and the second comparison data, The comparing means includes a first comparator for comparing the state data and the first comparison data, and the state data and the second comparison data. And having a second comparator for comparing.
[0021]
According to the present invention, the comparison data set by the trigger data setting means and the state data setting means is directly compared with a part of the calculation data in the CPU. It is possible to detect bit inversion of data in the user area on the map, and in particular, it is possible to accurately detect CPU anomalies in an environment where bit inversion occurs more frequently than the ground due to radiation, such as outer space.
[0022]
In the present invention, the operation data is compared with comparison data set by hardware logic such as trigger data setting means and status data setting means, and the operation of the program is monitored, so that the reliability of software is improved. be able to.
[0023]
Further, since the present invention is hardware abnormality monitoring, it is possible to monitor CPU abnormality in real time and at high speed, and particularly to quickly detect abnormality of electronic equipment that performs high-speed sequence control.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. However, such an embodiment does not limit the technical scope of the present invention.
[0025]
FIG. 1 is a configuration diagram of a CPU abnormality monitoring apparatus according to an embodiment of the present invention. The CPU abnormality monitoring device 37 according to the present embodiment is connected to the data bus 18 and the address bus 19 that connect the CPU 17 and the peripheral circuit 20, and can detect bit inversion of data due to an operation error of the CPU 17.
[0026]
The CPU abnormality monitoring device 37 according to the present embodiment includes a decoder 29 that decodes an address signal and outputs a chip select signal, and trigger data validity that sets comparison data (first comparison data) in trigger data validity determination. , The trigger data lower bit pattern setting circuit 25 for setting comparison data (second comparison data) in the lower bit pattern determination of the trigger data, the trigger data validity setting circuit 22 and the trigger data lower bit pattern setting. Comparators 23 and 26 that compare the comparison data of the circuit 25 and the data of the data bus 18 are provided.
[0027]
In addition, the CPU abnormality monitoring device 37 of the present embodiment includes a state data validity setting circuit 31 for setting comparison data (first comparison data) in the determination of the validity of the state data, and a lower bit pattern determination of the state data. State data lower bit pattern setting circuit 34 that sets the comparison data (second comparison data) and can change the bit pattern setting by the transition signal from the second comparator that compares the trigger data and the second comparison data. And comparators 32 and 35 for comparing the comparison data of the state data validity setting circuit 31 and the state data lower bit pattern setting circuit 34 with the data of the data bus 18.
[0028]
In the CPU failure monitoring device 37 according to the present embodiment, the trigger data that triggers the transition of the sequence state and the state data that indicates the sequence state are extracted from the data bus 18 that connects the CPU 17 and the peripheral circuit 20, and these data are extracted. Is compared with the comparison data of the setting circuits 22, 25, 31, and 34 in which a part of the program is realized by hardware logic, and when the trigger data or the state data is different from the comparison data, an abnormality of the CPU 17 is detected.
[0029]
For this reason, it is possible to detect an operation error of an operation register such as an accumulator in the CPU 17 or a bit inversion of data in a user area on a memory map, and it is exposed to the space radiation environment like a space-borne device and is more than the ground. In equipment where bit inversion frequently occurs and high reliability is required, it is possible to quickly detect an abnormality in the CPU 17 and improve the reliability of the space-borne equipment.
[0030]
Next, the abnormality monitoring process in the CPU abnormality monitoring apparatus of the present embodiment will be described with reference to the process flowchart shown in FIG. In the CPU abnormality monitoring device 37 of the present embodiment, when the abnormality monitoring process is started, first, the comparator 23 determines the validity of trigger data serving as a trigger for sequence state transition (step S1).
[0031]
When the sequence state transitions, as shown in FIG. 4, trigger data TRG1 or the like that triggers the transition is output from the CPU 17 to the data bus 18, and the trigger data TRG1 or the like is specified on the address bus 19. Address data ADRT1 and the like are output.
[0032]
The trigger data TRG1 etc. is, for example, 8 bits,
"0000xxxx" ... Formula 1
As shown, the upper 4 bits are set to “0”. Note that “x” in Equation 1 represents “0” or “1”.
[0033]
As shown in FIG. 4, when the trigger data TRG1 or the like is output to the data bus 18, the address data ADRT1 or the like for specifying the trigger data TRG1 or the like is output to the address bus 19, so that the decoder 29 receives the address data ADRT1. Etc., and the comparator 23 that determines the validity of the trigger data TRG1 can be chip-selected.
[0034]
On the other hand, the trigger data validity setting circuit 22 is previously set with comparison data for determining the validity of the trigger data. The comparison data corresponds to the trigger data TRG1 etc.
"0000xxxx" ... Formula 2
As shown, the upper 4 bits are set to “0”.
[0035]
When the chip is selected, the comparator 23 compares the upper 4 bits of the trigger data TRG1 and the like fetched from the data bus 18 with the upper 4 bits of the comparison data set in the trigger data validity setting circuit 22.
[0036]
If the upper 4 bits of the trigger data TRG1 do not match the upper 4 bits of the comparison data, an error signal ERR1 is output to notify the CPU 17 of the abnormality (step S2).
[0037]
On the other hand, if the upper 4 bits of the trigger data TRG1 and the like match the upper 4 bits of the comparison data, the comparator 23 outputs a match signal AGR1, chip-selects the comparator 26, and determines the next trigger data lower bit pattern. Is performed (step S3).
[0038]
In this case, the trigger data lower bit pattern setting circuit 25 is set in advance with comparison data for determining the validity of the lower 4 bits of the trigger data. This comparison data is based on what sequence state transition the trigger data corresponds to, for example, if the trigger data maintains a steady state without causing a sequence state transition,
"Xxxx1000" ... Formula 3
If the trigger data corresponds to transition A,
“Xxxx0100” (Formula 4)
If the trigger data corresponds to transition B,
"Xxxx0010" ... Formula 5
If the trigger data corresponds to transition C,
"Xxxx0001" ... Formula 6
It is set like this.
[0039]
When the chip is selected by the comparator 23, the comparator 26 compares the lower 4 bits such as the trigger data TRG1 taken from the data bus 18 with the comparison data set in the trigger data lower bit pattern setting circuit 25.
[0040]
If the lower 4 bits of the trigger data TRG1 and the like do not match the lower 4 bits of the comparison data, an error signal ERR2 is output to notify the CPU 17 of the abnormality (step S4).
[0041]
On the other hand, if the lower 4 bits of the trigger data TRG1 and the like match the lower 4 bits of the comparison data indicating the steady state, the comparator 26 outputs a signal NOR indicating the steady state, and the lower 4 bits of the trigger data TRG1 If it matches the lower 4 bits indicating transition A to transition C of the comparison data, the transition signal TRA corresponding to transition A to transition C is output to the state data lower bit pattern setting circuit 34.
[0042]
In this state data lower bit pattern setting circuit 34, comparison data indicating the steady state of the sequence is stored in advance, for example,
“Xxxx0001” (7)
It is set like this. When the transition signal TRA is input from the comparator 26, the comparison data corresponds to, for example, the transition A to the transition C,
"Xxxx0010" ... Formula 8
"Xxxx0011" ... Formula 9
“Xxxx0100” (Formula 10)
(Step S5).
[0043]
Next, the validity of the state data output from the CPU 17 to the data bus 18 is determined in the comparator 32 (step S6).
[0044]
When the CPU 17 performs the sequence control, as shown in FIG. 4, the status data SEQ1 indicating the sequence status is output to the data bus 18, and the address data specifying the status data SEQ1 etc. is output to the address bus 19. ADRS1 etc. are output.
[0045]
For example, in the case of 8-bit status data SEQ1 etc., as with trigger data TRG1 etc.,
"0000xxxx" ... Equation 11
As shown, the upper 4 bits are set to “0”.
[0046]
In this case, since the address data ADRS1 and the like for specifying the state data SEQ1 and the like are output to the address bus 19, the decoder 29 can chip-select the comparator 32 by decoding the address data ADRS1 and the like.
[0047]
On the other hand, in the state data validity setting circuit 31, comparison data for determining the validity of the state data is set in advance. This comparison data corresponds to the state data,
"0000xxxx" ... Formula 12
As shown, the upper 4 bits are set to “0”.
[0048]
When the chip is selected, the comparator 32 compares the upper 4 bits of the status data SEQ1 and the like fetched from the data bus 18 with the upper 4 bits of the comparison data set in the status data validity setting circuit 31.
[0049]
If the upper 4 bits of the status data SEQ1 and the like do not coincide with the upper 4 bits of the comparison data, an error signal ERR3 is output to notify the CPU 17 of the abnormality (step S7).
[0050]
On the other hand, if the upper 4 bits of the status data SEQ1 and the like match the upper 4 bits of the comparison data, the comparator 32 chip-selects the comparator 35 and determines the next status data lower bit pattern (step S8).
[0051]
As described above, in the status data lower bit pattern setting circuit 34, comparison data for determining the validity of the lower 4 bits of the status data is set in advance. That is, if this comparison data is what the sequence state maintains a steady state,
"Xxxx0001" ... Formula 13
Is set and the sequence state causes transition A,
"Xxxx0010" ... Formula 14
If the sequence state causes transition B,
"Xxxx0011" ... Formula 15
If the sequence state causes transition C,
“Xxxx0100” (Formula 16)
It has been reset like.
[0052]
When the chip is selected by the comparator 32, the comparator 35 compares the lower 4 bits of the status data SEQ1 taken from the data bus 18 with the comparison data set in the status data lower bit pattern setting circuit 34.
[0053]
If the lower 4 bits of the status data SEQ1 and the like do not match the lower 4 bits of the comparison data, an error signal ERR4 is output to notify the CPU 17 of the abnormality (step S9).
[0054]
On the other hand, if the lower 4 bits of the state data SEQ1 and the like match the lower 4 bits of the comparison data indicating the steady state or the lower 4 bits of the comparison data indicating the transitions A to C, the match signal AGR3 is output. Notify the outside etc. that the sequence control is operating normally.
[0055]
Then, it is determined whether or not to continue the monitoring process (step S10). If the monitoring process is continued (Yes), the process returns to step S1 to determine the validity of the next trigger data. On the other hand, if the monitoring process is not continued (No), the process ends.
[0056]
As described above, since the CPU abnormality monitoring apparatus of this embodiment directly monitors a part of the operation data, the operation error in the operation register in the CPU 17 or the bit inversion of the data in the user area on the memory map is detected. In particular, it is possible to accurately detect a CPU abnormality in an environment where bit inversion occurs more frequently than the ground due to radiation, such as in outer space.
[0057]
In addition, since the CPU abnormality monitoring apparatus according to the present embodiment compares the operation data with comparison data set by hardware logic and monitors the operation of the program, the reliability of the software can be improved.
[0058]
Furthermore, since the CPU abnormality monitoring apparatus according to the present embodiment is a CPU abnormality monitoring by hardware, it is possible to perform real-time and high-speed monitoring. Especially, the CPU abnormality of an electronic device that performs high-speed sequence control is detected. It can be detected quickly.
[0059]
The protection scope of the present invention is not limited to the above-described embodiment, but covers the invention described in the claims and equivalents thereof.
[0060]
【The invention's effect】
As described above, according to the present invention, since the comparison data set by the trigger data setting unit and the state data setting unit is directly compared with a part of the calculation data in the CPU, the calculation error in the calculation register in the CPU It is possible to detect bit inversion of data in the user area on the memory map, and in particular, to accurately detect CPU anomalies in an environment where bit inversion occurs more frequently than the ground due to radiation, such as in space. it can.
[0061]
Moreover, since the operation data is compared with the comparison data set by hardware logic such as the trigger data setting means and the state data setting means, and the operation of the program is monitored, the reliability of the software can be improved.
[0062]
Further, since the abnormality is monitored by hardware, it is possible to monitor the abnormality of the CPU in real time and at a high speed, and it is possible to quickly detect the abnormality of the electronic device that performs the high-speed sequence control.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a CPU abnormality monitoring apparatus according to an embodiment of this invention.
FIG. 2 is a processing flowchart of the CPU abnormality monitoring apparatus according to the embodiment of this invention.
FIG. 3 is an explanatory diagram of a conventional CPU abnormality monitoring apparatus.
FIG. 4 is a time chart of sequence control.
FIG. 5 is an explanatory diagram of a conventional CPU abnormality monitoring apparatus.
[Explanation of symbols]
17 CPU
18 Data bus
19 Address bus
20 Peripheral circuit
21 Control bus
22 Trigger data validity setting circuit
23,26,32,35 Comparator
25 Trigger data lower bit pattern setting circuit
29 Decoder
31 Status data validity setting circuit
34 Status data lower bit pattern setting circuit
37 CPU abnormality monitoring device
91 Watchdog timer (WDT)
93 Comparison circuit
94 Setting circuit
95 Address monitoring circuit

Claims (5)

シーケンス状態を順次遷移させてシーケンス制御を行うCPUの異常を監視するCPU異常監視装置において、
前記CPUとデータバスにより接続され、前記シーケンス状態の遷移のトリガーとなるトリガーデータの有効性を判定するトリガーデータ有効性判定手段と、
前記CPUとデータバスにより接続され、前記シーケンス状態を示す状態データの有効性を判定する状態データ有効性判定手段と、
前記CPUとアドレスバスにより接続され、前記トリガーデータ有効性判定手段及び前記状態データ有効性判定手段を交互に活性化するデコーダとを有することを特徴とするCPU異常監視装置。
In a CPU abnormality monitoring device that monitors abnormality of a CPU that performs sequence control by sequentially changing the sequence state,
Trigger data validity determination means that is connected to the CPU by a data bus and determines the validity of trigger data that triggers the transition of the sequence state;
State data validity determination means connected to the CPU by a data bus and determining the validity of the state data indicating the sequence state;
A CPU abnormality monitoring apparatus, comprising: a decoder connected to the CPU by an address bus and alternately activating the trigger data validity determination unit and the state data validity determination unit.
請求項1において、
前記トリガーデータ有効性判定手段は、前記トリガーデータに対する比較データを保持するトリガーデータ設定手段と、
前記トリガーデータと前記比較データとを比較し、前記トリガーデータと前記比較データとが一致しなければエラー信号を出力する比較手段とを有することを特徴とするCPU異常監視装置。
In claim 1,
The trigger data validity determination means includes trigger data setting means for holding comparison data for the trigger data;
A CPU anomaly monitoring apparatus comprising: comparing means for comparing the trigger data with the comparison data and outputting an error signal if the trigger data and the comparison data do not match.
請求項2において、
前記トリガーデータ設定手段は、前記トリガーデータの所定ビットに対する第1の比較データを保持するトリガーデータ有効性設定回路と、
前記トリガーデータの他の所定ビットに対する第2の比較データを保持するトリガーデータビットパターン設定回路とを有し、
前記比較手段は、前記トリガーデータと前記第1の比較データとを比較する第1のコンパレータと、前記トリガーデータと前記第2の比較データとを比較する第2のコンパレータとを有することを特徴とするCPU異常監視装置。
In claim 2,
The trigger data setting means includes a trigger data validity setting circuit that holds first comparison data for a predetermined bit of the trigger data;
A trigger data bit pattern setting circuit for holding second comparison data for other predetermined bits of the trigger data;
The comparison unit includes a first comparator that compares the trigger data and the first comparison data, and a second comparator that compares the trigger data and the second comparison data. CPU abnormality monitoring device.
請求項1において、
前記状態データ有効性判定手段は、前記状態データに対する比較データを保持する状態データ設定手段と、
前記状態データと前記比較データとを比較し、前記状態データと前記比較データとが一致しなければエラー信号を出力する比較手段とを有することを特徴とするCPU異常監視装置。
In claim 1,
The status data validity determination means includes status data setting means for holding comparison data for the status data;
A CPU abnormality monitoring apparatus comprising: comparing means for comparing the state data with the comparison data and outputting an error signal if the state data and the comparison data do not match.
請求項4において、
前記状態データ設定手段は、前記状態データの所定ビットに対する第1の比較データを保持する状態データ有効性設定回路と、
前記状態データの他の所定ビットに対する第2の比較データを保持する状態データビットパターン設定回路とを有し、
前記比較手段は、前記状態データと前記第1の比較データとを比較する第1のコンパレータと、前記状態データと前記第2の比較データとを比較する第2のコンパレータとを有することを特徴とするCPU異常監視装置。
In claim 4,
The status data setting means includes a status data validity setting circuit that holds first comparison data for a predetermined bit of the status data,
A state data bit pattern setting circuit for holding second comparison data for other predetermined bits of the state data,
The comparison means includes a first comparator that compares the state data with the first comparison data, and a second comparator that compares the state data with the second comparison data. CPU abnormality monitoring device.
JP2001177645A 2001-06-12 2001-06-12 CPU abnormality monitoring device Expired - Fee Related JP4317672B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001177645A JP4317672B2 (en) 2001-06-12 2001-06-12 CPU abnormality monitoring device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001177645A JP4317672B2 (en) 2001-06-12 2001-06-12 CPU abnormality monitoring device

Publications (2)

Publication Number Publication Date
JP2002366391A JP2002366391A (en) 2002-12-20
JP4317672B2 true JP4317672B2 (en) 2009-08-19

Family

ID=19018453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001177645A Expired - Fee Related JP4317672B2 (en) 2001-06-12 2001-06-12 CPU abnormality monitoring device

Country Status (1)

Country Link
JP (1) JP4317672B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4496205B2 (en) * 2006-12-18 2010-07-07 日立オートモティブシステムズ株式会社 Control microcomputer verification device and in-vehicle control device

Also Published As

Publication number Publication date
JP2002366391A (en) 2002-12-20

Similar Documents

Publication Publication Date Title
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
WO2012062023A1 (en) Bus monitor for improving system safety of system on chip (soc) and realizing method thereof
EP0461792A2 (en) Master/slave checking system
JPH052654A (en) Method and circuit for detecting fault of microcomputer
US5987585A (en) One-chip microprocessor with error detection on the chip
JP2009129301A (en) Self-diagnostic circuit and self-diagnostic method
JPH10333939A (en) Microprocessor
JP4317672B2 (en) CPU abnormality monitoring device
US11656964B2 (en) Processor with non-intrusive self-testing
KR102603835B1 (en) Method and apparatus for protecting the program counter structure of a processor system and monitoring processing of interrupt requests
JP2007011639A (en) Input/output control apparatus, information control apparatus, input/output control method, and information control method
JPH0736742A (en) Program operation monitoring circuit
JP2548378B2 (en) RAS check function inspection method
JP4044455B2 (en) Debug support device
JPS6362776B2 (en)
JPH0816434A (en) Runaway detection device
JP2002351696A (en) Debugging device
JP3009238B2 (en) Register failure detection device for microcomputer addition
US20050120348A1 (en) Method of determining information about the processes which run in a program-controlled unit during the execution of a program by the program-controlled unit
JPS592585Y2 (en) data processing equipment
JPH0652333A (en) Single chip microcomputer
JP2658342B2 (en) Data processing device
JPH05143197A (en) Arithmetic processor
JPH0471218B2 (en)
JP2005267349A (en) Processing module and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070313

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090525

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140529

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees