(57)【特許請求の範囲】
【請求項１】
同じ論理回路で構成された第１と第２の論理部と、該第１と第２の論理部に与える入力信号にエラー信号を注入するエラー注入回路と、該エラー注入回路に与えるエラー信号を決定するエラー注入制御回路と、前記第１と第２の論理部の出力を用いてメイン論理出力を与えるとともに、前記第１と第２の論理部の出力の不一致をもって比較不一致出力を与える比較補正回路とを含む自己診断機能付き装置であって、
前記エラー注入制御回路は、前記エラー信号を決定するとともに、当該エラー信号を与えた時に前記第１と第２の論理部が与える出力をエラー検出期待値として得、
前記比較補正回路は、前記第１と第２の論理部が与える出力と前記エラー検出期待値の比較結果に応じて前記比較不一致出力を与え異常を検知することを特徴とする自己診断機能付き装置。
【請求項２】
請求項１に記載の自己診断機能付き装置において、
前記比較補正回路の比較不一致出力は、前記第１と第２の論理部のいずれかにエラー信号を与えた時、前記第１と第２の論理部の出力の差が前記エラー検出期待値と一致しない場合、または、前記第１と第２の論理部にエラー信号を与えないときに、前記第１と第２の論理部の出力が不一致になる場合に得られて、異常があると判断することを特徴とする自己診断機能付き装置。
【請求項３】
請求項１または請求項２に記載の自己診断機能付き装置において、
前記比較補正回路が与えるメイン論理出力は第１の論理部の出力とされ、前記エラー注入制御回路が第１の論理部にエラー信号を与えるときには第２の論理部の出力とされることを特徴とする自己診断機能付き装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の自己診断機能付き装置において、
前記エラー注入制御回路は、所定周期で前記第１と第２の論理部に対するエラー信号のエラー注入処理を実行することを特徴とする自己診断機能付き装置。
【請求項５】
請求項１から請求項４のいずれか１項に記載の自己診断機能付き装置において、
前記エラー注入回路に対して与えるエラー信号は、前記第１と第２の論理部を構成する素子の出力信号を変化させるデータを１つ以上含むことを特徴とする自己診断機能付き装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の自己診断機能付き装置において、
前記エラー注入回路に対して与えるエラー信号は、プログラムによって予め決められたデータを繰り返し与えることを特徴とする自己診断機能付き装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の自己診断機能付き装置において、
前記比較補正回路が与える比較不一致出力を表示する表示回路を備えることを特徴とする自己診断機能付き装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子的に論理演算などを行う装置に係り、特に高い安全性、信頼性を得るために自己診断機能を備えた装置に関する。
【背景技術】
【０００２】
電子的に論理演算などを行う装置（以下、単に装置という）が、広く一般に採用されている。これらの装置は、適用される分野などの事情により特に高い安全性や、信頼性が要求される場合がある。このため、個別の事情に応じて安全性、信頼性を確保するための各種対策を施した装置が提供されている。
【０００３】
ここで、これらの装置に故障をもたらす原因を検討してみると、電磁界ノイズ、放射線ノイズのように間欠的なデータに異常が現れる故障と、経年変化などによる物理的な変化によってもたらされる永久的な故障がある。このため、装置の故障が重大な結果をもたらす可能性のあるシステムにおいては、どちらの故障も確実にとらえ、もし故障が発生しても安全に処置することが重要である。
【０００４】
一般に安全性を重視するシステムでは、故障が発生しても正しく故障を検出できないで動作を継続してしまう確率を残留故障確率と呼び、安全性の尺度として使用している。故障率がλの装置の残留故障確率は、故障が危険側と安全側に同等に倒れるとしてλ／２となる。
【０００５】
装置の故障が重大な結果をもたらす可能性がある高い安全性、信頼性を必要とする装置では、出来るだけ装置としての残留故障確率を下げる工夫がなされている。例えば、特許文献１に開示されている集積回路モジュールでは、２個の同じＬＳＩチップをマスタとチェッカーとして配備し、マスタの動作をチェッカーで１クロック単位に照合する。これにより故障の発生を迅速に検出し、故障に対して安全な処置を直ぐ行うことができる。
【０００６】
ＬＳＩチップを二重化し照合する特許文献１の方式では、ＬＳＩチップの故障率をλＬとしたとき、誤って正しいと判断するのは、同時に２個のＬＳＩチップが故障する場合で確率がλＬ２となる。λは一般に非常に小さい値であるから装置の残留故障確率を大幅に低減させることが期待できる。
【０００７】
しかし実際には、２個のＬＳＩの出力を照合する比較回路部分の故障率λＣが装置全体の故障率の大半を占めることになるため、追加された比較回路の対策が必要となる。その方法の一つとして、特許文献１には照合する比較回路の定期的な自己診断を行う方法が記されている。具体的には、比較回路にエラーを注入し、そのエラーを正しく検出することを定期的、自動的に実施する。
【０００８】
また、特許文献２には、比較回路も二重化し自己診断する方法が記されている。このように定期的な比較回路の診断を行うことで、装置としての故障率を大幅に低減できる。
【０００９】
図２は前記特許文献１、特許文献２で示されるような高信頼なシステムの構成を一般的な形で書き直した図である。ここでは本来、装置が行うべき機能をメイン論理部ＬＭとしている。またメイン論理部ＬＭと同じメイン論理入力を受け、同じ動作をする検査論理部ＬＴがある。メイン論理部ＬＭの出力と検査論理部ＬＴの出力を自己診断比較回路ＳＣで比較する。自己診断比較回路ＳＣは、双方の出力が一致するときメイン論理部ＬＭの出力をそのままメイン論理出力として出力し、検査論理部ＬＴの出力する値と異なれば、エラーであることを”比較エラー検出信号”に出力する。
【００１０】
なお、自己診断比較回路ＳＣは、２つのデータ（メイン論理部ＬＭの出力と検査論理部ＬＴの出力）を比較する比較回路の他に、比較回路自体の診断のために用いるエラーを自動生成するエラー発生器と、それを２つの入力（メイン論理部ＬＭの出力と検査論理部ＬＴの出力）に注入する注入器と、検出されたエラーを確認する確認装置から構成されている。このように、メイン論理部ＬＭに検査論理部ＬＴを加えて二重化し、それを定期的に診断された比較回路で比較する構成をとることにより非常に安全性の高いシステムを構築することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第２８３５６１９号公報
【特許文献２】特開平９−２８８１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
図２に示した従来の二重化照合による構成においては、もしメイン論理部ＬＭ、検査論理部ＬＴに経年変化による永久故障が発生すると直ぐには発見されない場合がある。例えば、乗算を行うメイン論理部ＬＭであれば入出力が常に変化しているので、メイン論理部ＬＭまたは検査論理部ＬＴに何らかの故障が発生すれば即座に出力不一致となる。この結果、比較回路が不一致を検知し直ちに故障と検出することができる。
【００１３】
しかし、例えばメイン論理部ＬＭがタイムアウトの出力を生成する処理を行うものと考えると、タイムアウトはシステムが正しく動作している限り値が変化しないから、メイン論理部ＬＭまたは検査論理部ＬＴに故障が発生してもタイムアウトが発生していない側に故障すると、実際にタイムアウトが発生するまで比較回路で不一致を検出しない。
【００１４】
即ち、もしメイン論理部ＬＭに故障が発生しており、その後タイムアウトが発生してもタイムアウト信号が出力されず、比較回路の不一致を検出する。検査論理部に異常があれば、タイムアウトが検出され比較器の不一致も検出し出力する。
【００１５】
このように、最終的には正しく比較器の不一致が検出されるので安全上の問題は無いが、故障のある状態で長期間稼働を続けると二重故障の危険が増し、システムが想定外の振舞いをする危険が高まる。
【００１６】
以上のことから本発明においては、検査論理、メイン論理に異常がある場合、比較回路が不一致を発生する前に検出し装置の交換ができるようにすることを目的としている。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、同じ入力が与えられ、同じ論理演算を実施する第１と第２の論理部、第１と第２の論理部のいずれかにエラー信号を与えるエラー注入回路、第１と第２の論理部の出力を入力し選択した信号を与える選択回路と第１と第２の論理部の出力を比較し、比較不一致信号を与える比較回路とを備えた比較補正回路から構成され、比較補正回路は、第１と第２の論理部のいずれかにエラー信号を与えた時、第１と第２の論理部の出力が不一致にならない場合、または、第１と第２の論理部にエラー信号を与えないときに、第１と第２の論理部の出力が不一致になる場合に異常があると判断する。
【００１８】
また、エラー注入回路に与えるエラー信号を決定するエラー注入制御回路を備え、エラー注入制御回路は、エラー注入回路にエラー信号を与えたときに、比較補正回路に対してエラー信号の付与状況に応じてエラー検出期待値を出力する。
【００１９】
また、比較補正回路内の選択回路は、第１の論理部の出力を選択し、エラー注入制御回路が第１の論理部にエラー信号を与えるときには第２の論理部の出力を選択する。
【００２０】
また、エラー注入制御回路は、所定周期で第１と第２の論理部に対するエラー信号のエラー注入処理を実行する。
【００２１】
また、エラー注入回路に対して与えるエラー信号は、第１と第２の論理部を構成する素子の出力信号を変化させるデータを１つ以上含む。
【００２２】
また、エラー注入回路に対して与えるエラー信号は、プログラムによって予め決められたデータを繰り返し与える。
【００２３】
また、比較補正回路内の比較回路の後段に表示回路を接続する。
【００２４】
上記課題を解決するために、同じ入力が与えられ、同じ論理演算としてタイムアウト処理を実施する第１と第２の論理部、第１と第２の論理部のいずれかにエラー信号を与えるエラー注入回路、第１と第２の論理部の出力を入力し選択した信号を与える選択回路と第１と第２の論理部の出力を比較し、比較不一致信号を与える比較回路とを備えた比較補正回路から構成され、比較補正回路は、第１と第２の論理部のいずれかにエラー信号を与えた時、第１と第２の論理部の出力が不一致にならない場合、または、第１と第２の論理部にエラー信号を与えないときに、第１と第２の論理部の出力が不一致になる場合に異常があると判断する。
【発明の効果】
【００２５】
本発明によれば、回路をメイン論理と検査論理に二重化し、そこに故障が発生したとき、その出力の不一致で故障を検出する前に、メイン論理と検査論理と比較回路を自己診断で異常を検出する装置を提供できる。
【図面の簡単な説明】
【００２６】
【図１】本発明の自己診断機能付き装置の概略構成を示す図。
【図２】従来の二重化照合装置の構成を示す図。
【図３】メイン論理部ＬＭの一例を示す図。
【図４】電源の立ち上げから異常を検知するまでのフローを記したタイムチャート。
【図５】自己診断機能付き装置の具体的な回路構成例を示す図。
【図６】自己診断機能付き装置を適用した制御装置の構成例を示す図。
【発明を実施するための形態】
【００２７】
以下、本発明の実施例を、図面を用いて説明する。
【実施例】
【００２８】
図１は、本発明に係る自己診断機能付き装置の構成例を示している。本発明において、自己診断機能が付与される装置は、安全性、信頼性が必要な独立した装置あるいはシステムであってもよく，または大規模な装置、システムの一部を構成するマイコン等の機能素子であってもよい。さらには、マイコンの一部であり、マイコンで制御される制御回路の一部で実施され、安全性を高めるべき機能を実現する回路であってもよい。このように本発明において自己診断機能が付与される装置は、電子的な演算を行う装置の全体又は一部のいずれであっても良く、適宜の単位で適用することができる。
【００２９】
図１の構成の場合に、自己診断機能が付与される装置Ａは、メイン論理部ＬＭである。これに対し、自己診断機能を果たすために付与される部分Ｂは、検査論理部ＬＴと、比較補正回路ＣＫと、エラー注入回路ＥＲと、エラー注入制御回路ＥＣから構成される。そして、図１の構成全体が、自己診断機能付き装置（Ａ＋Ｂ）ということになる。
【００３０】
なお、自己診断機能を果たすために付与される部分Ｂの各要素は、以下の機能を果たす。まず、検査論理部ＬＴは、メイン論理部ＬＭと同じ機能を有する。比較補正回路ＣＫは、通常はメイン論理部ＬＭの出力を出力し、メイン論理部ＬＭの出力と検査論理部ＬＴの出力を比較した結果を比較不一致信号として出力する。エラー注入回路ＥＲは、例えばメイン論理入力の一部のビットを反転してメイン論理部ＬＭと検査論理部ＬＴにエラー注入したデータを供給する。エラー注入制御回路ＥＣは、エラー注入するビットのビット位置と、そのエラー注入の結果を比較補正回路ＣＫに与える。
【００３１】
なお、メイン論理部ＬＭと検査論理部ＬＴはソフトウェア、ハードウェアのいずれで構築されていてもよいが、比較補正回路ＣＫ、エラー注入回路ＥＲ、エラー注入制御回路ＥＣはハードウェアで構成するのがよい。
【００３２】
図１の自己診断機能付き装置（Ａ＋Ｂ）においてエラー注入回路ＥＲは、通常はメイン論理入力Ｓ１をそのままメイン論理部ＬＭと検査論理部ＬＴに与えており、エラー信号Ｓ２の注入を行わない。そして比較補正回路ＣＫは、通常はメイン論理部ＬＭの出力ＯＭをメイン論理出力信号Ｏ１として出力する。また比較補正回路ＣＫでは、メイン論理部ＬＭの出力ＯＭと、検査論理部ＬＴの出力ＯＴを比較し、この結果は比較不一致信号Ｏ２として出力される。もしメイン論理部ＬＭまたは検査論理部ＬＴに故障が発生し出力ＯＭとＯＴが不一致となった場合、比較不一致Ｏ２が出力され、システムに対して安全な処置を行わせることができる。
【００３３】
上記構成において本発明では、エラー注入制御回路ＥＣからエラー信号Ｓ２を注入し、これにより装置の診断を行う。この場合、エラー注入制御回路ＥＣが出力するエラー注入データＳ２をエラー注入回路ＥＲに与える。この状態では、メイン論理部ＬＭまたは検査論理部ＬＴのどちらかに、エラーＳ２を含む入力がエラー注入回路ＥＲによって与えられる。この結果として、メイン論理部ＬＭの出力ＯＭと、検査論理部ＬＴの出力ＯＴは不一致となることが期待される。
【００３４】
また他方においてエラー注入制御回路ＥＣは、エラー検出期待値Ｓ３を出力し、比較補正回路ＣＫに与える。ここで、エラー検出期待値Ｓ３は、「一致」或いは「不一致」のいずれかを与えるものであり、エラー注入制御回路ＥＣからエラー信号Ｓ２を注入した時は当然のことながら「不一致」を期待値として与えている。
【００３５】
エラー注入制御回路ＥＣからエラー信号Ｓ２を注入した時は、その結果が比較補正回路ＣＫの入力（メイン論理部ＬＭの出力ＯＭと、検査論理部ＬＴの出力ＯＴ）となっているので、このとき比較補正回路ＣＫは比較不一致信号Ｏ２を与えるはずである。かつ比較補正回路ＣＫでは、エラー注入制御回路ＥＣからのエラー検出期待値Ｓ３（「不一致」）により、この不一致が模擬的に意図して作成された状態であることを認識している。
【００３６】
しかして、エラー検出期待値Ｓ３が「不一致」である時、比較補正回路ＣＫの入力（メイン論理部ＬＭの出力ＯＭと、検査論理部ＬＴの出力ＯＴ）が同じであれば、比較補正回路ＣＫの比較不一致信号を”不一致”として出力する。即ち、エラー注入してメイン論理部ＬＭと検査論理部ＬＴの出力が不一致になると期待されるにもかかわらず、両者の出力が一致しておかしい、期待値と比較して不一致であるということである。
【００３７】
逆に、比較補正回路ＣＫの入力が「不一致」であれば比較補正回路ＣＫは、比較不一致信号を”不一致でない”とする。即ち、正常に注入したエラーを、期待値どおりに検出したということである。
【００３８】
しかし、実際にはエラー注入を行っても、データによってはメイン論理部ＬＭと検査論理部ＬＴの出力が不一致とならないことがある。例えば、セレクタの選択されていない入力にエラー注入してもメイン論理部ＬＭと検査論理部ＬＴの出力は一致する。このときエラー注入制御回路ＥＣは、エラー検出期待値Ｓ３をエラー無し、即ち比較不一致でないとして比較補正回路ＣＫに入力する。この時も、比較補正回路ＣＫの比較不一致信号出力は、メイン論理部ＬＭと検査論理部ＬＴの出力が一致していれば”不一致でない”として出力する。
【００３９】
次に本発明の一実施例をより具体的に説明する。図３は、メイン論理部ＬＭの一例として５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥを、論理和回路ＯＲで論理和し、さらにシステム作動中に得られるシステム作動中信号ＯＰとの論理積を論理積回路ＡＮＤでとり、最終的にタイムアウト信号ＴＯとして外部に出力する回路例を示している。
【００４０】
この回路は、システム動作中（システム作動中信号ＯＰが「１」）に５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥの何れか１個以上がアサート（タイムアウトを検出して論理値「１」になる）すれば、タイムアウト信号ＴＯを「１（タイムアウト発生）」として出力する論理回路である。なお、検査論理部ＬＴも図３と同じ回路構成とされている。
【００４１】
この様なメイン論理部ＬＭは、通常図３の各配線に示した値（システム作動中信号ＯＰが「１」、５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥとタイムアウト信号ＴＯが「０」）を取っており、実際に５個のタイムアウトのどれかがタイムアウトするまでこれらの信号値は変化しない。
【００４２】
この状態で、もし論理和回路ＯＲの入力が「０」に固着してしまう、あるいは論理積ＡＮＤの入力であるシステム動作中の入力（システム作動中信号ＯＰ）が「０」に固着してしまうと仮定する。このとき、対応するタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥのタイムアウトを認識することができなくなり、タイムアウト信号ＴＯを「１」として出力できないことになる。
【００４３】
この固着を発生した回路で、実際にタイムアウトが発生したとする。この場合に、比較補正回路ＣＫがメイン論理部ＬＭ（固着のため正しく動作せず、タイムアウトなし）と検査論理部ＬＴ（固着が無いため正しく動作し、タイムアウトあり）の比較不一致を検出し、タイムアウトＴＯの出力が不一致になったことの処置を行えるため問題はない。しかし、メイン論理部ＬＭと検査論理部ＬＴに故障があっても、５個のタイムアウトが発生するまで対処できないことになる。
【００４４】
図５は、図１に概略構成を示した自己診断機能付き装置の具体的な回路構成例を示している。ここでは、メイン論理部ＬＭと検査論理部ＬＴは、図３のタイムアウト処理を実行するものとする。このため、図１に示したメイン論理入力Ｓ１として、システム作動中信号ＯＰと５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥがエラー注入回路ＥＲを経由してメイン論理部ＬＭと検査論理部ＬＴに印加されている。
【００４５】
また、エラー注入制御回路ＥＣからエラー注入回路ＥＲに対して、エラー信号Ｓ２を注入している。エラー注入回路ＥＲは、２組の信号（メイン論理入力Ｓ１とエラー信号Ｓ２）を用いて、メイン論理部ＬＭと検査論理部ＬＴに印加する信号を変更する。なお、エラー注入信号Ｓ２について、これを複数のメイン論理入力Ｓ１のどれに、如何なるタイミングで印加するのかをエラー注入制御回路ＥＣが制御している。
【００４６】
図４は、電源の立ち上げから異常を検知するまでのフローを模式的に記したタイムチャートである。ここでは、システム立ち上げが時刻ｔ１に完了したとする。以後システム動作中（システム作動中信号ＯＰが「１」）の状態になり、エラー信号Ｓ２の注入による診断が定期的に行なわれる。定期的な診断は周期Ｔごとに実施され、図４には定期的な診断のうち、時刻ｔｔ１から時刻ｔｔ２の間で実施された診断を記載している。
【００４７】
この定期的診断では、例えばメイン論理部ＬＭと検査論理部ＬＴに印加する信号を順次エラー信号Ｓ２として、点検実施状態を形成する。例えばシステム作動中信号ＯＰについて、通常状態が「１」であるなら故意に「０」入力し、５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥについて、通常状態が「０」であるなら故意に順次「１」入力して、２組の論理部の出力の相違を監視する。この信号の組み合わせなどは、図３の論理部ＬＭの回路構成に従って適宜のものとされる。
【００４８】
ここでは、時刻ｔ２において検査論理部ＬＴの論理和回路ＯＲの入力の１信号（例えばタイムアウト信号ＴＯＥ）が「０」に固着したと仮定する。本発明では、図５に示す回路構成を採用することにより、システム作動中に適宜エラー信号を注入し、診断を実行している。
【００４９】
図４の図示の例では、時刻ｔｔ１から時刻ｔｔ２までの期間Ｔに診断を実行し、順次エラー信号を注入したものとする。この場合、論理和回路ＯＲの入力の１信号（例えばタイムアウト信号ＴＯＥ）が「０」に固着した検査論理部ＬＴ側のタイムアウト信号ＴＯが「０」となり、これに対し健全な論理部ＬＭ側のタイムアウト信号ＴＯが「１」となることで、比較補正回路ＣＫにより、不一致が検出される。この検出が時刻ｔ２後の時刻ｔ３においてなされた。このように、本発明によればエラー注入により定期的な診断を行っているので、診断間隔時間Ｔ内の時刻ｔ３に比較不一致の信号が検出され、検査論理の故障を検出することができる。
【００５０】
この場合に、このまま放置しておいても、実際にタイムアウトが発生する時刻ｔ４になれば比較不一致を検出するので、その時に比較不一致の処理を行ってもよい。本発明で改善しようとしているのは、この異常が発生しているが論理的に発現しない期間（ｔ２−ｔ４）を短くすることである。従来の二重化照合を行う装置では、時刻ｔ２から時刻ｔ４までは異常が発生しながら動作をしている期間である。本発明においては、エラー注入による定期診断を行うことで、その期間を時刻ｔ２から時刻ｔ３までに短縮することができる。
【００５１】
次にメイン論理部ＬＭの具体的な診断方法を説明する。まず初めに、図３に示したメイン論理部でエラー注入の具体例を示す。診断の基本は各内部信号が「０」：固着，「１」：固着していないことを確認できればよい。通常は図３の信号状態（システム作動中信号ＯＰの通常状態が「１」、５個のタイムアウト信号ＴＯＡ，ＴＯＢ，ＴＯＣ，ＴＯＤ，ＴＯＥの通常状態が「０」）であるから、タイムアウト信号ＴＯＡからタイムアウト信号ＴＯＥまで、一つ一つ論理値「１」を注入し、それがタイムアウトに反映され、論理積回路ＡＮＤの出力が論理値「１」になることを確認できれば良い。これにより、システム動作中の信号が「０」に固着していないことも確認できる。このように、図３の回路の場合、エラー注入するデータとしてタイムアウト信号ＴＯＡ〜ＴＯＥの５個の信号にそれぞれ論理値「１」を与えるパターンがあればよい。
【００５２】
次にメイン論理を図３に示したタイムアウトを出力する論理とした例に基づき、図１に示した自己診断機能付き装置に展開した構成を図５に示す。メイン論理部ＬＭと検査論理部ＬＴの中身は同じで図３に示した回路になる。その前段のエラー注入回路ＥＲは、メイン論理部ＬＭの入力であるシステム動作中信号ＯＰとｍ５個のタイムアウト信号ＴＯＡ〜ＴＯＥをメイン論理部ＬＭと検査論理部ＬＴに分配し、それぞれにエラー注入データを重畳する回路からなる。
【００５３】
エラー注入回路ＥＲの丸の中にプラスが入っている記号ＥＯＲは、排他的論理和を示しており、エラー注入データＳ２の論理値「１」に対応する信号を反転することを示している。例えばタイムアウト信号ＴＯＡが、通常信号である「０」としてエラー注入回路ＥＲに入力されているときに、エラー注入データＳ２として論理値「１」が与えられたとする。このときには、タイムアウト信号ＴＯＡ「０」を、「１」に反転してメイン論理部ＬＭ，検査論理部ＬＴに印加することを意味している。この結果、メイン論理部ＬＭ，検査論理部ＬＴには、タイムアウト発生が入力されたことになる。従って、メイン論理部ＬＭと検査論理部ＬＴの対応する入力の一方のみを「１」とすることで、不一致状態を作り出すことができる。
【００５４】
比較補正回路ＣＫでは、メイン論理部ＬＭの出力ＯＭと検査論理部ＬＴの出力ＯＴを比較器（排他的論理和ゲート）ＥＯＲ１で比較する。排他的論理和ＥＯＲ１では、２つの入力が相違するときのみ出力「１」を与える。排他的論理和ＥＯＲ１の出力は更に排他的論理和ＥＯＲ２において、エラー検出期待値１８０と比較され、照合不一致信号Ｏ２を出力する。このようにすることで、メイン論理部ＬＭと検査論理部ＬＴの出力の比較結果と、エラー検出期待値１８０との比較不一致を求めることができる。
【００５５】
また、比較補正回路ＣＫからのメイン論理出力Ｏ１は、メイン論理部ＬＭの出力をそのまま出力して良いが、図５に示したようにエラー注入データＳ２がメイン論理部ＬＭ側になされた場合、エラー注入を行っていない検査論理部ＬＴ側の出力ＯＴをＯ１として出力する。これによってシステムの稼働中に検査論理部ＬＴばかりでなくメイン論理部ＬＭにもエラー注入を施すことが可能となり診断の精度を向上させることができる。選択回路ＳＥは、この切替選択を行うものであり、通常はメイン論理部ＬＭ側の出力ＯＭを選択し、エラー注入データＳ２がメイン論理部ＬＭ側になされたときには検査論理部ＬＴ側の出力ＯＴをメイン論理出力Ｏ１として出力する。
【００５６】
以上詳細に説明したように本発明では、自己診断のためのエラー注入を比較回路ＣＫだけに対して行うのではなく、メイン論理部ＬＭ、検査論理部ＬＴの入力から行い、メイン論理部ＬＭ、検査論理部ＬＴ、比較回路ＣＫに対する自己診断を行う。
【００５７】
また、自己診断のためのエラー注入するデータを、一定の時間間隔毎に注入して診断することで目標とする故障率を達成する。
【００５８】
また、自己診断のためのエラー注入するデータを、プログラムに従って動作するマイコンが指示することで、プログラムに従ってメイン論理部ＬＭ、検査論理部ＬＴ、比較回路ＣＫの必要な部分の診断を行える。
【００５９】
また、装置の稼働中にメイン論理にエラーを注入しても正しく検出されるならば停止することなく自己診断できる。
【００６０】
なお、以上の説明においては、エラー注入データＳ２とエラー検出期待値１８０をエラー注入制御回路ＥＣから出力する構成を記したが、一般に複雑なメイン論理に対してエラー注入データＳ２とエラー検出期待値１８０を求めることは難しい。
【００６１】
例えば、メイン論理として入力信号がＣとＤの乗算器を考える。このとき入力信号の論理積（Ｃ×Ｄ）と、入力Ｄの適当な１ビットを反転して入力Ｃとから求めたときの積は、必ずしも不一致とならない。即ち入力Ｃが０であれば、入力Ｄが如何なる値であっても、結果は「０」となる。このような複雑なメイン論理の場合には、その入力を確定させることによって、エラー注入データＳ２とエラー検出期待値１８０を求めることができる。即ち、上のメイン論理として乗算器を考えた場合、Ｃの入力を「０」などに固定してからエラー注入を行う。この場合エラー検出期待値は一致となる。
【００６２】
図５に示したような比較的簡単な回路に対するエラー注入制御回路ＥＣは、自動的にエラー注入データＳ２とエラー検出期待値１８０を生成し、常時エラー注入を行いながら通常動作を行うことが可能である。しかし、複雑な構成のメイン論理部ＬＭを診断するためには有意なエラー注入データＳ２の選択、診断テストの前処理（上記乗算器のＣ入力を０にするなど）を行う必要がある。そのうえで、本発明では、このエラー注入制御回路ＥＣはプログラムによって動作するプロセッサからエラー注入データＳ２、エラー検出期待値１８０をレジスタ設定できるようにするのがよい。
【００６３】
一般には、あるメイン論理が決まればそれを診断するテストデータは一意に決まるのでそれに基づいてパターンを決めればよい。図５の例では、前述のようにメイン論理部ＬＭと検査論理部ＬＴのそれぞれのタイムアウト信号ＴＯＡからタイムアウト信号ＴＯＥのそれぞれに論理値「１」を重畳し、それによる比較結果が、エラー検出期待値１８０と一致すれば良い。
【００６４】
次に、図６に自己診断機能付き装置を適用した制御装置１９０の構成例を示す。制御装置１９０は、例えばネットワーク機能付きのマイコン２００と、そのプログラム２１０、診断機能の付いた制御回路２２０、端子台２３０、表示のためのＬＥＤ２４０から構成する。制御回路２２０は、出力部に図５に示したエラー注入回路ＥＲ、メイン論理部ＬＭ、検査回路１１０、エラー注入制御回路ＥＣ、比較補正回路ＣＫを含み、エラー注入制御回路ＥＣはマイコン２００からレジスタを書き換えることができるようになっている。
【００６５】
ここで、例えばＬＥＤ２４０はタイムアウトを示す重要な信号であるとして、その信号は端子台２３０で制御回路２２０に戻され、マイコン２００から読み出せるようにする。このような構成にすることにより、制御回路２２０のタイムアウト検出機能はメイン論理部ＬＭ検査論理部ＬＴと比較補正回路をプログラムによって定期的に診断しているのでこれらに故障が検出された場合、速やかに制御装置を交換することができる。
【００６６】
また、タイムアウトを検出するか、タイムアウトの不一致を検出した場合は、安全側の状態、例えばここではＬＥＤを点灯にする。またこのとき、ＬＥＤ２４０が点灯したことを端子台２３０から戻ってくる信号で確認する。異常状態であることを、ネットワークを介して別のプロセッサに伝送するように動作させる。
【００６７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００６８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００６９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７０】
ＬＭ：メイン論理部
ＬＴ：検査論理部
ＥＲ：エラー注入回路
ＥＣ：エラー注入制御回路
ＣＫ：比較補正回路
Ｓ２：エラー注入データ
１８０：エラー検出期待値
１９０：制御装置
２２０：制御回路
【図１】
0005730173.tif 000002
【図２】
0005730173.tif 000003
【図３】
0005730173.tif 000004
【図４】
0005730173.tif 000005
【図５】
0005730173.tif 000006
【図６】
0005730173.tif 000007