(57)【特許請求の範囲】
【請求項１】
同一の命令を同期して実行する複数のモジュールからなる冗長システムにおいて、
前記複数のモジュール内の内部信号同士を比較し、前記複数のモジュール内の内部信号同士が一致したときには真の値を、一致していないときには偽の値を出力する比較器の出力信号と、前記複数のモジュールからの出力とを論理積回路に入力し、
前記比較器が交番信号を真の値として出力し、
前記論理積回路を構成する最終段のＤ−フリップフロップのクロック入力端子に前記比較器からの出力を接続し、
前記論理積回路は全ての入力に交番信号が入力されたときのみ交番信号を出力し、
かつ、前記論理積回路の後段に接続される回路の最高動作周波数よりも前記比較器からの交番信号の周波数が高いことを特徴とする冗長システム。
【請求項２】
請求項１記載の冗長システムにおいて、
前記論理積回路が複数のＤ−フリップフロップ列から構成され、
該Ｄ−フリップフロップのＱ出力端子またはＱの反転出力端子が次段のＤ−フリップフロップのＤ入力端子に接続され、
最終段のＤ−フリップフロップのＱ出力端子またはＱの反転出力端子を前記論理積回路とし、
前記最終段のＤ−フリップフロップのＱ出力端子またはＱの反転出力端子が初段のＤ−フリップフロップのＤ入力端子に接続され、
前記論理積回路への入力がそれぞれ該Ｄ−フリップフロップのクロック入力端子に接続
されていることを特徴とする冗長システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は高信頼システムにかかり、特に高信頼システム構成に不可欠な多数決回路，出力選択回路などの最終出力回路の高信頼化，高安全化，フェールセーフ化に関するものである。
【０００２】
【従来の技術】
システムの信頼性を向上させるためにシステムの構成要素（モジュール）を冗長化する方法が従来より広く用いられてきた。この方法では冗長化したモジュールの出力の中から正常な出力を選び出す最終出力回路が不可欠である。この最終出力回路としては多数決回路や選択回路などが用いられている。
【０００３】
また、最終出力回路として論理和回路を用い、危険側出力を真を表わす値（通常の２値論理ではＨ）で表現し、安全側出力を偽を表わす値（通常の２値論理ではＬ）で表現すれば、冗長化したモジュール全てが危険側出力を出したときのみシステムは危険側出力を出す。従って冗長化したモジュール全てが誤って危険側出力を出さない限りシステムは誤って危険側出力を出すことがなくフェールセーフ性をもたせることができる。特に危険側出力を交番信号，安全側出力をそれ以外の信号で表現することによりフェールセーフ性を著しく高めることができる。
システムが正しい出力を選び出すことができるかどうかは最終出力回路の動作にかかっており、この最終出力回路の信頼度がシステム全体の信頼度を左右する。従ってシステムの信頼性を向上させるためには、この最終出力回路の信頼度を確保することが重要である。
【０００４】
信頼性，安全性の拠り所である最終出力回路の信頼度を確保するために最終出力回路にテストパターンを入力して正常動作を確認したり、最終出力回路をフェールセーフな回路構成とする方法が従来から考えられている。
【０００５】
フェールセーフな論理積回路の構成としては、入力としての交番信号がクロック端子に印加される複数のＤ−フリップフロップ列により構成した論理積回路は危険側故障が極めて小さいので広く用いられている。
【０００６】
【発明が解決しようとする課題】
上記した従来技術の内、最終出力回路にテストパターンを入力する方法は、冗長化したモジュールが非同期に動作するシステムでは容易に実施でき、最終出力回路の正常動作を確認することができる。しかし、冗長化したモジュールが同期して動作するシステムでのこの方法の実現方法についてはさらに考慮が必要である。
【０００７】
冗長化したモジュールが同期して動作するシステムでは同期を維持するために、冗長化したモジュールが同期して同一の動作をしなければならない。従って冗長化したモジュールは常に同一の出力を最終出力回路に出力することになる。冗長化したモジュールの出力間に不一致が発生しても、多数決などの手法などにより正常な出力を得るのが、最終出力回路の本来の機能であるため、冗長化したモジュールは常に同一の出力しか出せないのでは最終出力回路の本来の機能についての十分な検査ができない。
【０００８】
仮に、出力に関する命令実行部分だけモジュールごとに異なる動作をさせ、他の命令実行部分は同一の動作をさせようとしても、それに至る分岐命令の部分で実行する命令ステップ数が異なってしまうため結果としてモジュール間の同期を乱すことになる。また、冗長化したモジュール内のバスの信号も比較する方式では、出力に関する命令実行部分が異なるので不一致となり正常に動作しない。
【０００９】
以上のような問題点を踏まえて、冗長化したモジュールが同期して動作するシステムにおいて、最終出力回路を検査する手段を提供することを本発明の第１の目的とする。
【００１０】
また冗長化したモジュールの出力を受け取る最終出力回路として論理和回路を用いた従来技術では論理和回路の故障さえ生じなければ、冗長化したモジュール全てが危険側出力を出さない限りシステムは危険側出力を出さないためシステムにフェールセーフ性を持たせられる大変優れた方法である。しかし本従来技術はさらに高い信頼性，安全性を追及するためには処理結果である出力に留まらず処理過程の正常性の保証についてもさらに考慮を加える必要がある。
【００１１】
そこで処理過程の正常性も保証するフェールセーフシステムを提供することを本発明の第２の目的とする。
【００１２】
さらに従来技術の内、入力としての交番信号がクロック端子に印加される複数のＤ−フリップフロップ列により構成した論理積回路は危険側故障が発生する確率が極めて小さいためフェールセーフＡＮＤと呼ばれている。しかしこの回路にもフェールアウト故障モード（危険側出力が出力される故障モード）は存在する。フェールセーフＡＮＤを構成するＤ−フリップフロップ列の内、最終段のＤ−フリップフロップのＣＬＫ端子入力がＱ出力端子に現れる故障モードが唯一のフェールアウト故障モードである。そこで、フェールアウト故障モードをなくしてフェールセーフ性をより高める方式を提供することを第３の目的とする。
【００１３】
【課題を解決するための手段】
上記第１の目的を達成するため本発明では、以下の手段を講じる。
【００１４】
（１−１）書き込んだデータが全てのモジュールから出力されるレジスタと、対応するモジュールのみから出力され、他のモジュールでは無視されるレジスタをモジュールの出力インタフェース回路に持たせる。
【００１５】
また上記第２の目的を達成するために、以下の手段を講じる。
【００１６】
（２−１）冗長化したモジュールの内部信号同士を比較器で比較チェックする。
【００１７】
（２−２）比較器は、冗長化したモジュールの内部信号同士が一致した場合には真を表わす信号を出力し、一致しない場合には偽を表わす信号を出力する。
【００１８】
（２−３）冗長化したモジュールの出力信号は、危険側出力を真を表わす信号で、安全側出力を偽を真を表わす信号で表現する。
【００１９】
（２−４）比較器の出力と冗長化したモジュールからの出力の論理積を出力とする。
また上記第３の目的を達成するために以下の手段を講じる。
【００２０】
（３−１）論理積回路を入力としての交番信号がクロック端子に印加される複数のＤ−フリップフロップ列により構成し、最終段のＤ−フリップフロップのクロック端子に印加される信号の周波数を論理積回路の後段に接続される回路の最高動作周波数よりも高くする。
【００２１】
さらに上記第２，第３の目的を相乗的に達成するために以下の手段を講じる。
（４−１）冗長化したモジュールの内部信号同士を比較器で比較チェックする。
【００２２】
（４−２）比較器は、冗長化したモジュールの内部信号同士が一致した場合には真を表わす信号として交番出力を出力し、一致しない場合には偽を表わす信号として交番しない信号を出力する。
【００２３】
（４−３）冗長化したモジュールの出力信号は、危険側出力を真を表わす信号すなわち交番する信号で、安全側出力を偽を真を表わす信号すなわち交番しない信号で表現する。
【００２４】
（４−４）論理積回路を入力としての交番信号がクロック端子に印加される複数のＤ−フリップフロップ列により構成し、比較器の出力を最終段のＤ−フリップフロップのクロック端子に印加し、比較器の出力の周波数を論理積回路の後段に接続される回路の最高動作周波数よりも高くする。
【００２５】
以上述べた手段（１−１）によれば、通常動作時には書き込んだデータが全てのモジュールから出力されるレジスタにデータを書き込めば全ての冗長化したモジュールから同一の出力が出される。万一モジュールの中のいずれかが障害により正常な出力を出せない場合には最終出力回路が正常な出力を選び出して正常動作を継続することができる。また、最終出力回路のテストのためには、対応するモジュールのみから出力され、他のモジュールでは無視されるレジスタにデータを書き込めば、冗長化したモジュールの内特定のモジュールのみ他とは異なる出力を出すことができるので、動作確認のためのテストパターンを最終出力回路に入力することができる。
【００２６】
また、手段（２−１）〜（２−４）によれば、冗長化したモジュールの全ての出力に危険側出力が現れても、出力を得るまでの途中経過を表わす冗長化したモジュールの内部信号同士も一致しなければ、システムは危険側出力を出さない。従って、出力を得るまでの計算過程で冗長化したモジュールで相次いで誤りが発生し、危険側出力を出した場合でも、計算過程での誤りによる不一致により比較器の出力は偽となるため、危険側出力は出ないことになる。従って、最終出力結果だけでなく処理過程の正常性も保証することができる。
【００２７】
さらに、手段（３−１）によれば、Ｄ−フリップフロップ列により構成された論理積回路で従来のフェールアウト故障モードに相当する故障が発生しても、本発明によれば故障により出力される信号の周波数が、論理積回路の次段以降に接続される回路の最高動作周波数より高いので、次段以降の回路が動作しないので危険側出力が出されない。従ってフェールセーフＡＮＤ回路のフェールアウト故障モードをなくすことができる。
【００２８】
手段（４−１）〜（４−４）によれば、手段（２−１）〜（２−４）と手段（３−１）の相乗効果が得られ、最終出力結果だけでなく処理過程の正常性も保証することができる上、フェールセーフＡＮＤ回路のフェールアウト故障モードをなくすことができる。
【００２９】
【発明の実施の形態】
実施例の説明に先だって、実施例の構成を以下に示す。
【００３０】
１．第１の目的（最終出力回路を検査する手段を提供すること）を達成するための実施例
２．第２の目的（処理過程の正常性も保証するフェールセーフシステムを提供すること）を達成するための実施例
３．第３の目的（フェールセーフＡＮＤのフェールアウト故障モードをなくすこと）を達成するための実施例
４．第２，第３の目的を相乗効果により達成するための実施例
以下図に従い本発明の各部の実施例について詳細な説明を加える。
【００３１】
＜１．第１の目的を達成するための実施例＞
図１は本発明の出力インタフェースを備えた冗長システムの構成である。冗長化したモジュール１１〜１ｎ（ｎ：モジュールの数）にはそれぞれ出力インタフェース２１〜２ｎを備え、出力３１〜３ｎを出す。なお、本発明は図に示すように冗長化したモジュール１１〜１ｎが同一のクロック２に従って同期して動作する冗長システムを対象にしている。出力３１〜３ｎは最終出力回路４に入力される。万一冗長化したモジュール１１〜１ｎのいずれかが障害により正常な出力を出せない場合には最終出力回路４が正常な出力を選び出して正常動作を継続することができる。正常な出力を選び出す最終出力回路４としては後述するように多数決回路４１，ＡＮＤ回路４２、あるいは中間値選択回路４３などがある。
【００３２】
図２はモジュール１ｉ（ｉ：モジュールの番号）の出力インタフェース２ｉの実施例をアドレスイメージで示したものである。出力インタフェース２ｉにはレジスタＯＵＴall ，ＯＵＴ1〜ＯＵＴnを備えている。出力インタフェース２ｉでは、全てのモジュール１１〜１ｎから出力が出されるレジスタＯＵＴall またはモジュール１ｉのみから出力が出されるレジスタＯＵＴi にデータが書き込まれたときに、書き込まれたデータに対応する出力３ｉが出される。例えば図３に示すように１番目のモジュール１１の出力インタフェース２１ではレジスタOUTallまたはＯＵＴ１にデータが書き込まれた時のみ書き込まれたデータに対応する出力３１が出される。
【００３３】
上記図１〜図３に示す実施例によれば、冗長化したモジュール１１〜１ｎに同一の命令を同期させて実行させながら、モジュールごとに異なる出力３１〜３ｎを得ることができ、動作確認のためのテストパターンを最終出力回路４に与えることができる。例えば、モジュール１１〜１ｎがレジスタＯＵＴi にデータを書き込んだ場合にはモジュール１ｉのみから書き込んだデータに相当する出力３ｉが出される。さらにモジュール１１〜１ｎがレジスタＯＵＴ１〜ＯＵＴｎにそれぞれ異なるデータを書き込んだ場合にはモジュール１１〜１ｎからそれぞれ異なる出力３１〜３ｎが出される。なお正常動作時にはモジュール１１〜１ｎがレジスタＯＵＴall にデータを書き込み、モジュール１１〜１ｎから書き込んだデータに相当する出力３１〜３ｎが出される。
【００３４】
図４，図５はモジュール１ｉの出力インタフェース２ｉの実施例をブロック図で示したものである。アドレスデコーダはアドレスバス１ｉ１の信号をデコードし、レジスタＯＵＴallまたはレジスタＯＵＴiに相当するアドレスのときだけ論理和２ｉ２に信号を出力し論理和２ｉ２の出力をＨにする。またさらにＲ／Ｗ＃信号との論理積２ｉ３をとり、レジスタＯＵＴallまたはレジスタＯＵＴiに相当するアドレスで、write アクセスの時のみラッチ信号２ｉ４をＨにする。ラッチ２ｉ５ではラッチ信号２ｉ４に従ってデータバス１ｉ２の信号をラッチする。図４の実施例ではラッチ２ｉ５でラッチしたデータをそのまま出力３ｉとしている。また図５では更にデジタル／アナログ変換器２ｉ６でアナログ化して出力３ｉとしている。出力インタフェース２ｉが図４の実施例に示すようにデジタル信号を出力するタイプの時には、最終出力回路４として後述する多数決回路４１，ＡＮＤ回路４２を使用すればよい。また出力インタフェース２ｉが図５の実施例に示すようにアナログ信号を出力するタイプの時には、最終出力回路４として後述する中間値選択回路４３を使用すればよい。
【００３５】
図６は最終出力回路４として多数決回路４１を用いた実施例である。３入力の多数決回路４１の内部構成を図７に、その正常動作時の真理値表を図８にそれぞれ示す。また例として多数決回路４１を構成する論理和４１１の出力が０固定故障（stuck-at-0故障）を起こした場合の真理値表を図９に示す。図９に示すように論理和４１１の出力の０固定故障の場合に正常動作と異なる入出力関係になるのはcase８の入力パターンの時のみである。従ってこの故障を検出するためには冗長化したモジュール１１〜１３がcase８の入力パターンに相当する出力３１〜３３を出せばよい。図１〜図５の実施例に示した本発明によれば、モジュール１１〜１３が個別に任意の出力３１〜３３を出せるので、case８に限らず全てのパターンの出力３１〜３３を出すことができる。従って本実施例によれば、例に挙げたような論理和４１１の出力の０固定故障に限らず、多数決回路４１のあらゆるモードの故障を検出することができる。
【００３６】
なお、本発明によらない場合には冗長化したモジュール１１〜１３が全て正常な場合、即ち図８に示す真理値表のcase1，2の入力しか通常は得られないので、多数決回路４１の故障を検出することができず、故障が潜在することになる。このように故障が潜在すると、冗長化したモジュール１１〜１３のいずれかが故障した場合にその故障を救済できなくなる。例えば論理和４１１の出力の０固定故障が発生しても、冗長化したモジュール１１〜１３が全て正常な場合には正常な時と変わらない出力を得ることができるが、モジュール１３の出力３３だけが何らかの原因でＨとなるべきところをＬとなった場合に、多数決回路４１の出力３もＨとなるべきところをＬとなり、正常動作ができなくなる。
【００３７】
図１０は最終出力回路４としてＡＮＤ回路４２を用いた実施例である。本実施例のように冗長化したモジュール１１，１２の出力３１，３２をＡＮＤ回路４２に入力しその出力３を得れば、モジュール１１，１２の出力３１，３２が共にＨの時のみ出力３がＨとなる。つまり、モジュール１１，１２の出力３１，３２のいずれかがＬならば出力３がＬとなる。従って、Ｌ出力を安全側の出力とすればフェールセーフなシステムを実現することができる。
【００３８】
ＡＮＤ回路４２の正常動作時の真理値表を図１１に、出力３２がそのまま出力３として出てしまう故障時の真理値表を図１２に示す。これはＡＮＤ回路４２内部の配線の短絡によって引き起こされる故障モードである。この故障の場合も、case３，４の入力パターンの時のみ故障を検出することができる。従ってこの故障を検出するためには冗長化したモジュール１１，１２がcase３，４の入力パターンに相当する出力３１，３２を出せばよい。図１〜図５の実施例に示した本発明によれば、モジュール１１，１２が個別に任意の出力３１，３２を出せるので、case３，４に限らず全てのパターンの出力３１，３２を出すことができる。従って本実施例によれば、例に挙げたような出力３２がそのまま出力３として出てしまう故障に限らず、ＡＮＤ回路４２のあらゆるモードの故障を検出することができる。
【００３９】
さらに図１３に示すようにＡＮＤ回路４２にフリップフロップから構成される回路を用いればフェールセーフにすることができる。この回路は図１４に示すように出力３１，３２両方に交番信号が現れたときのみ出力３に交番信号を出す。つまり、交番信号を真、それ以外の信号を偽とすれば論理積（ＡＮＤ）と同じ動作をすることがわかる。しかもこの回路自体の故障により誤って交番信号を出力する可能性が極めて低いのでフェールセーフＡＮＤと呼ばれている。
【００４０】
図１５は最終出力回路４として中間値選択回路４３を用いた実施例である。中間値選択回路４３は入力されたアナログ値の内の中間の値を選択して出力する回路である。モジュール１１〜１ｎが全て正常な場合には理論上は出力３１〜３ｎは同じ値が出力されるため、中間値選択回路４３の「入力されたアナログ値の内の中間の値を選択して出力する」機能を確認することができない。実際には出力３１〜３ｎにはデジタル値は同一であってもデジタル／アナログ変換器の変換誤差だけのバラツキが生じ、中間値選択回路４３はこのバラツキのある値の中から中間の値を選択して出力する。従って、一見するとこのバラツキを利用して中間値選択回路４３の「入力されたアナログ値の内の中間の値を選択して出力する」機能を確認することができるように見える。しかし、このバラツキは出力３をフィードバックして確認するためのアナログ／デジタル変換器の量子化誤差のために弁別が困難である。従って本発明により出力３１〜３ｎの内任意の出力を異なる値とすることにより中間値選択回路４３の機能を確認することができる。
【００４１】
図１６は本発明が提供する冗長システムの出力３を遮断する遮断スイッチ５を設けた実施例である。本実施例では本発明が提供する方法により最終出力回路４の異常を検出した場合には遮断スイッチ６を開放することにより出力を停止して、誤った出力を抑止することができる。
【００４２】
＜２．第２の目的を達成するための実施例＞
また図１０の実施例によれば、モジュール１１，１２を同期させて同一の動作をさせることができるので、図１７に示すようにモジュール１１，１２のデータバス１１１，１２１，アドレスバス１１２，１２２，コントロールバス１１３，１２３同士を比較器５で比較チェックすることにより、故障や障害による誤動作を早期に検出し、対応することができる。またこの場合、比較器５として発明者らが既に出願している特願平6−27664号のようなセルフチェッキング比較器を用いれば比較器自体の故障による検出漏れがなくなるので、誤り検出率が向上する。更に、発明者らが既に出願している特願平6−313492 号のようにモジュール１１，１２を同期させ、かつ動作タイミングを半クロックずらして動作させればモジュール１１，１２で同一の誤りが発生する確率が小さくなるので、誤り検出率がさらに向上する。なお、図１５に示すモジュール１１〜１ｎ内部のバス信号の比較チェックは図１０に限らず図１〜図９に示す各実施例に同様にして適用できる。
【００４３】
さらに図１７の実施例を発展させて、モジュール１１，１２の出力３１，３２に加えて比較器５の出力３３をＡＮＤ回路４２に入力した実施例を図１８に示す。本実施例によればモジュール１１，１２のデータバス１１１，１２１，アドレスバス１１２，１２２，コントロールバス１１３，１２３が一致し、かつモジュール１１，１２の出力３１，３２が現れた時のみＡＮＤ回路４２は出力３を出す。つまり、モジュール１１，１２の出力３１，３２だけでなく、出力に致るまでの処理の途中結果が一致した時のみ出力３を出すことになる。本実施例により出力の比較照合が多段になるためにより安全性，フェールセーフ性が増すとともに、処理途中での不一致が検出できるため誤りの早期検出が可能となる。
【００４４】
またＡＮＤ回路４２を図１９に示すようにフリップフロップから構成される回路を用いればＡＮＤ回路自体をフェールセーフにすることができる。
【００４５】
＜３．第３の目的を達成するための実施例＞
図２０はフェールセーフＡＮＤ回路のフェールアウト故障モードをなくす実施例である。本実施例ではフェールセーフＡＮＤ回路を構成するフリップフロップの内最終段のＦＦ１のクロック入力に、フェールセーフＡＮＤ回路の後段の回路７の最高動作周波数ｆｃよりも高い周波数ｆ３の信号を印加している。
【００４６】
この回路は図２１に示すように、正常時にはｆ１，ｆ２，ｆ３の全てに交番信号が入力されたときのみ出力３に交番信号を出力する回路で、この動作は普通のフェールセーフＡＮＤ回路と同一である。
【００４７】
フェールセーフＡＮＤの唯一のフェールアウト故障モードは、フリップフロップのクロック入力がそのままＱ出力に現れてしまう故障モードである。このようなモードの故障が最終段のフリップフロップで発生した場合には、最終段のフリップフロップに交番信号が入力されれば図２２に示すように他の入力には関係なく交番信号が出力３より出力されてしまう。この時、出力３の周波数はｆ３となり、フェールセーフＡＮＤ回路の後段の回路７の最高動作周波数ｆｃよりも高くなる。従って図２３に示すように、回路７は最高動作周波数ｆｃよりも高い周波数では動作できないため回路７の出力端子３０には出力が現れない。従って、最終段のフリップフロップでクロック入力がそのままＱ出力に現れてしまう故障が発生しても、誤って危険側出力が出力されることがないのでフェールセーフ性を持たせることができる。
【００４８】
図２４はフェールセーフＡＮＤ回路を構成するフリップフロップのＣＬＫ入力がＱ出力より出てしまう故障がそれぞれのフリップフロップで発生した場合に観測される出力３と出力３を停止させるための対策をまとめたものである。図２４よりわかるように出力３をモニタすることにより故障を検出することができる。さらに本発明が提供する図１０に示す実施例によれば、効果的にテストパターンを注入できるので故障の潜在を防止することができる。一方故障時に出力３を停止させるための対策はＦＦ１，ＦＦ２，ＦＦ３と後段になるに従って減ってくる。特に最終段のＦＦ３では本実施例の他にはｆ３入力を停止するほかは故障時に出力３を停止させるための手段がない。つまり本実施例がなければ、万一ＦＦ３の他に何らかの原因でｆ３が連続して出力されてしまう故障が発生した場合には、出力３は連続して出力されてしまう。従って、ＦＦ３とｆ３を生成する回路の故障、つまり２重故障によりシステムは危険側出力を出しフェールアウトとなる。これに対してＦＦ１，ＦＦ２はそれぞれ４重故障，３重故障が発生して初めてフェールアウトとなる。フェールアウトが人命に関わるような用途に用いられるシステムでは、安全のために多重故障が発生してもフェールアウトとならないように考慮する必要がある。そこで本実施例によれば、従来２重故障によりフェールアウトとなってしまっていたところを、出力を停止してフェールアウトとなることを防止することができる。
【００４９】
図２５はさらにフェールセーフＡＮＤ回路の全てのフリップフロップのクロック入力がＱ出力より出てしまうモードの故障の影響を防止する実施例である。本実施例ではフリップフロップのクロック端子に入力されるフェールセーフＡＮＤ回路の入力周波数ｆ１，ｆ２，ｆ３の全てをフェールセーフＡＮＤ回路の後段の回路７の最高動作周波数ｆｃよりも高くしている。本実施例によれば、フェールセーフＡＮＤ回路を構成するフリップフロップのうちどのフリップフロップでクロック入力がＱ出力より出てしまうモードの故障が発生した場合でも、出力３の出力は後段の回路７の最高動作周波数ｆｃよりも周波数が高いため回路７は動作せずに出力３０に信号が現れない。従って本実施例によればフェールセーフAND回路の全てのフリップフロップのクロック入力がＱ出力より出てしまうモードの故障の影響を防止することができることがわかる。
【００５０】
ただし、入力周波数ｆ１，ｆ２，ｆ３の全てが回路７の最高動作周波数ｆｃよりもはるかに高い場合には、フェールセーフＡＮＤ回路で故障が発生していない正常時の出力も最高動作周波数ｆｃよりも高い周波数となってしまう。そこで、例えばｆ１，ｆ２をｆｃ＜ｆ１＜２ｆｃ，ｆｃ＜ｆ２＜２ｆｃとなるように選定すれば、図２１に示すようにｆ１／２，ｆ２／２オーダーの出力が得られるため、図２６に示すように正常時の出力３は回路７の最高動作周波数ｆｃより低く、異常時の出力３は回路７の最高動作周波数ｆｃより高くなる。従って、本実施例によればフェールセーフＡＮＤ回路の全てのフリップフロップのクロック入力がＱ出力より出てしまうモードの故障の影響を防止することができる。
【００５１】
以上述べたように、図２５の実施例によればフェールセーフＡＮＤ回路の後段の回路７が急峻な高域での減衰特性を有していればフェールセーフＡＮＤ回路の全てのフリップフロップのクロック入力がＱ出力より出てしまうモードの故障の影響を防止することができる。一方図２０の実施例では最終段のフリップフロップのクロック入力がＱ出力より出てしまうモードの故障の影響を防止するのに留まるが、フェールセーフＡＮＤ回路の後段の回路７には急峻な高域での減衰特性は要求されず、通常の回路の周波数特性で実現できるので特にフィルターを付加することは不要である。
【００５２】
図２０〜図２６に示す実施例を実現する際には回路７の最高動作周波数ｆｃより高い周波数の信号が必要となる。この信号の生成方法としては、以下の通り考えられる。
【００５３】
(1) 冗長化した各モジュールの生存通知信号
(2) クロック信号
(3) 特開平7−234801 号によるセルフチェッキング比較器
これらの方式の内、(3）による実施例について以下説明する。
【００５４】
なお、図２０〜図２６の実施例では簡単のために３入力のフェールセーフAND回路について説明したが、一般にＮ３入力のフェールセーフＡＮＤ回路についても同様に実現が可能であることはいうまでもない。
【００５５】
＜４．第２，第３の目的を相乗効果により達成するための実施例＞
図２７に本発明の第２の目的である処理過程の正常性も保証するフェールセーフシステムを提供することと、本発明の第３の目的であるフェールセーフＡＮＤのフェールアウト故障モードをなくすことを相乗効果により達成するための実施例を示す。本実施例の構成は基本的には図１８の構成に示す構成と同じである。図２７の実施例では、通常の比較器の代わりにセルフチェッキング比較器５′を、通常のＡＮＤ回路の代わりに図２８に示すようにフリップフロップから構成され、セルフチェッキング比較器５′からの出力３３を入力するフリップフロップ（ＦＦ３）を最終段としたフェールセーフＡＮＤ回路を用い、さらにフェールセーフＡＮＤ回路の出力は出力駆動回路７１を経て出力３０となっている。
【００５６】
この構成は出力３１，３２，３３の全てに交番信号が現れたときのみ出力３に交番信号を出すためフェールセーフな構成となっている。
【００５７】
なお、この構成を実現するためには、セルフチェッキング比較器５′もモジュール１１，１２のデータバス１１１，１２１，アドレスバス１１２，１２２，コントロールバス１１３，１２３が一致しているときには出力３３として交番信号を出力するものでなければならない。先に述べたように発明者らが既に出願している特願平6−27664号のようなセルフチェッキング比較器は、比較対象の信号が一致し、かつ比較器自身が正常なときにのみ出力３３として交番信号を出力するのでこの条件に合致している。
【００５８】
ここで、フェールセーフＡＮＤ回路の入出力の正常時の周波数関係を考えて見る。セルフチェッキング比較器５′の出力３３はバスサイクルごとに反転するのでバスサイクルと同じ周波数（通常数ＭＨｚ〜数百ＭＨｚ程度）となる。一方、モジュール１１，１２の出力３１，３２はソフトウェアによる出力インタフェース２１〜２ｎへのアクセスによって反転させるのでセルフチェッキング比較器５の出力３３と比べるとはるかに低い周波数（通常数百Ｈｚ〜数ｋＨｚ程度）となる。また、フェールセーフＡＮＤの出力はセルフチェッキング比較器５の出力３３，モジュール１１，１２の出力３１，３２の全ての信号の立上りが一巡して反転するので、モジュール１１，１４の出力３１，３２の１／２の周波数となる。なお、図２９のようにフェールセーフＡＮＤ回路の出力が接続されている出力駆動回路７の最高動作周波数ｆｃは電力用素子で構成した場合は通常１００Ｈｚ程度から数ｋＨｚ程度である。
【００５９】
続いて、先に述べたモードの故障が発生した場合を考えて見る。この場合フェールセーフＡＮＤの出力３にはセルフチェッキング比較器５の出力３３がそのまま現れる。従ってフェールセーフＡＮＤの出力３は図２９に示すように出力駆動回路７１の帯域を大きく逸脱する。従ってフェールアウトモードの故障が発生しても出力３０に信号が現れないためにフェールセーフとなる。
【００６０】
【発明の効果】
以上述べたように本発明によれば、最終出力回路のテストを容易にして早期の故障発見が可能となる。さらにモジュールからの出力の照合に、モジュール内部の信号線の比較チェックも加えることにより誤り検出の早期化，誤り検出率向上が可能となる。またさらにフェールセーフ回路のフェールアウトを防ぎ、システムのフェールセーフ性，安全性を著しく向上させることができる。
【図面の簡単な説明】
【図１】本発明の基本的な実施例。
【図２】出力インタフェース２ｉの構成（レジスタイメージ）。
【図３】出力インタフェース２１の構成（レジスタイメージ）。
【図４】出力インタフェース２ｉの構成。
【図５】出力インタフェース２ｉの構成（アナログ出力）。
【図６】多数決回路を使用した実施例。
【図７】多数決回路の構成。
【図８】多数決回路の入出力真理値表（正常時）。
【図９】多数決回路の入出力真理値表（故障時）。
【図１０】ＡＮＤ回路を使用した実施例。
【図１１】ＡＮＤ回路の入出力真理値表（正常時）。
【図１２】ＡＮＤ回路の入出力真理値表（故障時）。
【図１３】フェールセーフＡＮＤ回路を使用した実施例。
【図１４】フェールセーフＡＮＤ回路の動作（正常時）。
【図１５】中間値選択回路を使用した実施例。
【図１６】遮断スイッチ６を設けた実施例。
【図１７】バスを比較する実施例。
【図１８】比較器の出力をＡＮＤ回路に入力した実施例。
【図１９】フェールセーフＡＮＤ回路を使用した実施例。
【図２０】フェールセーフＡＮＤ回路のフェールアウト故障を考慮した実施例。
【図２１】フェールセーフＡＮＤ回路の動作（正常時）。
【図２２】フェールセーフＡＮＤ回路の動作（故障時）。
【図２３】フェールセーフＡＮＤ回路入出力信号の周波数関係。
【図２４】故障個所とその対策。
【図２５】フェールセーフＡＮＤ回路のフェールアウト故障を考慮した実施例。
【図２６】フェールセーフＡＮＤ回路入出力信号の周波数関係。
【図２７】バスを比較し、かつフェールセーフＡＮＤ回路のフェールアウト故障を考慮した実施例。
【図２８】フェールセーフＡＮＤ回路への信号接続。
【図２９】フェールセーフＡＮＤ回路入出力信号の周波数関係。
【符号の説明】
３…出力、４…最終出力回路、５…比較器、６…遮断スイッチ、１１〜１ｎ…モジュール、２１〜２ｎ…出力インタフェース、３１〜３ｎ…（モジュール１１〜１ｎの）出力、４１…多数決回路、４２…ＡＮＤ回路、４３…中間値選択回路。
【図１】
0003733938.tif 000002
【図２】
0003733938.tif 000003
【図３】
0003733938.tif 000004
【図４】
0003733938.tif 000005
【図５】
0003733938.tif 000006
【図６】
0003733938.tif 000007
【図７】
0003733938.tif 000008
【図８】
0003733938.tif 000009
【図９】
0003733938.tif 000010
【図１０】
0003733938.tif 000011
【図１１】
0003733938.tif 000012
【図１２】
0003733938.tif 000013
【図１３】
0003733938.tif 000014
【図１４】
0003733938.tif 000015
【図１５】
0003733938.tif 000016
【図１６】
0003733938.tif 000017
【図１７】
0003733938.tif 000018
【図１８】
0003733938.tif 000019
【図１９】
0003733938.tif 000020
【図２０】
0003733938.tif 000021
【図２１】
0003733938.tif 000022
【図２２】
0003733938.tif 000023
【図２３】
0003733938.tif 000024
【図２４】
0003733938.tif 000025
【図２５】
0003733938.tif 000026
【図２６】
0003733938.tif 000027
【図２７】
0003733938.tif 000028
【図２８】
0003733938.tif 000029
【図２９】
0003733938.tif 000030