(57)【特許請求の範囲】
【請求項１】
電圧を伝送媒体とする第１のバスと、
電圧を伝送媒体とする第２のバスと、
上記第１のバス又は第２のバスに接続され、バスの状態を検出して送信の可否を判定し、メッセージの送受信を行う複数の計算機と、
伝送媒体を光とする第３のバスで上記第１のバスと上記第２のバスとを接続するために、上記第１のバスと上記第３のバスの間に接続される第１のバスブリッジ回路と、
上記第２のバスと上記第３のバスの間に接続される第２のバスブリッジ回路とを有する情報処理システムであって、
上記第１，第２のバスブリッジ回路は、第３のバスから入力された信号が、自バスブリッジ回路から出力した信号か他バスブリッジ回路から出力された信号であるかを判定するバス状態判定回路を有し、
他バスブリッジ回路から出力された信号であると判定された場合のみ自バスブリッジ回路に接続する第１又は第２のバスに第３のバスから入力された信号を出力することにより、所定時間以内に第１及び第２のバスの状態を同じにすることを特徴とする情報処理システム。
【請求項２】
請求項１において、
所定時間以内とは、第１，第２のバスで予め等しく決定された、１ビット転送時間以内であることを特徴とする情報処理システム。
【請求項３】
請求項１又は２において、
上記第１，第２のバスブリッジ回路が有するバス状態判定回路は、自バスブリッジ回路から信号を上記第３のバスに出力してから、上記第３のバスにおける信号の伝送遅延時間に比例した一定の時間内に上記第３のバスの状態が変化するか否かにより、自バスブリッジ回路から出力した信号か他バスブリッジ回路から出力された信号であるかを判定することを特徴とする情報処理装置。
【請求項４】
請求項３において、
上記バス状態判定回路は上記第３のバスにおける信号の伝送遅延時間に比例した一定の時間を設定する手段を備えたことを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は２本の電気的バスの間を光ファイバでつなぐバスブリッジに関し、特に産業用フィールドバスに適したバスの光ファイバによる延長に関する。
【０００２】
【従来の技術】
近年では、産業用コントローラと入出力機器をつなぐ際に大幅に配線を省略するために、コントローラと１対１に入出力機器が個別接続されたのを１本のバスにつなぐフィールドバスと呼ばれる（フィールドネットワークとも呼ばれる。）技術がある。
【０００３】
この例として、特開平6−236333 号公報には、光通信を行うための１本のバスに、複数の入出力機器をつなぐための伝送方法が記載されている。これは、フレームのスタート，識別子，制御フィールド，データフィールド，ＣＲＣフィールド，ＡＣＫフィールドフレームの終わり、および休止期間からビットフィールドを構成したメッセージを使って伝送するものであり、複数のノードが同時にバスにデータを出力した場合に、各ノードは送信するメッセージの識別子を使って、それ以降のメッセージの転送を続けるか、どうかを各ノードが自立的に判断するものである。つまり、各ノードは識別子を使って、ノード自体がバスに書き込むビットレベルをノードが実際にバスにおいて操作するビットレベルと比較し、ノード自体によって送信するバスレベルが存在しない全てのノードが、それ以上１つのビットも送信することなしに伝送を中止するものである。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来技術は各ノード間を全て、同一の伝送媒体で結合するものである。
【０００５】
産業用コントローラシステムにおいては、耐電磁ノイズや避雷のために伝送媒体として光ファイバを使用したいという要求があるが、一般に光伝送機器は電気伝送機器に比べて高価であり、システム全体のコストが高くなってしまうという問題がある。
【０００６】
また、伝送媒体を電圧とすると遠隔地間のノード間の伝送に遅延が生じるため、上記従来技術にあるような、識別子を用いて複数のノード間の優先度を決定する場合には、識別子のビット転送単位ごとにバスの状態を切り替えるために、システム全体の処理速度が遅くなってしまうといった問題がある。
【０００７】
この問題を解決するために、電気バスと光ファイバとを用いて構成すれば良いが、この場合、電気バスと光ファイバとを接続し、光ファイバから受けた信号を電気バスに伝え、電気バスから受けた信号を光ファイバに伝えるためのバスブリッジ回路が必要となる。そして、このバスブリッジ回路は、上記従来技術のような送信権の獲得を行う場合、ビット単位毎にバスの状態を素早く切り替える能力が必要となる。
【０００８】
本発明の目的は、上記問題点に鑑みて、近いノード間では伝送媒体を電圧とする電気バスで接続し、距離のあるノード間では伝送媒体を光とする光バスで接続した場合に、バスの状態を素早く切り替えるためのバスブリッジ回路及びこのバスブリッジ回路を用いた情報処理システムを提供することを目的とするものである。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は電圧を伝送媒体とする第１のバスと、電圧を伝送媒体とする第２のバスと、第１のバス又は第２のバスに接続され、バスの状態を検出して送信の可否を判定し、メッセージの送受信を行う複数の計算機と、伝送媒体を光とする第３のバスで第１のバスと第２のバスとを接続するために、第１のバスと第３のバスの間に接続される第１のバスブリッジ回路と、第２のバスと第３のバスの間に接続される第２のバスブリッジ回路とを有する情報処理システムであって、第１，第２のバスブリッジ回路は、第３のバスから入力された信号が、自バスブリッジ回路から出力した信号か他バスブリッジ回路から出力された信号であるかを判定するバス状態判定回路を有し、他バスブリッジ回路から出力された信号であると判定された場合のみ自バスブリッジ回路に接続する第１又は第２のバスに第３のバスから入力された信号を出力することにより、所定時間以内に第１及び第２のバスの状態を同じにすることを特徴とするものである。
【００１１】
【発明の実施の形態】
以下、本発明の実施例を図１〜図１７を用いて説明する。
【００１２】
図１に、本発明によるバスブリッジ回路適用した情報処理システムの構成を示す。本情報処理システムは、複数のノード６０，７０が電圧としての信号を伝送するバスＡ３０と接続し、複数のノード８０，９０が電圧としての信号を伝送するバスＢ４０と接続する。バスＡ３０とバスＢ４０は、それぞれ電圧から光、光から電圧へ信号を変換するバスブリッジ回路１０，２０を介して光ファイバ５０と接続する。なお、バスＡ３０及びバスＢ４０の長さは、光ファイバ５０の長さに対して十分短く、バスＡ３０及びバスＢ４０の伝送遅延時間は無視できるように構成している。
【００１３】
本発明における各ノード６０，７０，８０，９０は、それぞれ、メッセージの中に複数のビットからなる識別子を持ち、この識別子の各ビットを判断することにより、自分が送信できるか、否かを判断する機能を持つもので、複数のノードがメッセージを同時に送信しようとした場合には、この識別子により、優先権を持つノードが続けてメッセージの送信を行う。また、このノード６０,７０,８０，９０は、バス上に他のノードのメッセージが送出されているか否かを判断し、バス上にメッセージが送出されている場合には、メッセージの送信を停止する機能を持つ。
【００１４】
図２はバスブリッジ回路１０の内部構成を示したものである。尚、バスブリッジ回路２０の構成も同様の構成であるため、以下バスブリッジ回路１０について説明する。
【００１５】
バスブリッジ回路１０はバスドライバ回路１１，バス状態判定回路１２及び光電／電光変換器１３から構成されている。バスドライバ回路１１は、伝送媒体が電圧である信号を伝送するためのバスＡ３０と接続し、このバスＡ３０に信号を送出することで、バスＡ３０の状態を変更したり、バスＡ３０から信号を受けるものである。光電／電光変換器１３は、伝送媒体を光とする光ファイバ５０と接続し、伝送媒体を電圧から光へ、又は光から電圧へと変換するものである。またバス状態判定回路１２は、バスドライバ回路１１からバスＡ３０の状態を示す信号と、光電／電光変換器１３から光ファイバの状態を示す信号を受けとり、バスＡ３０がとるべき状態を決定し、バスドライバ回路１１へ決定したバスＡ３０のとるべき状態の信号を出力する。
【００１６】
図３はバスドライバ回路１１の内部構成を示したものである。バスドライバ回路１１は、トランスミッタ１１１，レシーバ１１２より構成され、トランスミッタ１１１は、バス状態判定回路１２から出力された信号ＴＤ１２５を入力し、この信号に基づいてバスＡ３０をドライブし、レシーバ１１２は、バスＡ３０の状態を入力し、バス状態判定回路１２、及び光電／電光変換器１３へバスＡ３０の状態を示す信号ＲＤ１１３を出力する。尚、バスＡ３０は、BUSH301及びBUSL302の２本の信号線から成っており、それぞれがトランスミッタ１１１及びレシーバ１１２に接続されている。
【００１７】
図４はバスドライバ回路１１の動作を示したものである。図４（ａ）はトランスミッタ１１１の動作を示している。トランスミッタ１１１へ入力される信号ＴＤ１２５の値が０の場合、バスＡ３０の信号線BUSH301 及びBUSL302 はそれぞれ決められた電圧Ｖｂｈ，Ｖｂｌに変化し、バスＡ３０はオン状態となる。トランスミッタ１１１へ入力される信号ＴＤ１２５の値が１の場合、トランスミッタ１１１はバスＡ３０をドライブせずBUSH301 及びBUSL302 は共に決められた電圧Ｖｏｆに変化し、バスＡ３０はオフ状態となる。図４（ｂ）はレシーバ１１２の動作を示しており、バスＡの状態に応じて、信号ＲＤ１１３を出力する。つまり、バスＡ３０の信号線BUSH301 とBUSL302 の間の電位差Ｖｄｆがあらかじめ決められた値Ｖｔｈを超えていれば信号ＲＤ１１３の値として０を、Ｖｔｈを超えていなければ信号ＲＤ１１３の値として１を出力する。例えばＶｂｈを３.５Ｖ 、Ｖｂｌを１.５Ｖ、Ｖｏｆを２.５Ｖ、Ｖｔｈを０.８Ｖ とすると、トランスミッタ１１１がバスＡ３０をオン状態にドライブした場合は２つの信号線BUSH301 とBUSL302 の間の電位差は２Ｖとなり、レシーバ１１２でバスの状態がオンであることを検出できる。また、トランスミッタ１１１がバスＡをオフ状態にした場合は２つの信号線ＢＵＳＨとＢＵＳＬの間の電位差は０Ｖとなり、レシーバ１１２でバスオフを検出できる。
【００１８】
図５はバス状態判定回路１２の内部構成を示したものである。バス状態判定回路１２は、ドライブ条件判定回路１２１，時間カウンタ回路１２２，時間設定回路１２３，クロック発生回路１２４から構成され、バスドライバ回路１１から出力される信号ＲＤ１１３及び光電／電光変換器１３から出力される信号DOUT133 を入力し、バスドライバ回路１１へ信号ＴＤ１２５を出力する。ドライブ条件判定回路１２１は時間カウンタ回路１２２のカウンタをリセットするためのカウンタリセット信号RESET1215 を出力し、時間カウンタ回路１２２はドライブ条件判定回路１２１にカウンタキャリー信号CARRY1221 を出力する。時間設定回路123は時間カウンタ回路１２２に設定カウントPRESET1232を出力する。クロック発生回路１２４はドライブ条件判定回路１２１及び時間カウンタ回路１２２にクロック信号ＣＫ１２４１を供給する。
【００１９】
ドライブ条件判定回路１２１は、自分のつながっているバスＡ３０の状態を示す信号ＲＤ１１３と、光ファイバ５０を介して得られる相手側のバスＢ４０状態を示す信号DOUT133 からバスＡ３０のとるべき状態を決定し、バスＡ３０をドライブする信号ＴＤ１２５を出力する。また、バスドライバ回路１１は図３に示したように、トランスミッタ１１１の出力がレシーバ１１２の入力となるために、バス状態判定回路１２によって決められたバスＡ３０の状態がそのまま出力される。従って、バスブリッジ回路１０から光ファイバ５０を介して同様の構成をとるバスブリッジ回路２０に入力された信号がそのまま、バスブリッジ回路１０に送られることになる。そこで、それぞれのバスブリッジ回路１０，２０は、受け取った信号が自分の送った信号のフィードバックによるものかを時間カウンタ回路１２２を使って識別する。
【００２０】
図１５はバス状態判定回路１２の状態遷移を示したものである。バス状態判定回路１２は状態０〜３の４つの状態をとる。入力条件はバスドライバ回路１１のレシーバ１１２から出力された信号ＲＤ１１３，光ファイバ５０から光電／電光変換器１３により電気信号に変換された信号DOUT133 ，時間カウンタ１２２からのカウンタキャリー信号CARRY1221 であり、出力はバスドライバ回路１１のトランスミッタ１１１へ入力される信号ＴＤ１２５である。クロック信号CK1241の立ち上がり時に入力条件により状態０〜３の間を遷移する。トランスミッタ１１１へ入力される信号ＴＤ１２５は状態１の場合にのみ０となる。以下、状態遷移を説明する。初期状態即ちバスＡ３０及びバスＢ４０が共にオフの時、レシーバ１１２から出力される信号ＲＤ１１３及び光電／電光変換器１３から出力される信号DOUT133 は共に１となり、バス状態判定回路１２は状態０にとどまる。バスＡ３０がオン状態となると信号ＲＤ１１３が０となるので状態２に遷移する。状態２では信号ＴＤ１２５は１のままであり、信号ＲＤ１１３が０の間、状態２にとどまる。バスＡ３０がオフとなり信号ＲＤ１１３が１になると、状態３に遷移する。ここで時間カウンタ回路１２２が働く。規定された時間に達するまで、即ちカウンタキャリー信号CARRY1221 が０の間は状態３にとどまる。これによりバスＢ４０の状態が反映できる時間だけ待つことができる。カウンタキャリー信号CARRY1221 が１になった時に信号DOUT133 が１の場合、即ちバスＢ４０がオフである場合、状態０に遷移する。カウンタキャリー信号CARRY1221 が１になった時に信号DOUT133 が０の場合、即ちバスＢ４０がオンである場合、状態１に遷移する。信号DOUT133 が０の間、状態２にとどまり、信号ＴＤ１２５を０にしてバスＡ３０をオンにドライブする。信号DOUT133 が１になると状態０に遷移する。状態０の時に信号ＲＤ１１３が１のままで信号DOUT133 が０になった場合も状態１に遷移する。
【００２１】
図６はドライブ条件判定回路１２１の内部構成を示したものである。ドライブ条件判定回路１２１は同期化回路１２１１，ドライブ信号発生回路１２１２，パワーオンリセット発生回路１２１３，ＯＲゲート１２１４から構成されている。同期化回路１２１１は信号ＲＤ１１３及び信号DOUT133 を入力とし、それぞれの同期化信号RDS12111及び信号DOUTS12112を出力する。ドライブ信号発生回路1212は同期化信号RDS12111，信号DOUTS12112，信号DOUT133 ，カウンタキャリー信号CARRY1221 ，パワーオンリセット発生回路１２１３からのパワーオンリセット信号PONRES12131 を入力し、信号ＴＤ１２５を出力する。パワーオンリセット発生回路１２１３は、バスブリッジ回路１０の電源オン時に一定時間パワーオンリセット信号PONRES1213 1を出力し、ドライブ信号発生回路１２１２及び時間カウンタ回路１２２内のラッチをリセットする。ＯＲゲート１２１４はパワーオンリセット信号PONRES12131 と同期化信号RDS12111の反転の論理和を条件としてカウンタリセット信号RESET1215 を生成する。即ち、パワーオンリセット期間中及び同期化信号RDS12111の出力されていない期間中、カウンタリセット信号RESET1215 が出力される。
【００２２】
図７は同期化回路１２１１の内部構成を示す図である。同期化回路１２１１はクロック信号CK1241に同期してデータを取り込む４つのラッチから成っている。信号ＲＤ１１３及び信号DOUT133 は、クロック信号CK1241とは非同期に変化するが、それぞれ２段のラッチを通すことによりクロック信号CK1241と同期して変化する同期化信号RDS12111及び信号DOUTS12112を得ることができる。
【００２３】
図８はドライブ信号発生回路１２１２の内部構成を示したものである。ドライブ信号発生回路１２１２は、セット／リセットフリップフロップ１２１２１，セット条件回路１２１２２及びＯＲゲート１２１２３から構成されており、フリップフロップ１２１２１の反転出力が信号ＴＤ１２５である。ＯＲゲート12123 はパワーオンリセット信号PONRES12131 と信号DOUT133 の反転の論理和を条件としてフリップフロップリセット信号を生成する。即ち、パワーオンリセット期間中及び信号DOUT133 の出力されていない期間中、フリップフロップ１２１２１はリセットされ、信号ＴＤ１２５は１となる。
【００２４】
図９はセット条件回路１２１２２の動作を示す図である。ここで、ＤＯＵＴＳ（ｔ）は現在の信号DOUTS12112の値、ＤＯＵＴＳ（ｔ−１）は１クロック前の信号DOUTS12112の値を表わす。即ち、１クロック前の信号DOUTS12112の値が０、かつ現在の信号DOUTS12112の値が１、かつ同期化信号RDS12111の値が１の場合、または、カウンタキャリー信号CARRY1221 の値が１、かつ同期化信号RDS12111の値が１の場合にフリップフロップ１２１２１はセットされ、信号ＴＤ１２５は０となる。
【００２５】
図１０は時間カウンタ回路１２２の動作を示す図である。時間カウンタ回路１２２は内部に、条件が成立した場合にクロックの立ち上がりに同期してカウントアップを行うカウンタ回路を持っているが、カウンタ回路はごく一般的なものなので、ここでは説明を省略する。本発明ではカウンタ回路は６ビットのレジスタからなり、０から６３までの値をカウントするものとする。リセット入力    RESET1215 が１の場合、クロック信号CK1241が立ち上がるとカウンタの値は設定カウントPRESET1232の値ｉ（ｉ＝０〜６２）となり、RESET1215 が０の間はクロック信号CK1241が立ち上がるごとにカウンタの値がインクリメントされる。カウンタの値が６３の時、カウンタキャリー信号CARRY1221 が１となる。この一連の動作を図１１のタイムチャートに示す。
【００２６】
図１２は時間設定回路１２３の内部構成を示したものである。時間設定回路１２３は６ビットの設定スイッチ１２３１及びプルアップ抵抗１２３３から成っており、スイッチが閉じられた場合は０を、解放された場合は１をそれぞれのビットごとに出力する。
【００２７】
図１３は光電／電光変換器１３の内部構成を示したものである。光電／電光変換器１３は光電変換器Ｏ／Ｅ１３１及び電光変換器Ｅ／Ｏ１３２から構成されている。図１４（ａ）は光電変換器Ｏ／Ｅ１３１の動作を示したものである。光ファイバから入力される信号OIN502がオフの場合は信号DOUT133 を０として出力し、光ファイバから入力される信号OIN502がオンの場合は信号DOUT133 を１として出力する。図１４（ｂ）は電光変換器Ｅ／Ｏ１３２の動作を示したものである。バスドライバ回路１１から出力される信号ＲＤ１１３が０の場合は、光ファイバ５０へ出力する信号OOUT501 をオフ状態に、バスドライバ回路１１から出力される信号ＲＤ１１３が１の場合は光ファイバ５０へ出力する信号OUT501をオン状態にする。
【００２８】
次に図１に示した情報処理システム全体の動作を説明する。
【００２９】
まず、複数のノードがメッセージを送信する際の送信権の獲得について具体的に説明する。ノード６０がメッセージを送信するために識別子を構成する最初の１ビットに基づいてバスＡ３０を（ドライブしないで）オフ状態にし、ノード７０がメッセージを送信するために識別子を構成する最初の１ビットに基づいてバスをオン状態にドライブすると、バスＡ３０はオン状態となる。次に、バスＡ３０をオフ状態にしようとしたノード６０はバスＡ３０の状態を監視し、バスＡ３０の状態がオンとなった、即ち自分がバスＡ３０をオフ状態にできなかったことを検出し、ノード７０も同様にバスＡの状態を監視して、バスＡ３０をオン状態にドライブできたことを検出する。これを識別子を構成する各ビット毎に行い、ノード６０又はノード７０の何れかが送信権を獲得する。尚、この方法は従来技術で説明した文献に詳しく説明されている。そして、各ノードにおける識別子の１ビットの送出からバスの状態の検出までを、１ビットの伝送時間内に行う。以下で説明するシステムの動作状態において、各ノードがバスの状態を検出する点をサンプリングポイントと呼ぶ。
【００３０】
図１６はバスＡ３０に接続されたノード（６０又は７０）が、ある転送サイクルでバスＡ３０をオン状態にドライブし、次の転送サイクルではバスをドライブしない場合で、バスＢ４０に接続されたノード（８０及び９０）はこの期間バスＢ４０をドライブしなかった場合の様子を示したものである。尚、以下で説明するバスブリッジ回路１０，２０の構成は先に述べた通り、同じ構成であるため、各部の符号については同様のものを用いて説明する。
【００３１】
ノード６０がバスＡ３０をオン状態すると、バスブリッジ回路１０のバスドライバ回路１１のレシーバ１１から出力される信号ＲＤ１１３が論理１から０へと変化する。この信号ＲＤ１１３は光電／電光変換器１３の電光変換器Ｅ／O132により、信号OOUT501 のレベルとして光ファイバ５０を通して光伝送による遅延時間後にバスブリッジ回路２０に伝えられる。バスブリッジ回路２０の光電／電光変換器１３へ入力される信号OIN502は１から０へと変化し、光電変換器Ｏ／E131により変換された信号DOUT133 を出力する。バスブリッジ回路２０のバス状態判定回路１２は、自分側のバス即ちバスＢ２０の状態がオフのときに信号OIN502が論理０に変化したためバスドライバ１１のトランスミッタ１１１への信号TD125を論理０へと変化させ、バスＢ２０をオン状態にドライブする。一方、バスブリッジ回路２０のレシーバ１１２は、トランスミッタ１１１の論理状態を受け、信号ＲＤ１１３の論理を０として光電／電光変換器１３を介して光ファイバ５０に出力し、バスブリッジ回路１０に伝えられる。しかし、バスＡ３０は既にオン状態となっているので、バスブリッジ回路１０のバス状態判定回路１２はバスドライバ回路のトランスミッタ１１１への入力信号ＴＤ１２５を変化させることはない。１ビット伝送時間の最後即ちサンプリングポイント１で、ノード６０及び７０はバスＡ３０の状態を取り込み、バスがオン状態となっていることを検出する。
【００３２】
次のビット転送サイクルでノード６０及び７０がバスＡ３０をドライブしないと、バスブリッジ回路１０のバスドライバ回路１１のレシーバ１１２から出力される信号ＲＤ１１３は論理０から論理１へと変化する。この信号ＲＤ１１３はバスブリッジ回路１０の光電／電光変換器１３の電光変換器Ｅ／Ｏ１３２により、信号OOUT501 のレベルとして光ファイバ５０を通してバスブリッジ回路２０に伝えられ、バスブリッジ回路２０の光電／電光変換器１３の光電変換器Ｏ／E131から出力される信号DOUT133 の論理が０から１へと変化する。これによりバスブリッジ回路２０のカウンタリセット信号RESET1215 は論理１から論理０へと変化し、時間カウンタ回路１２２がカウント動作を開始する。バスブリッジ回路２０のバス状態判定回路１２は、自分がバスＢ４０をドライブしている時に信号      DOUT1331となったので、バスドライバ回路１１のトランスミッタ１１１への信号ＴＤ１２５を論理１へと変化させ、バスＢ４０のドライブをやめる。これによりバスＢ４０の状態はオフ状態に変化する。バスＢ４０がオフ状態になったことは、バスブリッジ回路２０のバスドライバ回路１１，光電／電光変換器１３から光ファイバ５０を通してバスブリッジ回路１０にフィードバックされる。バスＢ40の状態がフィードバックされたことはバスブリッジ回路１０の時間カウンタ回路１２２からのカウンタキャリー信号CARRY1221 が論理１に変化したことで判定する。この例ではバスＡ３０は既にオフ状態となっているので、バスブリッジ回路１０のバス状態判定回路１２は入力信号ＴＤ１２５を変化させることはない。１ビット伝送時間の最後即ちサンプリングポイント２で、ノード６０及び７０はバスＡ３０の状態を取り込み、バスがオフ状態となっていることを検出する。
【００３３】
図１７はバスＡ３０に接続されたノード（６０又は７０）が、ある転送サイクルでバスＡ３０をオン状態にドライブし、次の転送サイクルではバスをドライブしない場合で、バスＢ４０に接続されたノード（８０及び９０）は最初の転送サイクルではバスＢ４０をドライブしなかったが、次の転送サイクルではいずれかのノードがバスＢ４０をドライブした場合の様子を示したものである。
【００３４】
バスＡ３０がオン状態になると、バスブリッジ回路１０のバスドライバ回路１１のレシーバ１１２の信号ＲＤ１１３の論理は１から０へと変化する。それはそのままバスドライバ回路１１の光電／電光変換器１３の信号OOUT501 のレベルとしてバスブリッジ光ファイバ５０を通して光伝送遅延時間後にバスブリッジ回路２０に伝えられる。バスブリッジ回路２０の光電／電光変換器１３は論理１から０へと変化した信号OIN502から入力し、そのまま光電変換器１３１により論理０の信号DOUT133 を出力する。バスブリッジ回路２０のバス状態判定回路１２は、自分側のバス即ちバスＢ４０の状態がオフのときに信号DOUT133 が論理０に変化したためバスドライバ回路１１への信号ＴＤを論理０へと変化させ、バスＢ20をオン状態にドライブする。バスＢ２０がオン状態になったことは、バスブリッジ回路２０のバスドライバ回路１１，光電／電光変換器１３により光ファイバ５０を通してバスブリッジ回路１０にフィードバックされる。この時、バスＡ30は既にオン状態となっているので、バスブリッジ回路１０のバス状態判定回路１２はバスドライバ回路１１の信号ＴＤ１２５を変化させることはない。１ビット伝送時間の最後即ちサンプリングポイント３で、ノード６０及び７０はバスＡ３０の状態を取り込み、バスがオン状態となっていることを検出する。この最初の転送サイクルの動作は図１６の例とまったく同じである。
【００３５】
次の転送サイクルでノード６０及び７０がバスＡ３０をドライブしないと、バスブリッジ回路１０のバスドライバ回路１１からの信号ＲＤ１１３の論理は０から論理１へと変化する。それはそのままバスブリッジ回路１０の光電／電光変換器のOOUT501 のレベルとして光ファイバ５０を通してバスブリッジ回路２０に伝えられる。バスブリッジ回路２０の光電／電光変換器１３では論理０から１へと変化した信号OIN502を光電変換器Ｏ／Ｅ１３１から信号DOUT133 として出力する。尚、バスＡの状態がＯＦＦ状態に変換したことによるバスブリッジ回路１０のバスドライバ回路１１の信号ＲＤ１１３が論理０から論理１へと変化した時、バスブリッジ回路１０のドライブ条件判定回路１２１からカウンタリセット信号  RESET1215 の論理が１から論理０へと変化し、時間カウンタ回路１２２がカウント動作を開始する。
【００３６】
バスブリッジ回路２０のバス状態判定回路１２は、バスブリッジ回路１０から送られた信号により、光電／電光変換器１３からの信号DOUT133 を受けると、自分がバスＢ４０をドライブしている時に信号DOUT133 が１となったので、バスドライバ回路１１への入力信号ＴＤの論理を１へと変化させ、バスＢ４０のドライブをやめる。しかし、この例ではノード８０又は９０がバスＢ４０をドライブし始めているので、バスＢ４０の状態はオンのままである。従って、バスブリッジ回路２０のバスドライバ回路１１からは論理０の信号ＲＤ１１３が出力され続けた状態となる。従ってバスブリッジ回路２０から光ファイバ５０への出力信号である信号OOUT501 は論理０から変化しない。一方、バスブリッジ回路１０では一定時間経過後にカウンタ１２２からカウンタキャリー信号CARRY1221 の論理が１になり、この信号を受けたバスブリッジ回路１０のバス状態判定回路１２はバスドライバ回路１１への入力信号ＴＤ１２５を論理０に変化させ、バスＡ３０をオン状態にドライブする。その後サンプリングポイント４でノード６０及び７０はバスＡ３０の状態を取り込み、バスがオン状態となっている、即ちバスＢ４０の状態が正しくバスＡ３０に反映されたことを検出する。
【００３７】
次に、バスブリッジ回路１０，２０の時間設定回路１２３の設定について説明する。光ファイバ５０の長さが５００ｍ、伝播時間が５ｎsec／ｍ 、クロック発生回路１２４の発振周波数が１０ＭＨｚ、バスブリッジ回路１０及び２０の通過時間即ちバスドライバ回路１１の遅延時間、バス状態判定回路１２の遅延時間、光電／電光変換回路の遅延時間の合計が５００ｎsec とする。この場合、時間カウンタ回路１２２がカウントすべき時間は、往復の光ファイバ伝送遅延とバスブリッジ装置通過時間の合計であるので、５００×５×２＋５００ｎsec＝５.５μsecとなる。カウンタは６ビット即ち６３までカウントでき、１００ｎsecごとにカウントアップされるので、初期設定PRESET1232 を９としておけばRESET1215が論理０になってから５.５μsec後にカウンタキャリー信号CARRY1221 が論理１となる。光ファイバ５０の長さが２５０ｍの場合には３.０μsecとなり、初期設定は３４とすればよい。このように、光ファイバ５０の長さに比例した値を設定できるようにすることで、異なる光ファイバ長であっても正しく転送が行われる。
【００３８】
バスＡ３０及びバスＢ４０の長さ即ち電気伝送時間が光ファイバ５０の長さ即ち光伝送時間に対して無視できないくらい長い場合は、時間設定装置１２３の設定に、電気伝送時間を加える必要がある。バスＡ３０及びバスＢ４０の長さがそれぞれ１００ｍ、伝播時間が５ｎsec／ｍ 、光ファイバ５０の長さが３００ｍ、伝播時間が５ｎsec／ｍ 、クロック発生装置１２４の発振周波数が１０ＭＨｚ、バスブリッジ回路１０及び２０の通過時間即ちバスドライバ回路１１の遅延時間、バス状態判定回路１２の遅延時間、光電／電光変換回路の遅延時間の合計が５００ｎsec とする。この場合、時間カウンタ回路１２２がカウントすべき時間は、往復の光ファイバ伝送遅延とバスブリッジ装置通過時間と、バスＡ又はバスＢのいずれかの往復の伝送時間の合計であるので、３００×５×２＋５００＋１００×５×２ｎsec＝４.５μsec となり、初期設定は１９とすればよい。このように、光ファイバの長さに比例した値に電気バスの長さに比例した値を加えて設定することで、電気バスの長さが長い場合であっても正しく転送が行われる。このように、本バスブリッジ回路によれば１ビットの転送時間を最小限に押さえることができ、情報処理システムの伝送時間を高速にすることができる。
【００３９】
尚、本実施例ではメッセージに識別子を持ち、この識別子により優先度を決定する場合を例に説明したが、本発明はこれに限られるものではなく、単にデータを転送する場合においても、同様にシステム全体の伝送時間を高速にすることができるものであり、適用範囲は広いものである。
【００４０】
【発明の効果】
本発明によれば、時間カウンタ回路を使ったバス状態判定回路によって相手側バスの状態を正しく判定できるので、１ビット転送時間以内にバスブリッジの両側でバスの状態を同じに保てる。
【００４１】
このように本発明によれば、同時に複数のノードがドライブするようなバスでも、光ファイバを使って高速に情報を転送できる情報処理システムを実現することができる。
【図面の簡単な説明】
【図１】本発明によるバスブリッジを使った情報処理システムを示した図。
【図２】バスブリッジ回路の内部構成を示した図。
【図３】バスドライバ回路の内部構成を示した図。
【図４】バスドライバ回路の動作を示した図。
【図５】バス状態判定回路の内部構成を示した図。
【図６】ドライブ条件判定回路の内部構成を示した図。
【図７】同期化回路の内部構成を示した図。
【図８】ドライブ信号発生回路の内部構成を示した図。
【図９】セット条件回路の動作を示した図。
【図１０】時間カウンタ回路の動作を示した図。
【図１１】時間カウンタ回路の動作を示したタイムチャート。
【図１２】時間設定回路の内部構成を示した図。
【図１３】光電／電光変換器の内部構成を示した図。
【図１４】光電変換器Ｏ／Ｅ及び電光変換器Ｅ／Ｏの動作を示した図。
【図１５】バス状態判定回路の状態遷移を示した図。
【図１６】本バスブリッジ装置の動作を示したタイムチャート。
【図１７】本バスブリッジ装置の動作を示したタイムチャート。
【符号の説明】
１０，２０…バスブリッジ回路、１１…バスドライバ回路、１２…バス状態判定回路、１３…光電／電光変換器。
【図１】
0003716562.tif 000002
【図２】
0003716562.tif 000003
【図３】
0003716562.tif 000004
【図４】
0003716562.tif 000005
【図５】
0003716562.tif 000006
【図６】
0003716562.tif 000007
【図７】
0003716562.tif 000008
【図８】
0003716562.tif 000009
【図９】
0003716562.tif 000010
【図１０】
0003716562.tif 000011
【図１１】
0003716562.tif 000012
【図１２】
0003716562.tif 000013
【図１３】
0003716562.tif 000014
【図１４】
0003716562.tif 000015
【図１５】
0003716562.tif 000016
【図１６】
0003716562.tif 000017
【図１７】
0003716562.tif 000018