(57)【特許請求の範囲】
【請求項１】
シーケンス状態を順次遷移させてシーケンス制御を行うＣＰＵの異常を監視するＣＰＵ異常監視装置において、
前記ＣＰＵとデータバスにより接続され、前記シーケンス状態の遷移のトリガーとなるトリガーデータの有効性を判定するトリガーデータ有効性判定手段と、
前記ＣＰＵとデータバスにより接続され、前記シーケンス状態を示す状態データの有効性を判定する状態データ有効性判定手段と、
前記ＣＰＵとアドレスバスにより接続され、前記トリガーデータ有効性判定手段及び前記状態データ有効性判定手段を交互に活性化するデコーダとを有することを特徴とするＣＰＵ異常監視装置。
【請求項２】
請求項１において、
前記トリガーデータ有効性判定手段は、前記トリガーデータに対する比較データを保持するトリガーデータ設定手段と、
前記トリガーデータと前記比較データとを比較し、前記トリガーデータと前記比較データとが一致しなければエラー信号を出力する比較手段とを有することを特徴とするＣＰＵ異常監視装置。
【請求項３】
請求項２において、
前記トリガーデータ設定手段は、前記トリガーデータの所定ビットに対する第１の比較データを保持するトリガーデータ有効性設定回路と、
前記トリガーデータの他の所定ビットに対する第２の比較データを保持するトリガーデータビットパターン設定回路とを有し、
前記比較手段は、前記トリガーデータと前記第１の比較データとを比較する第１のコンパレータと、前記トリガーデータと前記第２の比較データとを比較する第２のコンパレータとを有することを特徴とするＣＰＵ異常監視装置。
【請求項４】
請求項１において、
前記状態データ有効性判定手段は、前記状態データに対する比較データを保持する状態データ設定手段と、
前記状態データと前記比較データとを比較し、前記状態データと前記比較データとが一致しなければエラー信号を出力する比較手段とを有することを特徴とするＣＰＵ異常監視装置。
【請求項５】
請求項４において、
前記状態データ設定手段は、前記状態データの所定ビットに対する第１の比較データを保持する状態データ有効性設定回路と、
前記状態データの他の所定ビットに対する第２の比較データを保持する状態データビットパターン設定回路とを有し、
前記比較手段は、前記状態データと前記第１の比較データとを比較する第１のコンパレータと、前記状態データと前記第２の比較データとを比較する第２のコンパレータとを有することを特徴とするＣＰＵ異常監視装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ異常監視装置に関し、特に、ハードウェアロジック回路によってＣＰＵの異常を監視するＣＰＵ異常監視装置に関する。
【０００２】
【従来の技術】
宇宙搭載機器における液体ロケットエンジン等では、ＣＰＵ（中央演算処理装置）が、燃料配管に設けられるバルブ等をある定められた順番とタイミングで開閉するシーケンス制御が行われる。
【０００３】
このようなＣＰＵは、宇宙放射線環境に曝されるため、地上よりも頻繁にビット反転が発生し、プログラムが暴走する可能性が高い。このため、宇宙搭載機器には、ＣＰＵの異常を監視するＣＰＵ異常監視装置が設けられる。
【０００４】
図３は、ＣＰＵの異常を監視する従来の監視装置の説明図である。図３において、ＣＰＵ１７は、アドレスバス１９、データバス１８及び制御バス２１により、ＲＡＭ、ＲＯＭ又は入出力ポート等の周辺回路２０に接続される。また、制御バス２１にはウォッチドッグタイマ（ ＷＤＴ）９１が接続され、ＣＰＵ１７の異常を検出した場合にエラー信号ERRが出力される。
【０００５】
図４は、ＣＰＵ１７がシーケンス制御を行う場合のタイムチャートである。シーケンス制御では、ＣＰＵ１７からデータバス１８に、シーケンス状態（例えば、制御対象となるバルブの番号やその開度等）の遷移のトリガーとなるトリガーデータTRG1、TRG2等と、そのシーケンス状態を表わす状態データSEQ1、SEQ2等とが交互に出力される。
【０００６】
また、ＣＰＵ１７からアドレスバス１９に、トリガーデータTRG1、TRG2等及び状態データSEQ1、SEQ2等のそれぞれを特定するアドレスデータADRT1、ADRT2、ADRS1、ADRS2等が出力され、更に、ＣＰＵ１７から制御バス２１に、フリーランするウォッチドッグタイマ９１を所定周期でリセットするリセットパルスRSTが出力される。
【０００７】
このＣＰＵ異常監視装置では、ＣＰＵ１７が正常に動作している場合は、ウォッチドッグタイマ９１が所定時間（タイムアウト時間）を計数する前にリセットされるため、エラー信号ERRが出力されることはない。
【０００８】
一方、ＣＰＵ１７が暴走し、リセットパルスRSTが出力されなくなると、ウォッチドッグタイマ９１がタイムアウトし、エラー信号ERRが出力されてＣＰＵ１７の異常が外部に通知される。
【０００９】
図５は、従来の他のＣＰＵ異常監視装置の説明図である。この場合は、ＣＰＵ１７からアドレスバス１９に出力されるアドレスデータを監視することにより、ＣＰＵ１７の異常が監視される。
【００１０】
図５において、ＣＰＵ１７と周辺回路２０とはアドレスバス１９、データバス１８及び制御バス２１で接続され、比較回路９３と設定回路９４とで構成されるアドレス監視回路９５が、アドレスバス１９と制御バス２１とに接続される。
【００１１】
比較回路９３は、アドレスバス１９により伝送されるアドレスデータが、設定回路９４で設定されたメモリ空間内のアドレスか否かを常時監視し、アドレスデータが未定義エリアのアドレスを示した場合に、ＣＰＵ１７で誤動作が発生したものとしてエラー信号ERRを出力する。なお、アドレス監視回路９５は、アドレスインバリッド検出回路とも呼ばれている。
【００１２】
【発明が解決しようとする課題】
このように、図３に示した従来のＣＰＵ異常監視装置では、例えば、ＣＰＵ１７のプログラムカウンタやスタックポインタ等の制御用レジスタがビット反転を起こし、プログラムが暴走してウォッチドッグタイマ９１にリセットパルスRSTが供給されない場合を検出することができる。
【００１３】
また、図５に示した従来のＣＰＵ異常監視装置では、プログラムが暴走してアドレスデータが予め設定されたメモリ空間のアドレスを超えた場合を検出することができる。
【００１４】
しかしながら、これらの従来のＣＰＵ異常監視装置では、アキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転によるＣＰＵ１７の異常を検出することができない。なぜなら、これらの場合は、ＣＰＵ１７のプログラムが暴走することはなく、また、アドレスデータも予め設定されたメモリ空間内のアドレスを示すためである。
【００１５】
即ち、従来のＣＰＵ異常監視装置では、ＣＰＵ１７の演算エラー等によるビット反転により、制御対象が不適切なシーケンス遷移を起こす場合を検出することができず、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生し、かつ高い信頼性が要求される機器の異常を十分に検出することができない。
【００１６】
そこで、本発明の目的は、アキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができるＣＰＵ異常監視装置を提供することにある。
【００１７】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、シーケンス状態を順次遷移させてシーケンス制御を行うＣＰＵの異常を監視するＣＰＵ異常監視装置において、ＣＰＵとデータバスにより接続され、シーケンス状態の遷移のトリガーとなるトリガーデータの有効性を判定するトリガーデータ有効性判定手段と、ＣＰＵとデータバスにより接続され、シーケンス状態を示す状態データの有効性を判定する状態データ有効性判定手段と、ＣＰＵとアドレスバスにより接続され、トリガーデータ有効性判定手段及び状態データ有効性判定手段を交互に活性化するデコーダとを有することを特徴とする。
【００１８】
本発明によれば、トリガーデータ有効性判定手段と状態データ有効性判定手段とにより、ＣＰＵにおける演算エラーやデータのビット反転を直接監視しているため、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生する機器の異常を正確に検出することができる。
【００１９】
また、上記の発明における好ましい態様として、トリガーデータ有効性判定手段は、トリガーデータに対する比較データを保持するトリガーデータ設定手段と、トリガーデータと比較データとを比較し、トリガーデータと比較データとが一致しなければエラー信号を出力する比較手段とを有し、トリガーデータ設定手段は、トリガーデータの所定ビットに対する第１の比較データを保持するトリガーデータ有効性設定回路と、トリガーデータの他の所定ビットに対する第２の比較データを保持するトリガーデータビットパターン設定回路とを有し、比較手段は、トリガーデータと第１の比較データとを比較する第１のコンパレータと、トリガーデータと第２の比較データとを比較する第２のコンパレータとを有することを特徴とする。
【００２０】
更に、上記の発明における好ましい態様として、状態データ有効性判定手段は、状態データに対する比較データを保持する状態データ設定手段と、状態データと比較データとを比較し、状態データと比較データとが一致しなければエラー信号を出力する比較手段とを有し、状態データ設定手段は、状態データの所定ビットに対する第１の比較データを保持する状態データ有効性設定回路と、状態データの他の所定ビットに対する第２の比較データを保持し、トリガーデータと第2の比較データとを比較する第2のコンパレータからの遷移信号によりビットパターンの設定を変更可能な状態データビットパターン設定回路とを有し、比較手段は、状態データと第１の比較データとを比較する第１のコンパレータと、状態データと第２の比較データとを比較する第２のコンパレータとを有することを特徴とする。
【００２１】
本発明によれば、トリガーデータ設定手段及び状態データ設定手段により設定された比較データと、ＣＰＵにおける演算データの一部を直接比較しているため、ＣＰＵ内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるＣＰＵの異常を正確に検出することができる。
【００２２】
また、本発明では、演算データを、トリガーデータ設定手段及び状態データ設定手段等のハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【００２３】
更に、本発明は、ハードウェアによる異常監視であることから、リアルタイムかつ高速にＣＰＵの異常を監視することができ、特に高速なシーケンス制御を行う電子機器の異常を迅速に検出することができる。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【００２５】
図１は、本発明の実施の形態のＣＰＵ異常監視装置の構成図である。本実施の形態のＣＰＵ異常監視装置３７は、ＣＰＵ１７と周辺回路２０とを接続するデータバス１８とアドレスバス１９とに接続され、ＣＰＵ１７の演算エラー等によるデータのビット反転を検出することができる。
【００２６】
本実施の形態のＣＰＵ異常監視装置３７は、アドレス信号をデコードしてチップセレクト信号を出力するデコーダ２９と、トリガーデータの有効性判定における比較データ（第１の比較データ）を設定するトリガーデータ有効性設定回路２２と、トリガーデータの下位ビットパターン判定における比較データ（第２の比較データ）を設定するトリガーデータ下位ビットパターン設定回路２５と、トリガーデータ有効性設定回路２２及びトリガーデータ下位ビットパターン設定回路２５の比較データと、データバス１８のデータとを比較するコンパレータ２３，２６とを有する。
【００２７】
また、本実施の形態のＣＰＵ異常監視装置３７は、状態データの有効性判定における比較データ（第１の比較データ）を設定する状態データ有効性設定回路３１と、状態データの下位ビットパターン判定における比較データ（第２の比較データ）を設定し、トリガーデータと第2の比較データとを比較する第2のコンパレータからの遷移信号によりビットパターンの設定を変更可能な状態データ下位ビットパターン設定回路３４と、状態データ有効性設定回路３１及び状態データ下位ビットパターン設定回路３４の比較データと、データバス１８のデータとを比較するコンパレータ３２，３５とを有する。
【００２８】
本実施の形態のＣＰＵ故障監視装置３７では、ＣＰＵ１７と周辺回路２０とを結ぶデータバス１８から、シーケンス状態の遷移のトリガーとなるトリガーデータと、シーケンス状態を示す状態データとを取り出し、それらのデータをプログラムの一部をハードウェアロジックで実現した各設定回路２２、２５、３１、３４の比較データと比較し、トリガーデータ又は状態データが比較データと異なる場合にＣＰＵ１７の異常を検出する。
【００２９】
このため、ＣＰＵ１７におけるアキュムレータ等の演算用レジスタの演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、宇宙搭載機器のように宇宙放射線環境に曝され、地上よりも頻繁にビット反転が発生し、かつ、高い信頼性が要求される機器において、ＣＰＵ１７の異常を迅速に検出し、宇宙搭載機器の信頼性を向上することができる。
【００３０】
次に、本実施の形態のＣＰＵ異常監視装置における異常監視処理を、図２に示す処理フローチャートにより説明する。本実施の形態のＣＰＵ異常監視装置３７では、異常監視処理が開始されると、まず、コンパレータ２３において、シーケンス状態の遷移のトリガーとなるトリガーデータの有効性が判定される（ステップＳ１）。
【００３１】
シーケンス状態が遷移する場合は、図４に示したように、ＣＰＵ１７からデータバス１８に、その遷移のトリガーとなるトリガーデータTRG1等が出力され、アドレスバス１９に、そのトリガーデータTRG1等を特定するアドレスデータADRT1等が出力される。
【００３２】
トリガーデータTRG1等は、例えば、８ビットの場合、
「００００ｘｘｘｘ」  …  式１
のように、上位４ビットが「０」に設定されている。なお、式１の「ｘ」は「０」又は「１」を示す。
【００３３】
図４に示すように、データバス１８にトリガーデータTRG1等が出力される時は、アドレスバス１９にトリガーデータTRG1等を特定するアドレスデータADRT1等が出力されるため、デコーダ２９は、アドレスデータADRT1等をデコードして、トリガーデータTRG1等の有効性を判定するコンパレータ２３をチップセレクトすることができる。
【００３４】
一方、トリガーデータ有効性設定回路２２には、予め、トリガーデータの有効性を判断するための比較データが設定されている。比較データは、トリガーデータTRG1等に対応して、
「００００ｘｘｘｘ」  …  式２
のように、上位４ビットが「０」に設定されている。
【００３５】
コンパレータ２３は、チップセレクトされると、データバス１８から取り込んだトリガーデータTRG1等の上位４ビットと、トリガーデータ有効性設定回路２２において設定された比較データの上位４ビットとを比較する。
【００３６】
そして、トリガーデータTRG1の上位４ビットが、比較データの上位４ビットと一致しなければ、エラー信号ERR1を出力し、ＣＰＵ１７の異常を外部に通知する（ステップＳ２）。
【００３７】
一方、トリガーデータTRG1等の上位４ビットが、比較データの上位４ビットと一致すれば、コンパレータ２３は一致信号AGR1を出力し、コンパレータ２６をチップセレクトして、次のトリガーデータ下位ビットパターンの判定を行う（ステップＳ３）。
【００３８】
この場合、トリガーデータ下位ビットパターン設定回路２５には、予め、トリガーデータの下位４ビットの有効性を判断するための比較データが設定されている。この比較データは、トリガーデータがどのようなシーケンス状態の遷移に対応するかにより、例えば、そのトリガーデータがシーケンス状態の遷移を発生させず定常状態を維持するものであれば、
「ｘｘｘｘ１０００」  …  式３
のように設定され、そのトリガーデータが遷移Ａに対応するものであれば、
「ｘｘｘｘ０１００」  …  式４
のように設定され、そのトリガーデータが遷移Ｂに対応するものであれば、
「ｘｘｘｘ００１０」  …  式５
のように設定され、そのトリガーデータが遷移Ｃに対応するものであれば、
「ｘｘｘｘ０００１」  …  式６
のように設定されている。
【００３９】
コンパレータ２６は、コンパレータ２３によりチップセレクトされると、データバス１８から取り入れたトリガーデータTRG1等の下位４ビットと、トリガーデータ下位ビットパターン設定回路２５において設定された比較データとを比較する。
【００４０】
そして、トリガーデータTRG1等の下位４ビットが、比較データの下位４ビットと一致しなければ、エラー信号ERR2を出力し、ＣＰＵ１７の異常を外部に通知する（ステップＳ４）。
【００４１】
一方、トリガーデータTRG1等の下位４ビットが、定常状態を示す比較データの下位４ビットと一致すれば、コンパレータ２６は、定常状態を示す信号NORを出力し、トリガーデータTRG1の下位４ビットが、比較データの遷移Ａ乃至遷移Ｃを示す下位４ビットと一致すれば、状態データ下位ビットパターン設定回路３４に遷移Ａ乃至遷移Ｃに対応する遷移信号TRAを出力する。
【００４２】
この状態データ下位ビットパターン設定回路３４には、予め、シーケンスの定常状態を示す比較データが、例えば、
「ｘｘｘｘ０００１」  …  式７
のように設定されている。そして、コンパレータ２６から遷移信号TRAが入力されると、その比較データは、例えば、遷移Ａ乃至遷移Ｃに対応して、
「ｘｘｘｘ００１０」  …  式８
「ｘｘｘｘ００１１」  …  式９
「ｘｘｘｘ０１００」  …  式10
のように再設定される（ステップＳ５）。
【００４３】
次に、コンパレータ３２おいて、ＣＰＵ１７からデータバス１８に出力される状態データの有効性の判定が行われる（ステップＳ６）。
【００４４】
ＣＰＵ１７がシーケンス制御を行う場合、図４に示したように、データバス１８には、そのシーケンス状態を示す状態データSEQ1等が出力され、アドレスバス１９に、その状態データSEQ1等を特定するアドレスデータADRS1等が出力される。
【００４５】
状態データSEQ1等は、例えば、８ビットの場合、トリガーデータTRG1等と同様に、
「００００ｘｘｘｘ」  …  式11
のように、上位４ビットが「０」に設定されている。
【００４６】
この場合、アドレスバス１９には、状態データSEQ1等を特定するアドレスデータADRS1等が出力されるため、デコーダ２９は、アドレスデータADRS1等をデコードしてコンパレータ３２をチップセレクトすることができる。
【００４７】
一方、状態データ有効性設定回路３１には、予め、状態データの有効性を判断するための比較データが設定されている。この比較データは、状態データに対応して、
「００００ｘｘｘｘ」  …  式12
のように、上位４ビットが「０」に設定されている。
【００４８】
コンパレータ３２は、チップセレクトされると、データバス１８から取り込んだ状態データSEQ1等の上位４ビットと、状態データ有効性設定回路３１において設定された比較データの上位４ビットとを比較する。
【００４９】
そして、状態データSEQ1等の上位４ビットが、比較データの上位４ビットと一致しなければ、エラー信号ERR3を出力し、ＣＰＵ１７の異常を外部に通知する（ステップＳ７）。
【００５０】
一方、状態データSEQ1等の上位４ビットが、比較データの上位４ビットと一致すれば、コンパレータ３２は、コンパレータ３５をチップセレクトし、次の状態データ下位ビットパターンの判定を行う（ステップＳ８）。
【００５１】
前述のように、状態データ下位ビットパターン設定回路３４には、予め、状態データの下位４ビットの有効性を判定するための比較データが設定されている。即ち、この比較データは、シーケンス状態が定常状態を維持するものであれば、
「ｘｘｘｘ０００１」  …  式13
が設定されており、シーケンス状態が遷移Ａを起こす場合は、
「ｘｘｘｘ００１０」  …  式14
のように再設定されており、シーケンス状態が遷移Ｂを起こす場合は、
「ｘｘｘｘ００１１」  …  式15
のように再設定されており、シーケンス状態が遷移Ｃを起こす場合は、
「ｘｘｘｘ０１００」  …  式16
のように再設定されている。
【００５２】
コンパレータ３５は、コンパレータ３２によりチップセレクトされると、データバス１８から取り入れた状態データSEQ1等の下位４ビットと、状態データ下位ビットパターン設定回路３４において設定された比較データとを比較する。
【００５３】
そして、状態データSEQ1等の下位４ビットが、比較データの下位４ビットと一致しなければ、エラー信号ERR4を出力し、ＣＰＵ１７の異常を外部に通知する（ステップＳ９）。
【００５４】
一方、状態データSEQ1等の下位４ビットが、定常状態を示す比較データの下位４ビット、または、遷移Ａ乃至遷移Ｃを示す比較データの下位４ビットと一致すれば、一致信号AGR3を出力してシーケンス制御が正常に動作していることを外部等に通知する。
【００５５】
そして、監視処理を継続するか否かを判断し（ステップS10）、監視処理を継続する場合（Yes）は、ステップＳ１に戻り、次のトリガーデータの有効性を判定する。一方、監視処理を継続しない場合（No）は、処理を終了する。
【００５６】
このように本実施の形態のＣＰＵ異常監視装置は、演算データの一部を直接監視しているため、ＣＰＵ１７内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるＣＰＵの異常を正確に検出することができる。
【００５７】
また、本実施の形態のＣＰＵ異常監視装置は、演算データをハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【００５８】
更に、本実施の形態のＣＰＵ異常監視装置は、ハードウェアによるＣＰＵ異常監視であることから、リアルタイムかつ高速な監視を行うことが可能であり、特に高速なシーケンス制御を行う電子機器のＣＰＵ異常を迅速に検出することができる。
【００５９】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【００６０】
【発明の効果】
以上、本発明によれば、トリガーデータ設定手段及び状態データ設定手段により設定された比較データと、ＣＰＵにおける演算データの一部を直接比較しているため、ＣＰＵ内の演算用レジスタにおける演算エラーや、メモリーマップ上のユーザーエリアにおけるデータのビット反転を検出することができ、特に、宇宙空間のように放射線により地上よりも頻繁にビット反転が発生する環境におけるＣＰＵの異常を正確に検出することができる。
【００６１】
また、演算データを、トリガーデータ設定手段及び状態データ設定手段等のハードウェアロジックで設定した比較データと比較し、プログラムの動作を監視しているため、ソフトウェアの信頼性を向上させることができる。
【００６２】
更に、ハードウェアによる異常監視であることから、リアルタイムかつ高速にＣＰＵの異常を監視することができ、特に高速なシーケンス制御を行う電子機器の異常を迅速に検出することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のＣＰＵ異常監視装置の構成図である。
【図２】本発明の実施の形態のＣＰＵ異常監視装置の処理フローチャートである。
【図３】従来のＣＰＵ異常監視装置の説明図である。
【図４】シーケンス制御のタイムチャートである。
【図５】従来のＣＰＵ異常監視装置の説明図である。
【符号の説明】
17    ＣＰＵ
18    データバス
19    アドレスバス
20    周辺回路
21    制御バス
22    トリガーデータ有効性設定回路
23,26,32,35    コンパレータ
25    トリガーデータ下位ビットパターン設定回路
29    デコーダ
31    状態データ有効性設定回路
34    状態データ下位ビットパターン設定回路
37    ＣＰＵ異常監視装置
91    ウォッチドッグタイマ（ＷＤＴ）
93    比較回路
94    設定回路
95    アドレス監視回路
【図１】
0004317672.tif 000002
【図２】
0004317672.tif 000003
【図３】
0004317672.tif 000004
【図４】
0004317672.tif 000005
【図５】
0004317672.tif 000006