(57)【要約】【課題】故障を検出する故障検出装置内で生じる故障を、当該装置を制御する制御機構にフィードバックする手法を提供する。【解決手段】故障検出装置は、入力信号の状態を第一の保持部（Ｂｉｔ１）に保持し、第一の保持部が出力する第一出力信号の状態を第一の出力端子（出力端子８１）から外部に出力する。このとき、故障検出装置は、第一の出力端子が第一出力信号の状態を通知するタイミングで、第一の出力端子が通知する状態を帰還させる。故障検出装置は、自装置を制御する機構へ第一の保持部（Ｂｉｔ１）の状態、及び帰還させる状態（Ｂｉｔ０）を供給するように構成される。【選択図】図１
2015121478.tif 000002
【特許請求の範囲】
【請求項１】
入力信号の状態を保持する第一の保持部と、
前記第一の保持部が出力する第一出力信号の状態を外部に出力する第一の出力端子と、
前記第一の出力端子が前記第一出力信号の状態を通知するタイミングで、前記第一の出力端子が通知する状態を帰還させる第一の帰還部と、
前記第一の保持部の状態、及び前記第一の帰還部の状態を供給する供給部と、
を備える故障検出装置。
【請求項２】
前記第一の帰還部は、帰還させる前記状態を保持する第二の保持部を備える
請求項１記載の故障検出装置。
【請求項３】
前記供給部は、前記第一の保持部の状態、及び前記第一の帰還部の状態を読み出すバスインタフェース回路を含む
請求項１記載の故障検出装置。
【請求項４】
前記供給部は、
前記第一の保持部の状態と前記第一の帰還部の状態との排他的論理和の状態を出力する排他的論理和回路と、
前記排他的論理和の状態を読み出すバスインタフェース回路と、
を備える請求項１記載の故障検出装置。
【請求項５】
前記供給部は、前記第一の保持部の状態、及び前記第一の帰還部の状態の排他的論理和の状態を直接通知する信号線により構成されている
請求項１記載の故障検出装置。
【請求項６】
前記第一出力信号の状態と、前記第一の保持部が保持している前記入力信号の状態の次に新たに保持する二番目の入力信号の状態との論理積の状態を保持する第三の保持部と、
前記第三の保持部が出力する第二出力信号の状態を外部に通知する第二の出力端子と、
前記第二の出力端子が前記第二出力信号の状態を通知するタイミングで、前記第二の出力端子が通知する状態を帰還させる第二の帰還部と、
をさらに備え、
前記供給部は、前記第三の保持部の状態、及び前記第二の帰還部の状態をさらに供給する請求項１記載の故障検出装置。
【請求項７】
前記第二の帰還部は、帰還させる前記状態を保持する第四の保持部を備える
請求項６記載の故障検出装置。
【請求項８】
セルフテスト処理を実行する制御部と、
前記制御部へ前記セルフテスト処理を実行させる第一のタイマと、
をさらに備え、
前記制御部は、実行した前記セルフテスト処理の処理結果を前記第一の保持部へ書き込み、
前記供給部は、前記第一及び第三の保持部の状態、及び、前記第一及び第二の帰還部の状態を、前記制御部が取得できるように構成されている請求項６記載の故障検出装置。
【請求項９】
前記第一のタイマからの指示に応じて所定の時間内に前記制御部が前記セルフテスト処理を実行していないことを検出すると、エラー例外信号を出力する第二のタイマと、
前記エラー例外信号の状態を外部に通知する第三の出力端子と、
前記第三の出力端子が前記エラー例外信号の状態を通知するタイミングで、前記第三の出力端子が通知する状態を帰還させる第三の帰還部と、
をさらに備え、
前記エラー例外信号が前記制御部へ通知されるように構成され、
前記供給部は、前記第三の帰還部の状態を前記制御部が取得できるように構成されている請求項８記載の故障検出装置。
【請求項１０】
前記第一の帰還部は、帰還させる前記状態を保持する第二の保持部を有し、
前記第二の帰還部は、帰還させる前記状態を保持する第四の保持部を有し、
前記第三の帰還部は、帰還させる前記状態を保持する第五の保持部を有し、
前記供給部は、前記第一乃至第五の保持部それぞれが保持する状態を、前記制御部が読み出し可能に構成されたバスインタフェース回路を有する請求項９記載の故障検出装置。
【請求項１１】
前記第一乃至第三の帰還部は、それぞれが帰還させる状態を伝送する複数の信号線により構成され、
前記供給部は、前記第一及び第三の保持部それぞれが保持する状態と、前記複数の信号線の状態を、前記制御部が読み出し可能に構成されたバスインタフェース回路を有する請求項９記載の故障検出装置。
【請求項１２】
前記供給部は、
前記第一の保持部の状態と前記第一の帰還部の状態との排他的論理和の状態を出力する第一の排他的論理和回路と、
前記第三の保持部の状態と前記第二の帰還部の状態との排他的論理和の状態を出力する第二の排他的論理和回路と、
前記エラー例外信号の状態と前記第三の帰還部の状態との排他的論理和の状態を出力する第三の排他的論理和回路と、を有し、
前記制御部が、前記第一乃至第三の排他的論理和回路の出力を取得可能に構成されている請求項９記載の故障検出装置。
【請求項１３】
前記供給部は、前記第一乃至第三の排他的論理和回路の出力を、前記制御部が読み出し可能に構成されたバスインタフェース回路を、
さらに備える請求項１２記載の故障検出装置。
【請求項１４】
セルフテスト処理を実行する制御部と、
前記制御部へ前記セルフテスト処理を実行させる第一のタイマと、
前記第一のタイマからの指示に応じて所定の時間内に前記制御部が前記セルフテスト処理を実行していないことを検出すると、エラー例外信号を出力する第二のタイマと、
前記エラー例外信号の状態を外部に通知する第三の出力端子と、
前記第三の出力端子が前記エラー例外信号の状態を通知するタイミングで、前記第三の出力端子が通知する状態を帰還させる第三の帰還部と、
をさらに備え、
前記制御部は、実行した前記セルフテスト処理の処理結果を前記第一の保持部へ書き込み、
前記エラー例外信号が前記制御部へ通知されるように構成され、
前記供給部は、前記第一の保持部の状態、及び、前記第一及び第三の帰還部の状態を前記制御部が取得できるように構成されている
請求項１記載の故障検出装置。
【請求項１５】
前記供給部は、
前記第一の保持部の状態と前記第一の帰還部の状態との排他的論理和の状態を出力する第一の排他的論理和回路と、
前記エラー例外信号の状態と前記第三の帰還部の状態との排他的論理和の状態を出力する第三の排他的論理和回路と、を有し、
前記制御部が、前記第一及び第三の排他的論理和回路の出力を取得可能に構成されている請求項１４記載の故障検出装置。
【請求項１６】
前記供給部は、前記第一乃至第三の排他的論理和回路の出力を、前記制御部へ通知する複数の信号線により構成された請求項１５記載の故障検出装置。
【請求項１７】
入力信号を取り込む取得部と、
前記入力信号の状態を外部に出力する第一の出力端子と、
前記第一の出力端子が前記入力信号の状態を通知するタイミングで、前記第一の出力端子が通知する状態を帰還させる第一の帰還部と、
前記入力信号の状態、及び前記第一の帰還部の状態を供給する供給部と、
を備える故障検出装置。
【請求項１８】
前記供給部は、前記入力信号の状態、及び前記第一の帰還部の状態の排他的論理和の状態を直接通知する信号線により構成されている請求項１７記載の故障検出装置。
【請求項１９】
前記取得部は、前記入力信号の状態を前記第一の出力端子へ直接供給する信号線により構成されている請求項１７記載の故障検出装置。
【請求項２０】
入力信号の状態を第一の保持部に保持し、
前記第一の保持部が出力する第一出力信号の状態を第一の出力端子から外部に出力し、
前記第一の出力端子が前記第一出力信号の状態を通知するタイミングで、前記第一の出力端子が通知する状態を帰還させ、
前記第一の保持部の状態、及び帰還させる前記状態を供給する
故障検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は故障の自己検出方法及び装置に関する。
【背景技術】
【０００２】
ＳｏＣ（System-on-Chip）製品に搭載する故障検出機能として、ＣＰＵの故障をソフトウェアによる期待値との比較によるセルフテスト方式のサポート回路が検討されている。例えば、内部の故障の有無をソフトウェアによって外部に知らせる手段として、汎用のＩ／Ｏ（Input Output）ポートを出力端子として使って正常／異常状態を出力のＨｉｇｈ／Ｌｏｗによって知らせる方法がある。例えばポート０（ゼロ）を使い、リセット直後の状態（ここではＬｏｗとする）を正常状態、Ｈｉｇｈを異常状態と定義し、ＬＳＩ（Large Scale Integration）内部で何らかの異常状態を検出した時にはソフトウェアでポート０端子の出力状態をＨｉｇｈにすることで、外部に異常の有無を知らせることができる。
【０００３】
また、特許文献１の図１には、外部からの入力信号１０３は入出力ピン１０３ａに入力され、レジスタ１５９に取り込んで保持される。レジスタ１５９の反転信号１１４は、次のサイクルにおいてデータ出力信号１１０を経て入出力ピン１０３ａから外部に出力される。入力時と反転した信号が出力されたのを外部で検知することにより、ＬＳＩを実装するボード基板上での実装不良の有無を確認することができる。
さらに、特許文献２の第１図には、３段のマスタ・スレーブ構成になっているデータ保持回路でソフトエラーを検出するための実施例が開示されている。マスタ若しくはスレーブラッチのどこかでソフトエラーが発生した場合、ＯＲゲートの出力信号Ｅ１、Ｅ２を読み出すことでソフトエラーを検出することができるようになっている。また、Ｅ１、Ｅ２信号を２度読み出すことにより、一時的なノイズによって誤った出力信号が読み出されても訂正ができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−４３４９４号公報
【特許文献２】特開平４−１４１７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した手法では、ＬＳＩ内部の異常を汎用のＩ／Ｏポートで外部に知らせることはできるが、汎用のＩ／Ｏポート自身が故障しているか否かの確認ができない。また、特許文献１では、ＬＳＩ端子と外部との接続の異常の有無を確認することができるが、ＬＳＩ内部にある当該確認回路自体の故障の有無を確認することはできない。さらに、特許文献２では、ノイズの影響を排除したソフトエラーの検出はできるが、ハードウェアの故障とソフトエラーの区別はできない。
【０００６】
次世代の周辺監視システム市場をターゲットとしたＲ−Ｃａｒ  Ｖ２Ｈという製品を開発するに当たり、２０１１年に制定されたＩＳＯ２６２６２規格に対応したＳｏＣ製品とすることが要請されている。このために必要な故障検出機能として、ＣＰＵの故障をソフトウェアによる期待値との比較によるセルフテスト方式のサポート回路を検討している時に、故障の有無を検出する回路自体の故障の有無を確認する手段も必要なことに気付いた。
発明者らは、故障を検出する故障検出装置内で生じる故障を、当該装置を制御する制御機構にフィードバックする手法を発見した。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、故障検出装置は、入力信号の状態を第一の保持部に保持し、第一の保持部が出力する第一出力信号の状態を第一の出力端子から外部に出力する。このとき、故障検出装置は、第一の出力端子が第一出力信号の状態を通知するタイミングで、第一の出力端子が通知する状態を帰還させる。故障検出装置は、自装置を制御する機構へ第一の保持部の状態、及び帰還させる状態を供給するように構成される。
また、他の一実施形態によれば、故障検出装置は、入力信号を取り込み、入力信号の状態を第一の出力端子から外部に出力する。このとき、故障検出装置は、第一の出力端子が入力信号の状態を通知するタイミングで、第一の出力端子が通知する状態を帰還させる。故障検出装置は、自装置を制御する機構へ入力信号の状態、及び帰還させる状態を供給するように構成される。
【０００８】
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えた装置、例えば車載製品なども、本発明の態様としては有効である。
【発明の効果】
【０００９】
前記一実施の形態によれば、故障を検出する故障検出装置内で生じる故障を、当該装置を制御する制御機構にフィードバックすることにより、検知することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態の故障検出回路に搭載する基本的な構成例を示す図である。
【図２】一実施形態の基本的な構成例を組み込んだ故障検出回路を搭載したＬＳＩチップの適用例を示す図である。
【図３】図１の基本的な構成例へ、さらに機能を追加した構成例を示す図である。
【図４】実施形態１の故障検出回路の構成例を示す図である。
【図５】実施形態１の制御＆ステータスレジスタの詳細図である。
【図６】実施形態２の制御＆ステータスレジスタの詳細図である。
【図７】一実施形態の故障検出回路に搭載する他の基本的な構成例を示す図である。
【図８】実施形態３の制御＆ステータスレジスタの詳細図である。
【図９】実施形態４の制御＆ステータスレジスタの詳細図である。
【図１０】図９の制御＆ステータスレジスタを変形した詳細図である。
【図１１】実施形態５の制御＆ステータスレジスタの詳細図である。
【図１２】一実施形態の故障検出回路に搭載するさらに他の基本的な構成例を示す図である。
【図１３】実施形態６の制御＆ステータスレジスタの詳細図である。
【発明を実施するための形態】
【００１１】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１２】
＜一実施形態の基本的な構成例＞
図１に一実施形態の故障検出回路に搭載する基本的な構成例を示す。図２に一実施形態の基本的な構成例を組み込んだ故障検出回路を搭載したＬＳＩチップの適用例を示す。図１に示す基本的な構成例は、ステータスレジスタ１１、及び出力端子８１を少なくとも含み、故障を自己診断して外部へ知らせる回路内で生じる故障を、当該回路を制御する制御機構にフィードバックするように働く。例えば、ステータスレジスタ１１を、図２に示す故障の自己診断回路２に組み込み、故障検出装置を構成することができる。ＬＳＩチップ１は故障検出装置の一例である。
図２に示すＬＳＩチップ１は、故障の自己診断回路（以降適宜、「自己診断回路」とも記載する）２、ＣＰＵ３（制御部）、キャッシュ４、割り込み制御回路５、バス６、及び外部メモリインタフェース７を少なくとも具備している。また、ＬＳＩチップ１は、出力端子（出力インタフェース機能）８、入出力端子９によりデバイス外部の装置とデータを入出力するように構成されている。ＬＳＩチップ１では、図１に示すステータスレジスタ１１が自己診断回路２に組み込まれ、出力端子８が、図１に示す出力端子８１として働く。ＬＳＩチップ１の各機能については後述する。
【００１３】
ステータスレジスタ１１は、セルフテストによるＬＳＩ内部の異常の有無チェックの試験結果をＣＰＵ３から入力信号として受け取り、試験結果を出力端子８１からデバイス外部へ出力する。このとき、ステータスレジスタ１１は、デバイス外部に出力する試験結果を自己に帰還させ、ＣＰＵ３が帰還させた試験結果（第一フィードバック信号の状態）を取得できるように構成される。
例えば、一実施形態の故障検出装置に組み込まれるステータスレジスタ１１は、出力端子８１とともに少なくとも次の処理を実現する構成を有する。
・入力信号の状態を保持する第一の保持部。
・第一の保持部が出力する第一出力信号の状態を外部に出力する第一の出力端子。
・第一の出力端子が第一出力信号の状態を通知するタイミングで、第一の出力端子が通知する状態を帰還させる第一の帰還部。
・第一の保持部の状態、及び第一の帰還部の状態を供給する供給部。
以下に、上述した処理と対応させて、図１のステータスレジスタ１１について詳述する。
【００１４】
ここで、第一の帰還部は、第一出力信号の状態を帰還させるタイミングに合わせて、第一の出力端子が通知する状態を帰還させるように構成される。言い換えると、第一の出力端子が第一出力信号の状態を通知するタイミングと第一の出力端子が通知する状態を帰還させるタイミングとが同じになるように（同時進行するように）構成される。その理由は、第一の帰還部が第一の出力端子がデバイス外部に出力する状態と同じ状態を帰還させることが必要だからである。これにより、第一の保持部の状態と、第一の帰還部の状態とを比較し、比較結果に基づいて、ステータスレジスタ１１内の第一の保持部から出力端子８１を経て第一の機関部に至る回路上に発生し得る故障を検出可能とする。
加えて、第一の帰還部は、第一の出力端子が他の用途にも使用される場合には、帰還させる状態を保持する第二の保持部を有することが好ましい。
【００１５】
ステータスレジスタ１１は、バスインタフェース回路１１１、及びレジスタ１１２を備える。
バスインタフェース回路１１１は、デバイス内のバス６を介して信号（データ）を入出力する。例えば、バスインタフェース回路１１１は、入力信号として、ＬＳＩ内部の異常の有無チェックの試験結果をＣＰＵ３から受け、レジスタ１１２へ書き込む。加えて、バスインタフェース回路１１１は、ＣＰＵ３がレジスタ１１２の状態を読み出すことを可能にする。
レジスタ１１２は、図１の構成例では２ビットで構成される。ここでは、レジスタの各ビットをＢｉｔ０、Ｂｉｔ１と称して識別する。
レジスタ１１２のＢｉｔ１（以降適宜、「Ｂｉｔ１」と記載する）は、入力信号の状態を保持する第一のデータ保持回路であり、かつ、バスインタフェース回路１１１から保持する状態を読み出せるように構成される。
【００１６】
レジスタ１１２のＢｉｔ０（以降適宜、「Ｂｉｔ０」と記載する）は、出力端子８１がＢｉｔ１からの出力信号（第一出力信号）の状態を通知するタイミングで、出力端子８１が通知する状態を帰還させ保持する第二のデータ保持回路であり、かつ、バスインタフェース回路１１１から保持する状態を読み出せるように構成される。
出力端子８１は、Ｂｉｔ１が出力する出力信号の状態をデバイス外部に知らせる。
バッファ回路は、信号の状態を伝送する方向を定める。
言い換えると、Ｂｉｔ１は第一の保持部として働き、Ｂｉｔ０及びＢｉｔ０に接続する信号線（出力端子８１）は、第一の帰還部として働き、出力端子８１は、第一の出力端子として働く。加えて、バスインタフェース回路１１１及びバスインタフェース回路１１１とレジスタ１１２との間に配置される信号線は、Ｂｉｔ１の状態及びＢｉｔ０の状態をＣＰＵ３に供給することから、供給部として働く。
以降の説明では、出力端子（例えば、出力端子８１）から供給部（例えば、Ｂｉｔ０）へ、帰還させる状態を伝送する信号線を、適宜、「フィードバック信号線」（帰還信号線）という。
また、Ｂｉｔ１から出力端子へ、入力信号の状態を伝送する信号線を、適宜、「出力信号線」という。
図１のステータスレジスタ１１では、レジスタ１１２から出力端子８１へ配置される出力信号線、及びＢｉｔ１は、入力信号の状態の出力経路（第一の出力経路、第一の保持部）を構成する。また、出力端子８１からレジスタ１１２へ配置されるフィードバック信号線、及びＢｉｔ０は、出力端子８１の状態のフィードバック経路（第一のフィードバック経路、第一の帰還部）を構成する。
【００１７】
このような構成により、ＣＰＵ３がバスインタフェース回路１１１を介してＢｉｔ１へ書き込むＬＳＩ内部の異常の有無チェックの試験結果の状態が出力端子８１からデバイス外部へ出力されるとともに、デバイス内部のＢｉｔ０へ保持される。その結果、ＣＰＵ３がバスインタフェース回路１１１を介して、Ｂｉｔ１へ書き込んだ状態、及び出力端子８１から出力した状態（Ｂｉｔ０の状態）を読み出すことを可能にする。ＣＰＵ３は、Ｂｉｔ１とＢｉｔ０の状態を比較し、一致しない場合には、ステータスレジスタ１１内または出力端子８１で故障や異常が発生していると判定する。これにより、ＣＰＵ３は、出力端子８１からデバイス外部へ試験結果が正確に出力されていないことを検出することができる。
【００１８】
＜一実施形態の基本的な他の構成例＞
次に、一実施形態の基本的な構成例にさらに機能を追加する構成例を、図３を参照して説明する。
図３の基本的な構成例は、ステータスレジスタ１２、及び出力端子８１，８２を少なくとも備える。ステータスレジスタ１２は、ＬＳＩ内部の異常の有無チェックの試験結果をＣＰＵ３から入力信号として受け取り、出力端子８１からデバイス外部へ出力する。また、ステータスレジスタ１２は、ＣＰＵ３が定期的に実行する試験について、１回目に実施した試験結果と、２回目に実施した試験との結果が一致するか否かを判定した判定結果を、出力端子８２からデバイス外部へ出力する。このとき、ステータスレジスタ１２は、デバイス外部に出力する試験結果及び判定結果を自己に帰還させ、ＣＰＵ３が試験結果（第一フィードバック信号の状態）及び判定結果（第二フィードバック信号の状態）を取得できるように構成される。
【００１９】
ステータスレジスタ１２は、バスインタフェース回路１２１、及びレジスタ１２２を備える。
バスインタフェース回路１２１は、図１のバスインタフェース回路１１１と同様に働く。
レジスタ１２２は、図３の構成例では４ビットで構成される。ここでは、レジスタの各ビットをＢｉｔ０、Ｂｉｔ１、Ｂｉｔ２、Ｂｉｔ３と称して識別する。
レジスタ１２２のＢｉｔ０、Ｂｉｔ１は図１のレジスタ１１２と同様である。Ｂｉｔ１は、入力信号の状態（入力データ）を保持する第一のデータ保持回路である。Ｂｉｔ０は、出力端子８１の状態を保持する第二のデータ保持回路である。
レジスタ１２２のＢｉｔ２（以降適宜、「Ｂｉｔ２」と記載する）は、Ｂｉｔ１の出力と入力信号の状態のＡＮＤデータを保持する第三のデータ保持回路であり、かつ、バスインタフェース回路１２１から保持する状態を読み出せるように構成される。
レジスタ１２２のＢｉｔ３（以降適宜、「Ｂｉｔ３」と記載する）は、出力端子８２の状態を保持する第四のデータ保持回路であり、かつ、バスインタフェース回路１２１から保持する状態を読み出せるように構成される。
出力端子８１は、第一のデータ保持回路の出力信号の状態を外部に知らせる状態表示用出力端子である。
出力端子８２は、第三のデータ保持回路の出力信号の状態を外部に知らせる状態表示用出力端子である。
バスインタフェース回路１２１は、第一及び第二のデータ保持回路の内容を読み出すように構成される。
【００２０】
図３の構成を例えば、図２のＬＳＩチップ１に組み込むと、ＬＳＩ内部の状態を外部に知らせるための回路自体の故障の有無を確認することができる。具体的には、同一のＬＳＩ内部の状態確認テストルーチンを２度実行し、２度とも同じ以上結果が検出されたかどうかを確認してハードウェア故障による不具合か、ソフトエラーによる不具合かを区別することができる。
具体的には、図３に示す構成により、図１の構成と同様の作用を実現することに加え、出力端子８２が、最初にＢｉｔ１に書き込まれた入力信号（１番目の入力信号）の状態と、次に書き込まれる入力信号（２番目の入力信号）の状態とが一致するか否かを表示し、２回セルフテスト処理を実施した場合の試験結果をデバイス外部に出力する。出力端子８１、８２のどちらも異常を表示する場合にはハードウェアに故障が生じていることをデバイス外部に通知することが可能になる。例えば、ＣＰＵ３がセルフテスト処理を２回実施した場合、２回とも同じ異常を検出した場合にはハードウェアの故障と判定され、１回目に異常を、２回目に正常を検出した場合にはソフトエラーであると判定される。
さらに、ＣＰＵ３は、Ｂｉｔ０乃至Ｂｉｔ３が保持する状態を読み出し、Ｂｉｔ０とＢｉｔ１の状態を比較、及びＢｉｔ２とＢｉｔ３の状態を比較することを実施し、一致しない場合には、ステータスレジスタ１２内で故障（異常）が発生していると判定する。その結果、ＣＰＵ３は、出力端子８１または出力端子８２からデバイス外部へ試験結果が正確に出力されていないことを検出することができる。
【００２１】
図３の構成例により、一実施形態の故障検出装置に組み込まれるステータスレジスタ１２は、図１に示す構成例に加え、少なくとも次の処理を実現する。
・Ｂｉｔ２が、一番目の入力信号の状態を維持している第一出力信号の状態（Ｂｉｔ１の出力状態）と、第一の保持部（Ｂｉｔ１）が保持している入力信号の状態の次に新たに保持する二番目の入力信号の状態との論理積の状態を保持する第三の保持部として働く。
・出力端子８２が、第三の保持部が出力する第二出力信号の状態（Ｂｉｔ２の出力状態）を外部に通知する第二の出力端子として働く。
Ｂｉｔ３及びＢｉｔ３に接続する信号線（出力端子８２とレジスタ１２２との間に配置される信号線）が、第二の出力端子が第二出力信号の状態を通知するタイミングで、第二の出力端子が通知する状態を帰還させる第二の帰還部として働く。
加えて、バスインタフェース回路１２１及びバスインタフェース回路１２１とレジスタ１２２との間に配置される信号線が、第三の保持部の状態、及び第二の帰還部の状態をＣＰＵ３へ供給する供給部として働く。
【００２２】
以降、図１または図３に示すステータスレジスタ１１、１２のいずれかを組み込んだ故障検出装置の構成例を説明する。
＜全体構成＞
故障検出装置の一例として、図２のＬＳＩチップ１を用いて各実施形態を説明する。図２に示す自己診断回路２は、一実施形態の基本的な構成例であるステータスレジスタ１１、１２（図１または図３）を組み込む構成を実現する一形態である。自己診断回路２は、例えばＣＰＵ３の故障の有無をチェックする診断プログラムを割込み等によって定期的に起動し、診断結果を出力端子（状態表示用出力端子）から出力する機能を備える。また、定期的な割り込み要求にＣＰＵ３が反応しなかった場合のエラー例外信号発生機能を備える。
【００２３】
実施形態１．
＊  実施形態１の構成
＜自己診断回路の構成＞
図４は一実施形態を組み込んだ自己診断回路２の一構成例である。自己診断回路２は、第一のタイマ２１、第二のタイマ２２、及び制御＆ステータスレジスタ２３を備える。
第一のタイマ２１は、指定された一定時間毎にＣＰＵ３の故障の有無をチェックする処理ルーチンを起動するための割り込み要求を出す。
第二のタイマ２２は、指定された一定時間ＣＰＵ３が第一のタイマ２１の割り込みを受け付けない場合に、タイムアウトエラー例外を発生させる。
制御＆ステータスレジスタ２３は、第一及び第二のタイマ２１，２２を制御し、自己診断の状態を示す機能を備える。
出力端子８は、ＬＳＩチップ１の状態をＬＳＩチップ１の外部に知らせる出力インタフェース機能である。
【００２４】
第一のタイマ２１は、初期値レジスタ２１１、ダウンカウンタ２１２、カウンタレジスタ２１３及びゼロ確認＆割り込み発生回路２１４を備える。第一のタイマ２１は、ＣＰＵ３の故障を検出するテストルーチンを定期的に起動させる割り込みを発生させることを目的とする。テストルーチンは、ＣＰＵ３が故障していないかどうかをテストする機能を実現する命令群である。例えば、命令群は、プログラムにより実現し、ＣＰＵ３がキャッシュ４若しくは外部メモリ９０等の読み出し可能な記憶領域に格納される。
初期値レジスタ２１１は、ＣＰＵ３を一定間隔ごとにテストする周期情報を保持する。
ダウンカウンタ２１２及びカウンタレジスタ２１３により、初期値レジスタ２１１に保持する周期情報をダウンカウントして、一定間隔を計測する。
ゼロ確認＆割り込み発生回路２１４は、カウンタレジスタ２１３がゼロになったことを検出すると、テストルーチンを実行させるため、割り込み信号を制御＆ステータスレジスタ２３を介して割り込み制御回路５へ出力する。
割り込みを発生させる間隔は、通常の処理内容の負荷に応じてユーザが初期値レジスタ２１１に設定することにより、任意に決めることができる。
ＣＰＵ３は、第一のタイマ２１の割り込みを受け付け、テストルーチンを実行すると、制御＆ステータスレジスタ２３に所定の制御コマンドを書き込む。制御コマンドに応じて、制御＆ステータスレジスタ２３は、第一のタイマ２１のダウンカウンタ２１２及びカウンタレジスタ２１３をクリアするとともに、割り込み信号を解除し、ダウンカウント開始させる。これにより、第一のタイマ２１は、次の割り込み発生に備えた動作を再開する。
【００２５】
第二のタイマ２２は初期値レジスタ２２１、ダウンカウンタ２２２、カウンタレジスタ２２３及びゼロ確認＆エラー例外発生回路２２４を備える。第二のタイマ２２はＣＰＵ３が万が一予め定めた時間内にテスト割り込みを実行しない場合に、暴走状態にあると判断し、エラー例外を発生させることを目的とする。ここで、テスト割り込みは、第一のタイマ２１がＣＰＵ３にテストルーチンを実行させる割り込みである。
初期値レジスタ２２１は、テスト割り込みの実行を確認する発生間隔の時間（エラー例外検出時間）を保持する。発生間隔は通常、第一のタイマ２１による割り込み発生間隔（テスト時間）より長くとる。その理由は、テスト割り込み発生時に一時的に優先度の高い処理実行中でしばらくテストルーチンの実行開始が遅れても様子を見るためである。しかし、設定した期間全くテストルーチンの実行が開始されない時は、第二のタイマ２２は、ユーザプログラムのタスク管理が不十分か、若しくはＣＰＵ３が暴走状態にあると判断してエラー例外を発生させる。言い換えると、第二のタイマ２２は、自己診断回路専用のウォッチドッグタイマの機能として働く。従って、暴走状態かどうかの判断の間隔は、ユーザが初期値レジスタ２２１を設定することにより任意に決めることができる。
【００２６】
ゼロ確認＆エラー例外発生回路２２４は、カウンタレジスタ２２３がゼロになったことを検出すると、ＣＰＵ３が暴走状態（故障発生状態）であると判定し、制御＆ステータスレジスタ２３を介して割り込み制御回路５へ出力する。
ＣＰＵ３は、第一のタイマ２１の割り込みを受け付ける毎に、制御＆ステータスレジスタ２３に所定の制御コマンドを書き込む。制御コマンドに応じて、制御＆ステータスレジスタ２３は、第二のタイマ２２のダウンカウンタ２２２及びカウンタレジスタ２２３をクリアするとともに、＆ダウンカウント開始させる。これにより、第二のタイマ２２は、エラー例外の発生を猶予する。
【００２７】
＜制御＆ステータスレジスタの構成＞
制御＆ステータスレジスタ２３は、一例として、一実施形態のステータスレジスタ１２の構成を含んだ機能回路である。詳細な構成例を図５に示す。
制御＆ステータスレジスタ２３Ａは、バスインタフェース回路２３１Ａ、レジスタ２３２Ａ、論理積回路（ＡＮＤ回路）２３３Ａ、及び制御レジスタ２３９を備える。制御＆ステータスレジスタ２３Ａは、少なくとも、図３のステータスレジスタ１２と同様の機能を実現するように働く。加えて、第二のタイマ２２が出力するエラー例外信号をデバイス外部に通知するとともに、通知したエラー例外信号の状態を自己に帰還させ、ＣＰＵ３が出力端子８２の状態を取得できるように構成される。
図４に示す出力端子８は、図５では、制御＆ステータスレジスタ２３Ａに応じて、出力端子８１〜８３の３つの出力端子群から構成される。出力端子８１はＢｉｔ１の状態、出力端子８２はＢｉｔ２の状態、出力端子８３はエラー例外信号の状態をデバイス外部へ出力する。
【００２８】
レジスタ２３２Ａは、５ビットで構成される。具体的には、図２のレジスタ１２２へＢｉｔ４を追加した構成である。
Ｂｉｔ０からＢｉｔ３は、図１または図３と同様であるため説明を省略する。
レジスタ２３２ＡのＢｉｔ４（以降適宜、「Ｂｉｔ４」と記載する）は、出力端子８３がエラー例外信号の状態を通知するタイミングで、出力端子８３が通知する状態を帰還させ保持する第五のデータ保持回路であり、かつ、ＣＰＵ３がバスインタフェース回路２３１Ａを介して保持する状態を読み出せるように構成される。ここで、エラー例外信号は、図４に示すように、第二のタイマ２２が制御＆ステータスレジスタ２３に出力する信号であり、第二のタイマ２２がエラー例外信号を出力すると、バッファ回路を介して出力端子８３へ入力されるとともに、割り込み制御回路５へ通知される。言い換えると、出力端子８３が、第二のタイマ２２が検出するタイムアウトのエラー例外信号の状態を外部に知らせ、Ｂｉｔ４が出力端子８３の状態を保持する。
バスインタフェース回路２３１Ａは、図１または図２のバスインタフェース回路１１１、１２１と同様に働くとともに、Ｂｉｔ４の状態を読み出す。バスインタフェース回路２３１Ａは、第１から第５のデータ保持回路の内容を読み出すバスインタフェース回路機能を備える。
なお、第１から第５のデータ保持回路（Ｂｉｔ０からＢｉｔ４）は、リセットによりゼロに初期化される。
制御レジスタ２３９は、第一のタイマ２１及び第二のタイマ２２の各レジスタを制御する制御信号を構成する機能を有する。一般的な技術により実現するものであるため、ここでは、詳細な説明を省略する。
表１にレジスタ２３２Ａ及び制御レジスタ２３９の機能を示す。
【００２９】
【表１】
2015121478.tif 000003
【００３０】
＊  実施形態１の動作又は製造方法等
第一のタイマ２１が割り込み信号を割り込み制御回路５へ出力することにより、ＣＰＵ３がテストルーチンを実行する。ＣＰＵ３は、テストルーチンの試験結果を示す入力信号を、バス６を介して制御＆ステータスレジスタ２３Ａへ書き込む。ここでは、テストルーチンの試験結果が期待値と一致しない場合には、入力信号の状態が１（Ｈｉｇｈ）であり、期待値と一致する場合には、入力信号の状態がゼロ（Ｌｏｗ）であることを前提とする。例えば、ＣＰＵ３は、テストルーチンを実行している際に期待値と異なる試験結果が得られた場合には、ＬＳＩチップ１内の一部に故障や誤作動などの異常が発生していると判定する。ＣＰＵ３は、Ｂｉｔ１へ１を書き込むため、状態が１の入力信号を制御＆ステータスレジスタ２３Ａへ出力する。
【００３１】
制御＆ステータスレジスタ２３Ａでは、バスインタフェース回路２３１Ａが入力信号を受け取り、レジスタ２３２ＡのＢｉｔ１へ書き込む。レジスタ２３２Ａは、ＣＰＵ３がテストルーチンを実行する前に初期値ゼロにリセットされる。Ｂｉｔ１に入力信号の状態が書き込まれると、書き込まれた状態が出力端子８１から出力され、試験結果をデバイス外部へ通知する。例えば、Ｂｉｔ１に１が設定されると、ＬＳＩチップ１に異常が発生したことを知らせることになる。
Ｂｉｔ２は、Ｂｉｔ１にこれから書き込む入力信号の状態と、Ｂｉｔ１に入力信号の状態が書き込まれる前の状態との論理積を保持するように構成される。加えて、Ｂｉｔ２は、Ｂｉｔ１への書き込み動作及び条件によって、Ｂｉｔ２へのセット／クリアが決まるように構成される。ここでは、Ｂｉｔ２は、入力信号の状態と、Ｂｉｔ１が初期値ゼロにリセットされた状態の論理積を保持することになるため、初期値のゼロを維持している。
【００３２】
次に、ＣＰＵ３がテストルーチンを再度実行すると、ＣＰＵ３は、２番目の入力信号を制御＆ステータスレジスタに書き込む。Ｂｉｔ１には、２番目の入力信号の状態が書き込まれる。このとき、Ｂｉｔ２は、２番目の入力信号の状態と、Ｂｉｔ１が保持する１番目の入力信号の状態との論理積を保持することになる。例えば、Ｂｉｔ１が１にセットされている状態で、更に期待値と異なる結果が得られ、２番目の入力信号の状態が１であるとき、ＣＰＵ３がＢｉｔ１を書き込む動作を実行することにより、Ｂｉｔ２にも１がセットされる。一方、Ｂｉｔ１が１にセットされている状態で、期待値と同じ結果が得られ、２番目の入力信号の状態が０であるときは、ＣＰＵ３がＢｉｔ１を書き込む動作を実行することにより、Ｂｉｔ１は０となり。Ｂｉｔ２も０がセットされる。
【００３３】
Ｂｉｔ０、Ｂｉｔ３及びＢｉｔ４は、Ｂｉｔ１及びＢｉｔ２及びエラー例外信号の状態を外部に知らせるための第一、第二及び第三の出力端子の状態をそのまま反映する。
ＣＰＵ３は、レジスタ２３２Ａの各ビットの状態を読み出し、比較することにより、制御＆ステータスレジスタ２３Ａ内で故障や異常が生じているかを検出することができる。具体的には、ＣＰＵ３は、Ｂｉｔ０とＢｉｔ１とを比較し、一致しない場合には制御＆ステータスレジスタ２３Ａ内で故障が生じていると判定する。同様に、Ｂｉｔ２とＢｉｔ３、及びエラー例外信号の状態とＢｉｔ４とを比較して、故障や異常を検出する。レジスタ２３２Ａの各ビットを読み出して比較することにより、特にバスインタフェース回路２３１Ａ、レジスタ２３２Ａ、及び出力端子８１〜８３の間で生じる故障を検出する。
【００３４】
＊  実施形態１の主な特徴および効果
ＬＳＩチップ１は、図４の第二のタイマ２２が出力するエラー例外信号によって、ＣＰＵ３が応答出来ないような状態に陥った場合でも、外部にその異常状態を知らせる機能を持つ。しかし、自己診断回路２自体が故障する可能性もある。ＣＰＵ３によるアクセスが可能な図４の第一及び第二のタイマ２１、２２については、テストランをさせてカウンタ機能やレジスタ機能の異常の有無をチェックすることはできるが、図５の出力端子８１〜８３については、実際に正しい状態を外部に出力しているかどうかはＬＳＩチップ１自身では確認できない。
この課題を解決するため、図５に示す制御＆ステータスレジスタ２３Ａでは、出力端子８１〜８３からのフィードバック信号を保持するＢｉｔ０、Ｂｉｔ３及びＢｉｔ４を備える。これにより、出力端子８１〜８３の出力状態をＬＳＩチップ１の内部で確認することができる。言い換えると、制御＆ステータスレジスタ２３Ａは、試験結果やエラー例外などの出力回路（出力経路）とは別に、フィードバック回路（フィードバック経路）を設けることによりこの課題を解決する。一方、フィードバック回路部分が故障する可能性もある。しかし、本来の出力経路とフィードバック経路が同時に故障する可能性は極めて低いため、どちらかが故障しても異常が検出できるため、フェイルセーフ機能として有効である。
【００３５】
ＬＳＩチップ１内部のテストルーチンによるセルフテストの結果、内部に異常があることが分かった場合、ＣＰＵ３は、Ｂｉｔ１をセットすることにより異常状態をデバイス外部に知らせることができる。加えて、Ｂｉｔ２の機能を備えることにより、ハードウェアの故障か、ソフトエラーによる一時的なエラーであるかを検出することが可能になる。通常、ソフトエラーは、一時的な環境の変化等により発生するエラーであり、所定の時間経過後に再度セルフテストをすると、エラーが解消されていることが多い。このような場合、Ｂｉｔ２の機能により、ハードウェアの故障とソフトエラーとを区別することを可能にする。
具体的には、例えば１度セルフテスト処理を実施した時に異常が検出されたとしても、ハードウェアの故障による異常か、ソフトエラーによる一時的なエラーかが区別できない。しかし、セルフテストを２度実行し、Ｂｉｔ１の状態とＢｉｔ２との状態とを組み合わせることにより、ハードウェアの故障か、ソフトエラーかを区別することが可能になる。例えば、同じセルフテストを２度実行した結果、同じ異常状態が２度とも検出された場合はハードウェアの故障であり、２度目に異常が検出されなかった場合は、１度目がソフトエラーによる異常検出だったと判定することができる。すなわち、Ｂｉｔ１が１でかつＢｉｔ２がゼロの場合はまだソフトエラーとハードウェアの故障の両方の可能性があることを示しており、Ｂｉｔ１及びＢｉｔ２が１の場合はハードウェアの故障と判定される。Ｂｉｔ１が１でかつＢｉｔ２がゼロの状態からＢｉｔ１及びＢｉｔ２が両方ともゼロに遷移した場合は、ソフトエラーであったことを示している。
【００３６】
なお、図５では、レジスタ２３２Ａが図３のステータスレジスタ１２及びＢｉｔ４を含む制御＆ステータスレジスタ２３Ａの構成例を示した。しかし、制御＆ステータスレジスタ２３Ａは、図５の構成例に限られるものではなく、例えば、図１のステータスレジスタ１１のみを含む構成例、図３のステータスレジスタ１２のみを含む構成例、あるいは、図１のステータスレジスタ１１及びＢｉｔ４を含む（Ｂｉｔ２及びＢｉｔ３を除く）構成例であってもよい。このような構成例であっても、ＣＰＵ３は、レジスタ２３２Ａの状態を、バスインタフェース回路２３１Ａを介して読み出すことができるため、ハードウェアの故障によりデバイス外部にソフトエラー試験結果を誤って通知していることを検出できる。
さらに加えて、ＬＳＩチップ１は、ＣＰＵ３が検出した故障や異常を外部に通知する別の手段を備えていてもよい。例えば、ＬＩＳチップ１は、ＣＰＵ３がバス６を介して、表示装置や警報装置に故障や異常の情報を出力するように構成してもよい。
【００３７】
実施形態２
＊  実施形態２の構成
図６は、実施形態２の制御＆ステータスレジスタ２３Ｂの構成例である。図５の構成例との違いは、論理積回路２３３Ｂの接続であり、ＣＰＵ３からＢｉｔ２への書き込み機能ができるように構成されている点である。他の構成は実施形態１の制御＆ステータスレジスタ２３Ａと同様である。
【００３８】
＊  実施形態２の動作又は製造方法等
セルフテストの試験結果を、ＣＰＵ３はバス６を介して、Ｂｉｔ１とＢｉｔ２に同時に入力信号の状態を書き込む動作を実行する。このとき、Ｂｉｔ１は入力信号の状態がゼロでも１でも任意に書き込むことができる。一方、Ｂｉｔ２、論理積回路２３３Ｂにより、図５の構成例と同様、入力信号の状態が１であっても、Ｂｉｔ１が既に１の状態でなければ１にセットされない。
【００３９】
＊  実施形態２の特徴および効果
実施形態２の制御＆ステータスレジスタ２３Ｂは、実施形態１と違い、Ｂｉｔ２はＲｅａｄ  ｏｎｌｙではなく、Ｒｅａｄ／Ｗｒｉｔｅ可能になっている。しかし、書き込みは条件付きであり、同様の機能を実現することができる。
【００４０】
実施形態３
実施形態３では、ステータスレジスタが出力端子を専有する場合などに適用できる回路構成例を説明する。
＜一実施形態の基本的な構成例の変形＞
図７は、図１の基本的な構成例を変形したものである。ステータスレジスタ１３は、バスインタフェース回路１１１、及びレジスタ１３２を備える。ステータスレジスタ１３は、図１のステータスレジスタ１１と同様の機能を実現する。
バスインタフェース回路１１１は、図１と同様である。
レジスタ１３２は、１ビットで構成される。レジスタ１３２のＢｉｔ１は、図１のレジスタ１１２のＢｉｔ１と同様である。
出力端子８１は、Ｂｉｔ１が出力する出力信号の状態をデバイス外部に知らせる。
【００４１】
図７の構成では、出力端子８１がＢｉｔ１からの出力信号（第一出力信号）の状態を通知するタイミングで、出力端子８１が通知する状態をフィードバック信号線により帰還させバスインタフェース回路１１１へ出力する。例えば、出力端子８１から出力される状態は、バッファ回路を介して、バスインタフェース回路１１１へ伝送される。
図７では、フィードバック信号線は、出力端子８１からバスインタフェース回路１１１へ接続する信号線（出力端子８１とバスインタフェース回路１１１との間に配置される信号線）であり、第一の帰還部として働き、出力端子８１の状態のフィードバック経路を構成する。フィードバック経路（フィードバック信号線）が常時ドライブ状態であれば、必ずしも出力端子８１の状態を保持する保持回路を必要としない。
バスインタフェース回路１１１は、Ｂｉｔ１の状態及びフィードバック信号線の状態をＣＰＵ３に供給する供給部として働く。
なお、図示しないが、図３のステータスレジスタ１２についても、Ｂｉｔ０及びＢｉｔ３を除いた構成例でステータスレジスタを実現することが可能である。
図７の構成では、図１の構成に比べ、ステータスレジスタを構成する回路の数を削減することが可能になる。以下に、図７の構成を適用した制御＆ステータスレジスタについて説明する。
【００４２】
＜制御＆ステータスレジスタの構成＞
図８は実施形態３の制御＆ステータスレジスタ２３Ｃの構成例である。図５の構成例との違いは、状態表示用端子の状態を保持するデータ保持回路であるＢｉｔ０、Ｂｉｔ３、Ｂｉｔ４が無いことである。
出力端子８１とバスインタフェース回路２３１Ａとの間の第一のフィードバック信号線は、出力端子８１の状態の第一のフィードバック経路を構成し、第一の帰還部として働く。出力端子８２とバスインタフェース回路２３１Ａとの間の第二のフィードバック信号線は、出力端子８２の状態の第二のフィードバック経路を構成し、第二の帰還部として働く。出力端子８３とバスインタフェース回路２３１Ａとの間の第三のフィードバック信号線は、出力端子８３の状態の第三のフィードバック経路を構成し、第三の帰還部として働く。出力端子８１〜８３の状態の入力経路が常時ドライブ状態であれば、必ずしもデータ保持回路によって状態を保持する必要はなく、そのままバスインタフェース回路２３１Ａに接続しておけば良い。なお、第一乃至第三の帰還部のいずれかが出力端子の状態を保持する保持回路を備える構成であってもよい。
他の構成要素及び動作は図５の制御＆ステータスレジスタ２３Ａと同様であるため説明を省略する。
実施形態３の構成によれば、より少ない回路で同じ効果を得ることができる。
【００４３】
実施形態４
図９は実施形態４の制御＆ステータスレジスタ２３Ｄの構成例である。図８の構成例との違いは、出力端子８１〜８３の状態をそのままバスインタフェース回路２３１Ａに入力するのではなく、Ｂｉｔ１、Ｂｉｔ２、エラー例外信号の状態出力信号と排他的論理和を取ってから入力している点である。
制御＆ステータスレジスタ２３Ｄは、バスインタフェース回路２３１Ｄ、レジスタ２３２Ｄ、論理積回路２３３Ｃ、排他的論理和回路２３４〜２３６、及び制御レジスタ２３９を備える。
図９の構成において、第一のフィードバック経路は、出力端子８１と排他的論理和回路２３４との間のフィードバック信号線から構成され、第一の帰還部として働く。第二のフィードバック経路は、出力端子８２と排他的論理和回路２３５との間のフィードバック信号線から構成され、第二の帰還部として働く。第三のフィードバック経路は、出力端子８３と排他的論理和回路２３６との間のフィードバック信号線から構成され、第三の帰還部として働く。
また、図９の構成において、供給部は、少なくとも排他的論理和回路２３４、２３５及び２３６の出力状態をＣＰＵ３へ供給するように構成される。本実施形態では、各状態をそれぞれ供給するのではなく、フィードバック経路の状態と対応する出力経路の状態との排他的論理和の状態を供給する。そのため、供給部は、バスインタフェース回路２３１Ｄ及び排他的論理和回路２３４〜２３６を少なくとも含む。
【００４４】
フィードバック経路の出力が排他的論理和回路２３４〜２３６からバスインタフェース回路２３１Ｄへ出力される点を除いて、制御＆ステータスレジスタ２３Ｄの構成及び動作は実施形態１から３と同様であるため説明を省略する。
なお、図９では、排他的論理和回路２３４〜２３６の出力の状態をバスインタフェース回路２３１Ｄを介して読み出し可能にするとともに、専用の信号線が制御＆ステータスレジスタ２３Ｄの外部へ配線され直接取得できるように構成した例を示しているが、いずれか一方であってもよい。例えば、図１０に示すように制御＆ステータスレジスタ２３Ｅは、専用の信号線（３つのエラー例外信号線）のみでＣＰＵ３へ排他的論理和回路２３４〜２３６の状態を通知するように構成されていてもよい。図１０では、排他的論理和回路２３４〜２３６の状態はバスインタフェース回路２３１Ｅを介して出力されない。また、その逆に専用の信号線を配置しないで、図９に示すバスインタフェース回路２３１ＤからのみでＣＰＵ３へ排他的論理和回路２３４〜２３６の状態を通知するように構成してもよい。
加えて、図９では、図８の構成例に排他的論理和回路を追加する構成例を説明したが、図５または図６の構成例に排他的論理和回路を追加する構成であってもよい。
【００４５】
図９の制御＆ステータスレジスタ２３Ｄによれば、ＣＰＵ３は、バス６を介して、排他的論理和の出力の状態を読み出し、状態が１を示す場合には、読み出した状態の経路のどこかに故障が発生していること検出することができる。ＣＰＵ３でＢｉｔ０乃至４を読み出してソフトウェアにより比較する処理が必要なくなるため、ソフトウェアの作成に要するコストやＣＰＵ３の負荷を削減することが可能になる。
【００４６】
実施形態５．
実施形態５では、図１のステータスレジスタへエラー例外信号を出力する出力端子８３を追加した構成例を故障検出装置へ組み込む構成例を説明する。
図１１は実施形態５の制御＆ステータスレジスタ２３Ｆの構成例である。制御＆ステータスレジスタ２３Ｆは、図１０の制御＆ステータスレジスタ２３Ｅから、Ｂｉｔ２、排他的論理和回路２３５、及び出力端子８２等を除いた構成である。
図１１では、図１０の制御＆ステータスレジスタ２３Ｅを変形した構成例を示したが、図５，６，８，９等の制御＆ステータスレジスタの構成例であっても、第二の出力経路及び第二のフィードバック経路（第二の保持部、第二の帰還部、及び第二の出力端子に相当する構成要素）を除いた構成によって、一実施形態を実現することができる。
本実施形態の制御＆ステータスレジスタ２３Ｆによれば、セルフテストの試験結果及びエラー例外信号をデバイス外部に通知する出力端子の故障、及びこれに関連するハードウェアの故障をＣＰＵ３が検出することが可能になる。
【００４７】
実施形態６．
実施形態６では、出力端子がデバイス外部に出力する状態を帰還させる機能を実現する他の構成例について説明する。
図１２は、図７の構成を変形した一実施形態の他の基本的な構成例を示す図である。
ステータスレジスタ１４は、バスインタフェース回路１４１を備え、バス６を経由することなく、直接信号線によって入力信号を受け取るように構成される。
出力端子８１は、入力信号の状態をデバイス外部へ通知する。例えば、ＣＰＵ３がセルフテストの試験結果を、バス６を経由しないで専用の信号線により出力端子８１へ出力することが可能であり、信号の状態がリセットされるタイミング等が調整可能な構成であれば、図１２に示すような回路構成により、出力端子８１の状態をフィードバックすることが可能である。
【００４８】
ステータスレジスタ１４は、例えば以下の機能を実現する。
・入力信号を出力端子８１へ直接出力する信号線(出力経路)が配置され、出力経路が、入力信号を取り込む取得部として働く。
・上述した出力経路が出力端子と接続され、出力端子が、入力信号の状態を外部に出力する第一の出力端子として働く。
・出力端子８１が入力信号の状態を通知するタイミングで、出力端子８１の状態を帰還させるフィードバック経路が配置される。フィードバック経路は、出力端子８１とバスインタフェース回路１４１との間のフィードバック信号線から構成され、第一の帰還部として働く。
バスインタフェース回路１４１は、入力信号の状態、及びフィードバック信号線の状態をＣＰＵ３が読み出せるように構成され、入力信号の状態及び第一の帰還部の状態を、ＣＰＵ３などのＬＳＩチップ１内の制御機構へ供給する供給部として働く。
【００４９】
図１２のステータスレジスタ１４は図９のように排他的論理和回路を追加する構成であってもよい。
図１３は、図１２の構成を変形した一実施形態の他の基本的な構成例を示す図である。
ステータスレジスタ１５は、バスインタフェース回路１５１、及び排他的論理和回路１５２を備える。ステータスレジスタ１５は、バス６を経由することなく、直接信号線によって入力信号を受け取るように構成される。
出力端子８１は、入力信号の状態をデバイス外部へ通知する。
図１３に示す構成は、図９に示すエラー例外信号の状態の通知に関係する構成と同様である。例えば、ＣＰＵ３がセルフテストの試験結果を、バス６を経由しないで専用の信号線により出力端子８１へ出力することが可能であり、信号の状態がリセットされるタイミング等が調整可能な構成であれば、図１３に示すような回路構成により、出力端子８１の状態をフィードバックすることが可能である。
【００５０】
ステータスレジスタ１５は、例えば以下の機能を実現する。
・入力信号を出力端子８１へ直接出力する信号線(出力経路)が配置され、出力経路が、入力信号を取り込む取得部として働く。
・上述した出力経路が出力端子と接続され、出力端子が、入力信号の状態を外部に出力する第一の出力端子として働く。
・出力端子８１が入力信号の状態を通知するタイミングで、出力端子８１の状態を帰還させるフィードバック経路が配置される。フィードバック経路は、出力端子８１と排他的論理和回路１５２との間のフィードバック信号線から構成され、第一の帰還部として働く。
・バスインタフェース回路１５１は、排他的論理和回路１５２の出力をＣＰＵ３が読み出せるように構成される。バスインタフェース回路１５１及び排他的論理和回路１５２は、排他的論理和回路１５２の出力（フィードバック経路）の状態を制御機構へ供給する供給部として働く。
ステータスレジスタ１５は、排他的論理和回路１５２からバスインタフェース回路１５１を介して、排他的論理和の状態を出力しているが、図１０、図１１に示すようにバスインタフェース回路１５１を備えない構成であってもよい。あるいは、バスインタフェース回路１５１を備え、排他的論理和の状態を出力する専用の信号線を備えない構成であってもよい。
【００５１】
図１２、図１３において、出力経路（取得部）に入力信号の状態を保持する保持回路を追加してもよい。加えて、フィードバック経路（第一の帰還部）にフィードバック信号線の状態を保持する保持回路を追加してもよい。
さらに加えて、図１２、図１３へ、ステータスレジスタ１４，１５を制御する制御機構に応じて、上記各実施形態で説明した第一乃至第三の保持部、第一乃至第二の帰還部のいずれかを追加して構成することも可能である。
【００５２】
以上各実施形態で説明したように、発明者らは、故障検出装置に組み込まれる故障の自己診断回路について、フィードバック経路を設けることにより、自己診断回路自体が故障したことを検知することができることを発見し、例えばＣＰＵ３の制御する機構がステータスレジスタ内の故障を検出するような手法を実現した。また、ハードウェア自体の恒久的な故障ではなく、ソフトエラーによる一時的な誤動作を検出する場合があり、セルフテストを２度実行し、Ｂｉｔ１の状態とＢｉｔ２との状態とを組み合わせることで恒久的な故障との区別が容易にするような手法を実現した。
【００５３】
一実施形態の故障検出回路は、機能安全を考慮した高い故障検出能力が必要な車載製品や日常点検が困難な場所にある装置に組み込むことができる。
【００５４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。例えば、上記各実施形態の出力回路またはフィードバック回路を組み合わせて様々な構成により一実施形態を実現してもよい。
【符号の説明】
【００５５】
１  ＬＳＩチップ
２  故障の自己診断回路（自己診断回路）
３  ＣＰＵ
４  キャッシュ
５  割り込み制御回路
６  バス
７  外部メモリインタフェース
８、８１〜８３  出力端子
９  入出力端子
１１〜１５  ステータスレジスタ
２１  第一のタイマ
２２  第二のタイマ
２３、２３Ａ〜２３Ｆ  制御＆ステータスレジスタ
９０  外部メモリ
１１１、１２１、１４１、１５１  バスインタフェース回路
１１２、１２２、１３２  レジスタ
２１１、２２１  初期値レジスタ
２１２、２２２  ダウンカウンタ
２１３、２２３  カウンタレジスタ
２１４  ゼロ確認＆割り込み発生回路
２２４  ゼロ確認＆エラー例外発生回路
２３１Ａ、２３１Ｂ、２３１Ｄ、２３１Ｅ、２３１Ｆ  バスインタフェース回路
２３２Ａ、２３２Ｃ、２３２Ｆ  レジスタ
２３３Ａ、２３３Ｂ  論理積回路
２３４〜２３６  排他的論理和回路
２３９  制御レジスタ
【図１】
2015121478.tif 000004
【図２】
2015121478.tif 000005
【図３】
2015121478.tif 000006
【図４】
2015121478.tif 000007
【図５】
2015121478.tif 000008
【図６】
2015121478.tif 000009
【図７】
2015121478.tif 000010
【図８】
2015121478.tif 000011
【図９】
2015121478.tif 000012
【図１０】
2015121478.tif 000013
【図１１】
2015121478.tif 000014
【図１２】
2015121478.tif 000015
【図１３】
2015121478.tif 000016