(57)【要約】  回路において、マスタ装置からスレーブ装置に双方向バス制御信号を二重化して出力し、さらに、双方向バス制御信号が一致しなかった場合、マスタ装置をデータの送信側、スレーブ装置をデータの受信側に制御する。そのため、バス上にて出力が衝突してしまうことやバスが中間電位状態となってしまうことを防ぐことができる。また、少なくともスレーブ装置を受信側とすることができ、バスファイトが発生してしまうことは防ぐことができる。
2009034653.tif 000002
【特許請求の範囲】
【請求項１】
第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路において、
該第一装置に設けた、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信する第一の送信手段と、
該第一装置に設けた、該第一の制御信号を該第二装置に送信する第二の送信手段と、
該第二装置に設けた、該第一の送信手段から送信される該第一の制御信号を受信する第一の受信手段と、
該第二装置に設けた、該第二の送信手段から送信される該第一の制御信号を受信する第二の受信手段と、
該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成する生成手段と、
該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御する制御手段と、
を有することを特徴とする回路。
【請求項２】
該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする請求項１記載の回路。
【請求項３】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第二装置が該バスにおけるデータの受信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第二装置が該バスにおけるデータの受信方向となるように制御することを特徴とする請求項２記載の回路。
【請求項４】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第一装置が該バスにおけるデータの送信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第一装置が該バスにおけるデータの送信方向となるように制御することを特徴とする請求項２記載の回路。
【請求項５】
該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、固有のデータを出力する出力手段を有することを特徴とする請求項２記載の回路。
【請求項６】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致する場合、該第一の制御装置及び該第二の制御装置が、該第一の制御信号に基づいて該バスにおけるデータの送受信方向を制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第一装置及び該第二装置のデータの該バスにおける送受信方向を制御することを特徴とする請求項１記載の回路。
【請求項７】
第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路の制御方法において、
該第一装置に設けた第一の送信手段が、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信し、
該第一装置に設けた第二の送信手段が、該第一の制御信号を該第二装置に送信し、
該第二装置に設けた第一の受信手段が、該第一の送信手段から送信される該第一の制御信号を受信し、
該第二装置に設けた第二の受信手段が、該第二の送信手段から送信される該第一の制御信号を受信し、
生成手段が、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成し、
制御手段が、該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御することを特徴とする制御方法。
【請求項８】
該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする請求項７記載の制御方法。
【請求項９】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第二装置が該バスにおけるデータの受信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第二装置が該バスにおけるデータの受信方向となるように制御することを特徴とする請求項８記載の制御方法。
【請求項１０】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第一装置が該バスにおけるデータの送信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第一装置が該バスにおけるデータの送信方向となるように制御することを特徴とする請求項８記載の制御方法。
【請求項１１】
該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、固有のデータを出力することを特徴とする請求項８記載の制御方法。
【請求項１２】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致する場合、該第一の制御装置及び該第二の制御装置が、該第一の制御信号に基づいて該バスにおけるデータの送受信方向を制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第一装置及び該第二装置のデータの該バスにおける送受信方向を制御することを特徴とする請求項７記載の制御方法。
【請求項１３】
バスを介して他装置と接続される処理装置において、
前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信する第一の受信手段と、
前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信する第二の受信手段と、
前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成する手段と、
前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替える制御手段と、を備えることを特徴とする処理装置。
【請求項１４】
前記処理装置において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする、請求項１３に記載の処理装置。
【請求項１５】
前記処理装置において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする、請求項１４に記載の処理装置。
【請求項１６】
バスを介して他装置と接続される処理装置の制御方法において、
第一の受信手段が、前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信し、
第二の受信手段が、前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信し、
生成手段が、前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成し、
制御手段が、前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替えることを特徴とする処理装置の制御方法。
【請求項１７】
前記処理装置の制御方法において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする、請求項１６に記載の処理装置の制御方法。
【請求項１８】
前記処理装置の制御方法において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする、請求項１７に記載の処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路、その制御方法、処理装置及び処理装置の制御方法に関する。
【背景技術】
【０００２】
回路には、双方向バスを使用して他の回路とデータの送受信を行うものがある。さらに、このような回路では、マスタ装置とスレーブ装置とが双方向バスによって接続され、マスタ装置がデータの送受信方向を制御しているものがある。【０００３】
このような場合、マスタ装置からスレーブ装置に双方向バス制御信号を入力し、マスタ装置及びスレーブ装置のデータの送受信方向を制御する。マスタ装置及びスレーブ装置のデータ送受信方向の関係は、マスタ装置・スレーブ装置が送信側・受信側、もしくは、マスタ装置・スレーブ装置が受信側・送信側という関係が成立する。
半面、双方向バス制御信号が何らかの不具合によって反転してしまい、例えば、マスタ装置及びスレーブ装置が共に送信側となった場合、バス上にて出力が衝突するバスファイトバスが発生する。バスファイトが発生すると素子の破壊を招き、装置の故障に繋がってしまう。また、例えば、マスタ装置及びスレーブ装置が共に受信側となった場合、バスは中間電位状態となってしまう。中間電位状態となると、マスタ装置、スレーブ装置の素子が不安定になり、装置の故障に繋がってしまう。【０００４】
先行技術文献としては下記のものがある。
【特許文献１】特開昭５８−０２４９２５号公報
【特許文献２】特開平０９−０５４７５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、双方向バスによって接続された装置の信頼性を高めることである。
【課題を解決するための手段】
【０００６】
本発明は、第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路において、該第一装置に設けた、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信する第一の送信手段と、該第一装置に設けた、該第一の制御信号を該第二装置に送信する第二の送信手段と、該第二装置に設けた、該第一の送信手段から送信される該第一の制御信号を受信する第一の受信手段と、該第二装置に設けた、該第二の送信手段から送信される該第一の制御信号を受信する第二の受信手段と、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成する生成手段と、該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御する制御手段とを有することを特徴とする。【０００７】
本発明は、該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする。【０００８】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第二装置が該バスにおけるデータの受信方向となるように制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第二装置が該バスにおけるデータの受信方向となるように制御することを特徴とする。【０００９】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第一装置が該バスにおけるデータの送信方向となるように制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第一装置が該バスにおけるデータの送信方向となるように制御することを特徴とする。【００１０】
本発明は、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、固有のデータを出力する出力手段を有することを特徴とする。【００１１】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致する場合、該第一の制御装置及び該第二の制御装置が、該第一の制御信号に基づいて該バスにおけるデータの送受信方向を制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第一装置及び該第二装置のデータの該バスにおける送受信方向を制御することを特徴とする。【００１２】
本発明は、第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路の制御方法において、該第一装置に設けた第一の送信手段が、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信し、該第一装置に設けた第二の送信手段が、該第一の制御信号を該第二装置に送信し、該第二装置に設けた第一の受信手段が、該第一の送信手段から送信される該第一の制御信号を受信し、該第二装置に設けた第二の受信手段が、該第二の送信手段から送信される該第一の制御信号を受信し、生成手段が、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成し、制御手段が、該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御することを特徴とする。【００１３】
本発明は、該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする。【００１４】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第二装置が該バスにおけるデータの受信方向となるように制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第二装置が該バスにおけるデータの受信方向となるように制御することを特徴とする。【００１５】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第一装置が該バスにおけるデータの送信方向となるように制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第一装置が該バスにおけるデータの送信方向となるように制御することを特徴とする。【００１６】
本発明は、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、固有のデータを出力することを特徴とする。【００１７】
本発明は、該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致する場合、該第一の制御装置及び該第二の制御装置が、該第一の制御信号に基づいて該バスにおけるデータの送受信方向を制御する第二の制御信号を生成し、該制御手段は、該第二の制御信号に基づいて、該第一装置及び該第二装置のデータの該バスにおける送受信方向を制御することを特徴とする。【００１８】
本発明は、バスを介して他装置と接続される処理装置において、前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信する第一の受信手段と、前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信する第二の受信手段と、前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成する手段と、前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替える制御手段と、を備えることを特徴とする。【００１９】
本発明は、前記処理装置において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする。【００２０】
本発明は、前記処理装置において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする。【００２１】
本発明は、バスを介して他装置と接続される処理装置の制御方法において、第一の受信手段が、前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信し、第二の受信手段が、前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信し、生成手段が、前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成し、制御手段が、前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替えることを特徴とする。【００２２】
本発明は、前記処理装置の制御方法において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする。【００２３】
本発明は、前記処理装置の制御方法において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、マスタ装置からスレーブ装置に双方向バス制御信号を二重化して出力し、さらに、双方向バス制御信号が一致しなかった場合、マスタ装置をデータの送信側、スレーブ装置をデータの受信側に制御する。そのため、バス上にて出力が衝突してしまうことやバスが中間電位状態となってしまうことを防ぐことができる。
【図面の簡単な説明】
【００２５】
【図１】情報処理装置を表す図である。
【図２】マスタ装置、スレーブ装置を表す図（その１）である。
【図３】第一の選択制御回路を表す図（その１）である。
【図４】第二の選択制御回路を表す図（その１）である。
【図５】固定値出力回路を表す図である。
【図６】システム制御装置を表す図である。
【図７】第一の選択制御回路を表す図（その２）である。
【図８】第二の選択制御回路を表す図（その２）である。
【図９】第一の選択制御回路を表す図（その３）である。
【図１０】第二の選択制御回路を表す図（その３）である。
【図１１】第一の選択制御回路を表す図（その４）である。
【図１２】第二の選択制御回路を表す図（その４）である。
【図１３】第一の選択制御回路を表す図（その５）である。
【図１４】第二の選択制御回路を表す図（その５）である。
【図１５】システムの処理を表すフローチャートである。
【図１６】マスタ装置、スレーブ装置を表す図（その２）である。
【図１７】送信手段及び受信手段を表す図である。
【符号の説明】
【００２６】
０  情報処理装置
１０  プロセッサ装置
１２  ユニット間インタフェース制御装置
１４  ＣＰＵ
２０  共有メモリ装置
２２  ユニット間インタフェース制御装置
２４  メモリコントローラ
２６  メモリモジュール
１００、５００  マスタ装置
１０２、２０２  第一のＩＯバッファ
１０４、２０４  第二のＩＯバッファ
１０６、３０２、５０４、６０２、６０４  インバータ
１０８、２０８  選択制御回路
１０８２、２０８８  セレクタ
１１０、２１０、５０６、６０６  双方向バッファ
１１２、２１２、５０８、６０８  分割終端抵抗
１１４、２１４、５１０、６１０  イネーブル端子付きドライバ
１１６、２１６、５１２、６１２  レシーバ
２００、６００  スレーブ装置
２０８２  排他的論理和回路
２０８４、３０４  論理積回路
２０８６、４００２  論理和回路
３０  双方向バス
３００  固定値出力回路
４０１  プロセッサ装置システム制御装置
４０２  共有メモリ装置システム制御装置
４００４  フリップフロップ回路
【発明を実施するための最良の形態】
【００２７】
以下に図面を用いて本実施形態について説明する。【００２８】
（情報処理装置）
図１は、情報処理装置０を表す。情報処理装置０は、プロッセッサ装置１０及び共有メモリ装置２０から構成される。プロッセッサ装置１０は、例えば、Ｎ+１個の中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４、各ＣＰＵ１４に接続されたユニット間インタフェース制御装置１２、各ＣＰＵ１４及び各ユニット間インタフェース制御装置１２に接続されたプロセッサ装置システム制御装置４０１から構成される。共有メモリ装置２０は、例えば、マスタ装置１００を備えるＮ+１個のユニット間インタフェース制御装置２２、スレーブ装置２００を備えるメモリコントローラ２４、メモリモジュール２６、各ユニット間インタフェース制御装置２２、メモリコントローラ２４、メモリモジュール２６に接続された共有メモリ装置システム制御装置４０２から構成される。【００２９】
ＣＰＵ１４は、データの書き込みや読み出し等の命令をユニット間インタフェース制御装置１２に送信する。ユニット間インタフェース制御装置１２は、ＣＰＵ１４から受信した命令をユニット間インタフェース制御装置２２に転送する。ユニット間インタフェース制御装置２２は、ユニット間インタフェース制御装置１２から転送された命令をメモリコントローラ２４に送信する。メモリコントローラ２４は、ユニット間インタフェース制御装置２２から受信した命令に基づいて、メモリモジュール２６へのメモリアクセスを行い、データの書き込み、読み出しを行う。共有メモリ装置システム制御装置４０２は、後述するようにマスタ装置１００及びスレーブ装置２００のデータの送受信方向を制御する。【００３０】
（マスタ装置）
図２に、マスタ装置１００およびスレーブ装置２００を表す。【００３１】
マスタ装置１００は、第一の入出力（ＩＯ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）バッファ（第一の送信手段）１０２、第二のＩＯバッファ（第二の送信手段）１０４、インバータ１０６、選択制御回路１０８、分割終端抵抗（ＯＤＴ：Ｏｎ  Ｄｉｅ  Ｔｅｒｍｉｎａｔｉｏｎ）１１２、イネーブル端子付ドライバ１１４及びレシーバ１１６から構成される。ここで、分割終端抵抗１１２、イネーブル端子付ドライバ１１４及びレシーバ１１６は双方向バッファ１１０を構成する。【００３２】
第一のＩＯバッファ１０２には、入力端Ｃ１から双方向バス制御信号（第一の制御信号）が入力する。第二のＩＯバッファ１０４にも、入力端Ｃ１から双方向バス制御信号が入力する。ここでは、例えば、入力端Ｃ１から双方向バス制御信号「１」が入力した場合、マスタ装置１００が送信側、スレーブ装置２００が受信側となるものとする。また、入力端Ｃ１から双方向バス制御信号「０」が入力した場合、マスタ装置１００が受信側、スレーブ装置２００が送信側となるものとする。第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は、双方向バス制御信号をスレーブ装置２００に出力する。【００３３】
インバータ１０６には、入力端Ｃ１から双方向バス制御信号が入力する。インバータ１０６は、入力した双方向バス制御信号を反転して、選択制御回路１０８に出力する。選択制御回路１０８は、入力する双方向バス制御信号を選択して、分割終端抵抗１１２及びイネーブル端子付ドライバ１１４に出力する。分割終端抵抗１１２は、信号の反射を低減する。分割終端抵抗１１２に、双方向バス制御信号「０」が入力すると、マスタ装置１００は送信側となる。この時、イネーブル端子付ドライバ１１４に、入力端Ａ１からデータが入力すると、イネーブル端子付ドライバ１１４はデータを双方向バス３０を介してスレーブ装置２００に送信する。一方、分割終端抵抗１１２に、双方向バス制御信号「１」が入力すると、マスタ装置１００は受信側となり、レシーバ１１６には、スレーブ装置２００からデータが入力する。レシーバ１１６は、スレーブ装置２００から入力したデータを出力端Ｘ１から出力する。
（スレーブ装置）
スレーブ装置２００は、第一のＩＯバッファ（第一の受信手段）２０２、第二のＩＯバッファ（第二の受信手段）２０４、選択制御回路２０８、分割終端抵抗２１２、イネーブル端子付ドライバ２１４及びレシーバ２１６から構成される。ここで、分割終端抵抗２１２、イネーブル端子付ドライバ２１４及びレシーバ２１６は双方向バッファ２１０を構成する。【００３４】
第一のＩＯバッファ２０２には、マスタ装置１００の第一のＩＯバッファ１０２から双方向バス制御信号が入力する。第二のＩＯバッファ２０４には、マスタ装置１００の第二のＩＯバッファ１０４から双方向バス制御信号が入力する。第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４は、入力された双方向バス制御信号を選択制御回路２０８に出力する。【００３５】
選択制御回路２０８には、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４から双方向バス制御信号が入力する。選択制御回路２０８は、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４から入力する双方向バス制御信号が一致するか否かを判定する。選択制御回路２０８は、入力される双方向バス制御信号を選択して、分割終端抵抗２１２及びイネーブル端子付ドライバ２１４に出力する。【００３６】
分割終端抵抗２１２に、双方向バス制御信号「１」が入力すると、スレーブ装置２００は受信側となる。レシーバ２１６は、マスタ装置１００から入力された信号を出力端Ｘ２から出力する。分割終端抵抗１１２に、双方向バス制御信号「０」が入力すると、スレーブ装置２００は送信側となる。この時、イネーブル端子付ドライバ２１４に、入力端Ａ２からデータが入力すると、イネーブル端子付ドライバ２１４の出力を双方向バス３０を介してマスタ装置１００に送信する。【００３７】
なお、後述するが、例えば、ＩＯバッファのいずれか１つをインバータで構成する。そして、共有メモリ装置システム制御装置４０２に、ノイズを検出する検出回路を設ける。当該検出回路にインバータが出力する信号にノイズが含まれているか否かを検出させ、検出結果に基づいて、使用する双方向バス制御信号を決定しても良い。【００３８】
（制御手段）
図３は、図２に表した選択制御回路２０８を表す。選択制御回路２０８は、論理積回路２０８４、排他的論理和回路２０８２、論理和回路２０８６及びセレクタ２０８８から構成される。論理積回路２０８４には、入力端Ｃ２１および入力端Ｃ２２を介して、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４から双方向バス制御信号が入力する。論理積回路２０８４は、入力される双方向バス制御信号を論理積処理し、処理結果をセレクタ２０８８に出力する。【００３９】
排他的論理和回路２０８２には、入力端Ｃ２１および入力端Ｃ２２を介して、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４から双方向バス制御信号が入力する。排他的論理和回路２０８２は、入力される双方向バス制御信号を排他的論理和処理し、処理結果を論理和回路２０８６に出力すると共に、出力端Ｓ３を介して固定値出力回路３００及び共有メモリ装置システム制御装置４０２に出力する。排他的論理和回路２０８２は、第一のＩＯバッファ２０２（第一の受信手段）が受信した制御信号と、第二のＩＯバッファ２０４（第二の受信手段）が受信した制御信号とが一致するか否かを判定する判定手段である。なお、固定値出力回路３００及び共有メモリ装置システム制御装置４０２については後述する。【００４０】
論理和回路２０８６には、排他的論理和回路２０８２の出力及び共有メモリ装置システム制御装置４０２の出力が入力される。論理和回路２０８６は、入力される排他的論理和回路２０８２の出力及び共有メモリ装置システム制御装置４０２の出力を論理和処理して、セレクタ２０８８に出力する。【００４１】
セレクタ２０８８には、論理和回路２０８６から選択制御信号が、論理積回路２０８４から双方向バス制御信号が、また固定値「１」がそれぞれ入力する。セレクタ２０８８は選択制御信号に基づいて、双方向バス制御信号または固定値「１」のいずれかを、出力端S２を介して分割終端抵抗２１２及びイネーブル端子付きインバータ２１４に出力する。【００４２】
（制御手段）
図４は、図２に表した選択制御回路１０８を表す。選択制御回路１０８は、セレクタ１０８２から構成される。セレクタ１０８２には、共有メモリ装置システム制御装置４０２から選択制御信号が、入力端Ｃ１１を介してインバータ１０６から双方向バス制御信号が、また固定値「０」がそれぞれ入力する。セレクタ１０８２は選択制御信号に基づいて、双方向バス制御信号または固定値「０」のいずれかを、出力端Ｓ１を介して分割終端抵抗１１２及びイネーブル端子付きインバータ１１４に出力する。【００４３】
（出力手段）
図５は、図２に表した固定値出力回路３００を表す。固定値出力回路３００は、インバータ３０２及び論理積回路３０４から構成される。インバータ３０２には、図３に表した排他的論理和回路２０８２の出力が入力端Ｓ３を介して入力される。インバータ３０２は、排他的論理和回路２０８２からの入力を反転して論理積回路３０４に出力する。論理積回路３０４には、インバータ３０２の出力及び図２に表したレシーバ２１６の出力が入力端Ｘ２を介して入力される。論理積回路２０８４は、入力されるインバータ３０２の出力及びレシーバ１１６の出力を論理積処理して、メモリコントローラ２４のコア回路へ信号を出力する。【００４４】
（生成手段）
図６は、図１に表した共有メモリ装置システム制御装置４０２を表す。共有メモリ装置システム制御装置４０２は、論理和回路４００２及びフリップフロップ回路４００４から構成される。論理和回路４００２の一方の入力端には、選択制御回路２０８の排他的論理和回路２０８２の出力が入力端Ｓ３を介して入力される。また、論理和回路４００２の他方の入力端には、フリップフロップ回路４００４の出力が入力される。なお、システム電源投入時はフリップフロップ回路４００４の出力は「０」であり、システム電源切断時はフリップフロップ回路４００４が保持している値はリセットされる。フリップフロップ回路４００４は、保持している値（第二の制御信号）を選択制御回路１０８及び２０８に出力する。【００４５】
（マスタ装置が送信側で、双方向バス制御信号が一致する場合）
ここで、入力端Ｃ１に双方向バス制御信号「１」が入力すると、マスタ装置１００が送信側、スレーブ装置「０」が受信側となると定義し、さらに、双方向バス制御信号の一致を「０」、不一致を「１」と定義した場合のマスタ装置１００、スレーブ装置２００におけるデータの送受信について説明する。なお、双方向バス制御信号の反転は起こらないものとする。【００４６】
マスタ装置１００を送信側、スレーブ装置２００を受信側にするため、入力端Ｃ１からインバータ１０６、第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４には双方向バス制御信号「１」が入力する。第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は、入力された双方向バス制御信号「１」をスレーブ装置２００の第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４に出力する。【００４７】
第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４は、入力された双方向バス制御信号「１」を選択制御回路２０８に出力する。【００４８】
図７に表すように、入力端Ｃ２１、Ｃ２２から双方向バス制御信号「１」が排他的論理和回路２０８２及び論理積回路２０８４に入力する。排他的論理和回路２０８２は、入力される双方向バス制御信号「１」及び「１」を排他的論理和処理し、信号「０」を論理和回路２０８６及び出力端Ｓ３に出力する。【００４９】
論理積回路２０８４は、入力される双方向バス制御信号「１」及び「１」を論理積処理し、信号「１」をセレクタ２０８８に出力する。出力端Ｓ３からは双方向バス制御信号が一致したことを表す信号「０」が、固定値出力回路３００及び共有メモリ装置システム制御装置４０２に入力する。共有メモリ装置システム制御装置４０２の論理和回路４００２には、信号「０」が入力する。また、システム電源投入時のフリップフロップ回路４００４の出力は「０」なので、論理和回路４００４は、信号「０」及び出力「０」を論理和処理して信号「０」をフリップフロップ回路４００４に出力する。フリップフロップ回路４００４は、論理和回路４００２から入力される信号「０」を保持し、さらに信号「０」を選択制御回路２０８の論理和回路２０８６及び選択制御回路１０８のセレクタ１０８２に出力する。【００５０】
論理和回路２０８６は、排他的論理和回路２０８２から入力される信号「０」及び共有メモリ装置システム制御装置４０２から入力される信号「０」を論理和処理し、信号「０」をセレクタ２０８８の選択制御入力に入力する。【００５１】
セレクタ２０８８には、論理積回路２０８４から信号「１」が、また固定値「１」が入力し、選択制御入力には信号「０」が入力している。そのため、セレクタ２０８８は、論理積回路２０８４から入力される信号「１」を出力端Ｓ２から分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力する。【００５２】
分割終端抵抗２１２には、信号「１」が入力するため、分割終端抵抗２１２は、動作状態となる。イネーブル端子付きドライバ２１４には、信号「１」が入力するため、イネーブル端子付きドライバ２１４は、入力端Ａ２から入力されるデータをマスタ装置１００に送信することができなくなる。これにより、スレーブ装置２００はデータの受信側となる。【００５３】
図８に表すように、双方向バス制御信号「１」がインバータ１０６によって反転された信号「０」が、入力端Ｃ１１からセレクタ１０８２に入力する。【００５４】
セレクタ１０８２には、インバータ１０６から信号「０」が、また固定値「０」が入力し、選択制御入力には上述したように共有メモリ装置システム制御装置４０２から信号「０」が入力している。そのため、セレクタ１０８２は、インバータ１０６から入力される信号「０」を出力端Ｓ１から分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力する。【００５５】
分割終端抵抗１１２には、信号「０」が入力するため、分割終端抵抗１１２は、不動作状態となる。イネーブル端子付きドライバ１１４には、信号「０」が入力するため、イネーブル端子付きドライバ１１４は、入力端Ａ１から入力されるデータをスレーブ装置２００に送信することができるようになる。これにより、マスタ装置１００はデータの送信側となる。【００５６】
以上説明したように、マスタ装置１００は入力端Ａ１から入力されるデータを、双方向バス３０を介してスレーブ装置２００のレシーバ２１６に出力する。レシーバ２１６は入力されるデータを出力端Ｘ２から出力する。【００５７】
（マスタ装置が送信側で、双方向バス制御信号が一致しない場合）
ここでは、双方向バス制御信号の反転が起こるものとする。【００５８】
マスタ装置１００を送信側、スレーブ装置２００を受信側にするため、入力端Ｃ１からインバータ１０６、第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４には双方向バス制御信号「１」が入力する。第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は、入力された双方向バス制御信号「１」をスレーブ装置２００の第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４に出力する。【００５９】
第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４は、入力された双方向バス制御信号「１」を選択制御回路２０８に出力する。ここでは、双方向バス制御信号に反転が起こってしまい、第一のＩＯバッファ２０２には、双方向バス制御信号「１」が反転された「０」が入力するものとする。【００６０】
図９に表すように、入力端Ｃ２１からは双方向バス制御信号「０」が、入力端Ｃ２２からは双方向バス制御信号「１」が、排他的論理和回路２０８２及び論理積回路２０８４に入力する。排他的論理和回路２０８２は、入力される双方向バス制御信号「０」及び「１」を排他的論理和処理し、信号「１」を論理和回路２０８６及び出力端Ｓ３に出力する。【００６１】
論理積回路２０８４は、入力される双方向バス制御信号「０」及び「１」を論理積処理し、信号「０」をセレクタ２０８８に出力する。出力端Ｓ３からは双方向バス制御信号が一致しないことを表す信号「１」が、固定値出力回路３００及び共有メモリ装置システム制御装置４０２に入力する。共有メモリ装置システム制御装置４０２の論理和回路４００２には、信号「１」が入力する。また、システム電源投入時のフリップフロップ回路４００４の出力は「０」なので、論理和回路４００４は、信号「１」及び出力「０」を論理和処理して信号「１」をフリップフロップ回路４００４に出力する。フリップフロップ回路４００４は、論理和回路４００２から入力される信号「１」を保持し、さらに信号「１」を選択制御回路２０８の論理和回路２０８６及び選択制御回路１０８のセレクタ１０８２に出力する。【００６２】
論理和回路２０８６は、排他的論理和回路２０８２から入力される信号「１」及び共有メモリ装置システム制御装置４０２から入力される信号「１」を論理和処理し、信号「１」をセレクタ２０８８の選択制御入力に入力する。【００６３】
セレクタ２０８８には、論理積回路２０８４から信号「０」が、また固定値「１」が入力し、選択制御入力には信号「１」が入力している。そのため、セレクタ２０８８は、固定値「１」を出力端Ｓ２から分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力する。【００６４】
分割終端抵抗２１２には、信号「１」が入力するため、分割終端抵抗２１２は、動作状態となる。イネーブル端子付きドライバ２１４には、信号「１」が入力するため、イネーブル端子付きドライバ２１４は、入力端Ａ２から入力されるデータをマスタ装置１００に送信することができなくなる。これにより、スレーブ装置２００はデータの受信側となる。【００６５】
図１０に表すように、双方向バス制御信号「１」がインバータ１０６によって反転された信号「０」が、入力端Ｃ１１からセレクタ１０８２に入力する。【００６６】
セレクタ１０８２には、インバータ１０６から信号「０」が、また固定値「０」が入力し、選択制御入力には上述したように共有メモリ装置システム制御装置４０２から信号「１」が入力している。そのため、セレクタ１０８２は、固定値「０」を出力端Ｓ１から分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力する。【００６７】
分割終端抵抗１１２には、信号「０」が入力するため、分割終端抵抗１１２は、不動作状態となる。イネーブル端子付きドライバ１１４には、信号「０」が入力するため、イネーブル端子付きドライバ１１４は、入力端Ａ１から入力されるデータをスレーブ装置２００に送信することができるようになる。これにより、マスタ装置１００はデータの送信側となる。【００６８】
以上説明したように、双方向バス制御信号が不一致となった場合でも、マスタ装置１００を送信側、スレーブ装置２００を受信側とすることでき、バスファイトや中間電位状態の発生を防止することができる。また、少なくともスレーブ装置２００を受信側とすることで、バスファイトの発生は防ぐことができる。【００６９】
（マスタ装置が受信側で、双方向バス制御信号が一致する場合）
ここでは、マスタ装置１００を受信側、スレーブ装置２００を送信側に制御する場合について説明する。【００７０】
マスタ装置１００を受信側、スレーブ装置２００を送信側にするため、入力端Ｃ１からインバータ１０６、第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４には双方向バス制御信号「０」が入力する。第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は入力された双方向バス制御信号「０」をスレーブ装置２００の第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４に出力する。【００７１】
第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４は入力された双方向バス制御信号「０」を選択制御回路２０８に出力する。【００７２】
図１１に表すように、入力端Ｃ２１、Ｃ２２から双方向バス制御信号「０」が排他的論理和回路２０８２及び論理積回路２０８４に入力する。排他的論理和回路２０８２は、入力される双方向バス制御信号「０」及び「０」を排他的論理和処理し、信号「０」を論理和回路２０８６及び出力端Ｓ３に出力する。【００７３】
論理積回路２０８４は、入力される双方向バス制御信号「０」及び「０」を論理積処理し、信号「０」をセレクタ２０８８に出力する。出力端Ｓ３からは双方向バス制御信号が一致したことを表す信号「０」が、固定値出力回路３００及び共有メモリ装置システム制御装置４０２に入力する。共有メモリ装置システム制御装置４０２の論理和回路４００２には、信号「０」が入力する。また、システム電源投入時のフリップフロップ回路４００４の出力は「０」なので、論理和回路４００４は、信号「０」及び出力「０」を論理和処理して信号「０」をフリップフロップ回路４００４に出力する。フリップフロップ回路４００４は、論理和回路４００２から入力される信号「０」を保持し、さらに信号「０」を選択制御回路２０８の論理和回路２０８６及び選択制御回路１０８のセレクタ１０８２に出力する。【００７４】
論理和回路２０８６は、排他的論理和回路２０８２から入力される信号「０」及び共有メモリ装置システム制御装置４０２から入力される信号「０」を論理和処理し、信号「０」をセレクタ２０８８の選択制御入力に入力する。【００７５】
セレクタ２０８８には、論理和回路２０８６から信号「０」が、また固定値「０」が、選択制御入力には信号「０」がそれぞれ入力している。そのため、セレクタ２０８８は、論理和回路２０８６から入力される信号「０」を出力端Ｓ２から分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力する。【００７６】
分割終端抵抗２１２には、信号「０」が入力するため、分割終端抵抗２１２は、不動作状態となる。イネーブル端子付きドライバ２１４には、信号「０」が入力するため、イネーブル端子付きドライバ２１４は、入力端Ａ２から入力されるデータをマスタ装置１００に送信することができるようになる。これにより、スレーブ装置２００はデータの送信側となる。【００７７】
図１２に表すように、入力端Ｃ１から双方向バス制御信号「０」がインバータ１０６によって反転された信号「１」がセレクタ１０８２に入力する。【００７８】
セレクタ１０８２には、インバータ１０６から信号「１」が、また固定値「０」がそれぞれ入力し、選択制御入力には上述したように共有メモリ装置システム制御装置４０２から信号「０」が入力している。そのため、セレクタ１０８２は、インバータ１０６から入力される信号「１」を出力端Ｓ１から分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力する。【００７９】
分割終端抵抗１１２には、信号「１」が入力するため、分割終端抵抗１１２は、動作状態となる。イネーブル端子付きドライバ１１４には、信号「１」が入力するため、イネーブル端子付きドライバ１１４は、入力端Ａ１から入力されるデータをスレーブ装置２００に送信することができなくなる。これにより、マスタ装置１００はデータの受信側となる。【００８０】
以上説明したように、スレーブ装置２００は入力端Ａ２から入力されるデータを双方向バス３０を介してマスタ装置１００のレシーバ１１６に出力する。レシーバ１１６は入力されるデータを出力端Ｘ１から出力する。【００８１】
（マスタ装置が受信側で、双方向バス制御信号が一致しない場合）
ここでは、双方向バス制御信号の反転が起こるものとする。【００８２】
マスタ装置１００を受信側、スレーブ装置２００を送信側にするため、入力端Ｃ１からインバータ１０６、第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４には双方向バス制御信号「０」が入力する。第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は入力された双方向バス制御信号「０」をスレーブ装置２００の第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４に出力する。【００８３】
第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４は入力された双方向バス制御信号「０」を選択制御回路２０８に出力する。ここでは、双方向バス制御信号の反転が起こってしまい、第二のＩＯバッファ２０４には、双方向バス制御信号「０」が反転された「１」が入力するものとする。【００８４】
図１３に表すように、入力端Ｃ２１からは双方向バス制御信号「０」が、入力端Ｃ２２からは双方向バス制御信号「１」が排他的論理和回路２０８２及び論理積回路２０８４に入力する。排他的論理和回路２０８２は、入力される双方向バス制御信号「０」及び「１」を排他的論理和処理し、信号「１」を論理和回路２０８６及び出力端Ｓ３に出力する。【００８５】
論理積回路２０８４は、入力される双方向バス制御信号「０」及び「１」を論理積処理し、信号「０」をセレクタ２０８８に出力する。出力端Ｓ３からは双方向バス制御信号が一致しないことを表す信号「１」が、固定値出力回路３００及び共有メモリ装置システム制御装置４０２に入力する。共有メモリ装置システム制御装置４０２の論理和回路４００２には、信号「１」が入力する。また、システム電源投入時のフリップフロップ回路４００４の出力は「０」なので、論理和回路４００４は、信号「１」及び出力「０」を論理和処理して信号「１」をフリップフロップ回路４００４に出力する。フリップフロップ回路４００４は、論理和回路４００２から入力される信号「１」を保持し、さらに信号「１」を選択制御回路２０８の論理和回路２０８６及び選択制御回路１０８のセレクタ１０８２に出力する。【００８６】
論理和回路２０８６は、排他的論理和回路２０８２から入力される信号「１」及び共有メモリ装置システム制御装置４０２から入力される信号「１」を論理和処理し、信号「１」をセレクタ２０８８の選択制御入力に入力する。【００８７】
セレクタ２０８８には、論理積回路２０８４から信号「０」が、また固定値「１」が入力し、選択制御入力には信号「１」が入力している。そのため、セレクタ２０８８は、固定値「１」を出力端Ｓ２から分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力する。【００８８】
分割終端抵抗２１２には、信号「１」が入力するため、分割終端抵抗２１２は、動作状態となる。イネーブル端子付きドライバ２１４には、信号「１」が入力するため、イネーブル端子付きドライバ２１４は、入力端Ａ２から入力されるデータをマスタ装置１００に送信することができなくなる。これにより、スレーブ装置２００はデータの受信側となる。【００８９】
図１４に表すように、入力端Ｃ１から双方向バス制御信号「０」がインバータ１０６によって反転された信号「１」がセレクタ１０８２に入力する。【００９０】
セレクタ１０８２には、インバータ１０６から信号「１」が、また固定値「０」が入力し、選択制御入力には上述したように共有メモリ装置システム制御装置４０２から信号「１」が入力している。そのため、セレクタ１０８２は、固定値「０」を出力端Ｓ１から分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力する。【００９１】
分割終端抵抗１１２には、信号「０」が入力するため、分割終端抵抗１１２は、不動作状態となる。イネーブル端子付きドライバ１１４には、信号「０」が入力するため、イネーブル端子付きドライバ１１４は、入力端Ａ１から入力されるデータをスレーブ装置２００に送信することができるようになる。これにより、マスタ装置１００はデータの送信側となる。【００９２】
以上説明したように、双方向バス制御信号が不一致となった場合でも、マスタ装置１００を送信側、スレーブ装置２００を受信側とすることでき、バスファイトや中間電位状態の発生を防止することができる。また、少なくともスレーブ装置２００を受信側とすることで、バスファイトの発生は防ぐことができる。【００９３】
（システム全体の処理の流れ）
以下に図１５に表したフローチャートを用いて、システム全体の処理の流れについて説明する。【００９４】
ステップＳ００１において、第一のＩＯバッファ１０２及び第二のＩＯバッファ１０４は、入力端Ｃ１から入力される双方向バス制御信号をスレーブ装置２００の第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４に出力する。マスタ装置１００及びスレーブ装置２００それぞれがＩＯバッファを２つ備える構成となっているため、双方向バス制御信号を二重化することができ、信頼性を高めることができる。処理はステップＳ００２へ移行する。【００９５】
ステップＳ００２において、選択制御回路２０８は、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４のそれぞれから出力された双方向バス制御信号が一致するか否かを判定する。具体的には、選択制御回路２０８が有する排他的論理和回路２０８２が、第一のＩＯバッファ２０２及び第二のＩＯバッファ２０４から入力される双方向バス制御信号を排他的論理和処理することによって、双方向バス制御信号が一致するか否かを判定する。双方向バス制御信号が一致する場合、排他的論理和回路２０８２による処理結果は「０」となり、排他的論理和回路２０８２は信号「０」を固定値出力回路３００及び共有メモリ装置システム制御装置４０２に出力する。処理はステップＳ００３へ移行する。一方、双方向バス制御信号が一致しない場合、処理はステップＳ００４へ移行する。【００９６】
ステップＳ００３において、マスタ装置１００に備えられた選択制御回路１０８及びスレーブ装置２００に備えられた選択制御回路２０８は、それぞれ双方向バス制御信号に基づき、マスタ装置１００及びスレーブ装置２００の送受信方向を制御する。具体的には、図７及び図１１を用いて説明したように、選択制御回路２０８のセレクタ２０８８が選択した信号を分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力することで、スレーブ装置２００の送受信方向を制御する。また、図８及び図１２を用いて説明したように、選択制御回路１０８のセレクタ１０８２が選択した信号を分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力することで、マスタ装置１００の送受信方向を制御する。処理は終了する。【００９７】
ステップＳ００４において、スレーブ装置２００の排他的論理和回路２０８２による処理結果は「１」となり、排他的論理和回路２０８２は信号「１」を固定値出力回路３００及び共有メモリ装置システム制御装置４０２に出力する。処理はステップＳ００５へ移行する。【００９８】
ステップＳ００５において、固定値出力回路３００のインバータ３０２には、選択制御回路２０８の排他的論理和回路２０８２から信号「１」が入力する。インバータ３０２は信号「１」を反転した信号「０」を論理積回路３０４に出力する。論理積回路３０４は、インバータ３０２から入力される信号「０」及び出力端Ｘ２から入力されるデータを論理積処理する。出力端Ｘ２からはデータ「０」または「１」が入力する。そして、論理積回路３０４は、論理積処理した結果である信号「０」をメモリコントローラ２４のコア回路へ出力する。これによれば、コア回路に回路が誤動作することのない信号「０」を出力することができる。処理はステップＳ００６へ移行する。【００９９】
ステップＳ００６において、マスタ装置１００に備えられた選択制御回路１０８及びスレーブ装置２００に備えられた選択制御回路２０８は、それぞれマスタ装置１００を送信側、スレーブ装置２００を受信側となるように制御する。具体的には、図９及び図１３を用いて説明したように、選択制御回路２０８のセレクタ２０８８が選択した信号を分割終端抵抗２１２及びイネーブル端子付きドライバ２１４に出力することで、スレーブ装置２００の送受信方向を制御する。また、図１０及び図１４を用いて説明したように、選択制御回路１０８のセレクタ１０８２が選択した信号を分割終端抵抗１１２及びイネーブル端子付きドライバ１１４に出力することで、マスタ装置１００はデータの送信側となる。処理は終了する。【０１００】
（本実施例の有効性）
最後に本実施例の有効性について説明する。例えば、図１６に表したようなマスタ装置及びスレーブ装置を考える。マスタ装置５００を送信側、スレーブ装置６００を受信側に制御するため、入力端Ｃ１から双方向バス制御信号「１」が入力したとする。ここで、ＩＯバッファ５０２がＩＯバッファ６０２に出力した双方向バス制御信号が何らかの理由で反転し、ＩＯバッファ６０２に双方向バス制御信号「０」が入力してしまうと、スレーブ装置６００も送信側となり、バスが衝突してしまう。また、マスタ装置５００を受信側、スレーブ装置６００を送信側に制御するため、入力端Ｃ１から双方向バス制御信号「０」が入力したとする。ここで、ＩＯバッファ５０２がＩＯバッファ６０２に出力した双方向バス制御信号が何らかの理由で反転し、ＩＯバッファ６０２に双方向バス制御信号「１」が入力してしまうと、スレーブ装置６００も受信側となり、バスが中間電位状態となってしまう。【０１０１】
これに対して、本実施例によれば、マスタ装置からスレーブ装置に双方向バス制御信号を二重化して出力し、さらに、双方向バス制御信号が一致しなかった場合、システム制御装置がマスタ装置を送信側、スレーブ装置を受信側に制御するため、バスが衝突してしまうことやバスが中間電位状態となってしまうことを防ぐことができる。【０１０２】
以上の実施の形態は、本発明をより良く理解させるために具体的に説明したものであって、別形態を制限するものではない。従って、発明の要旨を変更しない範囲で変更可能である。例えば、本実施例は、スタブ・シリーズ・ターミネーテッド・ロジック１８（ＳＳＴＬ：ＳｔｕｂＳｅｒｉｅｓ  Ｔｅｒｍｉｎａｔｅｄ  Ｌｏｇｉｃ）双方向バッファを使用した双方向バスで接続されているものであれば、適用可能である。例えば、スレーブ装置２００を処理装置に搭載しても良い。また、本実施例では、双方向バス制御信号を２つのＩＯバッファによって二重化したが、他の構成にすることも考えられる。例えば、図１７に表すように、送信手段の一方をインバータ６０２で構成し、受信手段の一方をインバータ６０４で構成する。そして、図１７に表したような信号がインバータ６０２及びＩＯバッファ１０４に入力し、インバータ６０２が出力した信号にはノイズが含まれるとする。本来ならインバータ６０２が出力する信号は「０」、ＩＯバッファ１０４が出力する信号は「１」となるはずが、ノイズが含まれている部分の信号は「１」となってしまう。ノイズが含まれていることを検出する検出手段をさらに設け、当該検出がノイズを検出した場合は、図１７において丸で囲んだ部分の信号を使うようにすれば、ノイズが含まれていても制御信号を正確にマスタ装置からスレーブ装置に送信することができる。
【図１】
2009034653.tif 000003
【図２】
2009034653.tif 000004
【図３】
2009034653.tif 000005
【図４】
2009034653.tif 000006
【図５】
2009034653.tif 000007
【図６】
2009034653.tif 000008
【図７】
2009034653.tif 000009
【図８】
2009034653.tif 000010
【図９】
2009034653.tif 000011
【図１０】
2009034653.tif 000012
【図１１】
2009034653.tif 000013
【図１２】
2009034653.tif 000014
【図１３】
2009034653.tif 000015
【図１４】
2009034653.tif 000016
【図１５】
2009034653.tif 000017
【図１６】
2009034653.tif 000018
【図１７】
2009034653.tif 000019
【手続補正書】
【提出日】平成22年1月21日(2010.1.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路において、
該第一装置に設けた、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信する第一の送信手段と、
該第一装置に設けた、該第一の制御信号を該第二装置に送信する第二の送信手段と、
該第二装置に設けた、該第一の送信手段から送信される該第一の制御信号を受信する第一の受信手段と、
該第二装置に設けた、該第二の送信手段から送信される該第一の制御信号を受信する第二の受信手段と、
該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成する生成手段と、
該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御する制御手段と、
を有することを特徴とする回路。
【請求項２】
該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする請求項１記載の回路。
【請求項３】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第二装置が該バスにおけるデータの受信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第二装置が該バスにおけるデータの受信方向となるように制御することを特徴とする請求項２記載の回路。
【請求項４】
該生成手段は、該判定手段が該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、該第一装置が該バスにおけるデータの送信方向となるように制御する第二の制御信号を生成し、
該制御手段は、該第二の制御信号に基づいて、該第一装置が該バスにおけるデータの送信方向となるように制御することを特徴とする請求項２記載の回路。
【請求項５】
該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とが一致しない場合、固有のデータを出力する出力手段を有することを特徴とする請求項２記載の回路。
【請求項６】
第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路の制御方法において、
該第一装置に設けた第一の送信手段が、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信し、
該第一装置に設けた第二の送信手段が、該第一の制御信号を該第二装置に送信し、
該第二装置に設けた第一の受信手段が、該第一の送信手段から送信される該第一の制御信号を受信し、
該第二装置に設けた第二の受信手段が、該第二の送信手段から送信される該第一の制御信号を受信し、
生成手段が、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成し、
制御手段が、該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御することを特徴とする制御方法。
【請求項７】
該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする請求項６記載の制御方法。
【請求項８】
バスを介して他装置と接続される処理装置において、
前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信する第一の受信手段と、
前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信する第二の受信手段と、
前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成する手段と、
前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替える制御手段と、を備えることを特徴とする処理装置。
【請求項９】
前記処理装置において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする、請求項８に記載の処理装置。
【請求項１０】
前記処理装置において、
前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする、請求項９に記載の処理装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明は、第一装置と、第二装置と、該第一装置と該第二装置とを接続するバスとを備える回路の制御方法において、該第一装置に設けた第一の送信手段が、該第一装置及び該第二装置のデータの送受信の方向を制御する第一の制御信号を該第二装置に送信し、該第一装置に設けた第二の送信手段が、該第一の制御信号を該第二装置に送信し、該第二装置に設けた第一の受信手段が、該第一の送信手段から送信される該第一の制御信号を受信し、該第二装置に設けた第二の受信手段が、該第二の送信手段から送信される該第一の制御信号を受信し、生成手段が、該第一の受信手段が受信した第一の制御信号と、該第二の受信手段が受信した第一の制御信号とに基づき、該第一装置及び該第二装置のデータの送受信の方向を制御する第二の制御信号を生成し、制御手段が、該第二の制御信号に基づいて、該第一装置及び該第二装置の該バスにおけるデータの送受信方向を制御することを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明は、該生成手段は、該第一の受信手段が受信した制御信号と、該第二の受信手段が受信した制御信号とが一致するか否かの判定に基づき、該第一装置及び該第二装置にデータの送受信の方向を制御する第二の制御信号を生成することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明は、バスを介して他装置と接続される処理装置において、前記他装置から、前記他装置との間の通信の方向を制御する第一の制御信号を受信する第一の受信手段と、前記他装置から、前記他装置との間の通信の方向を制御する第二の制御信号を受信する第二の受信手段と、前記第一の受信手段が受信した前記第一の制御信号と、前記第二の受信手段が受信した前記第二の制御信号とを比較し、その結果に基づいて自装置の送受信動作を制御する第三の制御信号を生成する手段と、前記第三の制御信号に応じて、自装置を送信動作あるいは受信動作のいずれかに切り替える制御手段と、を備えることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明は、前記処理装置において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致する場合には、前記第一の制御信号および前記第二の制御信号が指示するように自装置の送受信動作を切り替える一方、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、自装置を受信動作に切り替える第三の制御信号を生成することを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明は、前記処理装置において、前記生成手段は、前記第一の制御信号と前記第二の制御信号とが一致しない場合には、前記他装置を送信動作に切り替える第四の制御信号を生成することを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【国際調査報告】
2009034653.tif 000020
2009034653.tif 000021
2009034653.tif 000022
2009034653.tif 000023