(57)【特許請求の範囲】
【請求項１】
ノード間での送受信を行なうためにノードに配備される送受信回路であって、
他の送受信回路に接続する複数のポートと、
前記ポートを介して送信を行なう送信部と、
前記ポートを介して受信を行なう受信部と、
制御コードを生成し、生成した前記制御コードを含む制御信号を送信するように前記送信部を制御すると共に、前記受信部が受信した制御信号に含まれる制御コードに基づく処理を行なう制御部とを備え、
前記送信部は、
前記他の送受信回路および自己の送受信回路を識別する識別コードを生成するコード生成部と、
前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングの時に、制御コードを選択し、制御コードを送信するタイミングではない時に、前記制御部の制御によって、前記コード生成部が生成した識別コードを選択して送信する選択部とを備えており、
前記受信部は、
受信した制御信号に含まれるコードが、前記制御コードおよび前記識別コードの何れであるかを判別する判別部と、
前記判別部によって判別した識別コードと自己の識別コードとを比較する比較部とを備えており、
前記制御部は、
前記比較部の比較結果により、受信した識別コードが自己の識別コードに比べて、小さい場合に自己の識別コードを、大きい場合に受信した識別コードを、受信したポートとは別のポートから送信するように前記送信部を制御する一方、受信した識別コードが自己の識別コードに等しい場合、他の送受信回路との間でループを形成していると判断することを特徴とする送受信回路。
【請求項２】
ノード間での送受信を行なうためにノードに配備される送受信回路であって、
他の送受信回路に接続する複数のポートと、
前記ポートを介して送信を行なう送信部と、
前記ポートを介して受信を行なう受信部と、
制御コードを生成し、生成した前記制御コードを含む制御信号を送信するように前記送信部を制御すると共に、前記受信部が受信した制御信号に含まれる制御コードに基づく処理を行なう制御部とを備え、
前記送信部は、
前記他の送受信回路および自己の送受信回路を識別する識別コードを生成するコード生成部と、
前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングの時に、制御コードを選択し、制御コードを送信するタイミングではない時に、前記制御部の制御によって、前記コード生成部が生成した識別コードを選択して送信する選択部とを備えており、
前記受信部は、
受信した制御信号に含まれるコードが、前記制御コードおよび前記識別コードの何れであるかを判別する判別部と、
前記判別部によって判別した識別コードと自己の識別コードとを比較する比較部とを備えており、
前記制御部は、
前記比較部の比較結果により、受信した識別コードが自己の識別コードに比べて、大きい場合に自己の識別コードを、小さい場合に受信した識別コードを、受信したポートとは別のポートから送信するように前記送信部を制御する一方、受信した識別コードが自己の識別コードに等しい場合、他の送受信回路との間でループを形成していると判断することを特徴とする送受信回路。
【請求項３】
前記制御部は、前記受信した識別コードが自己の識別コードと異なる場合であって、前記別のポートに対し前記受信した識別コードを送信するように前記送信部を制御するとき、以後、前記受信したポートに対し、自己の識別コードを送信しないように前記送信部を制御することを特徴とする請求項１または２に記載の送受信回路。
【請求項４】
前記制御部は、前記受信した識別コードが自己の識別コードに等しい場合、自己の識別コードを送信したポートまたは受信したポートに対して、信号を送信しないように前記送信部を制御することを特徴とする請求項１または２に記載の送受信回路。
【請求項５】
前記制御部は、他の送受信回路との主従関係を決定する制御コードを受信した場合、以後、受信したポートから自己の識別コードまたは受信した識別コードを送信しないように前記送信部を制御することを特徴とする請求項１または２に記載の送受信回路。
【請求項６】
前記制御部は、他の送受信回路との主従関係が決定したポート以外のポートが残り１つである場合には、何れのポートからも自己の識別コードまたは受信した識別コードを送信しないように前記送信部を制御することを特徴とする請求項１または２に記載の送受信回路。
【請求項７】
前記制御部は、ネットワークを初期化する際、または、他の送受信回路との主従関係を決定する際にのみ、前記識別コードを送信するように前記送信部を制御することを特徴とする請求項１〜６の何れか１項に記載の送受信回路。
【請求項８】
前記コード生成部は、前記制御信号の中に前記識別コードが存在するか否かを判別するフラグ信号をさらに生成し、
前記選択部は、前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングではない時に、前記コード生成部が生成したフラグ信号を選択して送信し、
前記判別部は、受信した前記制御信号に含まれる信号が前記フラグ信号であるか否かをさらに判別することを特徴とする請求項１〜７の何れか１項に記載の送受信回路。
【請求項９】
ネットワークを初期化する制御コードを送信または受信した後、他の送受信回路との主従関係を決定する制御コードを送信または受信する前に、再びネットワークを初期化する制御コードを送信または受信した場合に、前記制御部は、前記識別コードを送信するように前記送信部を制御することを特徴とする請求項１〜８の何れか１項に記載の送受信回路。
【請求項１０】
請求項１から９の何れか１項に記載の送受信回路を備えることを特徴とする情報機器。
【請求項１１】
請求項１０に記載の前記情報機器が複数個接続されていることを特徴とする情報通信ネットワーク。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやその周辺機器、オーディオビジュアル機器どうを接続するためのシリアルバスに利用されるデータ通信方法、送受信回路、該送受信回路を備える情報機器、および該情報機器を用いた情報通信ネットワークに関するものである。
【０００２】
【従来の技術】
前記シリアルバスの通信規格としては、米国電気電子学会（ＩＥＥＥ）１３９４ハイ・パフォーマンス・シリアル・バス規格（以下、「ＩＥＥＥ１３９４規格」と称する。）がある。
【０００３】
ＩＥＥＥ１３９４規格では、１００（９８．３０４）Ｍｂｐｓ，２００（１９６．６０８）Ｍｂｐｓ，４００（３９３．２１６）Ｍｂｐｓでのデータ転送が規定されており、上位転送速度を持つ１３９４ポートは、その下位転送速度との互換性を保持するように規定されている。なお、括弧内の数値は実際の転送速度を示す。これにより、１００Ｍｂｐｓ，２００Ｍｂｐｓ，４００Ｍｂｐｓのデータ転送速度が同一ネットワーク上で混在可能となっている。
【０００４】
また、ＩＥＥＥ１３９４規格では、図１５に示すように、転送データがＤＡＴＡ（データ）とその信号を補うＳＴＲＯＢＥ（ストローブ）との２信号に変換されており、この２信号の排他的論理和をとることによりＣＬＯＣＫ（クロック）を生成することができるようにしたＤＳ−Ｌｉｎｋ（Ｄａｔａ／ＳｔｒｏｂｅＬｉｎｋ）符合化方式の転送フォーマットが採用されている。
【０００５】
物理層（フィジカルレイヤ）におけるアービトレーション信号は、ＴＰＡ／ＴＰＡ＊、ＴＰＢ／ＴＰＢ＊の２組のツイストペア線によって表現される。一組のツイストペア線ＴＰＡ／ＴＰＡ＊は、ストローブ信号（Ｓｔｒｂ＿ＴＸ）を送信すると共に、データ信号（Ｄａｔａ＿ＲＸ）を受信する。一方、もう一組のツイストペア線ＴＰＢ／ＴＰＢ＊は、データ信号（Ｄａｔａ＿ＴＸ）を送信すると共に、ストローブ信号（Ｓｔｒｂ  ＲＸ）を受信する。
【０００６】
Ｓｔｒｂ＿Ｔｘ信号、Ｄａｔａ＿Ｔｘ信号、Ｓｔｒｂ＿Ｅｎａｂｌｅ信号及びＤａｔａ＿Ｅｎａｂｌｅ信号は、制御コードから、アービトレーション信号（Ａｒｂ＿Ａ＿Ｒｘ，Ａｒｂ＿Ｂ＿Ｒｘ）を生成するために用いられる。ここで、送信アービトレーション信号の値とその意味は、図１６に示すようになり、また、受信アービトレーション信号とその意味は、図１７に示すようになる。
【０００７】
また、ＩＥＥＥ１３９４規格では、その接続方式として、デイジチェーンとノード分岐との２種類の方式が使用できる。デイジチェーン方式では、１３９４ポートを備える機器が最大１６ノードまで接続でき、そのノード間の最長距離が４．５ｍとなっている。また、ノード分岐を併用することにより、規格最大の４３ノード（物理的なノード・アドレス）まで接続することが可能なネットワークを構成することができる。
【０００８】
また、ＩＥＥＥ１３９４規格では、ケーブルの抜き差しを、機器が動作している状態、すなわち電源が入っている状態で行うことが可能であり、ノードが追加又は削除された時点で、自動的にネットワークの再構成を行うようになっている。このとき、接続されたノードの機器を自動的に認識することができ、接続された機器のＩＤや配置は、送受信回路上で管理される。
【０００９】
ＩＥＥＥ１３９４規格においては、該規格に従うバスにより構成されたネットワークの状態としては、大きく分けると、ＢＵＳ＿ＲＥＳＥＴフェーズ、ＴＲＥＥ＿ＩＤフェーズ、ＳＥＬＦ＿ＩＤフェーズ、およびＤＡＴＡ＿ＴＲＡＮＳＦＥＲフェーズの４つの状態がある。
【００１０】
ＢＵＳ＿ＲＥＳＥＴフェーズでは、あるノードが送信したＢＵＳ＿ＲＥＳＥＴのアービトレーションコードが、バス全体に送信され、ネットワークが初期化される。ＴＲＥＥ＿ＩＤフェーズでは、初期化されたネットワークトポロジーから、各ノード間で親子決めが行なわれ、最後に親ノードになったノードがルートノードとなり、その後のバスを管理する。
【００１１】
ＳＥＬＦ＿ＩＤフェーズでは、自ノードの情報（ノードＩＤ、転送可能速度など）をＳＥＬＦ＿ＩＤパケット内の所定領域に割り当てて、バス上にＳＥＬＦ＿ＩＤパケットを送信する。他のノードは、バスを介して受信したＳＥＬＦ＿ＩＤパケットの各領域を解析することで、バスに接続した各ノードの情報を得ることができる。ＤＡＴＡ＿ＴＲＡＮＳＦＥＲフェーズでは、通常のデータ転送が可能である。
【００１２】
４つの前記状態は順番に遷移するため、通常のデータ転送を行なうには、ＳＥＬＦ＿ＩＤフェーズまで正常に終了している必要がある。
【００１３】
以下に、ＴＲＥＥ＿ＩＤフェーズでのルートノードが決定するまでの各ノードの動作を図１８に基づいて説明する。図１８は、７台のノードＡ〜Ｇがツリー状に接続されている状態を示している。
【００１４】
ＴＲＥＥ＿ＩＤフェーズでの親子決めには、以下のルールがある。１．接続されているポート数が１つであるノード（以下、「リーフノード」と称する。）は、直ちにＰＡＲＥＮＴ＿ＮＯＴＩＦＹを該ポートに送信する。２．接続されているポートからＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信したノードは、該ポートに対してＣＨＩＬＤ＿ＮＯＴＩＦＹを送信する。これにより、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹおよびＣＨＩＬＤ＿ＮＯＴＩＦＹを送受したノード間で、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信したノードが親ノードになり、ＣＨＩＬＤ＿ＮＯＴＩＦＹを受信したノードが子ノードになる。３．接続されているポートを２つ以上有するノード（以下、「ブランチノード」と称する。）は、接続されているポートのうち、相手ノードとの親子決めが未だ終了していないポートが残り１つとなったときに、該ポートにＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送信する。４．上記１〜３のルールが適用されている状態で、最後にＣＨＩＬＤ＿ＮＯＴＩＦＹを送信して親ノードとなったノードがルートノードとなる。
【００１５】
上記のルールを図１８の場合に適用する。まず、リーフノードであるノードＤがブランチノードであるノードＢに対してポートｐ０からＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送信し、ノードＢがポートｐ０からＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信すると、ポートｐ０からＣＨＩＬＤ＿ＮＯＴＩＦＹを送信する。
【００１６】
このハンドシェークにより、ノードＢが親ノードとなり、ノードＤが子ノードとなる。同様にして、ノードＢとノードＥとの間、ノードＣとノードＦとの間、およびノードＣとノードＧとの間で親子決めが行なわれ、各ノード間で、ノードＢ、ノードＣおよびノードＣが親ノードとなり、ノードＥ、ノードＦおよびノードＧが子ノードとなる。
【００１７】
次に、ノードＢは、接続されている３つのポートｐ０〜ｐ２のうち、２つのポートｐ０・ｐ１が親子決めを終了しているから、残りのポートｐ２からノードＡにＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送信する。ノードＡは、ポートｐ０からＰＡＲ
ＥＮＴ＿ＮＯＴＩＦＹを受信すると、ポートｐ０からノードＢにＣＨＩＬＤ＿ＮＯＴＩＦＹを送信する。
【００１８】
このハンドシェークにより、ノードＡが親ノードとなり、ノードＢが子ノードとなる。同様にして、ノードＡとノードＣとの間で親子決めが行なわれ、ノードＡが親ノードとなり、ノードＣが子ノードとなる。
【００１９】
最後に、ＣＨＩＬＤ＿ＮＯＴＩＦＹを送信して親ノードになったノードＡがルートノードとなり、その後のバスを管理する。
【００２０】
上記のように親子決めを行なう場合、ネットワークトポロジ上でループが形成されると、ループを構成するノードは、全てブランチノードとなり、接続された２個以上のポートが、親子決めを終了した状態にならず、ＴＲＥＥ＿ＩＤフェーズが終了しない。このため、ＩＥＥＥ１３９４−１９９５およびＩＥＥＥ１３９４ａ−２０００規格では、ループが形成されることを禁止している。
【００２１】
近時、通信路として、従来のメタルケーブルに代えて、ＰＯＦ（プラスチック光ファイバ）を使用し、ＩＥＥＥ１３９４−１９９５およびＩＥＥＥ１３９４ａ−２０００に準拠したパケットの転送を可能とする新しい通信方式（OP i.LINK（登録商標） Ver. 1.0 ）が提案されている。
【００２２】
この方式は、単芯のＰＯＦで全二重通信を行なう方式である。単芯のＰＯＦで全二重通信を行ない、相手ポートのクロックスピードが自ポートのそれに近いとき、自ポートが周期的な波形を送りつづけると、ジッタに偏りが生じて、ジッタの許容量を示すジッタトレランスが悪化することが知られている。
【００２３】
これを防ぐために、前記のOP i.LINK （登録商標） Ver. 1.0 では、図１９に示すように、制御信号を送信する際に、同一制御コードを繰り返し送信する従来の方式ではなく、制御コードとランダムなデータコードを所定の規則に従って送信するＤｉｌｕｔｉｏｎ方式を採用している。
【００２４】
前記ランダムなデータとして、OP i.LINK （登録商標） Ver. 1.0 では、図２０に示すように、擬似乱数生成アルゴリズムで生成される擬似乱数を用いることが規定されており、通信路で対向するポート間で排他的に定まるｐｒｉｍａｒｙという１ビットの信号を用いることにより、対向するノードがそれぞれ送信する信号の相関を少なくしている。
【００２５】
受信側では、制御コードを受信したときのみ、自ポートの受信している制御コードを更新することで、制御コードの送受信を可能としている。
【００２６】
【発明が解決しようとする課題】
上記シリアルバス規格に基づいて構成されたネットワークにおいて、ノードの追加または削除によりネットワークを自動的に再構成する際に、以下のような問題点が発生する。
【００２７】
ノード間でデータの転送中に、ノードが追加または削除されると、該データ転送が中断され、ネットワークが再構成された後に、データ転送が再開される。このため、データ転送に遅延が生じるから、ノード間でリアルタイム性が要求されるデータ転送を行なう場合には問題となる。
【００２８】
また、ノードの追加により、トポロジに関してループが形成されることがあり、前述のように、ループの形成を禁止しているネットワークにおいては、ループの検出と位置の特定とが必要となる。
【００２９】
ループを検出する発明としては、特開２０００−４２４９号に記載のバスシステムがある。このバスシステムでは、各ノードにループ検出装置を設け、ループ検出装置どうしを、ノードどうしの接続と同様に接続し、ループ検出装置がループ検出を行なうことにより、ループの検出と位置の特定とを行なっている。このバスシステムを用いると、ループの検出を確実に行なうことができるが、ノードと同数のループ検出装置が必要となる。
【００３０】
ループを検出する他の発明としては、特開２０００−３１９７３号に記載のデータ伝送システムがある。このデータ伝送システムでは、ＴＲＥＥ＿ＩＤフェーズにおいて、各ノードは、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹの送受信がない時間を測定し、前記時間が所定時間を経過すると、ループが形成されていると判断している。
【００３１】
しかしながら、多数のノードが接続されている場合には、親子決めにかかる時間が長くなるから、このデータ伝送システムでは、前記所定時間が短いと、ループが形成されていると誤って判断する可能性がある。また、前記所定時間が長いと、ネットワークを再構成するまでの時間が長くなることになる。
【００３２】
本発明は、ノードの追加または削除によりネットワークを自動的に再構成する際に、追加の情報をノード間で送受信できるデータ通信方法または送受信回路を提供することを目的とする。
【００３３】
【課題を解決するための手段】
本発明の送受信回路は、上記課題を解決するために、ノード間での送受信を行なうためにノードに配備される送受信回路であって、他の送受信回路に接続する複数のポートと、前記ポートを介して送信を行なう送信部と、前記ポートを介して受信を行なう受信部と、制御コードを生成し、生成した前記制御コードを含む制御信号を送信するように前記送信部を制御すると共に、前記受信部が受信した制御信号に含まれる制御コードに基づく処理を行なう制御部とを備え、前記送信部は、前記他の送受信回路および自己の送受信回路を識別する識別コードを生成するコード生成部と、前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングの時に、制御コードを選択し、制御コードを送信するタイミングではない時に、前記制御部の制御によって、前記コード生成部が生成した識別コードを選択して送信する選択部とを備えており、前記受信部は、受信した制御信号に含まれるコードが、前記制御コードおよび前記識別コードの何れであるかを判別する判別部と、前記判別部によって判別した識別コードと自己の識別コードとを比較する比較部とを備えており、前記制御部は、前記比較部の比較結果により、受信した識別コードが自己の識別コードに比べて、小さい場合に自己の識別コードを、大きい場合に受信した識別コードを、受信したポートとは別のポートから送信するように前記送信部を制御する一方、受信した識別コードが自己の識別コードに等しい場合、他の送受信回路との間でループを形成していると判断することを特徴としている。
【００３４】
また、本発明の送受信回路は、上記課題を解決するために、ノード間での送受信を行なうためにノードに配備される送受信回路であって、他の送受信回路に接続する複数のポートと、前記ポートを介して送信を行なう送信部と、前記ポートを介して受信を行なう受信部と、制御コードを生成し、生成した前記制御コードを含む制御信号を送信するように前記送信部を制御すると共に、前記受信部が受信した制御信号に含まれる制御コードに基づく処理を行なう制御部とを備え、前記送信部は、前記他の送受信回路および自己の送受信回路を識別する識別コードを生成するコード生成部と、前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングの時に、制御コードを選択し、制御コードを送信するタイミングではない時に、前記制御部の制御によって、前記コード生成部が生成した識別コードを選択して送信する選択部とを備えており、前記受信部は、受信した制御信号に含まれるコードが、前記制御コードおよび前記識別コードの何れであるかを判別する判別部と、前記判別部によって判別した識別コードと自己の識別コードとを比較する比較部とを備えており、前記制御部は、前記比較部の比較結果により、受信した識別コードが自己の識別コードに比べて、大きい場合に自己の識別コードを、小さい場合に受信した識別コードを、受信したポートとは別のポートから送信するように前記送信部を制御する一方、受信した識別コードが自己の識別コードに等しい場合、他の送受信回路との間でループを形成していると判断することを特徴としている。
【００３５】
また、本発明の送受信回路では、前記制御部は、前記受信した識別コードが自己の識別コードと異なる場合であって、前記別のポートに対し前記受信した識別コードを送信するように前記送信部を制御するとき、以後、前記受信したポートに対し、自己の識別コードを送信しないように前記送信部を制御することが好ましい。
【００３６】
また、本発明の送受信回路では、前記制御部は、前記受信した識別コードが自己の識別コードに等しい場合、自己の識別コードを送信したポートまたは受信したポートに対して、信号を送信しないように前記送信部を制御することが好ましい。
【００３７】
また、本発明の送受信回路では、前記制御部は、他の送受信回路との主従関係を決定する制御コードを受信した場合、以後、受信したポートから自己の識別コードまたは受信した識別コードを送信しないように前記送信部を制御することが好ましい。
【００３８】
また、本発明の送受信回路では、前記制御部は、他の送受信回路との主従関係が決定したポート以外のポートが残り１つである場合には、何れのポートからも自己の識別コードまたは受信した識別コードを送信しないように前記送信部を制御することが好ましい。
【００３９】
また、本発明の送受信回路では、前記制御部は、ネットワークを初期化する際、または、他の送受信回路との主従関係を決定する際にのみ、前記識別コードを送信するように前記送信部を制御することが好ましい。
【００４０】
また、本発明の送受信回路では、前記コード生成部は、前記制御信号の中に前記識別コードが存在するか否かを判別するフラグ信号をさらに生成し、前記選択部は、前記制御信号を送信するように前記制御部によって制御される場合、制御コードを送信するタイミングではない時に、前記コード生成部が生成したフラグ信号を選択して送信し、前記判別部は、受信した前記制御信号に含まれる信号が前記フラグ信号であるか否かをさらに判別することが好ましい。
【００４１】
また、本発明の送受信回路では、ネットワークを初期化する制御コードを送信または受信した後、他の送受信回路との主従関係を決定する制御コードを送信または受信する前に、再びネットワークを初期化する制御コードを送信または受信した場合に、前記制御部は、前記識別コードを送信するように前記送信部を制御することが好ましい。
【００４２】
本発明の情報機器は、上記課題を解決するために、上記に記載の送受信回路を備えることを特徴としている。
【００４３】
本発明の情報通信ネットワークは、上記課題を解決するために、上記に記載の前記情報機器が複数個接続されていることを特徴としている。
【００４４】
【発明の実施の形態】
〔実施の形態１〕
本発明の実施の一形態について図１〜図３に基づいて説明する。なお、本実施形態では、ＩＥＥＥ１３９４−１９９５またはＩＥＥＥ１３９４ａ−２０００規格で用いられる送受信回路について説明する。また、後述する他の実施形態においても同様とする。
【００４５】
図１は、本実施形態にかかる送受信回路の概略構成を示すブロック図である。前記送受信回路１０は、送信部と受信部とを備えており、該送信部は、ＰＨＹステートマシン１１、Ｄｉｌｕｔｉｏｎ生成回路１２、ＢＵＳ＿ＲＥＳＥＴ発生要求生成回路１３、ＢＵＳ＿ＲＥＳＥＴ待機要求生成回路１４、マルチプレクサ１５、および送信機１６・１９を備えており、該受信部は、受信機１７・２０およびＤｉｌｕｔｉｏｎ判別回路１８を備える。
【００４６】
ＰＨＹステートマシン１１は、ＩＥＥＥ１３９４規格に準拠したステートマシンであり、図１６および図１７に示すようなアービトレーション信号（制御コード）を生成する。また、ＰＨＹステートマシン１１は、マルチプレクサ１５の制御等、各種の処理を行なう。
【００４７】
Ｄｉｌｕｔｉｏｎ生成回路１２は、図２０に示すような、擬似乱数生成アルゴリズムで生成される擬似乱数を用いて、ランダムなデータコードを生成する。
【００４８】
ＢＵＳ＿ＲＥＳＥＴ発生要求生成回路１３は、ＢＵＳ＿ＲＥＳＥＴ発生要求信号（情報コード）を生成し、ＢＵＳ＿ＲＥＳＥＴ待機要求生成回路１４は、ＢＵＳ＿ＲＥＳＥＴ待機要求信号（情報コード）を生成する。
【００４９】
マルチプレクサ１５は、制御信号を送信する際には、ＰＨＹステートマシン１１からアービトレーション信号を、Ｄｉｌｕｔｉｏｎ生成回路１２からランダムなデータコードを、ＢＵＳ＿ＲＥＳＥＴ発生要求生成回路１３からＢＵＳ＿ＲＥＳＥＴ発生要求信号を、ＢＵＳ＿ＲＥＳＥＴ待機要求生成回路１４からＢＵＳ＿ＲＥＳＥＴ待機要求信号をそれぞれ受信し、ＰＨＹステートマシン１１の制御により、何れかの信号を選択して送信機１６に送信する。
【００５０】
送信機１６は、受信した信号を所定の形式に変換して、他の送受信回路１０に送信する。送信機１６は、例えば光通信ではＬＥＤ（発光ダイオード）、ＬＤ（レーザダイオード）が用いられるが、この限りではない。
【００５１】
受信機１７は、他の送受信回路１０から受信した信号を所定の形式に変換して、Ｄｉｌｕｔｉｏｎ判別回路１８に送信する。受信機１７は、例えば光通信ではフォトダイオードが用いられるが、この限りではない。
【００５２】
Ｄｉｌｕｔｉｏｎ判別回路１８は、受信した信号が、ランダムなデータコード、アービトレーション信号、ＢＵＳ＿ＲＥＳＥＴ発生要求信号、およびＢＵＳ＿ＲＥＳＥＴ待機要求信号の何れであるかを判別し、ランダムなデータコード以外の信号をＰＨＹステートマシン１１に送信する。
【００５３】
送信機１９は、ＰＨＹステートマシン１１から受信した信号を所定の形式に変換して、他の送受信回路１０に送信する。受信機２０は、他の送受信回路１０から受信した信号を所定の形式に変換して、ＰＨＹステートマシン１１に送信する。
【００５４】
上記構成の送受信回路１０を備える２台のノードＮ１・Ｎ２が、図２（ａ）に示すように接続されているとする。なお、ノードＮ１がルートノードであるとする。この状態において、ノードＮ１・Ｎ２内の送受信回路１０は、制御信号を送信する際には、図３（ａ）のフォーマットＦ１０に示すように、アービトレーション信号を送信するタイミングの場合には、マルチプレクサ１５がＰＨＹステートマシン１１からのアービトレーション信号を選択し、送信すべきデータがなく、かつアービトレーション信号を送信するタイミングではない場合には、マルチプレクサ１５がＤｉｌｕｔｉｏｎ生成回路１２からのランダムなデータコードを選択して、送信機１６を介して、相手のノードに送信する。
【００５５】
次に、ノードＮ３がノードＮ２に接続され、図２（ｂ）に示すようなトポロジに変化した場合を考える。このとき、ノードＮ２のＰＨＹステートマシン１１は、受信機２０を介して信号を受信することによりノードＮ３が接続されたことを検知すると、自己のノードＮ２がルートノードではないため、図３（ｂ）に示すように、ランダムなデータコードを送信するＤｉｌｕｔｉｏｎ期間の一部をＢＵＳ＿ＲＥＳＥＴ発生要求信号を送信する期間に割り当てたフォーマットＦ１１となるように、マルチプレクサ１５を制御する。これにより、ルートノードＮ１にフォーマットＦ１１を有する制御信号が送信される。
【００５６】
一方、ルートノードＮ１は、前記フォーマットＦ１１を有する制御信号を受信すると、Ｄｉｌｕｔｉｏｎ判別回路１８にてＢＵＳ＿ＲＥＳＥＴ発生要求信号を検知したことをＰＨＹステートマシン１１に通知する。
【００５７】
ここで、例えば、ルートノードＮ１がテレビ受信機であり、ノードＮ２がビデオレコーダであり、ルートノードＮ１からのビデオ出力をノードＮ２が録画中である場合、ルートノードＮ１のＰＨＹステートマシン１１は、図３（ｃ）に示すように、ランダムなデータコードを送信するＤｉｌｕｔｉｏｎ期間の一部をＢＵＳ＿ＲＥＳＥＴ待機要求信号を送信する期間に割り当てたフォーマットＦ１２となるように、マルチプレクサ１５を制御する。これにより、ルートノードＮ１からノードＮ２にフォーマットＦ１２を有する制御信号が送信される。
【００５８】
一方、ノードＮ２は、前記フォーマットＦ１２を有する制御信号を受信すると、Ｄｉｌｕｔｉｏｎ判別回路１８にてＢＵＳ＿ＲＥＳＥＴ待機要求信号を検知したことをＰＨＹステートマシン１１に通知する。このとき、ノードＮ２のＰＨＹステートマシン１１は、ＢＵＳ＿ＲＥＳＥＴを送信せず、ルートノードＮ１からＢＵＳ＿ＲＥＳＥＴを受信することを待機する。
【００５９】
前記録画が終了すると、ルートノードＮ１は、アービトレーション信号であるＢＵＳ＿ＲＥＳＥＴをノードＮ２に送信して、図２（ｂ）に示すトポロジを有するネットワークに再構成される。
【００６０】
従って、本実施形態の送受信回路１０を用いて、Ｄｉｌｕｔｉｏｎ期間にＢＵＳ＿ＲＥＳＥＴ発生要求信号またはＢＵＳ＿ＲＥＳＥＴ待機要求信号を割り当てて送受信することにより、システムが予期しないＢＵＳ＿ＲＥＳＥＴが発生することを抑制でき、アプリケーションの安定動作を図ることができる。
【００６１】
〔実施の形態２〕
次に、本発明の他の実施の形態について、図４〜図８に基づいて説明する。本実施形態は、ループ検出機能を有する送受信回路である。
【００６２】
図４は、本実施形態にかかる送受信回路の概略構成を示すブロック図である。前記送受信回路３０は、送信部と受信部とを備えており、該送信部は、ＰＨＹステートマシン３１、ループ検出用ビット列レジスタ３２、Ｄｉｌｕｔｉｏｎ生成回路３３・３８、マルチプレクサ３４・４０、および送信機３５・４１を備えており、該受信部は、受信機３６・４２、ループ検出用ビット列検出回路３７・４３、および比較回路３９を備えている。
【００６３】
図４に示す送受信回路３０におけるＰＨＹステートマシン３１、Ｄｉｌｕｔｉｏｎ生成回路３３・３８、マルチプレクサ３４・４０、送信機３５・４１、および受信機３６・４２は、それぞれ図１に示す送受信回路１０におけるＰＨＹステートマシン１１、Ｄｉｌｕｔｉｏｎ生成回路１２、マルチプレクサ１５、送信機１６・１９、および受信機１７・２０と同様の構成であるので、その説明を省略する。
【００６４】
ＰＨＹステートマシン３１は、送受信回路３０からアービトレーション信号を送信する場合は、図５（ａ）に示すように、アービトレーション信号を送信する合間にＤｉｌｕｔｉｏｎ信号を送信するフォーマットＦ２０となる制御信号を送信し、さらにループ検出用ビット列を送信する場合は、Ｄｉｌｕｔｉｏｎ信号を送信する期間の一部にループ検出用ビット列を送信するフォーマットＦ２１となる制御信号を送信するように、マルチプレクサ３４・４０を制御する。
【００６５】
ループ検出用ビット列レジスタ３２は、ループ検出用ビット列を格納するとともに、ループ検出用ビット列をマルチプレクサ３４・４０および比較回路３９に送信する。ループ検出用ビット列は、個々のノードを識別するために、ノード固有のものであり、かつ、各ノードのループ検出用ビット列と重複しないものであることが望ましい。例えば、図６に示すような、ＩＥＥＥ１３９４規格にて採用されているＥＵＩ−６４（Extended Unique Identifier, 64bit ）等のノード固有の識別子を、該識別子を格納したＲＯＭ（Read Only Memory）からループ検出用ビット列レジスタ３２に転送して、ループ検出用ビット列として使用することが望ましい。
【００６６】
ループ検出用ビット列検出回路３７・４３は、受信した信号のうち、Ｄｉｌｕｔｉｏｎ期間の信号にループ検出用ビット列が含まれるか否かを調べ、ループ検出用ビット列を検出すると、検出したループ検出用ビット列を比較回路３９に送信するとともに、他のポートのマルチプレクサ４０・３４にそれぞれ送信する。
【００６７】
比較回路３９は、ループ検出用ビット列レジスタ３２からの自己のループ検出用ビット列と、ループ検出用ビット列検出回路３７・４３からの受信したループ検出用ビット列とを比較し、その比較結果をＰＨＹステートマシン３１に送信する。
【００６８】
ＰＨＹステートマシン３１が比較回路３９から比較結果を受信したときのＰＨＹステートマシン３１の処理について、図８に基づいて説明する。自己のループ検出用ビット列が、受信したループ検出用ビット列よりも大きい場合には、自己のループ検出用ビット列を、ループ検出用ビット列を受信したポートとは別のポートから送信するように、マルチプレクサ４０・３４を制御する（ステップＳ１０）。
【００６９】
また、自己のループ検出用ビット列が、受信したループ検出用ビット列よりも小さい場合には、受信したループ検出用ビット列を、受信したポートとは別のポートから送信するように、マルチプレクサ４０・３４を制御する（ステップＳ１１）。さらに、受信したポートからは、以後、自己のループ検出用ビット列を送信しないように、マルチプレクサ４０・３４を制御する（ステップＳ１２）。
【００７０】
そして、自己のループ検出用ビット列が、受信したループ検出用ビット列と等しい場合には、ループを検出したと判断する（ステップＳ１３）。
【００７１】
ところで、OP i.LINK （登録商標）規格の場合、送受信回路が或るポートから信号を所定期間受信していないと、該ポートの接続が切断されるようになっている。従って、ステップＳ１３によりループを検出した場合に、自己のループ検出用ビット列を送信したポートまたは受信したポートの何れかに対して、連続信号Ｆ２０の送信を停止することにより、送信を停止したポートの接続が切断されて、ループが解消される（ステップＳ１４）。
【００７２】
上記構成の送受信回路３０を備える３台のノードＮ１〜Ｎ３が、図７（ａ）に示すように接続されているとする。この状態において、各ノードＮ１〜Ｎ３内の送受信回路３０は、図５のフォーマットＦ２０に示すように、アービトレーション信号を送信するタイミングの場合には、マルチプレクサ３４・４０がＰＨＹステートマシン３１からのアービトレーション信号を選択し、送信すべきデータがなく、かつアービトレーション信号を送信するタイミングではない場合には、マルチプレクサ１５がＤｉｌｕｔｉｏｎ生成回路３３・３８からのランダムなデータコードを選択して、送信機３５・４１を介して、相手のノードに送信する。
【００７３】
次に、ノードＮ３がノードＮ１に接続されて、図７（ｂ）に示すようなトポロジに変化した場合を考える。このとき、ＢＵＳ＿ＲＥＳＥＴフェーズによりネットワークが初期化され、ＴＲＥＥ＿ＩＤフェーズによりノード間の親子決めが行なわれる。
【００７４】
このとき、各ノードＮ１〜Ｎ３内の送受信回路３０のＰＨＹステートマシン３１は、図５（ｂ）に示すフォーマットＦ２１に自己のループ検出用ビット列を格納して、何れか一方または両方のポートから送信する。次に、各ノードＮ１〜Ｎ３内の送受信回路３０は、ループ検出用ビット列を格納した信号を受信すると、ループ検出用ビット列検出回路３７・４３にてループ検出用ビット列を検出し、比較回路３９にて自己のループ検出用ビット列と比較して、ＰＨＹステートマシン３１にて、図８に示すように、その大小関係に基づいて処理される。
【００７５】
例えば、ノードＮ１のループ検出用ビット列が００、ノードＮ２のループ検出用ビット列が０１、かつノードＮ３のループ検出用ビット列が１０であるとし、ノードＮ３からノードＮ２にループ検出用ビット列１０を送信したとする。
【００７６】
この場合、ノードＮ２は、受信したループ検出用ビット列１０の方が自己のループ検出用ビット列０１よりも大きいから、受信したループ検出用ビット列１０をノードＮ３とは別のノードＮ１に送信する。次に、ノードＮ１は、ノードＮ２から受信したループ検出用ビット列１０の方が自己のループ検出用ビット列００よりも大きいから、受信したループ検出用ビット列１０をノードＮ２とは別のノードＮ３に送信する。
【００７７】
次に、ノードＮ３は、ノードＮ１から受信したループ検出用ビット列１０と自己のループ検出用ビット列１０とが同じであるから、ループが検出されたと判断する。そして、ノードＮ３は、自己のループ検出用ビット列１０を送信したノードＮ２、または自己のループ検出用ビット列１０を受信したノードＮ１の何れかへの連続信号の送信を停止することにより、ノードＮ３とノードＮ２との接続、またはノードＮ３とノードＮ１との接続が切断されて、ループ状態が解消される。
【００７８】
従って、本実施形態の送受信回路３０は、Ｄｉｌｕｔｉｏｎ信号の送信期間の一部にループ検出用ビット列を送信し、受信したループ検出用ビット列と自己のループ検出用ビット列との大小関係に基づいて、何れかのループ検出用ビット列を、ループ検出用ビット列を受信したポートとは別のポートから送信することにより、ループ状態を検出することができる。
【００７９】
また、ループ状態を検出すると、自己のループ検出用ビット列を送信したポートまたは受信したポートの何れかの連続信号の送信を停止することにより、容易にループ状態を解除することができる。
【００８０】
また、受信したループ検出用ビット列が自己のループ検出用ビット列よりも大きい場合には、受信したポートを介して通信を行なうノードの中には、自己のループ検出用ビット列よりも大きいループ検出用ビット列を有するノードが存在するから、自己のループ検出用ビット列では、ループ状態を検知することができない。
【００８１】
従って、図８にステップＳ１２にて示すように、受信したループ検出用ビット列が自己のループ検出用ビット列よりも大きい場合には、受信したポートからは、以後、自己のループ検出用ビット列を送信しないようにすることにより、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができ、これにより、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【００８２】
なお、本実施形態では、ループ検出用ビット列が大きい方を送信することとしているが、反対に、ループ検出用ビット列が小さい方を送信することとしても本実施形態の効果を得ることができる。
【００８３】
また、ＩＥＥＥ１３９４規格では、前述のように、ループ状態を形成しているノード間では、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹの送受信が行なわれないため、送受信されるアービトレーション信号は、ＢＵＳ＿ＲＥＳＥＴとＩＤＬＥのみである（図１６および図１７を参照）。
【００８４】
従って、アービトレーション信号として、ＢＵＳ＿ＲＥＳＥＴとＩＤＬＥを送信するときのみ、ループ検出用ビット列を送信するように、ＰＨＹステートマシン３１がマルチプレクサ３４・４０を制御しても、本実施形態の作用および効果を実現できる。また、ＢＵＳ＿ＲＥＳＥＴとＩＤＬＥを送信するとき以外は、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができるから、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【００８５】
また、前述のように、ネットワークのトポロジ上にループが発生するのは、ノードの追加・削除によりトポロジが変化したときに限られ、ＩＥＥＥ１３９４規格では、この場合、常にＢＵＳ＿ＲＥＳＥＴが送受信される。また、前述のように、ＴＲＥＥ＿ＩＤフェーズが終了するということは、ループが無かったか、あるいは、ループが解消されたときに限られる。
【００８６】
従って、ＢＵＳ＿ＲＥＳＥＴが送受信されてから、ＴＲＥＥ＿ＩＤフェーズが終了するまでの期間のみ、ループ検出用ビット列を送信するように、ＰＨＹステートマシン３１がマルチプレクサ３４・４０を制御しても、本実施形態の作用および効果を実現できる。また、前記期間以外は、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができるから、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【００８７】
〔実施の形態３〕
次に、本発明のさらに他の実施の形態について、図９〜図１０に基づいて説明する。なお、前記した実施の形態で説明した構成と同様の機能を有する構成には、同一の符号を付して、その説明を省略する。
【００８８】
図９は、本実施形態の送受信回路の概略構成を示すブロック図である。本実施形態の送受信回路５０は、図４に示す実施形態の送受信回路３０に比べて、親子決めが終了したポートの数をカウントするカウンタ５２を追加した点と、ＰＨＹステートマシン３１の処理動作とは異なる処理動作を行なうＰＨＹステートマシン５１を備える点が異なり、その他の構成は同様である。
【００８９】
図１０は、前記送受信回路５０のＰＨＹステートマシン５１におけるループ検出のための処理動作を示すフローチャートである。図１０に示す処理動作は、図８に示す処理動作に比べて、ループ検出用ビット列を送信するステップＳ１０・Ｓ１１の前に、ループ検出用ビット列を送信すべきポートからＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信しているか否かを判断するステップＳ２０・Ｓ２１が追加されている点が異なり、その他のステップは同様である。
【００９０】
前記判断するステップＳ２０・Ｓ２１では、ループ検出用ビット列を送信すべきポートからＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信していない場合には、次の送信処理ステップＳ１０・Ｓ１１を行ない、受信している場合には、前記送信処理ステップＳ１０・Ｓ１１を行なうことなく終了する。
【００９１】
また、ＰＨＹステートマシン５１は、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信し、受信したポートからＣＨＩＬＤ＿ＮＯＴＩＦＹを送信することにより親子決めが終了したポートの数をカウンタ５２によりカウントし、該カウント数が（自己の有するポートの数）−１（図９の場合では、１）になった時点で、自己のノードがループ状態を形成していないと判断して、次のＢＵＳ＿ＲＥＳＥＴが送受信されるまで、親子決めの終了していない残り１つのポートからループ検出用ビット列を送信しないように、マルチプレクサ３４・４０を制御する。
【００９２】
前述のように、ループが形成されると、ループを構成するノードからＰＡＲＥＮＴ＿ＮＯＴＩＦＹが送信されないため、ＳＥＬＦ＿ＩＤフェーズが終了しない問題点が生じる。逆に言うと、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送信するノードは、ループを構成するノードではないといえる。
【００９３】
従って、上記構成の送受信回路５０において、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信したポートに、ループ検出用ビット列を送信しないように、ＰＨＹステートマシン５１がマルチプレクサ３４・４０を制御しても、図４に示す実施形態の送受信回路３０と同様の効果を得ることができる。
【００９４】
また、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信した後、ＢＵＳ＿ＲＥＳＥＴを送受信するまで、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを受信したポートには、ループ検出用ビット列を送信しないから、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができる。これにより、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【００９５】
また、前記カウンタ５２のカウント数が（自己の有するポートの数）−１になった時点で、自己のノードがループ状態を形成していないと判断できるから、親子決めの終了していない残り１つのポートからループ検出用ビット列を送信しないことにより、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができる。これにより、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【００９６】
〔実施の形態４〕
次に、本発明のさらに他の実施の形態について、図１１および図１２に基づいて説明する。なお、前記した実施の形態で説明した構成と同様の機能を有する構成には、同一の符号を付して、その説明を省略する。
【００９７】
図１１は、本実施形態の送受信回路の概略構成を示すブロック図である。本実施形態の送受信回路６０は、図４に示す実施形態の送受信回路３０に比べて、ループの検出を開始するタイミングを決定するループ検出開始決定回路６２を追加した点と、ＰＨＹステートマシン３１の処理動作とは異なる処理動作を行なうＰＨＹステートマシン６１を備える点が異なり、その他の構成は同様である。
【００９８】
ＰＨＹステートマシン６１は、ＢＵＳ＿ＲＥＳＥＴを送受信したか否か、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送受信したか否かをループ検出開始決定回路６２に知らせるとともに、ループ検出開始決定回路６２からループ検出の開始決定を受信する。ＰＨＹステートマシン６１は、前記ループ検出の開始決定を受信すると、前記ＰＨＹステートマシン３１と同様のループ検出動作を行なう。
【００９９】
図１２は、ループ検出開始決定回路６２における処理動作を示すフローチャートである。まず、ＢＵＳ＿ＲＥＳＥＴの送受信があったことをＰＨＹステートマシン６１から通知されることにより、処理動作を開始する（ステップＳ３１）。
【０１００】
次に、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送受信したか否かを判断する（ステップＳ３２）。ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送受信したときには、ＢＵＳ＿ＲＥＳＥＴを再び送受信するまで待機した後、ステップＳ３２に戻る。ループのない正常なバス接続の場合は、ステップＳ３２の待機状態となる。
【０１０１】
また、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹを送受信しないときには、ＢＵＳ＿ＲＥＳＥＴを再び送受信したか否かを判断する（ステップＳ３４）。ＢＵＳ＿ＲＥＳＥＴを送受信していない場合には、ステップＳ３２に戻り、送受信した場合には、ループが存在する可能性があると判断して、ＰＨＹステートマシン６１にループ検出の処理動作を開始するように通知する。
【０１０２】
ＩＥＥＥ１３９４規格では、ループが形成された場合、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹが送信されないために、ＩＤＬＥの送受信が行なわれ、所定時間経過後にＢＵＳ＿ＲＥＳＥＴが送受信され、その後も、ループが解消されるまで、ＩＤＬＥとＢＵＳ＿ＲＥＳＥＴの繰り返しとなる。
【０１０３】
従って、上記構成の送受信回路６０は、ＢＵＳ＿ＲＥＳＥＴの送受信の後に、ＰＡＲＥＮＴ＿ＮＯＴＩＦＹの送受信が無いまま、再びＢＵＳ＿ＲＥＳＥＴの送受信を行なった場合にのみ、ループが存在する可能性があると判断して、ループ検出の処理動作を開始しても、図４に示す実施形態の送受信回路３０と同様の効果を得ることができる。
【０１０４】
また、前記の場合にのみ、ループ検出の処理動作を開始して、ループ検出用ビット列を送信するから、前記の場合以外では、ループ検出用ビット列を送信せず、Ｄｉｌｕｔｉｏｎ信号の送信期間を、図５（ａ）に示すように、元に戻すことができる。これにより、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【０１０５】
〔実施の形態５〕
次に、本発明のさらに他の実施の形態について、図１３および図１４に基づいて説明する。なお、前記した実施の形態で説明した構成と同様の機能を有する構成には、同一の符号を付して、その説明を省略する。
【０１０６】
図１３は、本実施形態の送受信回路の概略構成を示すブロック図である。本実施形態の送受信回路７０は、図４に示す実施形態の送受信回路３０に比べて、フラグ生成回路７２・７３と、フラグ検出回路７４・７５とを追加した点と、ＰＨＹステートマシン３１の処理動作とは異なる処理動作を行なうＰＨＹステートマシン７１を備える点が異なり、その他の構成は同様である。
【０１０７】
フラグ生成回路７２・７３は、所定のビット列であるフラグ信号を生成して、マルチプレクサ３４・４０にそれぞれ送信する。マルチプレクサ３４・４０は、ＰＨＹステートマシン７１の制御により、図１４に示すフォーマットＦ３０〜Ｆ３２の連続信号を送信するように、ＰＨＹステートマシン７１からのアービトレーション信号、Ｄｉｌｕｔｉｏｎ生成回路３３からのＤｉｌｕｔｉｏｎ信号（ランダムなデータコード）、フラグ生成回路７２からのフラグ信号、およびループ検出用ビット列レジスタ３２からのループ検出用ビット列を選択する。
【０１０８】
また、フラグ検出回路７４・７５は、受信した信号からフラグ信号の有無を検出して、ＰＨＹステートマシン７１に通知する。ＰＨＹステートマシン７１は、受信した信号にフラグ信号が無い場合は、受信した信号にループ検出用ビット列が無いと判断して、たとえ、比較回路３９からループ検出用ビット列の大小関係が通知されたとしても、該通知を無視する。フラグ信号が有る場合は、ＰＨＹステートマシン７１は、受信した信号にループ検出用ビット列が有ると判断して、図４に示す送受信回路３０と同様のループ検出処理を行なう。
【０１０９】
上記構成の送受信回路７０において、ＰＨＹステートマシン７１は、マルチプレクサ３４・４０を制御して、図１４（ａ）（ｂ）に示すフォーマットＦ３０・Ｆ３１の連続信号を送信機３５・４１から送信する。
【０１１０】
すなわち、アービトレーション信号を送信するタイミングでは、ＰＨＹステートマシン７１からのアービトレーション信号を選択し、送信すべきデータがなくかつアービトレーション信号を送信すべきタイミングでない場合には、所定のタイミングで、フラグ生成回路７２・７３からのフラグ信号を選択し、ループ検出用ビット列レジスタ３２からループ検出用ビット列を選択して、Ｄｉｌｕｔｉｏｎ生成回路３３からランダム・データコードを選択して、外部に送信する。
【０１１１】
ここで、前記フラグ信号は、例えば、OP i.LINK （登録商標）規格の送受信回路に本実施形態を適用する場合には、図２０に示すような、OP i.LINK （登録商標）規格にて定められたアルゴリズムで生成されないビット列で構成される必要があり、他の通信方式に適用する場合には、その通信方式で採用された擬似乱数生成アルゴリズムで生成されないビット列で構成される必要がある。
【０１１２】
また、送受信回路７０が信号を受信すると、フラグ検出回路７４・７５は、受信した信号からフラグ信号の有無を検出して、ＰＨＹステートマシン７１に通知する。ＰＨＹステートマシン７１は、受信した信号にフラグ信号が無い場合は、受信した信号にループ検出用ビット列が無いと判断して、たとえ、比較回路３９からループ検出用ビット列の大小関係が通知されたとしても、該通知を無視する。一方、フラグ信号が有る場合は、ＰＨＹステートマシン７１は、受信した信号にループ検出用ビット列が有ると判断して、図４に示す送受信回路３０と同様のループ検出処理を行なう。
【０１１３】
ところで、ループ検出機能を有する前記した実施形態の送受信回路を備えるノードＡに、ループ検出機能を有さない送受信回路を備えるノードＢが接続されているとすると、ノードＢは、図１４（ａ）に示すフォーマットＦ３０の連続信号をノードＡに送信する。このとき、Ｄｉｌｕｔｉｏｎ信号の一部（ランダムなデータコード）が、ノードＡのループ検出用ビット列と偶然一致した場合、ノードＡは、ループが存在すると誤認して、ノードＡの何れかのポートを切断するおそれがある。
【０１１４】
このとき、本実施形態の送受信回路７０を用いることにより、ループ検出用ビット列がＤｉｌｕｔｉｏｎ信号の送信期間の信号に含まれるか否かを示すフラグ信号をＤｉｌｕｔｉｏｎ信号の送信期間内の所定期間に送信し、フラグ検出回路７４・７５にてフラグの有無を検出することにより、ループ検出の処理を実行または停止するから、Ｄｉｌｕｔｉｏｎのランダムなビット列をループ検出用ビット列と誤認することを防止できる。
【０１１５】
なお、ループを構成しているノードのうち、ループ検出機能を有さないノードが１台でも有る場合には、ループ検出機能を有さないノードがループ検出用ビット列を送信しないから、以後、正常なループの検出を行なうことができないことになる。
【０１１６】
そこで、上記構成の送受信回路７０において、ＰＨＹステートマシン７１は、フラグ検出回路７４・７５によりフラグが検出されなかった場合には、該送受信回路７０に接続するノードが、ループ検出機能を有さないものであると判断して、以後、ループ検出用ビット列の送信を行なわないように制御すれば、ループ状態の検出のため、Ｄｉｌｕｔｉｏｎの効果が低減することを防止することができる。
【０１１７】
なお、上記の実施形態において、図８および図１０に示すように、ループの検出動作を行なう際に、自己のループ検出用ビット列が、受信したループ検出用ビット列よりも小さい場合には、受信したループ検出用ビット列を、受信したポートとは別のポートから送信するように、マルチプレクサを制御する処理（ステップＳ１１）を行なっているが、このとき、ループ検出用ビットレジスタ３２に格納したループ検出用ビット列を、受信したループ検出用ビット列に更新する処理を追加してもよい。この場合、ループを構成するノードのループ検出用ビット列は全て同じになるから、ループを構成するノードを容易に発見できる。
【０１１８】
なお、本発明は以下のような処理または構成とすることもできる。
【０１１９】
すなわち、本発明のデータ通信方法は、ノード間でデータ信号および制御信号の送受信を行なうデータ通信方法であって、前記制御信号を送信する際には、所定の間隔で制御コードを送信するとともに、前記制御コードを送信するタイミング以外の所定のタイミングで情報コードを送信することを特徴としている。
【０１２０】
ここで、情報コードとは、情報通信ネットワークを構成する上で必要な情報を含むものである。
【０１２１】
上記の方法によると、制御信号を送信する際に、制御コードとともに情報コードを送受信することができるから、ノードは、種々の情報を送受信することができ、ネットワークを自動的に再構成する際に生じる種々の問題点を、送受信した種々の情報により解決することができる。
【０１２２】
例えば、前記情報コードは、ネットワークの再構成を要求するコードであってもよい。この場合、ノードが追加または削除されると、ノードが、ネットワークの再構成を要求する制御コードを送受信し、該制御コードに基づいて処理されることにより、ネットワークが自動的に再構成される。
【０１２３】
このとき、上記の方法により、ノードが、ネットワークの再構成を要求する制御コードを送信する前に、ネットワークの再構成を要求する情報コードを送信することにより、各ノードがネットワークの再構成を即時に行なってよいか否かを判断できる。そして、即時に行なうことができないノードは、例えば、ネットワークの再構成を待機するコードを情報コードとして送信することにより、ネットワークの再構成を待機することができる。
【０１２４】
このように、ネットワークの再構成を要求するコードを情報コードとして送信することにより、各ノードがネットワークの再構成を即時に行なってよいか否かを判断でき、例えば、リアルタイム性の要求されるデータ転送のような、即時に行なうべき処理が終了した後に、ネットワークの再構成を行なうことができる。
【０１２５】
さらに、前記情報コードは、ノードを識別する識別コードであってもよい。この場合、ネットワークを再構成する際に、ノードは、制御コードとともに、ノードを識別する識別コードを送受信することができる。これにより、ノードは、あるポートから送信した自己の識別コードを別のポートから受信することにより、ループが形成されていることを検出できる。
【０１２６】
また、本発明の送受信回路は、ノード間でデータ信号および制御信号の送受信を行なうためにノードに配備される送受信回路であって、前記制御信号となる制御コードおよび情報コードを生成するコード生成部と、前記コード生成部にて生成される前記制御コードおよび前記情報コードのうち何れか１つのコードを送信する制御部とを有する送信部と、受信した信号が、前記制御コードまたは前記情報コードであるか否かを判別する判別部を有する受信部とを備えることを特徴としている。
【０１２７】
上記の構成によると、送受信回路は、送信部において、コード生成部にて生成された情報コードを送信できるとともに、受信部において、他の送受信回路から受信した信号から情報コードを判別部にて判別することにより、情報コードを受信できる。
【０１２８】
従って、本発明の送受信回路は、情報コードを送受信することにより、種々の情報を送受信することができ、例えば、ネットワークを自動的に再構成する際に生じる種々の問題点を、送受信した種々の情報により解決することができる。
【０１２９】
例えば、前記情報コードは、ネットワークの再構成を要求するコードであってもよい。この場合、送受信回路が、ネットワークの再構成を要求する制御コードを送信する前に、ネットワークの再構成を要求する情報コードを送信することにより、各送受信回路がネットワークの再構成を即時に行なってよいか否かを判断できる。そして、即時に行なうことができない送受信回路は、例えば、ネットワークの再構成を待機するコードを情報コードとして送信することにより、ネットワークの再構成を待機することができる。
【０１３０】
このように、ネットワークの再構成を要求するコードを情報コードとして送信することにより、各送受信回路がネットワークの再構成を即時に行なってよいか否かを判断でき、例えば、リアルタイム性の要求されるデータ転送のような、即時に行なうべき処理が終了した後に、ネットワークの再構成を行なうことができる。
【０１３１】
さらに、前記情報コードは、送受信回路を識別する識別コードであってもよい。この場合、ネットワークを再構成する際に、送受信回路は、制御コードとともに、送受信回路を識別する識別コードを送受信することができる。これにより、送受信回路は、あるポートから送信した自己の識別コードを別のポートから受信することにより、自己の送受信回路が、ループを構成するノードの１つであることを検出できる。
【０１３２】
さらに、本発明の送受信回路は、上記の構成において、他の送受信回路に接続する複数のポートと、複数の前記ポートのうち或るポートから受信した識別コードと自己の識別コードとを比較する比較部とをさらに備えており、前記制御部は、受信した識別コードが自己の識別コードよりも大きい場合および小さい場合のうち、一方の場合には自己の識別コードを、他方の場合には受信した識別コードを、受信したポートとは別のポートから送信するとともに、等しい値である場合には他の送受信回路との間でループを形成していると判断することを特徴としている。
【０１３３】
上記の構成によると、ループを形成する送受信回路のうち、最大または最小の識別コードを有する送受信回路は、或るポートから自己の識別コードを送信すると、別のポートから自己の識別コードを受信することになり、これにより、ループを形成する送受信回路の１つであることを検出することができる。
【０１３４】
さらに、本発明の送受信回路は、上記の構成において、前記制御部が、受信した識別コードを送信する場合には、受信したポートから自己の識別コードを送信しないように制御し、他の送受信回路との主従関係を決定する制御コードを受信したポートから自己の識別コードまたは受信した識別コードを送信しないように制御し、あるいは、前記主従関係が決定したポート以外のポートが残り１つである場合には、何れのポートからも自己の識別コードまたは受信した識別コードを送信しないように制御することを特徴としている。
【０１３５】
送受信回路は、受信した識別コードを送信する場合には、受信したポートから自己の識別コードを送信しても、相手の送受信回路は、相手の送受信回路が有する識別コードを送信することになり、該送信が無駄になる。
【０１３６】
また、ループを構成する送受信回路どうしは、互いの主従関係を決定できない。このことから、他の送受信回路との主従関係を決定する制御コードを受信した場合には、相手の送受信回路は、ループを構成していないことを意味している。従って、前記制御コードを受信したポートから識別コードを送信しても、ループは検出されないから、該送信が無駄になる。
【０１３７】
また、前記主従関係が決定したポート以外のポートが残り１つであるということは、この送受信回路は、ループを構成していないことを意味している。従って、この送受信回路から識別コードを送信しても、ループは検出されないから、該送信が無駄になる。
【０１３８】
従って、本発明の送受信回路は、前記の何れかの条件を満たす場合には、制御部により識別コードを送信しないように制御されるから、送信の無駄を省略することができる。また、情報コードを送信しない分、ランダムなデータコードを送信できるから、情報コードを送信することによるＤｉｌｕｔｉｏｎの効果の低減を抑えることができる。
【０１３９】
さらに、本発明の送受信回路は、上記の構成において、前記制御部が、他の送受信回路との間でループを形成していると判断した場合には、自己の識別コードを送信したポートまたは受信したポートに対して、信号を送信しないようにすることにより、該ループを解除することを特徴としている。
【０１４０】
例えば、OP i.LINK （登録商標）規格の場合、送受信回路が或るポートから信号を所定期間受信していないと、該ポートの接続が切断されるようになっている。
【０１４１】
従って、本発明の送受信回路を、前記規格のように、或るポートから信号を所定期間受信していないと、該ポートの接続が切断される仕様に適用することにより、ループを自動的に解消することができる。
【０１４２】
さらに、本発明の送受信回路は、上記の構成において、前記制御部が、ネットワークを初期化する際、または、他の送受信回路との主従関係を決定する際にのみ、情報コードとして識別コードを送信することを特徴としている。
【０１４３】
ループは、ノードの追加または削除によりネットワークを初期化する際に形成され、また、ループが形成されると、各ノードの主従関係を決定することができない。
【０１４４】
従って、本発明の送受信回路は、ループが形成される際、または、ループの形成により問題となる場合においてのみ、識別コードを送信することにより、送信の無駄を省略することができる。また、情報コードを送信しない分、ランダムなデータコードを送信できるから、情報コードを送信することによるＤｉｌｕｔｉｏｎの効果の低減を抑えることができる。
【０１４５】
さらに、本発明の送受信回路は、上記の構成において、前記コード生成部が、情報コードが存在するか否かを判別するフラグ信号をさらに生成し、前記判別部が、受信した信号が前記フラグ信号であるか否かをさらに判別することを特徴としている。
【０１４６】
情報コードの送受信を行なわない従来の送受信回路は、情報コードを送信する期間には、ランダムなデータコードを送信することになる。このため、情報コードとランダムなデータコードが偶然一致した場合、情報コードの送受信を行なう上記の送受信回路は、ランダムなデータコードを情報コードと誤認する可能性がある。
【０１４７】
そこで、本発明の送受信回路は、情報コードが存在するか否かを判別するフラグ信号を利用することにより、ランダムなデータコードを情報コードと誤認することを防止できる。
【０１４８】
また、本発明の情報機器は、上記の送受信回路を備えることを特徴とする。
【０１４９】
これにより、ネットワークを自動的に再構成する際に生じる種々の問題点を、情報機器どうしが種々の情報を送受信することにより解決することができる。
【０１５０】
また、本発明の情報通信ネットワークは、複数の前記情報機器が接続されていることを特徴としている。
【０１５１】
これにより、ネットワークを自動的に再構成する際に生じる種々の問題点を、ネットワーク内で種々の情報を送受信することにより解決することができる。
【図面の簡単な説明】
【図１】  本発明の実施の一形態に係る送受信回路の概略構成を示すブロック図である。
【図２】  新たなノードがリンクすることによりネットワークのトポロジが変化する様子を示すブロック図である。
【図３】  図１に示す送受信回路が送受信する連続信号のフォーマットを示すブロック図である。
【図４】  本発明の他の実施の形態に係る送受信回路の概略構成を示すブロック図である。
【図５】  図４に示す送受信回路が送受信する連続信号のフォーマットを示すブロック図である。
【図６】  ループ検出用ビット列に好適なＥＵＩ−６４のフォーマットを示すブロック図である。
【図７】  新たなノードがリンクすることによりネットワークのトポロジが変化して、ループが発生する様子を示すブロック図である。
【図８】  図４に示す送受信回路のＰＨＹステートマシンにおけるループ検出の処理動作を示すフローチャートである。
【図９】  本発明のさらに他の実施の形態に係る送受信回路の概略構成を示すブロック図である。
【図１０】  図９に示す送受信回路のＰＨＹステートマシンにおけるループ検出の処理動作を示すフローチャートである。
【図１１】  本発明のさらに他の実施の形態に係る送受信回路の概略構成を示すブロック図である。
【図１２】  図１１に示す送受信回路のループ検出開始決定回路における処理動作を示すフローチャートである。
【図１３】  本発明のさらに他の実施の形態に係る送受信回路の概略構成を示すブロック図である。
【図１４】  図１３に示す送受信回路が送受信する連続信号のフォーマットを示すブロック図である。
【図１５】  ＤＳ−Ｌｉｎｋ符号化方式を説明するためのタイミングチャートである。
【図１６】  ＩＥＥＥ１３９４規格における物理層で送信されるアービトレーション信号のライン状態とその意味を示す表である。
【図１７】  ＩＥＥＥ１３９４規格における物理層で受信されるアービトレーション信号のライン状態とその意味を示す表である。
【図１８】  あるネットワークにおけるノードの接続状態を示すブロック図である。
【図１９】  送信信号および受信信号のフォーマットを示すブロック図であり、（ａ）が従来の方式のものであり、（ｂ）がＤｉｌｕｔｉｏｎ方式のものである。
【図２０】  OP i.LINK （登録商標） Ver. 1.0 規格にて規定されている、Ｄｉｌｕｔｉｏｎで使用されるランダムデータを生成するための擬似乱数発生回路を示すブロック図である。
【符号の説明】
１０  送受信回路
１１  ＰＨＹステートマシン（コード生成部、制御部）
１２  Ｄｉｌｕｔｉｏｎ生成回路
１３  ＢＵＳ＿ＲＥＳＥＴ発生要求生成回路（コード生成部）
１４  ＢＵＳ＿ＲＥＳＥＴ待機要求生成回路（コード生成部）
１５  マルチプレクサ
１８  Ｄｉｌｕｔｉｏｎ判別回路（判別部）
３０  送受信回路
３１  ＰＨＹステートマシン（コード生成部、制御部）
３２  ループ検出用ビット列レジスタ（コード生成部）
３３  Ｄｉｌｕｔｉｏｎ生成回路
３４  マルチプレクサ
３７  ループ検出用ビット列検出回路（判別部）
３８  Ｄｉｌｕｔｉｏｎ生成回路
３９  比較回路（比較部）
４０  マルチプレクサ
４３  ループ検出用ビット列検出回路（判別部）
５０  送受信回路
５１  ＰＨＹステートマシン（コード生成部、制御部）
５２  カウンタ
６０  送受信回路
６１  ＰＨＹステートマシン（コード生成部、制御部）
６２  ループ検出開始決定回路
７０  送受信回路
７１  ＰＨＹステートマシン（コード生成部、制御部）
７２  フラグ生成回路（コード生成部）
７３  フラグ生成回路（コード生成部）
７４  フラグ検出回路（判別部）
７５  フラグ検出回路（判別部）
Ｎ１〜Ｎ３  ノード
【図１】
0003860017.tif 000002
【図２】
0003860017.tif 000003
【図３】
0003860017.tif 000004
【図４】
0003860017.tif 000005
【図５】
0003860017.tif 000006
【図６】
0003860017.tif 000007
【図７】
0003860017.tif 000008
【図８】
0003860017.tif 000009
【図９】
0003860017.tif 000010
【図１０】
0003860017.tif 000011
【図１１】
0003860017.tif 000012
【図１２】
0003860017.tif 000013
【図１３】
0003860017.tif 000014
【図１４】
0003860017.tif 000015
【図１５】
0003860017.tif 000016
【図１６】
0003860017.tif 000017
【図１７】
0003860017.tif 000018
【図１８】
0003860017.tif 000019
【図１９】
0003860017.tif 000020
【図２０】
0003860017.tif 000021