(57)【特許請求の範囲】
【請求項１】
同じ出力期待値を有する三以上のマイクロコンピュータが相互に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行うマイクロコンピュータシステムにおけるマイクロコンピュータのエラー検出方法であって、前記マイクロコンピュータの各々をリング状に接続し、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなすことを特徴とするマイクロコンピュータのエラー検出方法。
【請求項２】
同じ出力期待値を有する二のマイクロコンピュータが相互に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行うマイクロコンピュータシステムにおけるマイクロコンピュータのエラー検出方法であって、一のマイクロコンピュータから演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに接続された他方のマイクロコンピュータに入力され、当該他方のマイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記一のマイクロコンピュータにエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに接続された前記他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなし、エラー発生時の割り込みによってソフトウェアによりエラー検知することを特徴とするマイクロコンピュータのエラー検出方法。
【請求項３】
エラーが発生したマイクロコンピュータへのデータ入力及びエラー入力を通過処理として前記エラーが発生したマイクロコンピュータを介して隣接するマイクロコンピュータにエラー出力して前記エラー検出を行うことを特徴とする請求項１に記載のマイクロコンピュータのエラー検出方法。
【請求項４】
同じ出力期待値を有する三以上のマイクロコンピュータが相互にリング状に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行い、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなす処理を行うために各マイクロコンピュータに備えられるマイクロコンピュータのエラー検出回路であって、前記マイクロコンピュータの出力データを保持し外部クロックで動作する第１のフリップフロップと、この出力データと他のマイクロコンピュータからの入力データとを受け、前記エラー検出回路にてエラーが発生したとみなされたときに入力データを選択して前記マイクロコンピュータの外部へ出力する第１のセレクタと、その出力バッファと、出力データと入力データとを比較する比較器と、その比較結果が不一致のときに外部クロックに同期して一時的にエラーフラグを保持する第２のフリップフロップと、ソフトウェアによるクリアまでエラーフラグを保持する第３のフリップフロップと、エラーを保持する前記第２及び前記第３のフリップフロップの何れかのフラグによってエラー出力を第２のセレクタおよび前記マイクロコンピュータの外部へ出力するＯＲ回路と、前記エラー出力が発生し、かつ外部からの前記エラー入力が入力されたときに前記第３のフリップフロップをセットするＡＮＤ回路と、エラー発生時にエラー入力とエラー出力とのうちエラー入力を選択し、前記エラー信号として外部に出力する前記第２のセレクタとによりなることを特徴とするマイクロコンピュータのエラー検出回路。
【請求項５】
エラー発生時に出力を固定にする出力制御手段と、出力モード時以外比較結果を無効とする出力マスク回路とを備えたことを特徴とする請求項４に記載のマイクロコンピュータのエラー検出回路。
【請求項６】
同じ出力期待値を有する三以上のマイクロコンピュータが相互にリング状に接続されてなり、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなして、各マイクロコンピュータからデータ出力とエラー発生時の前記エラー信号および前記エラー出力を受けてデータ出力を選択しシステム出力とするセレクタと、これらの処理のための同期信号を供給するクロック回路とを備えたことを特徴とするマイクロコンピュータシステム。
【請求項７】
前記セレクタの出力側にフリップフロップを備えたことを特徴とする請求項６に記載のマイクロコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する分野】
本発明は、マイクロコンピュータの冗長構成に関し、マイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムに関するものである。
【０００２】
【従来の技術】
従来より、フォルトトレラント機能を要する制御用マイコン等の分野で、必要とされる演算を行いデータ出力するマイクロコンピュータを冗長に構成し、多数決でデータ出力を選択して冗長構成されたシステムのデータ出力とすることにより信頼性の向上が図られている。また、データ出力を比較して不一致が生じた場合にシステム出力をせず再処理することも提案されている。
【０００３】
以下に、従来のマイクロコンピュータシステムについて図面を用いて説明する。  図８は、従来のマイクロコンピュータシステムにおける構成を示すブロック図である。
図８に示すように、複数のマイクロコンピュータ（略してマイコンと記載する場合もある）を用いるエラー検出システムにおける従来例においては、制御用マイコン８−８にて基準信号を発生し、演算用マイコン１〜３（８−１〜８−３）に入力し、その基準信号を使用して演算用マイコンが演算を開始する。各演算結果は比較器１〜３（８−４〜８−６）で比較され、不一致となった場合エラーとなりセレクタ８−７を制御する。比較した後、再び同一のデータを演算用マイコン１〜３（８−１〜８−３）に出力をさせ、この２回目の出力を制御用マイコンが受け付け、最終出力として出力する。
【０００４】
演算用マイコンが１〜３（８−１〜８−３）と三つなので、多数決を採る際には、三つの比較器１〜３（８−４〜８−６）の中で一致したデータが直ちに多数派であると判る。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来のマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムにおいては次のような問題があった。即ち、監視側の制御用マイクロコンピュータ８−８が暴走又は故障した時は致命的である。また、エラー時に再処理する場合には、必要としている速度の倍以上の演算速度を各演算用マイクロコンピュータ１〜３（８−１〜８−３）に要求されるため、結果として、処理速度を求められるシステムに適用できない。更に、セレクタを切り替えた後、２回目の出力中の暴走が致命的である。また、１個以上のマイクロコンピュータで故障が発生している状況において、故障マイクロコンピュータのシステムからの離脱が考慮されておらず、信頼性を確保し続ける事が難しい。また、システムのトポロジーを考慮しないので、各データ出力の容易な比較判定のためには、演算用マイクロコンピュ−タの個数が三つに限定される。然もなくば、比較し多数決を採るためには監視用マイクロコンピュータ等の別途の制御系を要し、更にエラー発生マイクロコンピュータを特定するためにはアドレッシング等の付加情報を要する。また、略正しいデータ出力を期待できる状況で、全ての組合せを比較するのは無駄が大きい。
【０００６】
本発明は、以上の従来技術における問題に鑑みてなされたものであり、個数自由で故障判定ができ、エラーに柔軟に対応できるマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
前記課題を解決するために提供する本願第一の発明に係るマイクロコンピュータのエラー検出方法は、同じ出力期待値を有する三以上のマイクロコンピュータが相互に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行うマイクロコンピュータシステムにおけるマイクロコンピュータのエラー検出方法であって、前記マイクロコンピュータの各々をリング状に接続し、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなすことを特徴とする。
前記課題を解決するために提供する本願第二の発明に係るマイクロコンピュータのエラー検出方法は、同じ出力期待値を有する二のマイクロコンピュータが相互に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行うマイクロコンピュータシステムにおけるマイクロコンピュータのエラー検出方法であって、一のマイクロコンピュータから演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに接続された他方のマイクロコンピュータに入力され、当該他方のマイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記一のマイクロコンピュータにエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに接続された前記他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなし、エラー発生時の割り込みによってソフトウェアによりエラー検知することを特徴とする。
【０００８】
複数マイクロコンピュータをリング状に接続し同時にエラー入出力が発生したマイクロコンピュータをエラーとみなすことにより、何れのマイクロコンピュータがエラーを起こしたか容易に判定できる。
【０００９】
前記課題を解決するために提供する本願第三の発明に係るマイクロコンピュータのエラー検出方法は、本願第一の発明に係るマイクロコンピュータのエラー検出方法において、エラーが発生したマイクロコンピュータへのデータ入力及びエラー入力を通過処理として前記エラーが発生したマイクロコンピュータを介して隣接するマイクロコンピュータにエラー出力して前記エラー検出を行うことを特徴とする。
【００１０】
通過処理することにより、エラー発生マイクロコンピュータをシステムから取り除いてエラー検出を行うことができるので、万全のシステム出力が期待できる。
【００１１】
前記課題を解決するために提供する本願第四の発明に係るマイクロコンピュータのエラー検出回路は、同じ出力期待値を有する三以上のマイクロコンピュータが相互にリング状に接続されてなり、前記マイクロコンピュータの各々に同様の演算を行い、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなす処理を行うために各マイクロコンピュータに備えられるマイクロコンピュータのエラー検出回路であって、前記マイクロコンピュータの出力データを保持し外部クロックで動作する第１のフリップフロップと、この出力データと他のマイクロコンピュータからの入力データとを受け、前記エラー検出回路にてエラーが発生したとみなされたときに入力データを選択して前記マイクロコンピュータの外部へ出力する第１のセレクタと、その出力バッファと、出力データと入力データとを比較する比較器と、その比較結果が不一致のときに外部クロックに同期して一時的にエラーフラグを保持する第２のフリップフロップと、ソフトウェアによるクリアまでエラーフラグを保持する第３のフリップフロップと、エラーを保持する前記第２及び前記第３のフリップフロップの何れかのフラグによってエラー出力を第２のセレクタおよび前記マイクロコンピュータの外部へ出力するＯＲ回路と、前記エラー出力が発生し、かつ外部からの前記エラー入力が入力されたときに前記第３のフリップフロップをセットするＡＮＤ回路と、エラー発生時にエラー入力とエラー出力とのうちエラー入力を選択し、前記エラー信号として外部に出力する前記第２のセレクタとによりなることを特徴とする。
【００１２】
比較器によりデータを比較し、フリップフロップにより時間を調整し、論理回路により所望の制御を、必要ならセレクタをマイクロコンピュータで制御して、行える。
【００１３】
前記課題を解決するために提供する本願第五の発明に係るマイクロコンピュータのエラー検出回路は、本願第四の発明に係るマイクロコンピュータのエラー検出回路において、エラー発生時に出力を固定にする出力制御手段と、出力モード時以外比較結果を無効とする出力マスク回路とを備えたことを特徴とする。
【００１４】
出力制御手段と出力マスク回路により、所望の制御を行うことができる。
【００１５】
前記課題を解決するために提供する本願第六の発明に係るマイクロコンピュータシステムは、同じ出力期待値を有する三以上のマイクロコンピュータが相互にリング状に接続されてなり、一のマイクロコンピュータから一定方向に演算結果であるデータを出力し、係るデータが前記一のマイクロコンピュータに隣接する一方のマイクロコンピュータに入力され、各マイクロコンピュータで比較された出力データと入力データとが不一致の場合にはエラー出力を出力すると共に、前記方向と逆方向にエラー信号を出力し、係るエラー信号が前記一のマイクロコンピュータに隣接する他方のマイクロコンピュータにエラー入力として入力されると共に、前記エラー入力が入力され、かつ前記エラー出力が発生したマイクロコンピュータにエラーが発生したとみなして、各マイクロコンピュータからデータ出力とエラー発生時の前記エラー信号および前記エラー出力を受けてデータ出力を選択しシステム出力とするセレクタと、これらの処理のための同期信号を供給するクロック回路とを備えたことを特徴とする。
【００１６】
エラー検出回路とデータ出力を選択しシステム出力とするセレクタとにより、エラーを検出して、正しいデータ出力をシステム出力とできる。
【００１７】
前記課題を解決するために提供する本願第七の発明に係るマイクロコンピュータシステムは、本願第六の発明に係るマイクロコンピュータシステムにおいて、前記セレクタの出力側にフリップフロップを備えたことを特徴とする。
【００１８】
フリップフロップを前記セレクタの出力側に備えたことにより、瞬間的な異常データ出力を防ぐことができる。
【００１９】
【発明の実施の形態】
（実施形態１）
以下に、本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの一実施の形態における構成について図面を参照して説明する。
図１は、本発明に係るマイクロコンピュータシステムの一実施の形態における構成を示すブロック図であり、信頼性を高めるために同一のｄａｔａ＿ｏｕｔ出力を行うマイクロコンピュータを４個有する例である。
図１に示すように本実施のマイクロコンピュータシステムは、エラー検出機能をもつエラー検出回路を内蔵するマイクロコンピュータ１〜４（１−１〜１−４）と、このマイクロコンピュータ１〜４（１−１〜１−４）のエラー判定結果を用いて正常なデータをセレクトするセレクタ１５と、瞬間的に発生してしまう異常データを出力しないようにタイミングをずらして出力するフリップフロップＦ／Ｆ１（以下、フリップフロップをＦ／Ｆと略する）１−６と、全てを同期して動かすＣＬＫ発生回路１−７とによりなる。
本構成例では、マイクロコンピュータ１（１−１）の監視をマイクロコンピュータ２（１−２）が、マイクロコンピュータ２（１−２）の監視をマイクロコンピュータ３（１−３）が、マイクロコンピュータ３（１−３）の監視をマイクロコンピュータ４（１−４）が、マイクロコンピュータ４（１−４）の監視をマイクロコンピュータ１（１−１）が行う構成となっている。また、エラーとなったマイクロコンピュータはｄａｔａ＿ｉｎをｄａｔａ＿ｏｕｔにｅｒｒ＿ｉｎをｅｒｒ＿ｔｈｒｏｕｇｈに選択して出力する機能が働き、残り３個の正常なマイクロコンピュータでエラー検出を継続する。また、暴走したマイクロコンピュータはｅｒｒ＿ｏｕｔにエラーを出し続ける事になる。
エラーの場合のソフト処理（ソフトウエアによる処理、ソフトウエアを以下、簡単のためソフトと記載する）は必ず必要というものではないが、エラーを起こしたマイクロコンピュータでは、ｅｒｒｏｒ割り込みが発生する為、ソフト的なエラー処理を行う事が可能であり、エラー内容が致命的なエラーでなければ、他のマイクロコンピュータと同期を取る事が可能な場合において、復帰が可能である。また、ソフトによりエラーを起こしたマイクロコンピュータの動作停止処理も可能である。
ｅｒｒ＿ｉｎ・ｄａｔａ＿ｉｎを選択して出力する機能が働かないような故障においては、故障となったマイクロコンピュータを監視しているマイクロコンピュータのｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈの出力がエラーを示し続ける為、故障したマイクロコンピュータを特定する事が可能である。
また、本実施形態においては、システム上にＦ／Ｆ１（１−６）を配置する事によって、セレクタから瞬間的にもれてしまうエラーデータを出力する事の無い様に工夫を行っている。
【００２０】
次に、各マイクロコンピュータ１〜４（１−１〜１−４）内のエラー検出回路の構成について説明をする。図２は、本発明に係るエラー検出回路の一実施の形態における構成を示すブロック図である。
図２に示すように本実施のエラー検出回路は、図１に示すＣＬＫ発生回路１−７により供給される外部クロックで動作するＦ／Ｆ２（２−１）と、エラー時にｄａｔａ＿ｉｎからの信号を選択するセレクタ２（２−２）と、出力バッファ２−３と、エラー時に出力固定にする出力制御２−１１と、ｄａｔａ＿ｏｕｔとｄａｔａ＿ｉｎの一致・不一致を検査する比較器２−４と、出力モード時以外比較結果を無効とする出力マスク２−５と、外部クロックに同期して一時的にエラーフラグを保持するＦ／Ｆ３（２−６）と、ソフトウェアによるクリアまでエラーを保持するＦ／Ｆ４（２−９）と、Ｆ／Ｆ３（２−６）、Ｆ／Ｆ４（２−９）の何れかのフラグによってエラーを出力するＯＲ２−７と、ｅｒｒ＿ｏｕｔとｅｒｒ＿ｉｎの結果の一致を取るＡＮＤ２−８と、エラー発生時にｅｒｒ＿ｉｎを選択するセレクタ３（２−１０）とによりなる。なお、ＯＲはＯＲ回路のことであり、ＡＮＤはＡＮＤ回路のことである。
【００２１】
次に、本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの一実施の形態における動作について図１、２、６、７を参照して以下に説明する。図６は、本発明に係わるマイクロコンピュータシステム上のタイミングチャート、図７は、本発明に係わるマイクロコンピュータ内部のエラー検出回路のタイミングチャートである。
マイクロコンピュータ１〜４（１−１〜１−４）は、同一のｄａｔａ＿ｏｕｔ出力を期待値とするマイクロコンピュータである事が前提である。まず、暴走によるエラーの場合について説明する。
先に、マイクロコンピュータ内部のエラー検出機能を説明すると、図７に示すようにマイクロコンピュータの出力（ｄａｔａ＿ｏｕｔ）を図２に示すＦ／Ｆ２（２−１）で外部クロックに同期させ、マイクロコンピュータが正常な状態においては、セレクタ２（２−２）を通過し、ｄａｔａ＿ｏｕｔに出力する。このｄａｔａ＿ｏｕｔと外部からの入力ｄａｔａ＿ｉｎを比較器２−４で比較し不一致であればエラーとなる。出力モードの時以外は比較結果を無効とする。その先の出力マスク２−５でｄａｔａ＿ｏｕｔの端子が出力のＯＮ／ＯＦＦが可能な端子の場合は、出力モード時以外のエラー判定を無効とする。尚、ｄａｔａ＿ｏｕｔがマイクロコンピュータにより制御される出力専用端子の場合は、出力マスク２−５は不要である。
上記の動作の結果、ｄａｔａ＿ｏｕｔとｄａｔａ＿ｉｎが不一致の時に、Ｆ／Ｆ３（２−６）がクロックに同期してエラーを保持する。Ｆ／Ｆ３（２−６）がエラーを保持した時、ＯＲ２−７を通過してｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈにエラーである事を出力する。また、ｅｒｒ＿ｉｎからは監視側のマイクロコンピュータからのエラー通知が入力される。
ｅｒｒ＿ｏｕｔとｅｒｒ＿ｉｎの両方がエラーを示している時、自身のエラーであるとＡＮＤ２−８が判定しＦ／Ｆ４（２−９）にフラグを立てる。Ｆ／Ｆ４（２−９）のフラグが立った時、ｄａｔａ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈの出力はｄａｔａ＿ｉｎ・ｅｒｒ＿ｉｎからの通過出力となり、出力制御２−１１は出力バッファを出力モードに固定する。この出力制御２−１１はｄａｔａ＿ｏｕｔが出力専用端子の時は不要である。
ソフトによりＦ／Ｆ４（２−９）をクリアするまでの間、ｅｒｒ＿ｏｕｔはエラー状態で固定され（図７右）、システム上、ｅｒｒ＿ｏｕｔがエラー状態を出力し続ける結果となる。
次に、システム上の動作について説明する。
マイクロコンピュータ１（１−１）がエラーとなってｄａｔａ＿ｏｕｔから異常な値を出力した時、マイクロコンピュータ１（１−１）のｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈ及び、マイクロコンピュータ２（１−２）のｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈからエラーが出力され、マイクロコンピュータ１（１−１）とマイクロコンピュータ４（１−４）のｅｒｒ＿ｉｎにエラーが入力される。マイクロコンピュータ１（１−１）の中で、ｅｒｒ＿ｉｎとｅｒｒ＿ｏｕｔの両方がエラーである事がトリガとなって、自身がエラーであると判定する。マイクロコンピュータ１（１−１）がマイクロコンピュータ１（１−１）自身のエラーであると判定した瞬間、図６に示すようにマイクロコンピュータ１（１−１）のｄａｔａ＿ｏｕｔはｄａｔａ＿ｉｎからの通過出力となり、マイクロコンピュータ１（１−１）のｅｒｒ＿ｔｈｒｏｕｇｈは、ｅｒｒ＿ｉｎからの通過出力となる。通過出力となった瞬間、マイクロコンピュータ２（１−２）では、マイクロコンピュータ４（１−４）のｄａｔａ＿ｏｕｔをマイクロコンピュータ１（１−１）経由で入力する事になり、正常な値が入力されるため、マイクロコンピュータ２（１−２）のｅｒｒ＿ｏｕｔ、ｅｒｒ＿ｔｈｒｏｕｇｈが正常な値に戻る（図６）。また、マイクロンピュータ４（１−４）に入力されているｅｒｒ＿ｉｎがマイクロコンピュータ１（１−１）経由でマイクロコンピュータ２（１−２）のエラー判定結果が入力される為、正常な比較結果を受け取る事になる。したがって、マイクトコンピュータ４（１−４）をマイクロコンピュータ２（１−２）が監視する状態に移行する。そして最後に、エラーとなったマイクロコンピュータ１（１−１）のｅｒｒ＿ｏｕｔ信号がエラーとして残る為（図６マイコン１乃至図７右）、セレクタ１−５に入力され、セレクタ１−５は正常なマイクロコンピュータの出力を選択する。
また、セレクタの出力が切り替わる瞬間においては、エラーデータが発生する可能性があるが、本実施形態のように、セレクタの先に同じクロックで動作するＦ／Ｆ１（１−６）を搭載する事により、エラーデータが最終的に全く発生しないように工夫する事も可能である（図６ＦＦ出力）。
【００２２】
故障によるエラーの場合について説明する。
マイクロコンピュータ１（１−１）が故障して、ｄａｔａ＿ｏｕｔから異常な値を出力した時、マイクロコンピュータ２（１−２）のｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈから、エラーが出力され、マイクロコンピュータ１（１−１）のｅｒｒ＿ｉｎにエラーが入力される。
しかしながら、マイクロコンピュータ１（１−１）の故障であり、マイクロコンピュータ１（１−１）の通過出力機能が働かない為、マイクロコンピュータ２（１−２）による、マイクロコンピュータ４（１−４）の監視はできなくなる。結果として、マイクロコンピュータ２（１−２）のｅｒｒ＿ｏｕｔ、ｅｒｒ＿ｔｈｒｏｕｇｈの両方がエラーを維持するため、マイクロコンピュータ１（１−１）の故障であると限定でき、その二つのエラー信号を元に、セレクタ１−５が正常な状態のマイクロコンピュータのｄａｔａ＿ｏｕｔを選択し出力する。
この時、マイクロコンピュータ１（１−１）と監視・被監視の関係にないマイクロコンピュータ３（１−３）の存在により３つのマイクロコンピュータによる多数決の論理が保たれる為、信頼性を保持しており、その出力を選択すると、より信頼性が上がる。
【００２３】
このように、複数のマイクロコンピュータをリング状に監視・被監視の関係を持たせ、且つマイクロコンピュータに、エラーが発生した時にデータとエラー判定を通過出力させる機能を持たせる事により、エラーによってシステムから抜けるマイクロコンピュータが存在した場合においても、正常なマイクロコンピュータによる監視・被監視の関係を保持する効果がある。また、図１の中のＦ／Ｆ１（１−６）を持たせる工夫を行う事により、システム上、完全にエラーデータによる誤動作を防ぐ事が可能で、且つ、一時停止させる必要が全く無い為、エラー発生時にシステムを一時停止する事が許されないシステムにおいて、その効果を発揮する。１例としては、今後普及が見込まれている電気自動車のモータ制御など、瞬間的な停止も許されない、システムに適用が可能である。
【００２４】
（実施形態２）
図３は、本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの他の実施の形態における構成を示すブロック図である。
本構成例は、マイクロコンピュータを３個有する例であり、マイクロコンピュータ１（３−１）の監視をマイクロコンピュータ２（３−２）が、マイクロコンピュータ２（３−２）の監視をマイクロコンピュータ３（３−３）が、マイクロコンピュータ３（３−３）の監視をマイクロコンピュータ１（３−１）が行う構成となっている。その他の構成については、実施形態１と同様である。
【００２５】
本実施形態における動作について説明する。
実施形態１と同様に、エラーとなったマイクロコンピュータはｄａｔａ＿ｉｎをｄａｔａ＿ｏｕｔにｅｒｒ＿ｉｎをｅｒｒ＿ｔｈｒｏｕｇｈに選択し出力する機能が働き、本実施形態では、残り２個の正常なマイクロコンピュータでエラー検出を継続する。但し、多数決ではなくなってしまうため、何れかが異常出力を出した場合は、両方のマイクロコンピュータが自身のエラーであると判定を行う。
実施形態１と同様にエラーの場合のソフト処理は必ず必要というものではないが、残り２個となっている状態でのエラー発生時はｅｒｒｏｒ割り込みによる診断ソフトを起動する必要が生じる。
通過出力機能が働かないような故障においては、故障となったマイクロコンピュータを監視しているマイクロコンピュータが、ｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈがエラーを示し続ける為、故障したマイクロコンピュータを特定する事が可能である。この場合は、２者の一致は取れているが、片方が監視側で片方が被監視側となる。
【００２６】
（実施形態３）
図４は、本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの他の実施の形態における構成を示すブロック図である。
本構成例は、マイクロコンピュータを２個有する例であり、マイクロコンピュータ１（４−１）の監視をマイクロコンピュータ２（４−２）が、マイクロコンピュータ２（４−２）の監視を、マイクロコンピュータ１（４−１）が行う。他の構成は、実施形態１及び２と同様である。
エラーとなったマイクロコンピュータが有った場合、二つによるエラー検知である為、マイクロコンピュータは二つとも、エラー状態になり、信号を通過出力する。その結果ｄａｔａ＿ｏｕｔは、一旦不定となってしまう。両方のマイクロコンピュータがエラーと判定されてしまうため、ソフトによる、エラー検知を行う必要があり、エラー発生時の割り込みによって、その処理を起動する。
図５は、エラー割り込み処理フロー図であり、エラー割り込み発生時（Ｓ５１）、エラー内容の解析（Ｓ５２）を行い、次いで何れのマイクロコンピュータのエラーであるかのソフトによる判断、即ちエラー判定（Ｓ５３）を行い、エラーのなかったマイクロコンピュータはエラーを保持しているＦ／Ｆのクリア等を行い通常処理に復帰する（Ｓ５４）。
エラーの発生したマイクロコンピュータは、復帰の可否判定（Ｓ５５）を行い、可能であれば、復帰処理（Ｓ５６）と正常なマイクロコンピュータとの同期処理（Ｓ５７）を行い通常処理に復帰（Ｓ５８）する。
復帰が不可能な致命的なエラーであれば、停止処理を行い完全停止（Ｓ５９）する。エラーが起きて停止したマイクロコンピュータは通過出力する機能が働き、残り１個のマイクロコンピュータは自分の結果同士を比較する事となり、エラー検知ができなくなる。また、暴走したマイクロコンピュータはｅｒｒ＿ｏｕｔにエラーを出し続ける事になる。
通過出力機能が働かないような故障においては、故障となったマイクロコンピュータを監視しているマイクロコンピュータのｅｒｒ＿ｏｕｔとｅｒｒ＿ｔｈｒｏｕｇｈが、エラーを示し続ける為故障したマイクロコンピュータを特定する事が可能である。
【００２７】
【発明の効果】
以上説明したように、本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムによれば、２個以上の冗長的エラー検出システムであれば、どのような数においても本回路でシステムが成り立つ。そして、監視側と被監視側のマイクロコンピュータの区別がなく、安全の為に冗長的に設けられたマイクロコンピュータがすべて、監視側であり、また被監視側であるという分散的な構成であり、致命的エラーが少ない。また、エラーが発生した時に、データ出力とエラー判定結果を通過出力して、両隣のマイクロコンピュータをあたかも隣同士のマイクロコンピュータであるかのように、エラー判定を継続させる事が可能である。また、データとエラーが通過出力とならないような、故障においても、故障判定が可能である。また、複数のマイクロコンピュータの内、正常なマイクロコンピュータが残り２個なった時、間に故障によるエラーの発生したマイクロコンピュータがある場合を除き、多数決方式のエラー判定から、互い監視方式への移行が動的に可能であり移行の際にシステムリセットが不要である。
【００２８】
【図面の簡単な説明】
【図１】本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの実施形態１における構成を示すブロック図である。
【図２】本発明に係るエラー検出回路の一実施の形態における構成を示すブロック図である。
【図３】本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの実施形態２における構成を示すブロック図である。
【図４】本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムの実施形態４における構成を示すブロック図である。
【図５】本発明に係るマイクロコンピュータのエラー検出方法及びエラー検出回路及びマイクロコンピュータシステムのエラー割り込み処理フロー図である。
【図６】本発明に係わるマイクロコンピュータシステム上のタイミングチャートである。
【図７】本発明に係わるマイクロコンピュータ内部のエラー検出回路のタイミングチャートである。
【図８】従来例の回路図である。
【符号の説明】
１−１  エラー検出回路を内蔵するマイクロコンピュータ１
１−２  エラー検出回路を内蔵するマイクロコンピュータ２
１−３  エラー検出回路を内蔵するマイクロコンピュータ３
１−４  エラー検出回路を内蔵するマイクロコンピュータ４
１−５  エラーの発生していない、正常なマイクロコンピュータのｄａｔａ＿ｏｕｔを選択するセレクタ
１−６  エラー発生時に、セレクタ１−５から瞬間的に発生する誤データを出さない為のＦ／Ｆ１
１−７  システムのエラー検出回路全てを同期させる為のクロック発生回路
２−１  ｄａｔａ＿ｏｕｔをクロックに同期して出力するＦ／Ｆ２
２−２  エラー発生時、ｄａｔａ＿ｉｎからの信号をｄａｔａ＿ｏｕｔに通過出力するセレクタ２
２−３  出力のＯＮ／ＯＦＦを行う出力バッファ
２−４  ｄａｔａ＿ｏｕｔとｄａｔａ＿ｉｎの信号の一致・不一致を判定する比較器
２−５  ｄａｔａ＿ｏｕｔ端子が出力モードの時以外、比較器の結果を無効とする出力マスク
２-６  ｄａｔａ＿ｏｕｔとｄａｔａ＿ｉｎの不一致が発生した場合、エラーを保持するＦ／Ｆ３
２−７  Ｆ／Ｆ３とＦ／Ｆ４の何れかがエラーであった時にｅｒｒ＿ｏｕｔにエラーを出力するＯＲ回路
２−８  ｅｒｒ＿ｏｕｔとｅｒｒ＿ｉｎが両方エラーである事を判定するＡＮＤ回路
２−９  自身がエラーであった時に、エラー保持をするＦ／Ｆ４
３−１  エラー検出回路を内蔵する、マイクロコンピュータ１
３−２  エラー検出回路を内蔵する、マイクロコンピュータ２
３−３  エラー検出回路を内蔵する、マイクロコンピュータ３
３−４  エラーの発生していない、正常なマイクロコンピュータのｄａｔａ＿ｏｕｔを選択するセレクタ１
３−５  エラー発生時に、セレクタ１（３−４）から瞬間的に発生する誤データを出さない為のＦ／Ｆ１
３−６  システムのエラー検出回路全てを同期させる為のクロック発生回路
４−１  エラー検出回路を内蔵する、マイクロコンピュータ１
４−２  エラー検出回路を内蔵する、マイクロコンピュータ２
４−３  エラーの発生していない、正常なマイクロコンピュータのｄａｔａ＿ｏｕｔを選択するセレクタ１
４−４  エラー発生時に、セレクタ１（４−３）から瞬間的に発生する誤データを出さない為のＦ／Ｆ１
４−５  システムのエラー検出回路全てを同期させる為のクロック発生回路
２−１０  エラー発生時、ｅｒｒ＿ｉｎからの信号をｅｒｒ＿ｔｈｒｏｕｇｈに通過出力するセレクタ３
２−１１  エラー発生時、出力バッファを出力モードに固定する出力制御
８−１  演算用マイコン１
８−２  演算用マイコン２
８−３  演算用マイコン３
８−４  比較器１
８−５  比較器２
８−６  比較器３
８−７  セレクタ
８−８  制御用マイコン
【図１】
0003652232.tif 000002
【図２】
0003652232.tif 000003
【図３】
0003652232.tif 000004
【図４】
0003652232.tif 000005
【図５】
0003652232.tif 000006
【図６】
0003652232.tif 000007
【図７】
0003652232.tif 000008
【図８】
0003652232.tif 000009