(57)【要約】      （修正有）【課題】ＣＰＵが故障した場合に、より確実に外部装置を救済することのできる、電気回路システムを提供する。【解決手段】第１マイクロコンピュータは、ＣＰＵと、複数のポートと、前記ＣＰＵにより生成されたＣＰＵ出力信号を前記複数のポートのいずれかを介して外部装置に出力するインタフェース回路と、前記ＣＰＵが故障しているか否かを判定し、故障していると判定した場合に故障信号を生成して前記インタフェース回路に供給する故障モード検出回路とを備える。模擬信号生成回路は、前記ＣＰＵ出力信号を模擬した模擬信号を生成する。前記複数のポートは、故障時に前記模擬信号が入力される、第１ポートを有している。前記インタフェース回路は、前記故障信号を取得した場合に、前記第１ポートから入力された模擬信号が、前記ＣＰＵを介することなく、前記第１ポートとは別の第２ポートを介して出力されるように、信号の伝達経路を変更する。【選択図】図２
2011248396.tif 000002
【特許請求の範囲】
【請求項１】
第１マイクロコンピュータと、
模擬信号生成回路と、
を具備し、
前記第１マイクロコンピュータは、
ＣＰＵと、
複数のポートと、
前記ＣＰＵにより生成されたＣＰＵ出力信号を前記複数のポートのいずれかを介して外部装置に出力する、インタフェース回路と、
前記ＣＰＵが故障しているか否かを判定し、故障していると判定した場合に故障信号を生成して前記インタフェース回路に供給する、故障モード検出回路とを備え、
前記模擬信号生成回路は、前記ＣＰＵ出力信号を模擬した模擬信号を生成し、
前記複数のポートは、故障時に前記模擬信号が入力される、第１ポートを有し、
前記インタフェース回路は、前記故障信号を取得した場合に、前記第１ポートから入力された模擬信号が、前記ＣＰＵを介することなく、前記第１ポートとは別の第２ポートを介して出力されるように、信号の伝達経路を変更する
電気回路システム。
【請求項２】
請求項１に記載された電気回路システムであって、
前記インタフェース回路は、前記故障信号を取得した場合に、前記ＣＰＵ出力信号がマスクされるように、信号の伝達経路を変更する
電気回路システム。
【請求項３】
請求項１または２に記載された電気回路システムであって、
更に、
第２マイクロコンピュータ、
を具備し、
前記模擬信号生成回路は、前記第２マイクロコンピュータに内蔵され、
前記インタフェース回路は、前記故障信号を前記第２マイクロコンピュータに送信し、
前記模擬信号生成回路は、前記第２マイクロコンピュータが前記故障信号を取得した場合に、前記模擬信号を生成する
電気回路システム。
【請求項４】
請求項１乃至３のいずれかに記載された電気回路システムであって、
前記模擬信号生成回路は、さらに、前記複数のポートのうちのどのポートを前記第２ポートに設定するかを示すポート設定信号を生成し、前記ポート設定信号を前記第１マイクロコンピュータに送信し、
前記インタフェース回路は、前記ポート設定信号に基づいて、前記第２ポートを特定する
電気回路システム。
【請求項５】
請求項１乃至３のいずれかに記載された電気回路システムであって、
前記インタフェース回路において、前記第２ポートは、前記第１ポートに対応して予め決められている
電気回路システム。
【請求項６】
請求項１乃至５のいずれかに記載された電気回路システムであって、
前記故障モード検出回路は、
前記ＣＰＵが異常状態であるか否かを判定し、異常状態である場合にリセット要求信号を生成する、異常動作検出回路と、
前記リセット要求信号が生成された場合に、リセット信号を生成して前記ＣＰＵに供給する、リセット生成回路と、
前記リセット要求信号が生成された回数をカウントし、前記回数が予め設定された設定回数を超えた場合に、前記ＣＰＵが故障していると判定する、異常動作カウンタ回路とを備え、
前記ＣＰＵは、前記リセット信号を取得した場合に、動作を停止する
電気回路システム。
【請求項７】
請求項１乃至６のいずれかに記載された電気回路システムにおける前記第１マイクロコンピュータとして用いられる、マイクロコンピュータ。
【請求項８】
正常時に、ＣＰＵにより生成されたＣＰＵ出力信号を複数のポートのいずれかを介して外部装置に出力するステップと、
前記ＣＰＵが故障しているか否かを判定するステップと、
前記ＣＰＵが故障した場合に、前記複数のポートに含まれる第１ポートを介して、前記ＣＰＵ出力信号を模擬した模擬信号を取得するステップと、
前記ＣＰＵが故障した場合に、前記第１ポートを介して取得した模擬信号が、前記ＣＰＵを介することなく、前記第１ポートとは別の第２ポートを介して外部装置に出力されるように、信号の伝達経路を変更するステップと、
を具備する
マクロコンピュータの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気回路システム、マイクロコンピュータ、及び電気回路システムの動作方法に関する。
【背景技術】
【０００２】
マイクロコンピュータなどの電気回路装置は、ＣＰＵを備えており、ＣＰＵによって外部装置の制御などを行う。ＣＰＵの動作に異常が生じると、外部装置に対して異常な信号が供給され、外部装置が誤動作してしまう可能性がある。
【０００３】
上記に関連して、特許文献１（特開平１０−４９４０４号公報）には、ウォッチドッグタイマによるリセット動作の回数を監視して、的確な障害処理を行うリセット処理システムが開示されている。図１は、特許文献１に記載されたリセット処理システムを示すブロック図である。このリセット処理システムは、ＣＰＵ１１１、マルチバイブレータ１１２、マルチバイブレータ１１３、オア回路１１４、カウンタ１１６、及び異常処理起動部１２１を備えている。リセット時には、ＣＰＵが、カウンタ１１６から、リセット回数情報信号を取得する。リセット回数が設定回数を超えている場合、ＣＰＵ１１１は、信号Ｄ７をハイレベルに強制制御する。信号Ｄ７は、オア回路１１４に供給され、オア回路１１４ではＣＰＵＡＬＭ＋信号Ｄ８がハイレベルに制御される。信号Ｄ８はシステムの外部に供給され、ＣＰＵが異常動作したことを報知する。さらに、異常処理起動部２１は、ＣＰＵ１１１における実行プログラムを変更し、別途に用意した異常時専用プログラムを起動する。異常時専用プログラムは、最低限の機能だけをサポートしており、ＣＰＵ１１１が管理しているデバイスの誤動作が防止される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４９４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されたリセット処理システムによれば、プログラムバグによってＣＰＵが異常状態となった場合には、外部装置の誤動作を防止することができる。しかしながら、ＣＰＵを構成する回路素子が故障した場合や、異常時専用プログラム自体が故障した場合には、外部装置に対して期待しない信号が出力されてしまう可能性がある。従って、外部装置を救済することができない、という問題点があった。
【課題を解決するための手段】
【０００６】
本発明に係る電気回路システムは、マイクロコンピュータと、模擬信号生成回路とを具備する。前記マイクロコンピュータは、ＣＰＵと、複数のポートと、前記ＣＰＵにより生成された出力信号を前記複数のポートのいずれかを介して外部装置に出力する、インタフェース回路と、前記ＣＰＵが故障しているか否かを判定し、故障していると判定した場合に故障信号を生成して前記インタフェース回路に供給する、故障モード検出回路とを備える。前記模擬信号生成回路は、前記出力信号を模擬した模擬信号を生成する。前記複数のポートは、故障時に前記模擬信号が入力される、第１ポートを有している。前記インタフェース回路は、前記故障信号を取得した場合に、前記出力信号がマスクされ、前記模擬信号が前記第１ポートから前記ＣＰＵを介さずに前記外部装置へ出力されるように、信号の伝達経路を変更する。
【０００７】
本発明に係るマイクロコンピュータは、上述の電気回路システムで用いられる、マイクロコンピュータである。
【０００８】
本発明に係る電気回路システムの動作方法は、正常時に、ＣＰＵにより生成された出力信号を複数のポートのいずれかを介して外部装置に出力するステップと、前記ＣＰＵが故障しているか否かを判定するステップと、前記ＣＰＵが故障した場合に、前記出力信号を模擬した模擬信号を生成し、前記複数のポートに含まれる第１ポートに入力するステップと、前記ＣＰＵが故障した場合に、前記出力信号がマスクされ、前記模擬信号が前記第１ポートから前記ＣＰＵを介さずに外部装置へ出力されるように、信号の伝達経路を変更するステップとを具備する。
【発明の効果】
【０００９】
本発明によれば、ＣＰＵが故障した場合に、より確実に外部装置を救済することのできる、電気回路システム、マイクロコンピュータ、及び電気回路システムの動作方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】特許文献１に記載されたリセット処理システムを示すブロック図である。
【図２】第１の実施形態に係る電気回路システムを示す概略図である。
【図３】マイクロコンピュータの構成を示すブロック図である。
【図４】出力制御回路を示す概略図である。
【図５】出力イネーブル信号制御回路を示す概略図である。
【図６】第１の実施形態に係る電気回路システムの動作方法を示すフローチャートである。
【図７】第２の実施形態に係る電気回路システムを示す概略図である。
【図８】第２の実施形態に係る電気回路システムを示す概略図である。
【図９】入出力制御回路の一例を示す概略図である。
【図１０】入力イネーブル信号制御回路の一例を示す概略図である。
【図１１】出力イネーブル信号制御回路の一例を示す概略図である。
【図１２】電気回路システムの動作方法を示すタイミングチャートである。
【図１３】故障時における入力ポートと出力ポートとの組み合わせの一例を示す概念図である。
【発明を実施するための形態】
【００１１】
以下に、図面を参照しつつ、本発明の実施形態について説明する。
【００１２】
（第１の実施形態）
図２は、本実施形態に係る電気回路システム１を示す概略図である。図２に示されるように、この電気回路システム１は、マイクロコンピュータ２（第１マイクロコンピュータ）、及びマスターマイコン３（第２マイクロコンピュータ）を備えている。
【００１３】
マイクロコンピュータ２は、ＣＰＵ４、故障モード検出回路５、リセット生成回路６、入出力インタフェース７、シリアル通信回路１０、及び複数のポート１３（１３−０〜１３−４）を有している。ＣＰＵ４、故障モード検出回路５、リセット生成回路６、及び入出力インタフェース７は、システムバス８を介してアクセス可能に接続されている。入出力インタフェース７は、ポート１３−０〜ポート１３−３を介した信号の入出力を制御する回路である。シリアル通信回路１０は、ポート１３−４（第１ポート；シリアル通信ポート）を介した信号の入出力を制御する回路である。マイクロコンピュータ２は、複数のポート１３を介して、制御対象となる外部装置（セット）に接続されている。
【００１４】
マスターマイコン３は、マイクロコンピュータ２を制御する機能を有している。マスターマイコン３は、模擬信号生成回路１１、及びシリアル通信回路１２を備えている。シリアル通信回路１２は、マイクロコンピュータ２のポート１３−４に接続されている。模擬信号生成回路１１は、模擬信号及びポート設定信号を生成し、シリアル通信回路１２を介してマイクロコンピュータ２に供給する機能を有している。
【００１５】
マイクロコンピュータ２において、ＣＰＵ４が故障した場合には、外部装置に対して期待しない信号が出力され、外部装置が誤動作する可能性がある。そこで、電気回路システム１には、ＣＰＵ４が故障した場合に外部装置を救済する機能が搭載されている。以下に、電気回路システム１の概略動作について説明する。
【００１６】
通常動作時には、ＣＰＵ４により生成された出力信号（以下、ＣＰＵ出力信号と称す）は、入出力インタフェース７に供給される。入出力インタフェース７は、ＣＰＵ出力信号を、複数のポート１３の何れかを介して、マイクロコンピュータ２によって管理される外部装置に出力する。
【００１７】
一方、ＣＰＵ４が故障した場合には、故障モード検出回路５が、ＣＰＵ４の故障を検知し、故障信号を生成する。故障信号は、入出力インタフェース７に供給され、ポート１３−３を介してマスターマイコン３に送信される。また、故障信号を取得した入出力インタフェース７は、信号の伝達経路を変更する。具体的には、入出力インタフェース７は、ＣＰＵ出力信号が外部装置に出力されないように（ＣＰＵ出力信号がマスクされるように）、信号の伝達経路を変更する。また、入出力インタフェース７は、シリアル通信回路１０から送られてくる信号が、ＣＰＵ４を介することなく、複数のポート１３（１３−０〜１３−３）を介して出力されるように、信号の伝達経路を変更する。一方、マスターマイコン３では、故障信号を取得すると、模擬信号生成回路１１が、模擬信号及びポート設定信号を生成する。ここで、模擬信号とは、ＣＰＵ出力信号を模擬した信号である。また、ポート設定信号は、故障時に出力ポートとして使用するポート（以下、第２ポート）を特定する信号である。模擬信号及びポート設定信号は、シリアル通信回路１２を介して、マイクロコンピュータ２に供給される。マイクロコンピュータ２では、シリアル通信回路１０が、模擬信号及びポート設定信号を取得する。シリアル通信回路１０は、ポート設定信号に基いて、複数のポート１３（１３−０〜１３−３）のなかから第２ポートを選択する。更に、シリアル通信回路１０は、模擬信号を入出力インタフェース７に供給する。入出力インタフェース７は、模擬信号を、第２ポートを介して、外部装置に向けて出力する。
【００１８】
尚、模擬信号としては、外部装置を最低限必要な程度に動作させることのできる信号が用いられればよく、必ずしもＣＰＵ出力信号と全く同じ信号が用いられる必要はない。
【００１９】
上述の動作により、故障時には、ＣＰＵ出力信号は、マスクされ、外部装置に供給されない。そのため、外部装置が誤動作してしまうことが防止される。また、マイクロコンピュータ２においては、ポート１３−４（第１ポート）から入力された模擬信号が、ＣＰＵ４を介することなく、ポート設定信号によって指定された出力ポート（第２ポート）を介して、外部装置へ出力される。これにより、故障したＣＰＵ４を用いることなく、マスターマイコン３によって外部装置の動作を制御することができ、外部装置を救済することができる。
【００２０】
次いで、本実施形態に係る電気回路システム１について詳細に説明する。
【００２１】
図３は、マイクロコンピュータ２の構成を示すブロック図であり、故障モード検出回路５の構成が詳細に示している。図３に示されるように、故障モード検出回路５は、異常動作検出回路１４、及び異常動作カウンタ回路１８を備えている。
【００２２】
異常動作検出回路１４は、ＣＰＵ４が異常状態であるか否かを検出し、異常状態である場合にリセット要求信号を生成する回路である。異常動作検出回路１４は、ウォッチドッグタイマ１５、不正アクセス監視回路１６、及びＯＲ回路１７を備えている。
【００２３】
ウォッチドッグタイマ１５は、カウント値を保持しており、そのカウント値は時間経過に応じてインクリメントされる。ウォッチドッグタイマ１５には、ＣＰＵ４から所定の時間間隔でＷＤＴカウント値クリア命令が供給される。ウォッチドッグタイマ１５は、ＷＤＴカウント値クリア命令に応じて、カウント値をリセットする。ここで、カウント値がオーバーフローした場合には、ＣＰＵ４の動作が異常であると判断される。この場合、ウォッチドッグタイマ１５は、ＷＤＴリセット要求信号を生成してＯＲ回路１７に供給する。
【００２４】
不正アクセス監視回路１６は、不正なアクセスが行なわれているか否かを監視する回路である。不正アクセス監視回路１６は、ＣＰＵ４から、アクセスメモリ情報及び実行命令情報を取得し、これらに基いて不正なアクセスの有無を判定する。不正なアクセスが発生した場合、不正アクセス監視回路１６は、不正アクセスリセット要求信号を生成してＯＲ回路１７に供給する。
【００２５】
ＯＲ回路１７は、ＷＤＴリセット要求信号または不正アクセスリセット要求信号を取得した場合、リセット要求信号を生成して、異常動作カウント回路１８及びリセット生成回路６に供給する。
【００２６】
異常動作カウンタ回路１８は、ＣＰＵ４が故障したのか否かを判定する回路である。異常動作カウンタ回路１８は、リセット処理が行われた回数（リセット要求信号の発生回数）をカウントする機能を有している。すなわち、異常動作カウンタ回路１８は、リセット要求信号を取得すると、カウント値をインクリメントする。異常動作カウンタ回路１８は、カウンタ値が予め設定された回数（ｎ回）を超えたか否かを判定し、超えた場合には、故障信号を生成する。故障信号は、リセット生成回路６、シリアル通信回路１０、及び入出力インタフェース７に供給される。本実施形態では、故障信号として、ハイレベル信号が供給されるものとする。
【００２７】
リセット生成回路６は、ＣＰＵ４の異常時に、ＣＰＵ４をリセットする回路である。リセット生成回路６は、リセット要求信号を取得すると、リセット信号を生成する。本実施形態では、リセット信号として、ローレベル信号が供給されるものとする。リセット信号は、ＣＰＵ４、シリアル通信回路１０、及び入出力インタフェース７に供給される。ＣＰＵ４は、リセット信号を取得した場合、動作をリセットする。リセット時には、ＣＰＵ４は、動作を行わない。ここで、異常動作カウント回路１８により故障信号が生成されなかった場合には、リセット生成回路６は、ＣＰＵ４のリセット処理が終了した後に、リセット信号の供給を停止する。一方、異常動作カウンタ回路１８から故障信号が送られてきた場合には、リセット生成回路６は、リセット信号を供給し続ける。尚、故障信号が送られてくるよりも前にリセット処理が終了していた場合、リセット生成回路６は、故障信号を取得した時点で、ローレベルのリセット信号を生成しなおす。
【００２８】
次いで、シリアル通信回路１０について説明する。シリアル通信回路１０は、シリアル通信ポート１３−４（図１参照）を介して、マスターマイコン３とシリアル通信を行なう回路である。正常動作時には、シリアル通信回路１０は、マスターマイコン３から受信したシリアル信号を、システムバス８を介してＣＰＵ４に供給する。また、ＣＰＵ４により生成されたマスターマイコン３に向けのシリアル出力信号は、シリアル通信回路１０を介してマスターマイコン３に送信される。一方、故障時（故障信号を取得した場合）には、既述のように、マスターマイコン３から模擬信号及びポート設定信号が、シリアル通信回路１０に送られる。シリアル通信回路１０は、模擬信号およびポート設定信号を、入出力インタフェース７に供給する。
【００２９】
次いで、図４および図５を参照し、入出力インタフェース７について詳細に説明する。入出力インタフェース７は、出力制御回路３０、及び出力イネーブル信号制御回路３１を備えている。出力制御回路３０は、信号の伝達経路を制御する回路である。出力イネーブル信号制御回路３１は、出力イネーブル信号を制御する回路である。出力制御回路３０は、各ポート１３に対応して設けられている。出力イネーブル信号制御回路３１も、各ポート１３に対応して設けられている。
【００３０】
図４は、出力制御回路３０の一例を示す概略図である。図４には、一例として、ポート１３−０に対応して設けられた出力制御回路３０−０の構成が詳細に示されている。図４に示されるように、出力制御回路３０は、ＡＮＤ回路１９、ＡＮＤ回路２０、ＯＲ回路２１、及びＡＮＤ回路２２を備えている。ＡＮＤ回路１９の一方の入力端は、異常動作カウンタ回路１８に接続されており、故障時には故障信号（ＭＯＤＥ）が供給される。ＡＮＤ回路１９の他方の入力端は、リセット生成回路６に接続されており、故障時にはリセット信号（ＲＥＳＴＥＴ）の反転信号が供給される。ＡＮＤ回路２０の一方の入力端は、ＣＰＵ出力信号（Ｄｏｕｔ０（ｆｒｏｍＣＰＵ））が供給されるように構成されている。ＡＮＤ回路２０の他方の入力端は、ＡＮＤ回路１９の出力端に接続されている。ＡＮＤ回路２２は、一方の入力端でシリアル通信回路１０に接続され、他方の入力端でＡＮＤ回路１９の出力端に接続されている。シリアル通信回路１０からは、ＡＮＤ回路１９に対して、模擬信号が供給される。ＯＲ回路２１は、一方の入力端でＡＮＤ回路２０の出力端に接続され、他方の入力端でＡＮＤ回路２２の出力端に接続されている。ＯＲ回路２１の出力端は、各ポート１３に接続されている。
【００３１】
上述の入出力制御回路３０の動作について説明する。
【００３２】
正常時には、ＡＮＤ回路１９の一方の入力端には、故障信号（ハイレベル）は供給されず、ローレベルの信号が供給される。そのため、ＡＮＤ回路１９の出力端からは、ローレベルの信号が出力される。その結果、ＡＮＤ回路２０の他方の入力端には、ハイレベルの信号が供給される。従って、ＡＮＤ回路２０の出力端からは、ＣＰＵ出力信号Ｄｏｕｔが出力される。また、ＡＮＤ回路２２の他方の入力端には、ＡＮＤ回路１９から、ローレベル信号が供給される。そのため、ＡＮＤ回路２２の出力端からは、模擬信号に関係なく、ローレベル信号が供給される。ＯＲ回路２１の他方の入力端には、ＡＮＤ回路２２から、ローレベル信号が供給される。従って、ＯＲ回路２１の出力端からは、ＡＮＤ回路２０から出力された信号（出力信号Ｄｏｕｔ）が出力されることになる。すなわち、正常時には、ＣＰＵ出力信号が各ポート１３から出力される。
【００３３】
一方、故障時には、ＡＮＤ回路１９の一方の入力端に故障信号（ハイレベル）が供給され、他方の入力端にリセット信号の反転信号（ハイレベル）が供給される。その結果、ＡＮＤ回路１９の出力端からは、ハイレベル信号が出力される。これにより、ＡＮＤ回路２０の他方の入力端には、ローレベル信号が供給される。従って、ＡＮＤ回路２０は、ＣＰＵ出力信号（Ｄｏｕｔ）に関わらず、ローレベル信号を出力する。すなわち、ＣＰＵ出力信号がマスクされる。また、ＡＮＤ回路２２の他方の入力端には、ＡＮＤ回路１９から、ハイレベル信号が供給される。その結果、ＡＮＤ回路２２は、シリアル通信回路１０から受け取った模擬信号を出力することになる。更に、ＯＲ回路２１には、ＡＮＤ回路２０からローレベル信号が入力され、ＡＮＤ回路２２から模擬信号が入力される。その結果、ＯＲ回路２１は、模擬信号を各ポート１３に向けて出力することになる。すなわち、故障時には、ＣＰＵ出力信号Ｄｏｕｔはマスクされ、模擬信号が各ポート１３から出力される。
【００３４】
図５は、出力イネーブル信号制御回路３１を示す概略図である。図５を参照して、出力イネーブル信号制御回路３１について説明する。各ポート１３には、図示しないラッチ回路などが設けられている。ラッチ回路では、出力イネーブル信号としてハイレベル信号が供給された場合にのみ、各ポート１３を介して外部装置へ信号を出力することが許可される。出力イネーブル信号制御回路３１は、出力イネーブル信号を制御するために設けられている。
【００３５】
図５には、ポート１３−０に対応する出力イネーブル信号制御回路３１−０の構成が詳細に示されている。図５に示されるように、出力イネーブル信号制御回路３１は、シリアル通信回路１０に接続されている。シリアル通信回路１０からは、各出力イネーブル信号制御回路３１に対して、ポート設定信号が供給される。ここで、対応するポート１３が出力ポート（第２ポート）として用いられる場合には、ポート設定信号として、ハイレベルの信号が供給される。
【００３６】
図５に示されるように、出力イネーブル信号制御回路３１は、ＡＮＤ回路２３、ＡＮＤ回路２４、ＡＮＤ回路２５、及びＯＲ回路２６を備えている。ＡＮＤ回路２３の一方の入力端には、故障時に故障信号（ＭＯＤＥ）が供給される。ＡＮＤ回路２３の他方の入力端には、リセット信号（ＲＥＳＥＴ）の反転信号が供給される。ＡＮＤ回路２５は、一方の入力端でシリアル通信回路１０に接続されており、他方の入力端でＡＮＤ回路２３の出力端に接続されている。ＡＮＤ回路２５には、シリアル通信回路１０からポート設定信号が供給される。ＡＮＤ回路２４の一方の入力端には、ＣＰＵ４によって生成された出力イネーブル信号ＥｎｏＯ’が供給される。ＡＮＤ回路２４の他方の入力端は、ＡＮＤ回路２３の出力端に接続されている。ＯＲ回路２６の一方の入力端は、ＡＮＤ回路２４の出力端に接続されている。ＯＲ回路２６の他方の入力端は、ＡＮＤ回路２５の出力端に接続されている。ＯＲ回路２６は、その出力端から、出力イネーブル信号を出力する。
【００３７】
図５に示される回路において、正常時には、ＡＮＤ回路２３には、ハイレベルの故障信号（ＭＯＤＥ）は供給されず、ローレベルの信号が供給される。そのため、ＡＮＤ回路２３は、ローレベルの信号を出力する。ＡＮＤ回路２５には、ＡＮＤ回路２３から、ローレベル信号が供給される。従って、ＡＮＤ回路２５は、ポート設定信号に関係なく、ローレベル信号を出力する。また、ＡＮＤ回路２４には、ＡＮＤ回路２３からハイレベル信号が供給される。そのため、ＡＮＤ回路２４は、ＣＰＵにより生成された出力イネーブル信号ＥｎｏＯ’を出力する。ＯＲ回路２６には、ＡＮＤ回路２５からローレベル信号が供給され、ＡＮＤ回路２４からＣＰＵ４による出力イネーブル信号ＥｎｏＯ’が供給される。その結果、ＯＲ回路２６は、ＣＰＵ４によって生成された出力イネーブル信号ＥｎｏＯ’を出力する。すなわち、各ポート１３の出力可否は、ＣＰＵ４によって制御される。
【００３８】
一方、故障時には、ＡＮＤ回路２３に、ハイレベルの故障信号、及びリセット信号の反転信号（ハイレベル）が供給される。そのため、ＡＮＤ回路２３は、ハイレベル信号を出力する。ＡＮＤ回路２５には、ＡＮＤ回路２３からハイレベル信号が供給され、シリアル通信回路からポート設定信号が供給される。そのため、ＡＮＤ回路２５は、ポート設定信号を出力する。また、ＡＮＤ回路２４には、ＡＮＤ回路２３から、ハイレベル信号の反転信号（ローレベル信号）が供給される。そのため、ＡＮＤ回路２４は、出力イネーブル信号ＥｎｏＯ’に関係なく、ローレベル信号を出力する。ＯＲ回路２６には、ポート設定信号、及びローレベル信号が供給される。その結果、ＯＲ回路２６は、ポート設定信号を、出力イネーブル信号ＥｎｏＯとして出力する。すなわち、各ポート１３の出力可否は、ポート設定信号により制御される。これにより、ポート設定信号により第２ポートとして示されるポート１３が、信号を出力することが可能な状態に設定される。そのため、模擬信号を出力ポートを介して出力することが可能になる。
【００３９】
入出力インタフェース７が上述のような構成を有していることにより、正常時にはＣＰＵ４によってポート操作を行い、故障時にはシリアル通信回路１０を介してマスターマイコン３側でポート操作を行うことが可能である。尚、図４及び図５に示した回路はあくまで一例であり、同様の機能を実現することができるのであれば、他の構成が入出力インタフェース７として採用されてもよい。
【００４０】
続いて、電気回路システム１の動作方法を説明する。図６は、本実施形態にかかる電気回路システム１の動作方法を示すフローチャートである。
【００４１】
ステップＳ１；異常動作検出
まず、異常動作検出回路１４が、ＣＰＵ４の動作が異常であるか否かを検出する。異常動作検出回路は、異常動作を検出した場合、リセット要求信号を生成する。
【００４２】
ステップＳ２；カウンタ値のインクリメント
リセット要求信号が生成されると、異常動作カウンタ回路１８は、リセット回数を示すカウント値をインクリメントする。
【００４３】
ステップＳ３；リセット処理
リセット生成回路６は、リセット要求信号を取得すると、リセット信号を生成する。リセット信号は、ＣＰＵ４及び入出力インタフェース７に供給される。リセット信号を取得したＣＰＵ４は、リセット状態になり、動作を停止する。
【００４４】
ステップＳ４；リセット回数の判定
また、異常動作カウンタ回路１８は、カウント値が予め設定された回数（ｎ回）を超えたか否かを判定する。
【００４５】
ステップＳ５；故障信号生成
カウント値が予め設定された回数（ｎ回）を超えた場合、異常動作カウンタ回路１８は、故障信号を生成する。故障信号は、入出力インタフェース７、リセット生成回路６、及びシリアル通信回路１０に供給される。リセット生成回路６は、故障信号を取得すると、リセット信号を生成し続けるように動作する。
【００４６】
ステップＳ６；信号伝達経路変更
入出力インタフェース７は、故障信号を取得すると、信号の伝達経路を変更する。具体的には、入出力インタフェース７は、ＣＰＵ出力信号がマスクされ、シリアル通信回路１０から送られる信号が各ポート１３を介して出力されるように、信号の伝達経路を変更する。また、入出力インタフェース７は、マスターマイコン３に対して、故障信号を送信する。
【００４７】
ステップＳ７；模擬信号の入出力
マスターマイコン３は、故障信号を取得すると、模擬信号生成回路１１により、模擬信号及びポート設定信号を生成する。模擬信号及びポート設定信号は、シリアル通信回路１２を介して、マイクロコンピュータ２に送られる。マイクロコンピュータ２では、シリアル通信回路１０が、シリアル通信ポート１３−４を介して、模擬信号及びポート設定信号を取得する。シリアル通信回路１０は、模擬信号及びポート設定信号を、入出力インタフェース７に供給する。入出力インタフェース７では、ポート設定信号により指定されたポートが出力ポートに設定され、出力ポートを介して模擬信号が外部装置に出力される。
【００４８】
ステップＳ８；故障時動作のリセット
その後、マイクロコンピュータ２の故障が解消された場合には、マスターマイコン３などを介して、外部リセット信号がマイクロコンピュータ２に送られる。外部リセット信号を取得したマイクロコンピュータ２は、通常時の動作に戻る。
【００４９】
以上説明したように、本実施形態によれば、ＣＰＵ４が故障した場合に、ＣＰＵ出力信号がマスクされる。これによって、故障したＣＰＵ４の誤動作によって外部装置が誤動作してしまうことが防止される。また、故障時には、マスターマイコン３によって生成された模擬信号が、所望するポートから外部装置へ供給される。そのため、本来マイクロコンピュータ２によって制御される外部装置の動作を、マスターマイコン３によって救済することが可能である。
【００５０】
尚、本実施形態では、マスターマイコン３が、模擬信号がシリアル通信により、マイクロコンピュータ２に送信する場合について説明した。但し、模擬信号は必ずしもシリアル通信により送信される必要はない。
【００５１】
（第２の実施形態）
続いて、第２の実施形態について説明する。尚、第１の実施形態と同様の構成を採用することができる部分については、その詳細な説明を省略する。
【００５２】
図７は、本実施形態に係る電気回路システム１を示す概略図である。第１の実施形態においては、模擬信号生成回路１１が、マスターマイコン３に内蔵されている。また、第１の実施形態では、故障時には、マスターマイコン３により、どのポートが出力ポート（第２ポート）に設定されるかが決められる。これに対して、本実施形態では、模擬信号生成回路１１が、マスターマイコン３とは関係なく配置されている。具体的には、模擬信号生成回路１１は、スイッチ回路３２を介して、ポート１３−２に接続されている。ポート１３−２は、正常動作時に、外部装置との間で信号の入出力を行うポートである。また、故障時に出力ポートとして使用されるポート（第２ポート）は、インタフェース回路７において予め決められている。すなわち、故障時において、インタフェース回路７は、スイッチ回路３２に接続されたポート１３−２（第１ポート）から入力された模擬信号が、第２ポートから出力されるように、信号の伝達経路を変更する。
【００５３】
また、第１の実施形態では、マイクロコンピュータ２には、シリアル通信ポート１３−４及びシリアル通信回路１０が設けられている。これに対して、本実施形態では、シリアル通信ポート１３−４及びシリアル通信回路１０は必ずしも必要なく、図７においては図示されていない。
【００５４】
本実施形態に係る電気回路システム１の動作を概略的に説明する。
【００５５】
上述のように、本実施形態においては、複数のポート１３において、故障時に入力ポートとして用いられるポート（第１ポート）と、故障時に出力ポートとして用いられるポート（第２ポート）との対応関係が、予め決定されている。図７に示される例では、ポート１３−２が第１ポートであり、ポート１３−１が第２ポートであるものとする。
【００５６】
正常動作時には、ＣＰＵ４によって複数のポート１３の中から出力ポート及び入力ポートが決定される。そして、決定された出力ポート及び入力ポートを介して、外部装置との間で信号が入出力される。尚、スイッチ回路３２は、第１ポート１３−２を外部装置と接続する。第１ポート１３−２においては、外部装置との間で信号の入出力が行われる。
【００５７】
一方、図８は、故障時における電気回路システム１を示す概略図である。故障時には、入出力インタフェース７が、第１ポート１３−２から入力された信号がＣＰＵ４を介することなく第２ポート１３−１から出力されるように、信号の伝達経路を切り替える。また、故障時には、マイクロコンピュータ２からスイッチ回路３２に故障信号が供給される。故障信号を取得したスイッチ回路３２は、模擬信号生成回路１１と第１ポート１３−２とが接続されるように、接続状態を切り替える。模擬信号生成回路１１は、例えばユーザによって操作されるボタンに連結されており、ユーザによる操作に応じて模擬信号を生成する。この際、第１の実施形態のようにポート設定信号は生成される必要がない。生成された模擬信号は、第１ポート１３−２を介してマイクロコンピュータ２に入力される。マイクロコンピュータ２では、第１ポート１３−２から入力された模擬信号が、ＣＰＵ４を介することなく、第２ポート１３−１から出力される。これにより、第１の実施形態と同様に、模擬信号を救済対象の外部装置に供給することができ、外部装置を救済することが可能となる。
【００５８】
上述のような動作を実現するため、入出力インタフェース７は、入出力制御回路２７、入力イネーブル信号制御回路２８、及び出力イネーブル信号制御回路２９を備えている。以下に、これらの回路について説明する。
【００５９】
図９は、入出力制御回路２７の一例を示す概略図である。図９に示されるように、入出力制御回路２７は、ＡＮＤ回路３３、ＡＮＤ回路３４、ＯＲ回路３５、ＡＮＤ回路３６、及びＡＮＤ回路３７を有している。ＡＮＤ回路３３の一方の入力端には、故障時に故障信号（ＭＯＤＥ）が供給される。ＡＮＤ回路３３の他方の入力端には、リセット信号の反転信号が供給される。ＡＮＤ回路３４の一方の入力端には、ＣＰＵ出力信号ＤｏｕｔＢが供給される。ＡＮＤ回路３４の他方の入力端には、ＡＮＤ回路３３の出力を反転させた信号が供給される。ＯＲ回路３５は、一方の入力端でＡＮＤ回路３４の出力端に接続されており、他方の入力端でＡＮＤ回路３６の出力端に接続されている。ＡＮＤ回路３６は、一方の入力端でＡＮＤ回路３３の出力端に接続されており、他方の入力端で第１ポート１３−２に接続されている。ＡＮＤ回路３７の一方の入力端には、ＡＮＤ回路３３の出力を反転させた信号が供給される。ＡＮＤ回路３７の他方の出力端は、第１ポート１３−２に接続されている。ＡＮＤ回路３７の出力信号は、ＣＰＵに供給される。
【００６０】
入出力制御回路２７の動作について説明する。
【００６１】
正常動作時には、ＡＮＤ回路３３には、故障信号（ハイレベル）が供給されず、ローレベルの信号が供給される。そのため、ＡＮＤ回路３３は、ローレベル信号を出力する。その結果、ＡＮＤ回路３４には、ハイレベル信号が供給される。これにより、ＡＮＤ回路３４は、ＣＰＵ出力信号ＤｏｕｔＢを出力する。また、ＡＮＤ回路３６にはＡＮＤ回路３３から、ローレベル信号が供給される。そのため、ＡＮＤ回路３６は、ポート１３−２から取得した信号に関係なく、ローレベル信号を取得する。ＯＲ回路３５には、ＡＮＤ回路３４からＣＰＵ出力信号ＤｏｕｔＢが供給され、ＡＮＤ回路３６からローレベル信号が供給される。そのため、ＯＲ回路３５は、ＣＰＵ出力信号ＤｏｕｔＢを出力する。その結果、ポート１３−１からは、ＣＰＵ出力信号ＤｏｕｔＢが出力される。一方、ＡＮＤ回路３７には、ＡＮＤ回路３３の反転信号として、ハイレベル信号が供給される。そのため、ＡＮＤ回路３７は、ポート１３−２から取得した信号をＣＰＵに向けて出力する。このように、正常動作時には、ＣＰＵ出力信号がポート１３−１から出力され、ポート１３−２から入力された信号がＣＰＵ４に向けて供給される。
【００６２】
一方、故障時には、ＡＮＤ回路３３に、故障信号（ハイレベル信号）及びリセット信号の反転信号（ハイレベル信号）が供給される。ＡＮＤ回路３３は、ハイレベル信号を出力する。ＡＮＤ回路３４には、ＡＮＤ回路３３から、ローレベル信号が供給される。その結果、ＡＮＤ回路３４は、ＣＰＵ出力信号に関係なく、ローレベル信号を出力する。これにより、ＣＰＵ出力信号がマスクされる。また、ＡＮＤ回路３６には、ＡＮＤ回路３３からハイレベル信号が供給される。その結果、ＡＮＤ回路３６は、ポート１３−２から取得される模擬信号を出力する。ＯＲ回路３５には、ＡＮＤ回路３４からローレベル信号が供給され、ＡＮＤ回路３６から模擬信号が供給される。そのため、ＯＲ回路３５は、模擬信号を出力する。すなわち、第２ポート１３−１からは、模擬信号が出力される。一方、ＡＮＤ回路３７には、ＡＮＤ回路３３から、ハイレベル信号の反転信号（ローレベル信号）が供給される。そのため、ＡＮＤ回路３７は、ポート１３−２から取得した信号（模擬信号）に関係なく、ローレベル信号を出力する。このように、故障時には、第１ポート１３−２から供給された模擬信号が、ＣＰＵ４を介することなく、第２ポート１３−１から出力される。
【００６３】
次いで、入力イネーブル信号制御回路２８について説明する。入力イネーブル信号制御回路２８は、第１ポート１３−２に対応して設けられている。図１０は、入力イネーブル信号制御回路２８の一例を示す概略図である。入力イネーブル信号制御回路２８は、ＡＮＤ回路３８、及びＯＲ回路３９を有している。ＡＮＤ回路３８の一方の入力端は、異常動作カウンタ回路１８に接続されており、故障には故障信号（ＭＯＤＥ）が供給される。ＡＮＤ回路３８の他方の入力端は、リセット生成回路６に接続されており、故障時にはリセット信号（ＲＥＳＥＴ）の反転信号が供給される。ＯＲ回路３９の一方の入力端は、ＡＮＤ回路３８の出力端に接続されている。ＯＲ回路３９の他方の入力端には、ＣＰＵ４により生成された入力イネーブル信号ＥｎｉＡ’が供給される。ＯＲ回路３９の出力信号は、ハイレベルの場合に、入力イネーブル信号として用いられる。
【００６４】
入力イネーブル信号制御回路２８の動作について説明する。正常時には、ＡＮＤ回路３８の一方の入力端には、故障信号（ハイレベル）が供給されず、ローレベル信号が供給される。その結果、ＡＮＤ回路３８は、ローレベル信号を出力する。ＯＲ回路３９には、ＡＮＤ回路３８から、ローレベル信号が供給される。そのため、ＯＲ回路３９は、ＣＰＵ４による入力イネーブル信号ＥｎｉＡ’を出力する。従って、ポート１３−２の入力可否は、ＣＰＵにより生成された入力イネーブル信号ＥｎｉＡ’により制御されることになる。一方、故障時には、ＡＮＤ回路３８には、一方の入力端に故障信号（ハイレベル）が供給され、他方の入力端でリセット信号の反転信号（ハイレベル）が供給される。そのため、ＡＮＤ回路３８は、ハイレベル信号を出力する。ＯＲ回路３９には、ＡＮＤ回路３８からハイレベル信号が供給される。その結果、ＯＲ回路３９は、ＣＰＵによる入力イネーブル信号ＥｎｉＡ’に関係なく、ハイレベル信号を出力する。従って、第１ポート１３−２は、ＣＰＵ４の動作に関係なく、強制的に入力可能な状態に設定される。
【００６５】
次いで、出力イネーブル信号制御回路２９について説明する。出力イネーブル信号制御回路２９は、第２ポート１３−１に対応して設けられている。図１１は、出力イネーブル信号制御回路２９の一例を示す概略図である。出力イネーブル信号制御回路２９は、ＡＮＤ回路４０、及びＯＲ回路４１を有している。ＡＮＤ回路４０の一方の入力端は、異常動作カウンタ回路１８に接続されており、故障には故障信号（ＭＯＤＥ）が供給される。ＡＮＤ回路４０の他方の入力端は、リセット生成回路６に接続されており、故障時にはリセット信号（ＲＥＳＥＴ）の反転信号が供給される。ＯＲ回路４１の一方の入力端は、ＡＮＤ回路４０の出力端に接続されている。ＯＲ回路４０の他方の入力端には、ＣＰＵ４により生成された入力イネーブル信号ＥｎｏＢ’が供給される。ＯＲ回路４０の出力信号は、ハイレベルの場合に、出力可能な状態であることを示す出力イネーブル信号として用いられる。
【００６６】
入力イネーブル信号制御回路２９の動作について説明する。正常時には、ＡＮＤ回路４０の一方の入力端には、故障信号（ハイレベル）が供給されず、ローレベル信号が供給される。その結果、ＡＮＤ回路４０は、ローレベル信号を出力する。ＯＲ回路４１には、ＡＮＤ回路４０から、ローレベル信号が供給される。そのため、ＯＲ回路４１は、ＣＰＵ４による出力イネーブル信号ＥｎｏＢ’を出力する。従って、ポート１３−１の出力可否は、ＣＰＵ４により制御されることになる。一方、故障時には、ＡＮＤ回路４０には、一方の入力端に故障信号（ハイレベル）が供給され、他方の入力端でリセット信号の反転信号（ハイレベル）が供給される。そのため、ＡＮＤ回路４０は、ハイレベル信号を出力する。ＯＲ回路４１には、ＡＮＤ回路４０からハイレベル信号が供給される。その結果、ＯＲ回路４１は、ＣＰＵによる出力イネーブル信号ＥｎｏＢ’に関係なく、ハイレベル信号を出力する。従って、第２ポート１３−１は、ＣＰＵ４の動作に関係なく、強制的に出力可能な状態に設定される。
【００６７】
以上、図９〜図１１に示した回路を採用することで、正常時には入出力ポートとして用いられているポートを、故障時に入力ポートまたは出力ポートに強制的に設定することができる。また、故障時には、第１ポート１３−２から入力される模擬信号を、第２ポート１３−１からそのまま出力することができる。尚、図９〜図１１に示される回路はあくまで一例であり、同様の機能を実現できる回路であれば、他の構成が用いられてもよい。
【００６８】
次いで、本実施形態に係る電気回路システム１の動作方法について説明する。図１２は、電気回路システム１の動作方法を示すタイミングチャートである。図１２において、横軸は時刻を示している。図１２には、クロック信号ｃｌｏｃｋ、故障信号ＭＯＤＥ、リセット信号ＲＥＳＥＴ、第１ポート１３−２の入力イネーブル信号ＥｎｉＡ、第２ポート１３−２の出力イネーブル信号ＥｎｏＢ、第１ポート１３−２に供給される信号（ＰｏｒｔＡ）、及び第２ポート１３−１から出力される信号（ＰｏｒｔＢ）の波形が示されている。マイクロコンピュータ２に含まれる各構成は、クロック信号ｃｌｏｃｋのタイミングに応じて、動作するものとする。
【００６９】
図１２に示されるように、時刻ｔ０において、異常動作カウンタ回路１８がハイレベルの故障信号ＭＯＤＥを生成したとする。尚、時刻ｔ０においては、リセット生成回路６が既にリセット処理を終えており、ハイレベルの信号がリセット生成回路６から出力されているものとする。
【００７０】
故障信号ＭＯＤＥがリセット生成回路６に供給されることにより、リセット生成回路６は、次のクロック信号の立ち上がりタイミング（時刻ｔ１）において、ローレベルのリセット信号を生成する。すなわち、時刻ｔ１において、リセット信号ＲＥＳＥＴとしてローレベルの信号が生成される。故障信号ＭＯＤＥ及びリセット信号ＲＥＳＥＴは、入出力インタフェース７に供給される。入出力インタフェース７では、信号の伝達経路が変更される。また、出力イネーブル信号ＥｎｏＢ及び入力イネーブル信号ＥｎｉＡとして、ハイレベルの信号が生成される。
【００７１】
その後、時刻ｔ２において、第１ポート１３−１（ＰｏｒｔＡ）に模擬信号が入力されたとする。模擬信号は、ラッチ回路などに取り込まれ、次のクロック信号が立ち上がるタイミング（時刻ｔ３）において、第２ポート１３−１（ＰｏｒｔＢ）から出力される。
【００７２】
以上説明したように、本実施形態によれば、第１の実施形態と同様に、故障時にＣＰＵ出力信号がマスクさる。また、故障時には、第１ポート１３−１から入力された模擬信号が、ＣＰＵ４を介さずに、第２ポート１３−２から出力される。従って、故障時に、外部装置を救済することが可能となる。
【００７３】
尚、本実施形態では、模擬信号が第１ポート１３−２から入力され、第２ポート１３−１から出力される場合について説明した。但し、故障時における出力ポートと入力ポートとの組み合わせは、１つに限られるものではない。図１３は、故障時における入力ポートと出力ポートとの組み合わせの一例を示す概念図である。図１３に示されるように、正常時（故障信号がローレベル「０」の場合）には、任意のポートがＣＰＵ４によって入力ポートに設定され、任意のポートがＣＰＵ４によって出力ポートに設定される。一方、故障時（故障信号がハイレベル「１」の場合）には、予め決められたポート（ポートＡ、Ｃ、Ｅ、Ｇ、およびＩ）が入力ポートに設定され、予め決められたポート（ポートＢ、Ｄ、Ｆ、Ｈ、及びＪ）が出力ポートに設定される。ポートＡはポートＢに対応している。すなわち、故障時には、ポートＡから入力された模擬信号が、ポートＢから出力される。また、ポートＣはポートＤに対応している。すなわち、故障時には、ポートＣから入力された模擬信号が、ポートＤから出力される。このように、故障時における入力ポートと出力ポートとの組み合わせが複数決められていても、本実施形態と同様の作用効果を奏することができる。
【００７４】
以上、本発明について、第１及び第２の実施形態を用いて説明した。尚、これらの実施形態は互いに独立するものではなく、矛盾のない範囲内で互いに組み合わせて用いることも可能である。
【符号の説明】
【００７５】
１  電気回路システム
２  マイクロコンピュータ
３  マスターマイクロコンピュータ
４  ＣＰＵ
５  故障モード検出回路
６  リセット発生回路
７  入出力インタフェース回路
８  システムバス
９  入出力制御部
１０  シリアル通信回路
１１  模擬信号生成回路
１２  シリアル通信回路
１３  ポート群
１４  異常動作検出回路
１５  ウォッチドッグタイマ
１６  不正アクセス監視回路
１７  ＯＲ回路
１８  異常動作カウンタ回路
１９  ＡＮＤ回路
２０  ＡＮＤ回路
２１  ＯＲ回路
２２  ＡＮＤ回路
２３  ＡＮＤ回路
２４  ＡＮＤ回路
２５  ＡＮＤ回路
２６  ＯＲ回路
２７  入出力制御回路
２８  入力イネーブル信号制御回路
２９  出力イネーブル信号制御回路
３０  入出力制御回路
３１  イネーブル信号制御回路
３２  スイッチ回路
３３  ＡＮＤ回路
３４  ＡＮＤ回路
３５  ＯＲ回路
３６  ＡＮＤ回路
３７  ＡＮＤ回路
３８  ＡＮＤ回路
３９  ＯＲ回路
４０  ＡＮＤ回路
４１  ＯＲ回路
１１１  ＣＰＵ
１１２  マルチバイブレータ
１１３  マルチバイブレータ
１１６  カウンタ
１２１  異常処理起動部
【図１】
2011248396.tif 000003
【図２】
2011248396.tif 000004
【図３】
2011248396.tif 000005
【図４】
2011248396.tif 000006
【図５】
2011248396.tif 000007
【図６】
2011248396.tif 000008
【図７】
2011248396.tif 000009
【図８】
2011248396.tif 000010
【図９】
2011248396.tif 000011
【図１０】
2011248396.tif 000012
【図１１】
2011248396.tif 000013
【図１２】
2011248396.tif 000014
【図１３】
2011248396.tif 000015