(57)【特許請求の範囲】
【請求項１】
複数の異なるデータ転送速度に対応するノードに備えられた送受信回路であって、
対向ノードとのデータの送受信を行うための複数のトランシーバと、
ノード間の通信路におけるデータ転送速度を検出し、この検出値に基づいて、前記各トランシーバにおけるデータの最大転送可能速度を設定する速度設定回路とを備えており、
前記速度設定回路は、
前記各トランシーバに接続され、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、
前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、前記各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなることを特徴とする送受信回路。
【請求項２】
上記通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内の速度であることを特徴とする請求項１記載の送受信回路。
【請求項３】
前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えることを特徴とする請求項１または２記載の送受信回路。
【請求項４】
前記速度設定回路は、
前記各トランシーバに接続され、ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、
前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバの最大転送可能速度と異なる場合のみ、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなることを特徴とする請求項１または２記載の送受信回路。
【請求項５】
前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えることを特徴とする請求項４記載の送受信回路。
【請求項６】
ノード間の通信路に適用される通信規格が、ＩＥＥＥ１３９４準拠であることを特徴とする請求項１ないし５の何れかに記載の送受信回路。
【請求項７】
ノード間の通信が光通信であることを特徴とする請求項１ないし６の何れかに記載の送受信回路。
【請求項８】
複数の転送速度でデータ転送が可能なトランシーバを接続されたノード同士のデータの送受信方法において、
データ転送の前に、トランシーバ毎に、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行い、この結果得られた最大値を、各トランシーバにおけるデータの最大転送可能速度として設定することを特徴とする送受信方法。
【請求項９】
上記通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内となる速度であることを特徴とする請求項８記載の送受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやその周辺機器、Audio/Visual機器を接続することが可能なシリアルバスであって、例えば、米国電気電子学会（IEEE）発行，”IEEE Standard for a High Performance Serial Bus ”，-IEEE Std. 1394-1995- （以下、『IEEE Std. 1394-1995 』と称する）により標準化された高速シリアルバス（以下、『1394シリアルバス』と称する）などにおいて用いられる送受信回路及び送受信方法に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータと、プリンタ、ハードディスク、イメージスキャナ等の周辺機器、ディジタルカメラなどの映像機器及びオーディオ機器（このような端末機器を「ノード」と称する）間において制御信号又は主信号を転送するために、1394シリアルバスを使用したノード（以下、『1394シリアルバスノード』と称する）により構成するネットワークが考えられている。
【０００３】
図１１は、従来の物理層回路の一例であり、IEEE Std. 1394-1995 のｐ．９２に記載された物理層回路（以下、『1394物理層回路』と称する）の構造を模式的に示すものである。
【０００４】
同図において、1394物理層回路は、IEEE Std. 1394-1995 規格の３つのトランシーバ回路（以下、『1394メタルトランシーバ回路』と称する）１１０５、１１０６、１１０７と、ＤＳ−リンクエンコーダ／デコーダ回路１１０２と、リンク層インタフェース回路１１０３と、バス調停回路１１０１と、レジスタ回路１１０４とから構成される。
【０００５】
1394メタルトランシーバ回路１１０５、１１０６、１１０７は、各々、他のノードと２対のケーブルを用いて主信号（データ信号）と制御信号の受け渡しを行う。
【０００６】
ＤＳ−リンクエンコーダ／デコーダ回路１１０２は、上位層であるリンク層からのデータ信号をバス上で送出及び受信するためにＤＳＬｉｎｋ方式により変復調を行う。ＤＳ−Ｌｉｎｋ変調とは、データ（data）信号とストローブ（strobe）信号の排他的論理和を受信側でのサンプリング用クロックとし、データ信号とストローブ信号と２対の伝送路を用いて送信する変調方法である。
【０００７】
リンク層インタフェース回路１１０３は、上位層であるリンク層とのデータ信号と制御信号の受け渡しを行う回路である。
【０００８】
バス調停回路１１０１は、1394物理層回路の動作のための諸設定及び1394シリアルバス上へのデータ信号及び制御信号の送出のタイミングを制御する。このバス調停回路１１０１には、1394物理層回路が動作する条件が記述されたレジスタ回路１１０４が接続されており、1394物理層回路は、このレジスタ回路１１０４に記述された条件に従って動作する。
【０００９】
レジスタ回路１１０４は、通常、上位層であるリンク層から制御され、該レジスタ回路１１０４の読み込みおよび書き換えはリンク層からリンク層インタフェース回路１１０３を介して行われる。
【００１０】
上記レジスタ回路１１０４内の記述内容は、レジスタマップで表される。例えば、図２に示すレジスタマップは、IEEE Std. 1394-1995 のｐ．３４１に記載されたレジスタマップを示す。レジスタマップの情報の書き換えは、IEEE Std. 1394-1995 規格によると、リンク層からの制御のみによってのみ書き換えが可能となっている。
【００１１】
図２に示すレジスタマップ中、００１０番地の下位２ビットの [ＳＰＤ] 領域には、1394物理層回路の最高動作速度が記述されている。なお、IEEE Std. 1394-1995 規格では、1394物理層回路の最高動作速度（以下、『最高速度』と称する）の規格は、１００Ｍｂｐｓ（以下、『Ｓ１００』と称する）、２００Ｍｂｐｓ（以下、『Ｓ２００』と称する）、４００Ｍｂｐｓ（以下、『Ｓ４００』と称する）の３種類が規定されており、1394物理層回路の性能によって選択される。
【００１２】
レジスタマップ内の [ＳＰＤ] 領域の値と動作速度との関係は、（００）とＳ１００、（０１）とＳ２００、（１０）とＳ４００が対応している。例えば、 [ＳＰＤ] 領域が（０１）に設定されると、自ノードでの処理可能な最高速度の示す制御信号を、自ノードの1394メタルトランシーバ回路１１０５、１１０６、１１０７に接続されている対向ノードヘ送出し、その対向ノードから送出される信号の最高速度はＳ２００となる。
【００１３】
図１２に、IEEE Std. 1394-1995 規格におけるTree＿ID phaseからData Transfer phase までのタイミングチャートを、ノードＡとノードＢのPeer to Peer接続を例にして示す。この図において、ノードＡとノードＢの対向しているポートはどちらも最大速度がＳ２００であり、ノードＡ、ノードＢの最高速度はともにＳ２００であるとする。また、図１２に記載の符号１２０１〜１２１５は、各ノードにおけるコードの送受信のタイミングを示している。
【００１４】
IEEE Std. 1394-1995 規格においては、接続されたノードは、まずTree＿ID phaseに遷移する。このphase において、Parent＿Notifyを送信して、Child ＿Notifyを受信したノードが子ノード、また、Parent＿Notifyを受信して、Child ＿Notifyを送信したノードが親ノードとなる。
【００１５】
上述のTree＿ID phaseは、バス上で接続されている対向する全てのノード間で行われ、最後にChild ＿Notifyを送信したノードがルートとなり、その後のバスを管理する。図１２においては、ノードＡがルートとなる。
【００１６】
Tree＿ID phaseが終了すると、Self＿ID phaseへと遷移し、このphase において、すべてのノードは自ノードのnode＿IDや最高速度を、図３に示すSelf＿ID packet のフォーマットに合わせてバス上に送信する。図３のphy ＿IDフィールドにnode＿IDが、またspフィールドに自ノードの最高速度がそれぞれ割り当てられる。
【００１７】
図１２の場合、ノードＡ、ノードＢはともに最高速度がＳ２００であるため、図３に示すSelf＿ID packet のspフィールドにＳ２００を示す“０１”を割り当てて送信する。もしノードの最高速度がＳ１００の場合は“００”が、またＳ４００の場合は“１０”が割り当てられる。
【００１８】
Self＿ID phaseにおいて、全てのノードがSelf＿ID packet をバス上に送信し、また、全てのノードが前述のSelf＿ID packet を受信することで、バス上に存在する各ノードの最高速度を知ることができる。
【００１９】
また、Self＿ID packet は、バス上の全てのノードが受信できる必要があるため、IEEE Std. 1394-1995 規格においてＳ１００の速度で送信することが規定されている。図１２の場合においては、Self＿ID phaseにて、ノードＡ、ノードＢはそれぞれ相手ノードの最高速度がＳ２００であることを知る。
【００２０】
バス上の全てのノードがSelf＿ID packet を送信し終わると、Data Transfer phase へと遷移し、ルートのノードの管理の下、データ転送が可能となる。
【００２１】
近年、IEEE Std. 1394-1995 規格を家庭内でのネットワークに使用しようとする動きが見られているが、該IEEE Std. 1394-1995 規格では、メタルケーブルの最大長が４．５ｍと定められており、ケーブル長の制約で不便を強いられることがある。
【００２２】
そこで、1394物理層回路内の複数のメタルトランシーバの内、少なくとも１つを、例えば光トランシーバに置き換え、また通信路として、メタルケーブルから例えばＰＯＦ（Plastic Optical Fiber ）などの光ファイバに置き換えることで、長距離伝送を可能としている。
【００２３】
光ファイバを通信路に用いた通信規格であるDAVIC(Digital Audio-Visual Council) では、通信路の品質（通信品質）を確保するために、相手ノードとのスピードネゴシエーションを行う。今後、通信速度の高速化が進むにつれ、通信路が光ファイバに限らず、メタルケーブルにおいても、相手ノードとのスピードネゴシエーションを行い、通信路の品質を確保することが必要になる。
【００２４】
ここで、前述のようにメタルケーブルを光ファイバに置き換え、または、1394メタルトランシーバを光トランシーバに置き換えて伝送距離の拡張を行う場合を考える。
【００２５】
例えば、IEEE1394準拠の転送速度がＳ１００のパケットとＳ２００のパケットが連続して送信されるような場合、通信路がメタルケーブル環境においては、受信したdata信号線とstrobe信号線の排他的論理和から受信機がクロックを生成し、そのクロックによってdataのサンプリングを行うため、前記のような転送速度の異なる連続パケットも正常に受信することができる。
【００２６】
しかしながら、通信路に光ファイバを用いて通信を行う場合、受信データのクロック同期をとる時間が、パケットの間隔に比べて十分長い時間を必要とするため、パケット毎にクロック同期を取り直すということができない。
【００２７】
そこで、データ通信を開始する前にトランシーバ毎に対向トランシーバとスピードネゴシエーションを行い、通信可能な最大転送可能速度を決定し、以降、その転送速度でデータ通信を行う方法が用いられている。
【００２８】
【発明が解決しようとする課題】
ところが、光ファイバの劣化や長さにより、通信路内でのデータ転送のエラーの発生率（誤り率（エラーレート））が高くなり、例えば、最大速度がＳ２００の光トランシーバ同士が接続された通信系において、Ｓ２００でデータ転送できない場合がある。つまり、このエラーレートがある値以上になると、その通信路においてデータ転送ができなくなる。上述の場合のData Transfer phase までのタイミングチャートを図１３に示す。なお、図１３の符号１３０１〜１３１５、１３２０〜１３２５は、各ノードにおけるコードの送受信のタイミングを示す。
【００２９】
図１３において、ノードＡ、ノードＢが、１３２０、１３２２においてそれぞれ転送速度引き上げ要求を示すコードHigher＿Speed をＳ１００の転送速度で送信する。対向ノードのHigher＿Speed を受信することで、Ｓ１００の転送速度で送受信が可能であることを認識し、また、自トランシーバの最大速度がＳ２００であることから、次に１３２４、１３２５において、それぞれ転送速度維持要求を示すコードKeep＿Speed をＳ２００の転送速度で送信する。最大速度がＳ２００以上である場合は、通信速度が最大速度になるまで、上記のネゴシエーションを繰り返す。
【００３０】
この場合、Ｓ２００でのデータの送受信が出来ない程度のエラーレートを想定しているため、対向ノードのKeep＿Speed を受信することができない。Ｓ２００の転送速度でKeep＿Speed のコードを受信できないため、Ｓ２００の転送速度は諦め、Ｓ１００の転送速度でスピードネゴシエーションの終了要求を示すコードEnd ＿Negotiation を送信して、相手ノードのEnd ＿Negotiation を受信すると、Speed Negotiation phaseを終了する。
【００３１】
図１３に示すTree＿ID phaseにおけるシーケンスは、図１２でのTree＿ID phaseにおけるシーケンスと同じであるため、説明は省略する。
【００３２】
Self＿ID phaseにて、ノードＡ、ノードＢはともに自トランシーバの最大速度がＳ２００であることから、Self＿ID Packet のspフィールドに“０１”を入力し、バス上に送信する。
【００３３】
また、ノードＡは、ノードＢのSelf＿ID Packet を受信し、spフィールドが“０１”であることから、Ｓ２００でデータ転送が可能であると認識し、Data Transfer phase にてノードＡのＰＨＹは、トランシーバに対してＳ２００のIsochronous Packetを送信するようにdataを出力し、ノードＡのトランシーバ回路は、１３１１、１３１２、１３１３、１３１４、１３１５のＳ２００のIsochronous PacketをＳ１００の転送速度で送信する。
【００３４】
この場合、Ｓ１００の転送速度でＳ２００のパケットを正常に送信することは不可能であり、上記のＳ２００のIsochronous Packetは、間違ったデータを送信している可能性が非常に高くなる。
【００３５】
このように、図１３においては、ノードＡ、ノードＢのPeer to Peer接続であるが、複数のノードがデイジーチェーン接続されている場合においても、途中のノード間の通信路のエラーレートが高い場合、両端のノード間のデータ転送が不可能な場合がある。
【００３６】
本発明は、上記の問題点を解決するためになされたもので、その目的は、データ転送前に各トランシーバ毎に対向ノードとスピードネゴシエーションを行い、その結果からノードの転送速度を決定することで、品質の悪い通信路においても、データ転送が可能となるような送受信回路及び送受信方法を提供することにある。
【００３７】
【課題を解決するための手段】
本発明の送受信回路は、上記の課題を解決するために、複数の異なるデータ転送速度に対応するノードに備えられた送受信回路であって、対向ノードとのデータの送受信を行うための複数のトランシーバと、ノード間の通信路におけるデータ転送速度を検出し、この検出値に基づいて、前記各トランシーバにおけるデータの最大転送可能速度を設定する速度設定回路とを備えており、前記速度設定回路は、前記各トランシーバに接続され、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、前記各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなることを特徴としている。
【００３８】
上記の構成によれば、各トランシーバにおけるデータの最大転送可能速度が、ノード間の通信路において検出されたデータ転送速度に設定されているので、通信路において確実に転送できる速度でデータの転送が可能となる。つまり、通信路の品質に係わらず、常に、通信路の品質に応じた速度でデータの転送を行うことが可能となる。
【００３９】
これにより、トランシーバが本来有しているデータの最大転送可能速度でデータの転送が行うことができないような品質の悪い通信路であっても、確実にデータを対向ノードに転送することができる。
【００４０】
また、前記速度設定回路は、前記各トランシーバに接続され、ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、前記各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とで構成されている。
【００４１】
本発明に適用できる通信規格としては、例えば、IEEE Std. 1394-1995 規格がある。このIEEE Std. 1394-1995 規格では、送受信回路のトランシーバの最高動作速度（ノードの最高処理速度と最高転送速度の両方を表す）の規格は、１００Ｍｂｐｓ（以下、『Ｓ１００』と称する）、２００Ｍｂｐｓ（以下、『Ｓ２００』と称する）、４００Ｍｂｐｓ（以下、『Ｓ４００』と称する）の３種類が規定されている。
【００４２】
したがって、上記のネゴシエーション回路では、以下に示すようなスピードネゴシエーションが行われる。ここで、自ノードと対向ノードの最大転送可能速度が例えばＳ４００である場合を考えると、まず、通信路を介して、Ｓ１００の転送速度で互いにスピードネゴシエーション用の制御コード（以下、単に制御コードと称する）を転送する。このとき、互いに相手ノードからの信号が受信できた場合には、Ｓ２００の転送速度で互いに制御コードを転送する。
【００４３】
そして、Ｓ２００の転送速度で制御コードが互いに受信できた場合には、さらに、Ｓ４００の転送速度で互いに制御コードを転送する。このとき、互いに相手からの制御コードが受信できれば、Ｓ４００がノードの各トランシーバの最大転送可能速度として設定され、このＳ４００で確実にデータ転送が行えることが分かる。
【００４４】
一方、Ｓ４００で互いに転送したコードが受信できなれければ、Ｓ２００がノードの各トランシーバの最大転送可能速度として設定され、Ｓ２００でデータの転送を行う。
【００４５】
このようにして、データ転送前に、ノード間の通信路におけるスピードネゴシエーションが行われ、その結果がノードの各トランシーバの最大転送可能速度に反映されることにより、通信路の品質に応じた最大の転送速度でデータの転送を行うことができる。
【００４６】
ところで、一般に、ノード間の通信路でのデータ転送では、エラーが発生するが、このエラーの発生率が所定範囲内であれば、問題無く通信が可能となる。例えば、通信路に光ファイバを用いた通信規格として、OP i.LINK （登録商標）の場合では、通信路でのデータ転送の誤り率（ビットエラーレート）は、データ全体のビット数に対して含まれるビットエラーの割合で示され、その値が１．０×１０-12以下であれば、通信路において問題なくデータ転送が行われる。
【００４７】
したがって、上記ノード間の通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内となる速度であればよい。
【００４８】
この場合、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度を検出するようになるので、確実にデータを転送できるデータ転送速度が検出されることになる。これにより、データ転送を、さらに確実に行うことができる。
【００４９】
また、前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えるようにしてもよい。
【００５０】
この場合、ノードの全てのトランシーバにおけるデータの最大転送可能速度が、通信路の品質に適したデータ転送速度に設定されるので、通信路におけるデータの転送を安定して行うことができる。
【００５１】
また、前記速度設定回路は、前記各トランシーバに接続され、ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバの最大転送可能速度と異なる場合のみ、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなるようにしてもよい。
【００５２】
この場合、スピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバの最大転送可能速度よりも遅い場合、通信路の品質が悪いと判断され、スピードネゴシエーションの結果得られたデータ転送速度を、トランシーバにおけるデータの最大転送可能速度として設定され、データの転送が行われる。
【００５３】
一方、スピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバにおけるデータの最大転送可能速度と同じ値である場合、通信路の品質がよいと判断されるので、トランシーバにおけるデータの最大転送可能速度によりデータの転送が行われる。
【００５４】
したがって、ノード間においてスピードネゴシエーションを行った結果、品質が悪い、すなわちエラーレートの高い通信路であると判断された場合のみ、トランシーバにおけるデータの最大転送可能速度が抑制されることになる。
【００５５】
例えば、複数のノードがデイジーチェーン接続され、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度が異なる場合を考えると、常に、スピードネゴシエーションを行った後の転送速度の最大値を、全てのトランシーバにおけるデータの最大転送可能速度として設定すれば、確実にデータ転送を行うことができるものの、通信路の品質がよい場合には、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度でデータの転送を行うことができないことがある。
【００５６】
つまり、通信路の品質が悪い場合には、スピードネゴシエーションの結果得られたデータ転送速度の最大値で、データ転送を行うことは有効であるが、通信品質が良い場合には、トランシーバが本来有しているデータの最大転送可能速度でデータの転送を行うことができない。
【００５７】
しかしながら、上述のように、通信路の品質が悪い場合のみ、スピードネゴシエーションの結果得られたデータ転送速度の最大値を、トランシーバにおけるデータの最大転送可能速度に設定し、その転送速度でデータの転送を行う一方、通信路の品質が良い場合には、トランシーバが本来有しているデータの最大転送可能速度で、データの転送を行うようにすれば、複数のノードがデイジーチェーン接続され、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度が異なる場合においても、データの転送を適切に行うことができる。
【００５８】
また、前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えるようにしてもよい。
【００５９】
この場合、上記選択回路により、スピードネゴシエーションにより得られた各トランシーバの転送速度の最大値のうち、最も遅い転送速度を、ノード全体のデータの最大転送可能速度に設定されるので、通信路において安定したデータの転送を行うことができる。
【００６０】
前記ノード間の通信路に適用される通信規格としては、上述したＩＥＥＥ１３９４が挙げられる。
【００６１】
また、前記ノード間の通信は、光通信であってもよい。
【００６２】
このように、通信が光通信であれば、通信路に光ファイバが使用されるので、通信路がメタル配線の場合よりも通信路を長くできるという利点がある。
【００６３】
本発明の送受信方法は、上記の課題を解決するために、複数の転送速度でデータ転送が可能なトランシーバを接続されたノード同士のデータの送受信方法において、データ転送の前に、トランシーバ毎に、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行い、この結果得られた最大値を、各トランシーバにおけるデータの最大転送可能速度として設定することを特徴としている。
【００６４】
上記の構成によれば、データ転送前に、ノード間の通信路の品質に応じたデータの転送速度を決定し、この転送速度によりデータの転送を行うようになるので、確実にデータを転送することができる。
【００６５】
また、上記ノード間の通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内となる速度であればよい。
【００６６】
この場合、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度を検出するようになるので、確実にデータを転送できるデータ転送速度が検出されることになる。これにより、データ転送を、さらに確実に行うことができる。
【００６７】
【発明の実施の形態】
〔実施の形態１〕
本発明の一実施の形態について説明すれば、以下の通りである。なお、本実施の形態では、複数の異なるデータ転送速度に対応するシリアルノードに備えられた送受信回路について説明する。ここで、ノード間の通信規格として、IEEE Std. 1394-1995 規格（以下、単にＩＥＥＥ１３９４と称する）を適用した場合について説明する。
【００６８】
本実施の形態に係る送受信回路は、図１に示すように、２つの1394メタルトランシーバ回路１０３、１０４と、１つの光トランシーバ回路（トランシーバ）１０５と、スピードネゴシエーション・ステートマシン（ネゴシエーション回路）１０６と、ＤＳ−リンクエンコーダ／デコーダ回路１０２と、バス調停回路（データ転送速度設定回路）１０１と、レジスタ回路（データ転送速度設定回路）１０７と、信号変換回路（ネゴシエーション回路）１０８と、変換テーブル（ネゴシエーション回路）１０９とから構成される。
【００６９】
なお、図１に示したブロック図は、本発明を実現するための一例を示したものであり、これに限定されるものではない。
【００７０】
上記構成の送受信回路は、対向ノードとのデータの送受信を行うための複数のトランシーバと、ノード間の通信路におけるデータ転送速度を検出し、その検出値に基づいて、前記各トランシーバにおけるデータの最大転送可能速度を設定する速度設定回路とを備えた構成となっている。
【００７１】
上記の構成によれば、各トランシーバにおけるデータの最大転送可能速度が、ノード間の通信路において検出されたデータ転送速度に設定されているので、通信路において確実に転送できる速度でデータの転送が可能となる。つまり、通信路の品質に係わらず、常に、通信路の品質に応じた速度でデータの転送を行うことが可能となる。
【００７２】
これにより、トランシーバが本来有しているデータの最大転送可能速度でデータの転送が行うことができないような品質の悪い通信路であっても、確実にデータを対向ノードに転送することができる。
【００７３】
また、上記ノード間の通信路におけるデータ転送速度は、例えば、後述するスピードネゴシエーションにより検出されるようにすればよい。
【００７４】
ところで、一般に、ノード間の通信路でのデータ転送では、エラーが発生するが、このエラーの発生率が所定範囲内であれば、問題無く通信が可能となる。例えば、通信路に光ファイバを用いた通信規格として、OP i.LINK （登録商標）の場合では、通信路でのデータ転送の誤り率（ビットエラーレート）は、データ全体のビット数に対して含まれるビットエラーの割合で示され、その値が１．０×１０-12以下であれば、通信路において問題なくデータ転送が行われる。
【００７５】
実際には、スピードネゴシエーションで相手機器との転送速度のネゴシエーションを行う期間（数μＳの間）にビットエラーが無い場合、その通信路の品質が良い（悪くない）としている。
【００７６】
また、誤りのあるデータ、すなわちビットエラーを含むデータにおいて、このビットエラーは、前後のデータとの比較により修復することができる。例えば、パケット内のデータに関して、誤り検出用のＣＲＣ符号や誤り訂正用のリード・ソロモン符号等によりエラーの修復を行うことができる。
【００７７】
ここで、ＣＲＣ符号による誤り検出について説明する。
【００７８】
例えば、ＩＥＥＥ１３９４においては、特定のパケット（パケット長が６４ビット固定のＰＨＹパケット）では、下位３２ビットが上位３２ビットのinverse であり、受信側でエラー検出を行う。また、それ以外のパケットについては、誤り検出用のＣＲＣ符号が付加されており、必要ならばパケットの再送が行われる。
【００７９】
また、アービトレーション信号では、受信側が８Ｂ１０Ｂ符号化特有のランニングディスパリティ（“１”が１０ビット中に何ビット含まれるかを示す値：−１ｏｒ０ｏｒ１）を計算して誤りがあるかが判断される。実際には、受信アービトレーション信号に誤りがあった場合、直前の受信アービトレーション信号を維持することでバスの安定化を図るようになっている。
【００８０】
また、ＩＥＥＥ１３９４の通信においては、通信の大部分がＩＤＬＥ（アービトレーション信号）の送受信であり、数時間に１ビット程度の誤り率は、データの転送が正常に行える程度の通信路の品質と考えられている。
【００８１】
したがって、上記ノード間の通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内となる速度であればよい。
【００８２】
この場合、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度を検出するようになるので、確実にデータを転送できるデータ転送速度が検出されることになる。これにより、データ転送を、さらに確実に行うことができる。
【００８３】
つまり、対向ノードへのデータ転送を行う前に、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行い、この結果得られた最大値を、各トランシーバにおけるデータの最大転送可能速度に設定することで、トランシーバが本来有しているデータの最大転送可能速度でデータの転送が行うことができないような品質の悪い通信路であっても、確実にデータを対向ノードに転送することができる。
【００８４】
上記速度設定回路は、図１に示すバス調停回路１０１、スピードネゴシエーション・ステートマシン１０６、レジスタ回路１０７、信号変換回路１０８、変換テーブル１０９によって構成される。これら各回路の詳細について、以下に説明する。
【００８５】
２つの1394メタルトランシーバ回路１０３、１０４は、ＤＳ−リンクエンコーダ／デコーダ回路１０２のEncoder 出力とDecoder 入力とバス接続され、該ＤＳ−リンクエンコーダ／デコーダ回路１０２とデータ信号の入出力を行う機能と、バス調停回路１０１に接続され、該バス調停回路１０１と制御信号の入出力機能を行う機能と、ケーブルを媒体に対向ノード（他のノード）とデータ信号及び制御信号の送受信を行う機能とを有する。
【００８６】
光トランシーバ回路１０５は、ＤＳ−リンクエンコーダ／デコーダ回路１０２のDecoder 出力及びEncoder 入力と接続され、該ＤＳ−リンクエンコーダ／デコーダ回路１０２とデータ信号の入出力を行う機能と、バス調停回路１０１に接続され、該バス調停回路１０１と制御信号の入出力を行う機能と、スピードネゴシエーション・ステートマシン１０６に接続され、該スピードネゴシエーション・ステートマシン１０６とスピードネゴシエーション時の制御コードとしての、送信コード、受信コードの入出力を行う機能と、光ファイバを媒体に対向ノード（他のノード）とデータ信号及び制御信号の送受信を行う機能とを有する。
【００８７】
但し、上記光トランシーバ回路１０５は、スピードネゴシエーション時のみ、スピードネゴシエーション・ステートマシン１０６との信号（送信コード、受信コードを含む信号）の入出力が有効となる。
【００８８】
スピードネゴシエーション・ステートマシン１０６は、レジスタ回路１０７及び光トランシーバ回路１０５に接続され、データ転送前に、該レジスタ回路１０７から得た光トランシーバ回路１０５の最大転送可能速度の情報を基に、該光トランシーバ回路１０５とスピードネゴシエーションの送受信コードの入出力を行う機能と、スピードネゴシエーション終了時の光トランシーバ回路１０５と対向ノードの転送速度をレジスタ回路１０７に通知する機能とを有する。
【００８９】
上記スピードネゴシエーション・ステートマシン１０６と、信号変換回路１０８と、変換テーブル１０９とで、前記光トランシーバ回路１０５に接続され、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路を構成する。
【００９０】
ＤＳ−リンクエンコーダ／デコーダ回路１０２は、光トランシーバ回路１０５からのデータをData・Strobe信号に変換し、バス接続された1394メタルトランシーバ回路１０３、１０４に出力し、逆にバス接続された２つの1394メタルトランシーバ回路１０３、１０４からのData・Strobe信号をデコードし、光トランシーバ回路１０５に出力する。
【００９１】
バス調停回路１０１は、２つの1394メタルトランシーバ回路１０３、１０４と光トランシーバ回路１０５に接続され、この３つのトランシーバ回路の信号の入出力を制御する。また、自ノードの設定情報（最大動作速度など）を各々のトランシーバ回路に転送する。
【００９２】
レジスタ回路１０７は、図２に示すようなレジスタマップを有しており、バス調停回路１０１に接続され、該バス調停回路１０１から設定値を読み込まれる。また、レジスタ回路１０７におけるレジスタマップの [ＳＰＤ] 領域は、信号変換回路１０８に接続されている。
【００９３】
なお、上記レジスタ回路１０７と、上記バス調停回路１０１とで、前記ネゴシエーション回路（スピードネゴシエーション・ステートマシン１０６、信号変換回路１０８、変換テーブル１０９）によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、前記光トランシーバ回路１０５におけるデータの最大転送可能速度として設定するデータ転送速度設定回路を構成する。
【００９４】
信号変換回路１０８は、内部にスピードネゴシエーション後の転送速度がＳ１００だった場合は“００”が、Ｓ２００の場合は“０１”が、Ｓ４００の場合は“１０”をそれぞれ出力する変換テーブル１０９を持ち、スピードネゴシエーション・ステートマシン１０６の出力信号から、レジスタ回路１７に出力する信号を生成する。
【００９５】
上述した通り、スピードネゴシエーション後の転送可能速度をレジスタ回路１０７の［ＳＰＤ] 領域に入力することにより、エラーレートの高い通信路を用いた場合、トランシーバの最大動作速度（最大転送可能速度）よりも低い転送速度にノードの最大処理速度を設定することが可能となる。
【００９６】
上記の構成の送受信回路によれば、対向ノードへのデータ転送を行う前に、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行い、この結果得られた最大値を、各トランシーバにおけるデータの最大転送可能速度に設定することで、トランシーバが本来有しているデータの最大転送可能速度でデータの転送が行うことができないような品質の悪い通信路であっても、確実にデータを対向ノードに転送することができる。このことについて、以下に詳細に説明する。
【００９７】
ここで、上記構成の送受信回路を備えた端末機（ノード）同士の信号の送受信について、図４に示すタイミングチャートを参照に以下に説明する。この図４に示すタイミングチャートは、ＩＥＥＥ１３９４におけるTree＿ID phaseからData Transfer phase までのタイミングチャートに、Speed negotiation phase を設け、ノードＡとノードＢのPeer to Peer接続を例にして示す。この図において、ノードＡとノードＢの対向しているポートはどちらも最大転送可能速度がＳ２００であり、ノードＡ、ノードＢの最高転送速度はともにＳ２００であるとする。
【００９８】
すなわち、図４において、ノードＡ、ノードＢは、それぞれ最大転送可能速度Ｓ２００のトランシーバを１つずつ備え、それらのトランシーバが接続されているものとする。本実施の形態においては、接続されたノード間において、ＩＥＥＥ１３９４のTree＿ID phase に遷移する前に、Speed negotiation phase を設け、このphaseにおいて、ノード間の最大転送可能速度を決定する。
【００９９】
図４においては、ノードＡ、ノードＢが、４２０、４２２においてそれぞれ転送速度引き上げ要求を示すコードHigher＿Speed をＳ１００の転送速度で送信する。対向ノードのHigher＿Speed を受信することで、Ｓ１００の転送速度で送受信が可能であることを認識する。
【０１００】
次に、４２４，４２５において、それぞれ転送速度維持要求を示すコードKeep＿Speed をＳ２００の転送速度で送信する。この場合、Ｓ２００でのデータの送受信が出来ない程度のエラーレートを想定しているため、対向ノードのKeep＿Speed を受信することができない。
【０１０１】
このように、お互いのノードは、Ｓ２００の転送速度でKeep＿Speed のコードを受信できないため、Ｓ２００の転送速度は諦め、Ｓ１００の転送速度でSpeed Negotiation phase を終了する。
【０１０２】
この結果、ノードＡ、ノードＢは接続されている通信路のエラーレートがＳ２００のパケットを送受信できるほど低くないことを認識し、それぞれ自ノードの最大動作速度（最高処理速度、最大転送可能速度））をＳ１００とする。
【０１０３】
尚、Speed Negotiation の方法として、図４に示すようなプロトコルを用いたが、Speed Negotiation の結果として決定する転送速度が重要であり、Speed Negotiation の方法については、前述の方法に限るものではない。
【０１０４】
この後は、Tree＿ID phase に遷移する。このphase において、Parent＿Notify を送信して、Child ＿Notify を受信したノードが子ノード、また、Parent＿Notify を受信して、Child ＿Notify を送信したノードが親ノードとなる。
【０１０５】
上述の Tree＿ID phase は、バス上で接続されている対向する全てのノード間で行われ、最後に Child ＿Notify を送信したノードがルートとなり、その後のバスを管理する。図４においては、ノードＡがルートとなる。
【０１０６】
Tree＿ID phase が終了すると、Self＿ID phase へと遷移し、このphase において、すべてのノードは自ノードのnode＿IDや最高処理速度を、図３に示すSelf＿ID packet のフォーマットに合わせてバス上に送信する。図３のphy ＿ID フィールドにnode＿ID が、またspフィールドに自ノードの最高処理速度がそれぞれ割り当てられる。
【０１０７】
本実施の形態の場合、Self＿ID phase においては、ノードＢは Speed Negotiation で決定した自ノードの最高処理速度がＳ１００であるために、４０７にてspフィールドにＳ１００を表す“００”を割り当て、バス上に送信する。
【０１０８】
ノードＡは、４０８にて接続されたノードＢの最高処理速度がＳ１００であることを認識した後、やはりSpeed Negotiation で決定した自ノードの最高処理速度がＳ１００であるために、４０９にてspフィールドに同じく“００”を割り当て、バス上に送信する。
【０１０９】
ノードＢは、４１０にて受信したSelf＿ID＿PACKETのspフィールドが“０0 ”であることから、接続されたノードＡの最高処理速度がＳ１００であることを認識する。こうして、Self＿ID phase が終了し、Data Transfer phase に遷移する。
【０１１０】
Data Transfer phase において、ノードＡにデータ転送要求が発生した場合、接続されているノードＢの最高処理速度がＳ１００であることを認識しているため、Ｓ２００の転送速度でデータパケットを送信せず、Ｓ１００の転送速度でデータパケットを送信する。このようにして、Ｓ２００において、エラーレートが高くなる通信路で接続されているノード間においては、Ｓ２００のデータ転送を抑制することが可能となる。
【０１１１】
ここで、図１に示した送受信回路のスピードネゴシエーション・ステートマシン１０６におけるスピードネゴシエーション処理の流れについて、図５および図６に示すフローチャートを参照しながら以下に説明する。同図においては、最大転送可能速度がＳ１００のトランシーバと最大転送可能速度がＳ２００のトランシーバのどちらが接続されても動作するように設計されているものとする。
【０１１２】
スピードネゴシエーション・ステートマシン１０６は、スピードネゴシエーションをスタートすると、初めに、接続されるトランシーバの最大転送可能速度（ＭＡＸ  ＳＰＥＥＤ）がＳ１００であるかＳ２００であるかを判定する（ステップＳ５０１）。ここで、最大転送可能速度がＳ１００であると判定すれば、ステップＳ５０２に移行し、最大転送可能速度がＳ２００であると判定すれ、図６に示すステップＳ５０６に移行する。
【０１１３】
次に、最大転送可能速度がＳ１００であると判定した場合、まず、タイマリセットを行う（ステップＳ５０２）。そして、Ｓ１００の転送速度で転送速度の維持要求の送信を開始する（ステップＳ５０３）。
【０１１４】
続いて、Ｓ１００での転送速度の維持要求を受信できたか否かを判定する（ステップＳ５０４）。ここで、Ｓ１００での転送速度の維持要求を受信できた場合、最大転送可能速度がＳ１００であることが確認できたので、以下の表１のtypeＢで示された内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。表１は、各条件でのスピードネゴシエーションの終了状態を表している。上記のtypeＢは、Ｓ１００の転送速度でスピードネゴシエーションが完了したことを示す。
【０１１５】
【表１】
0003655211.tif 000002
【０１１６】
一方、ステップＳ５０４において、Ｓ１００での転送速度の維持要求を、相手ノードから受信できなかった場合、タイマが予め定められた値に達しているか否かを判定する（ステップＳ５０５）。ここで、タイマが予め定められた値に達していなければ、ステップＳ５０４に移行し、再び、転送速度の維持要求を受信できたか否かを判定する。
【０１１７】
また、ステップＳ５０５において、タイマが予め定められた値に達していれば、前記の表１のtypeＡの内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］ 領域アドレスに書き込む。
【０１１８】
上記のtypeＡは、Ｓ１００の転送速度でスピードネゴシエーションが完了したことを示す。
【０１１９】
続いて、上記ステップＳ５０１において、最大転送可能速度がＳ２００であると判定した場合、スピードネゴシエーション・ステートマシン１０６は、図６に示すように、タイマをリセットする（ステップＳ５０６）。そして、Ｓ１００で転送速度の引き上げ要求の送信を開始する（ステップＳ５０７）。
【０１２０】
次に、Ｓ１００での転送速度の維持要求を受信したか否かを判定する（ステップＳ５０８）。ここで、転送速度の維持要求を受信した場合、Ｓ１００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表１に示すtypeＣの内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの[ＳＰＤ］領域アドレスに書き込む。
【０１２１】
一方、ステップＳ５０８において、転送速度の維持要求を受信しなかった場合、転送速度の引き上げ要求を受信した否かを判定する（ステップＳ５０９）。ここで、転送速度の引き上げ要求を受信しなかった場合、タイマが予め定められた値に達しているか否かを判定する（ステップＳ５１０）。
【０１２２】
ステップＳ５１０において、タイマが予め定められた値に達していると判定すれば、Ｓ１００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表１に示すtypeＡの内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの[ＳＰＤ］ 領域アドレスに書き込む。
【０１２３】
一方、ステップＳ５１０において、タイマが予め定められた値に達していないと判定すれば、ステップＳ５０８に移行し、転送速度の維持要求の受信を待つ。
【０１２４】
また、ステップＳ５０９において、転送速度の引き上げ要求を受信したと判定すれば、タイマリセットを行う（ステップＳ５１１）。
【０１２５】
続いて、Ｓ２００で転送速度の維持要求の送信を開始し（ステップＳ５１２）、Ｓ２００で転送速度の維持要求を受信したか否かを判定する（ステップＳ５１３）。ここで、転送速度の維持要求を受信したと判定すれば、Ｓ２００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表１に示すtypeＥの内容、すなわち最大転送可能速度Ｓ２００を示す“０１”をレジスタ回路１０７のレジスタマップの[ＳＰＤ］ 領域アドレスに書き込む。
【０１２６】
一方、ステップＳ５１３において、Ｓ２００で転送速度の維持要求を受信していないと判定すれば、タイマがあふれているか否かを判定する（ステップＳ５１４）。ここで、タイマがあふれていると判定すれば、接続された通信路のエラーレートによりＳ２００での転送速度で正常にデータ転送が行えず、Ｓ１００の転送速度でスピードネゴシエーションが終了したことを示し、前記の表１に示すtypeＤの内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ] 領域アドレスに書き込む。
【０１２７】
また、ステップＳ５１４において、タイマがあふれていないと判定すれば、ステップＳ５１３に移行し、転送速度の維持要求を受信したか否かを判定する。
【０１２８】
上記のような図５および図６に示すようなフローチャートを実現できるスピードネゴシエーション・ステートマシン１０６を実装することで、通信路のエラーレートが高く、トランシーバ間の最大転送可能速度でデータ転送ができない場合においては、ノードのトランシーバにおけるデータの最大転送可能速度を抑制することができ、この結果、確実にデータの転送を行うことができる。
【０１２９】
〔実施の形態２〕
本発明の他の実施の形態について説明すれば、以下の通りである。なお、本実施の形態では、複数の異なるデータ転送速度に対応するシリアルノードに備えられた送受信回路について説明する。
【０１３０】
本実施の形態に係る送受信回路は、図７に示すように、２つの1394メタルトランシーバ回路７０３、７０４、第１光トランシーバ回路（トランシーバ）７０５と、第２光トランシーバ回路（トランシーバ）７０８、前記第１光トランシーバ回路７０５に接続される第１スピードネゴシエーション・ステートマシン（ネゴシエーション回路）７０６と、前記第２光トランシーバ回路７０８に接続される第２スピードネゴシエーション・ステートマシン（ネゴシエーション回路）７０９と、ＤＳ−リンクエンコーダ／デコーダ回路７０２と、バス調停回路（データ転送速度設定回路）７０１と、レジスタ回路（データ転送速度設定回路）７０７と、判別回路（選択回路）７１０とで構成されている。なお、図７に示すブロック図は本発明の一例を示すものであり、これに限るものではない。
【０１３１】
1394メタルトランシーバ回路７０３、７０４は、ＤＳ−リンクエンコーダ／デコーダ回路７０２のEncoder 出力、Decoder 入力とバス接続され、該ＤＳ−リンクエンコーダ／デコーダ回路７０２とデータの入出力を行う機能と、バス調停回路７０１に接続され制御信号の入出力を行う機能と、ケーブルを媒体として対向ノードとデータ信号及び制御信号の送受信を行う機能とを有する。
【０１３２】
上記構成の送受信回路において、転送速度設定回路は、バス調停回路７０１、第１スピードネゴシエーション・ステートマシン７０６、レジスタ回路７０７、第２スピードネゴシエーション・ステートマシン７０９、判別回路７１０で構成されている。これらの詳細について、以下に説明する。
【０１３３】
２つの光トランシーバ回路（第１光トランシーバ回路７０５、第２光トランシーバ回路７０８）は、それぞれＤＳ−リンクエンコーダ／デコーダ回路７０２のDecoder 出力及びEncoder 入力とバス接続されデータ信号の入出力を行う機能と、バス調停回路７０１に接続され、該バス調停回路７０１と制御信号の入出力を行う機能と、光ファイバを媒体として対向ノードとデータ信号及び制御信号の送受信を行う機能を有する。
【０１３４】
ＤＳ−リンクエンコーダ／デコーダ回路７０２は、２つの光トランシーバ回路７０５、７０８からのデータをData-Strobe 信号に変換し、バス上に接続された２つの1394メタルトランシーバ回路７０３、７０４に出力し、逆にバス接続された２つの1394メタルトランシーバ回路７０３、７０４からのData-Strobe 信号をデコードし、２つの光トランシーバ回路７０５、７０８に出力する。
【０１３５】
バス調停回路７０１は、２つの1394メタルトランシーバ回路７０３、７０４及び２つの光トランシーバ回路７０５、７０８と接続され、この４つのトランシーバ回路の信号の入出力を制御する。
【０１３６】
また、自ノードの設定情報（最大動作速度など）をトランシーバ回路に転送し、トランシーバ回路各々に接続される対向ノードに設定情報を転送する。
【０１３７】
レジスタ回路７０７は、図２に示すようなレジスタマップを有しており、バス調停回路７０１に接続され、該バス調停回路７０１から設定値が読み込まれる。
【０１３８】
２つのスピードネゴシエーション・ステートマシン７０６、７０９は、それぞれ対向ノードとスピードネゴシエーションを行い、その結果得られた最大転送可能速度を判別回路７１０に出力する機能を有する。
【０１３９】
判別回路７１０は、２つのスピードネゴシエーション・ステートマシン７０６、７０９に接続され、該スピードネゴシエーション・ステートマシン７０６、７０９から出力された２つの最大転送可能速度のうち、遅い方の転送速度を選別し、前記レジスタ回路７０７のレジスタマップの［ＳＰＤ] 領域アドレスに出力する機能を有する。
【０１４０】
上記のように、複数の光トランシーバを有する送受信回路において、光トランシーバ毎にスピードネゴシエーション・ステートマシンを持ち、光トランシーバ毎にスピードネゴシエーションを行い、その結果得られた最大転送可能速度のうち判別回路にて一番遅い最大転送可能速度をレジスタ回路の［ＳＰＤ] 領域アドレスに出力し、その［ＳＰＤ] 領域アドレスの値をノードの最大転送可能速度に設定することで、複数の光トランシーバを有する送受信回路においても、エラーレートの高い通信路が接続されている場合には、ノードのトランシーバにおけるデータの最大転送可能速度を抑制することが可能となる。
【０１４１】
ここで、図８に示すように、上記構成の送受信回路を備えた３つの1394ノードがデイジーチェーン接続されている場合の各ノード間のスピードネゴシエーションについて考える。
【０１４２】
同図において、ノードＡ８０１及びノードＢ８０４は、共に最大転送可能速度Ｓ２００の光トランシーバを２つずつ持ち、ノードＣ８０７は最大転送可能速度Ｓ１００の光トランシーバを２つ持つ。すなわち、ノードＡ８０１は、光トランシーバ８０２、８０３を持ち、ノードＢ８０４は、光トランシーバ８０５、８０６を持ち、ノードＣ８０７は、光トランシーバ８０８、８０９を持つ。
【０１４３】
また、ノードＡ８０１の光トランシーバ８０３と、ノードＢ８０４の光トランシーバ８０５とが接続され、ノードＢ８０４の光トランシーバ８０６と、ノードＣ８０７の光トランシーバ８０８とが接続されている。
【０１４４】
各ノード間において、前述した第１スピードネゴシエーション・ステートマシン７０６等におけるスピードネゴシエーションが行われて、ノードＡ８０１とノードＢ８０４、ノードＢ８０４とノードＣ８０７間の通信路のエラーレートがともに十分低い場合であるとすると、ノードＡ８０１の最大転送可能速度はＳ２００、また、ノードＢ８０４及びノードＣ８０７の最大転送可能速度はＳ１００に決定される。
【０１４５】
上記の場合、ノードＡ８０１はノードＢ８０４の最大転送可能速度がＳ１００であると認識するため、ノードＢ８０４宛てに転送速度Ｓ２００のデータを転送することができない。これは、常にスピードネゴシエーション後のトランシーバ間の最大転送可能速度を前記レジスタ回路のレジスタマップの ［ＳＰＤ］ 領域アドレスに出力していることに起因している。
【０１４６】
そこで、以下に示す実施の形態３では、スピードネゴシエーションにより、通信路のエラーレートが高く、品質が悪いと判断された場合のみ、スピードネゴシエーション・ステートマシンの最大転送可能速度の出力を抑制するようになっている。
【０１４７】
〔実施の形態３〕
本発明のさらに他の実施の形態について説明すれば、以下の通りである。なお、本実施の形態に係る送受信回路のブロック図は、前記実施の形態１で示した図１に示すブロック図と同じであり、スピードネゴシエーション・ステートマシン１０６以外のモジュールは、前記実施の形態１と同じ動作をするので、その説明は省略する。
【０１４８】
本実施の形態に係る送受信回路は、図１に示すように、光トランシーバ回路１０５に接続され、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路（スピードネゴシエーション・ステートマシン１０６、信号変換回路１０８、変換テーブル１０９）と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値が、光トランシーバ回路１０５におけるデータの最大転送可能速度と異なる場合のみ、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路（バス調停回路１０１、レジスタ回路１０７）とからなる速度設定回路を有している。
【０１４９】
ここで、本実施の形態における送受信回路の速度設定回路を構成するスピードネゴシエーション・ステートマシン１０６によるスピードネゴシエーションの処理の流れを、図９および図１０に示すフローチャートを参照しながら以下に説明する。なお、本実施の形態に係る送受信回路は、最大転送可能速度がＳ１００のトランシーバと最大転送可能速度がＳ２００のトランシーバのどちらが接続されても動作するように設計されているものとする。
【０１５０】
スピードネゴシエーション・ステートマシン１０６は、スピードネゴシエーションをスタートすると、初めに、接続されるトランシーバの最大転送可能速度（ＭＡＸ  ＳＰＥＥＤ）がＳ１００であるかＳ２００であるかを判定する（ステップＳ９０１）。ここで、最大転送可能速度がＳ１００であると判定すれば、ステップＳ９０２に移行し、最大転送可能速度がＳ２００であると判定すれば、図１０に示すステップＳ９０６に移行する。
【０１５１】
次に、最大転送可能速度がＳ１００であると判定した場合、まず、タイマリセットを行う（ステップＳ９０２）。そして、Ｓ１００の転送速度で転送速度の維持要求の送信を開始する（ステップＳ９０３）。
【０１５２】
続いて、Ｓ１００での転送速度の維持要求を受信できたか否かを判定する（ステップＳ９０４）。ここで、Ｓ１００での転送速度の維持要求を受信できた場合、最大転送可能速度がＳ１００であることが確認できたので、以下の表２のtypeＢで示された内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。表２は、各条件でのスピードネゴシエーションの終了状態および通信路の品質を表している。上記のtypeＢは、通信路の品質が良好で、Ｓ１００の転送速度でスピードネゴシエーションが完了したことを示す。
【０１５３】
【表２】
0003655211.tif 000003
【０１５４】
一方、ステップＳ９０４において、Ｓ１００での転送速度の維持要求を、相手ノードから受信できなかった場合、タイマが予め定められた値に達しているか否かを判定する（ステップＳ９０５）。ここで、タイマが予め定められた値に達していなければ、ステップＳ９０４に移行し、再び、転送速度の維持要求を受信できたか否かを判定する。
【０１５５】
また、ステップＳ９０５において、タイマが予め定められた値に達していれば、前記の表２のtypeＡの内容、すなわちＳ１００の転送速度でも正常なデータ転送が不可能なほど悪く、最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。
【０１５６】
なお、本実施の形態では、Ｓ１００の転送速度でさえデータ転送が正常に行うことができない通信路に接続されたトランシーバとスピードネゴシエーション・ステートマシンの出力について論じないものとする。
【０１５７】
続いて、上記ステップＳ９０１において、最大転送可能速度がＳ２００であると判定した場合、スピードネゴシエーション・ステートマシン１０６は、図１０に示すように、タイマをリセットする（ステップＳ９０６）。そして、Ｓ１００で転送速度の引き上げ要求の送信を開始する（ステップＳ９０７）。
【０１５８】
次に、Ｓ１００での転送速度の維持要求を受信したか否かを判定する（ステップＳ９０８）。ここで、転送速度の維持要求を受信した場合、Ｓ１００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表２に示すtypeＣの内容、すなわち、通信路の品質が良好で、最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。
【０１５９】
一方、ステップＳ９０８において、転送速度の維持要求を受信しなかった場合、転送速度の引き上げ要求を受信したか否かを判定する（ステップＳ９０９）。ここで、転送速度の引き上げ要求を受信しなかった場合、タイマが予め定められた値に達しているか否かを判定する（ステップＳ９１０）。
【０１６０】
ステップＳ９１０において、タイマが予め定められた値に達していると判定すれば、Ｓ１００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表２に示すtypeＡの内容、すなわちＳ１００の転送速度でも正常なデータ転送が不可能なほど悪く、最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。
【０１６１】
一方、ステップＳ９１０において、タイマが予め定められた値に達していないと判定すれば、ステップＳ９０８に移行し、転送速度の維持要求の受信を待つ。
【０１６２】
また、ステップＳ９０９において、転送速度の引き上げ要求を受信したと判定すれば、タイマリセットを行う（ステップＳ９１１）。
【０１６３】
続いて、Ｓ２００で転送速度の維持要求の送信を開始し（ステップＳ９１２）、Ｓ２００で転送速度の維持要求を受信したか否かを判定する（ステップＳ９１３）。ここで、転送速度の維持要求を受信したと判定すれば、Ｓ２００の転送速度でのスピードネゴシエーションが終了したことを示し、前記の表２に示すtypeＥの内容、すなわち通信品質が良好で、最大転送可能速度Ｓ２００を示す“０１”をレジスタ回路１０７のレジスタマップの[ＳＰＤ］領域アドレスに書き込む。
【０１６４】
一方、ステップＳ９１３において、Ｓ２００で転送速度の維持要求を受信していないと判定すれば、タイマがあふれているか否かを判定する（ステップＳ９１４）。ここで、タイマがあふれていると判定すれば、接続された通信路のエラーレートによりＳ２００での転送速度で正常にデータ転送が行えず、Ｓ１００の転送速度でスピードネゴシエーションが終了したことを示し、前記の表２に示すtypeＤの内容、すなわち最大転送可能速度Ｓ１００を示す“００”をレジスタ回路１０７のレジスタマップの [ＳＰＤ］領域アドレスに書き込む。
【０１６５】
また、ステップＳ９１４において、タイマがあふれていないと判定すれば、ステップＳ９１３に移行し、転送速度の維持要求を受信したか否かを判定する。
【０１６６】
上記のような図９および図１０に示すようなフローチャートを実現できるスピードネゴシエーション・ステートマシン１０６を実装することで、通信路のエラーレートが高く、トランシーバ間の最大転送可能速度でデータ転送ができない場合のみ、ノードのトランシーバにおけるデータの最大転送可能速度を抑制することができる。
【０１６７】
そして、上述のように、通信路の品質が悪い場合のみ、スピードネゴシエーションの結果得られたデータ転送速度の最大値を、光トランシーバ回路１０５におけるデータの最大転送可能速度に設定し、その転送速度でデータの転送を行う一方、通信路の品質が良い場合には、該光トランシーバ回路１０５が本来有しているデータの最大転送可能速度で、データの転送を行うようにすれば、複数のノードがデイジーチェーン接続され、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度が異なる場合においても、データの転送を適切に行うことができる。
【０１６８】
〔実施の形態４〕
本発明のさらに他の実施の形態について説明すれば、以下の通りである。なお、本実施の形態に係る送受信回路を示すブロック図は、前記実施の形態２で示した図７で示したブロック図と緒内であり、この図７の各光トランシーバに接続されているスピードネゴシエーション・ステートマシンの動作は、図９および１０に示すフローチャートにて示すものである。なお、本ブロック図は、これに限定されるものではない。
【０１６９】
このように、複数の光トランシーバを有する送受信回路において、光トランシーバ毎にエラーレートが高い場合のみ、最大転送可能速度を抑制するようなスピードネゴシエーション・ステートマシンを持ち、光トランシーバ毎にスピードネゴシエーションを行い、その結果得られた最大転送可能速度のうち判別回路にて一番遅い最大転送可能速度をレジスタ回路のレジスタマップの [ＳＰＤ]領域アドレスに出力し、その ［ＳＰＤ］領域アドレスの値をノードの最大転送可能速度に設定することで、エラーレートの高い通信路が接続されている場合に、最適な最大転送可能速度を決定することができる。
【０１７０】
本発明の送受信回路は、以下のように表すこともできる。
【０１７１】
すなわち、本発明の送受信回路は、複数の伝送速度に対応するシリアルバスノードの送受信回路であって、複数のトランシーバと、前記複数のトランシーバに対するバス調停機能を有するバス調停回路と、前記バス調停回路の動作条件を決定するレジスタ回路と、前記複数のトランシーバに接続されるスピードネゴシエーションステートマシン回路とを備え、対向トランシーバとのスピードネゴシエーションにより決定した転送速度をそのトランシーバの最大転送可能速度とし、前記レジスタ領域に外部から設定する構成にしてもよい。
【０１７２】
また、前記の複数のトランシーバのうち２つ以上のトランシーバに前記スピードネゴシエーションステートマシン回路がそれぞれ配置され、前記複数のスピードネゴシエーションステートマシン回路の出力値を判別し、前記複数のスピードネゴシエーションステートマシン回路の出力値の中で送受信回路における動作速度が最も遅くなる出力値を選択し、前記レジスタ回路中の前記レジスタ領域に指定値として書き込むための判別回路を備えていてもよい。
【０１７３】
本発明の送受信回路は、複数の伝送速度に対するシリアルバスノードの送受信回路であって、複数のトランシーバと、前記複数のトランシーバに対するバス調停機能を有するバス調停回路と、前記バス調停回路の動作条件を決定するレジスタ回路と、前記複数のトランシーバに接続されるスピードネゴシエーションステートマシン回路とを備え、対向ノードとのスピードネゴシエーションにより、通信路のエラーレートが高いために、対向トランシーバとの最大転送可能速度の転送速度でデータ転送ができないと判断された場合は、スピードネゴシエーション終了時の転送速度を自トランシーバの最大転送可能速度とし、また、スピードネゴシエーション終了時の転送速度が、エラー無しの通信路における対向トランシーバとの最大転送可能速度であった場合は、前記自トランシーバの最大転送可能速度をそのまま自トランシーバの最大転送可能速度とし、その値を前記レジスタ回路に外部から設定する構成にしてもよい。
【０１７４】
前記複数のトランシーバのうち２つ以上のトランシーバに前記スピードネゴシエーションステートマシン回路がそれぞれ配置され、前記複数のスピードネゴシエーションステートマシン回路の出力値を判別し、前記複数のスピードネゴシエーションステートマシン回路の出力値の中で送受信回路における動作速度が最も遅くなる出力値を選択し、前記レジスタ回路中の前記レジスタ領域に指定値として書き込むための判別回路を備えるようにしてもよい。
【０１７５】
本発明の送受信回路によれば、光トランシーバにスピードネゴシエーション回路を接続し、データ転送前にスピードネゴシエーションを行い、スピードネゴシエーションで決定した最大転送速度をレジスタ回路の [ＳＰＤ] 領域アドレスに出力することで、エラーレートの高い転送速度にノー一ドの最大転送速度を設定することなく、確実にデータ転送を行うことが可能となる。
【０１７６】
また、複数の光トランシーバを有する送受信回路においては、各光トランシーバに毎にスピードネゴシエーション回路を接続し、データ転送前に各トランシーバ毎にスピードネゴシエーションを行い、その結果決定した最大転送速度のうちもっとも低い転送速度を判別回路にて選別してレジスタ回路の [ＳＰＤ] 領域アドレスに出力することで、エラーレートの高い転送速度にノードの最大転送速度を設定することなく、確実にデータ転送を行うことができる。
【０１７７】
さらに、前記スピードネゴシエーションステートマシン回路において、エラーレートが高く、通信路の品質が悪いと判断された場合のみ、トランシーバの最大転送速度を抑制し、通信路の品質が良いと判断された場合は、トランシーバの最大転送速度をレジスタ回路の [ＳＰＤ] 領域アドレスに出力することで、エラーレートの高い通信路のみ、最大転送速度を抑制することが可能となる。
【０１７８】
さらに、複数の光トランシーバを有する送受信回路において、前記、エラーレートの高い場合のみ最大転送速度を抑制するスピードネゴシエーションステートマシン回路を、各光トランシーバにそれぞれ接続し、データ転送前に各トランシーバ毎にスピードネゴシエーションを行い、その結果決定した最大転送速度のうちもっとも低い転送速度を判別回路にて選別してレジスタ回路の [ＳＰＤ] 領域アドレスに出力することで、ノードがより最適な転送速度を最大転送速度として設定することが可能となる。
【０１７９】
なお、上記の各実施の形態では、通信規格として、ＩＥＥＥ１３９４の場合について説明しているが、これに限定されるものではない。本発明は、１つのノードで複数の転送速度をサポートしている通信規格を光通信に応用する場合に有効になる発明であるので、上記のＩＥＥＥ１３９４以外に、例えばＵＳＢ（universal serial bus）２．０、Ethernetにも適用可能である。
【０１８０】
【発明の効果】
本発明の送受信回路は、以上のように、複数の異なるデータ転送速度に対応するノードに備えられた送受信回路であって、対向ノードとのデータの送受信を行うための複数のトランシーバと、ノード間の通信路におけるデータ転送速度を検出し、この検出値に基づいて、前記各トランシーバにおけるデータの最大転送可能速度を設定する速度設定回路とを備えており、前記速度設定回路は、前記各トランシーバに接続され、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、前記各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなる構成である。
【０１８１】
それゆえ、各トランシーバにおけるデータの最大転送可能速度が、ノード間の通信路において検出されたデータ転送速度に設定されているので、通信路において確実に転送できる速度でデータの転送が可能となる。つまり、通信路の品質に係わらず、常に、通信路の品質に応じた速度でデータの転送を行うことが可能となる。
【０１８２】
これにより、トランシーバが本来有しているデータの最大転送可能速度でデータの転送が行うことができないような品質の悪い通信路であっても、確実にデータを対向ノードに転送することができるという効果を奏する。
【０１８３】
また、本発明に適用できる通信規格としては、例えば、IEEE Std. 1394-1995 規格がある。このIEEE Std. 1394-1995 規格では、送受信回路のトランシーバの最高動作速度（ノードの最高処理速度と最高転送速度の両方を表す）の規格は、１００Ｍｂｐｓ（以下、『Ｓ１００』と称する）、２００Ｍｂｐｓ（以下、『Ｓ２００』と称する）、４００Ｍｂｐｓ（以下、『Ｓ４００』と称する）の３種類が規定されている。
【０１８４】
したがって、上記のネゴシエーション回路では、以下に示すようなスピードネゴシエーションが行われる。ここで、自ノードと対向ノードの最大転送可能速度が例えばＳ４００である場合を考えると、まず、通信路を介して、Ｓ１００の転送速度で互いにスピードネゴシエーション用の制御コード（以下、単に制御コードと称する）を転送する。このとき、互いに相手ノードからの信号が受信できた場合には、Ｓ２００の転送速度で互いに制御コードを転送する。
【０１８５】
そして、Ｓ２００の転送速度で制御コードが互いに受信できた場合には、さらに、Ｓ４００の転送速度で互いに制御コードを転送する。このとき、互いに相手からの制御コードが受信できれば、Ｓ４００がノードの各トランシーバの最大転送可能速度として設定され、このＳ４００で確実にデータ転送が行えることが分かる。
【０１８６】
一方、Ｓ４００で互いに転送したコードが受信できなれければ、Ｓ２００がノードの各トランシーバの最大転送可能速度として設定され、Ｓ２００でデータの転送を行う。
【０１８７】
このようにして、データ転送前に、ノード間の通信路におけるスピードネゴシエーションが行われ、その結果がノードの各トランシーバの最大転送可能速度に反映されることにより、通信路の品質に応じた最大の転送速度でデータの転送を行うことができるという効果を奏する。
【０１８８】
上記ノード間の通信路におけるデータ転送速度を、該通信路においてデータ転送の誤り率が所定範囲内となる速度に設定してもよい。
【０１８９】
この場合、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度を検出するようになるので、確実にデータを転送できるデータ転送速度が検出されることになる。これにより、データ転送を、さらに確実に行うことができるという効果を奏する。
【０１９０】
また、前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えるようにしてもよい。
【０１９１】
この場合、ノードの全てのトランシーバにおけるデータの最大転送可能速度が、通信路の品質に適したデータ転送速度に設定されるので、通信路におけるデータの転送を安定して行うことができるという効果を奏する。
【０１９２】
また、前記速度設定回路は、前記各トランシーバに接続され、ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行うネゴシエーション回路と、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバの最大転送可能速度と異なる場合のみ、前記ネゴシエーション回路によるスピードネゴシエーションの結果得られたデータ転送速度の最大値を、各トランシーバにおけるデータの最大転送可能速度として設定するデータ転送速度設定回路とからなるようにしてもよい。
【０１９３】
この場合、スピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバの最大転送可能速度よりも遅い場合、通信路の品質が悪いと判断され、スピードネゴシエーションの結果得られたデータ転送速度を、トランシーバにおけるデータの最大転送可能速度として設定され、データの転送が行われる。
【０１９４】
一方、スピードネゴシエーションの結果得られたデータ転送速度の最大値が、各トランシーバにおけるデータの最大転送可能速度と同じ値である場合、通信路の品質がよいと判断されるので、トランシーバにおけるデータの最大転送可能速度によりデータの転送が行われる。
【０１９５】
したがって、ノード間においてスピードネゴシエーションを行った結果、品質が悪い、すなわちエラーレートの高い通信路であると判断された場合のみ、トランシーバにおけるデータの最大転送可能速度が抑制されることになる。
【０１９６】
例えば、複数のノードがデイジーチェーン接続され、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度が異なる場合を考えると、常に、スピードネゴシエーションを行った後の転送速度の最大値を、全てのトランシーバにおけるデータの最大転送可能速度として設定すれば、確実にデータ転送を行うことができるものの、通信路の品質がよい場合には、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度でデータの転送を行うことができないことがある。
【０１９７】
つまり、通信路の品質が悪い場合には、スピードネゴシエーションの結果得られたデータ転送速度の最大値で、データ転送を行うことは有効であるが、通信品質が良い場合には、トランシーバが本来有しているデータの最大転送可能速度でデータの転送を行うことができない。
【０１９８】
しかしながら、上述のように、通信路の品質が悪い場合のみ、スピードネゴシエーションの結果得られたデータ転送速度の最大値を、トランシーバにおけるデータの最大転送可能速度に設定し、その転送速度でデータの転送を行う一方、通信路の品質が良い場合には、トランシーバが本来有しているデータの最大転送可能速度で、データの転送を行うようにすれば、複数のノードがデイジーチェーン接続され、それぞれのノードが有するトランシーバにおけるデータの最大転送可能速度が異なる場合においても、データの転送を適切に行うことができるという効果を奏する。
【０１９９】
また、前記複数のトランシーバのうち、２つ以上のトランシーバに、前記ネゴシエーション回路がそれぞれ接続され、前記ネゴシエーション回路それぞれの出力値の中から、最も遅いデータ転送速度となる出力値を選択し、この値を各トランシーバにおけるデータの最大転送可能速度として前記データ転送速度設定回路に出力する選択回路を備えるようにしてもよい。
【０２００】
この場合、上記選択回路により、スピードネゴシエーションにより得られた各トランシーバの転送速度の最大値のうち、最も遅い転送速度を、ノード全体のデータの最大転送可能速度に設定されるので、通信路において安定したデータの転送を行うことができるという効果を奏する。
【０２０１】
前記ノード間の通信路に適用される通信規格としては、上述したＩＥＥＥ１３９４が挙げられる。
【０２０２】
また、前記ノード間の通信は、光通信であってもよい。
【０２０３】
このように、通信が光通信であれば、通信路に光ファイバが使用されるので、通信路がメタル配線の場合よりも通信路を長くできるという利点がある。
【０２０４】
本発明の送受信方法は、以上のように、複数の転送速度でデータ転送が可能なトランシーバを接続されたノード同士のデータの送受信方法において、データ転送の前に、トランシーバ毎に、ノード間で互いにスピードネゴシエーション用の制御コードを転送し、該ノード間の通信路におけるデータ転送速度の最大値を見出すためのスピードネゴシエーションを行い、この結果得られた最大値を、各トランシーバにおけるデータの最大転送可能速度として設定する構成である。
【０２０５】
それゆえ、データ転送前に、ノード間の通信路の品質に応じたデータの転送速度を決定し、この転送速度によりデータの転送を行うようになるので、確実にデータを転送することができるという効果を奏する。
【０２０６】
また、上記ノード間の通信路におけるデータ転送速度は、該通信路においてデータ転送の誤り率が所定範囲内となる速度であればよい。
【０２０７】
この場合、ノード間の通信路においてデータ転送の誤り率が所定範囲内となるデータ転送速度を検出するようになるので、確実にデータを転送できるデータ転送速度が検出されることになる。これにより、データ転送を、さらに確実に行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明の一実施の形態に係る送受信回路のブロック図である。
【図２】  上記送受信回路に備えられたレジスタ回路のレジスタマップを示す図である。
【図３】  IEEE1394準拠のSelf＿ID packet のフォーマットを示す図である。
【図４】  本実施の形態を適用した場合の、Ｓ２００における通信路のエラーレートが高い場合の最大転送可能速度がＳ２００のノード間の各層移動のタイミングチャートである。
【図５】  図１に示す送受信回路によるスピードネゴシエーションの処理の流れを示すフローチャートである。
【図６】  図１に示す送受信回路によるスピードネゴシエーションの処理の流れを示すフローチャートである。
【図７】  本発明の他の実施の形態に係る送受信回路のブロック図である。
【図８】  図７に示す送受信回路を備えたノード同士をデイジーチェーン接続した状態を示す図である。
【図９】  図７に示す送受信回路によるスピードネゴシエーションの処理の流れを示すフローチャートである。
【図１０】  図７に示す送受信回路によるスピードネゴシエーションの処理の流れを示すフローチャートである。
【図１１】  従来の送受信回路のブロック図である。
【図１２】  Ｓ２００における通信路のエラーレートが低い場合の最大転送可能速度がＳ２００のノード間の各層移動のタイミングチャートである。
【図１３】  Ｓ２００における通信路のエラーレートが高い場合の最大転送可能速度がＳ２００のノード間の各層移動のタイミングチャートである。
【符号の説明】
１０１  バス調停回路（データ転送速度設定回路）
１０２  ＤＳ−リンクエンコーダ／デコーダ回路
１０３  1394メタルトランシーバ回路
１０４  1394メタルトランシーバ回路
１０５  光トランシーバ回路（トランシーバ）
１０６  スピードネゴシエーション・ステートマシン（ネゴシエーション回路）
１０７  レジスタ回路（データ転送速度設定回路）
１０８  信号変換回路（ネゴシエーション回路）
１０９  変換テーブル（ネゴシエーション回路）
４０１  Parent＿Notify（ノードＢ）送信タイミング
４０２  Parent＿Notify（ノードＡ）受信タイミング
４０３  Child ＿Notify（ノードＡ）送信タイミング
４０４  Child ＿Notify（ノードＢ）受信タイミング
４０５  Self＿ID＿Grant （ノードＡ）送信タイミング
４０６  Self＿ID＿Grant （ノードＢ）受信タイミング
４０７  Self＿ID＿PACKET（ノードＢ）送信タイミング
４０８  Self＿ID＿PACKET（ノードＡ）受信タイミング
４０９  Self＿ID＿PACKET（ノードＡ）送信タイミング
４１０  Self＿ID＿PACKET（ノードＢ）受信タイミング
４１１  Ｓ２００の転送速度でのIsochronous Packetの送信タイミング
４１２  Ｓ２００の転送速度でのIsochronous Packetの送信タイミング
４１３  Ｓ２００の転送速度でのIsochronous Packetの送信タイミング
４１４  Ｓ２００の転送速度でのIsochronous Packetの送信タイミング
４１５  Ｓ２００の転送速度でのIsochronous Packetの送信タイミング
４２０  Higher Speed（ノードＡ）送信タイミング
４２１  Higher Speed（ノードＢ）受信タイミング
４２２  Higher Speed（ノードＢ）送信タイミング
４２３  Higher Speed（ノードＡ）受信タイミング
４２４  Keep＿Speed （ノードＡ）送信タイミング
４２５  Keep＿Speed （ノードＢ）送信タイミング
７０１  バス調停回路（データ転送速度設定回路）
７０２  ＤＳ−リンクエンコーダ／デコーダ回路
７０３  1394メタルトランシーバ回路
７０４  1394メタルトランシーバ回路
７０５  第１光トランシーバ回路（トランシーバ）
７０６  第１スピードネゴシエーション・ステートマシン（ネゴシエーション回路）
７０７  レジスタ回路（データ転送速度設定回路）
７０８  第２光トランシーバ回路（トランシーバ）
７０９  第２スピードネゴシエーション・ステートマシン（ネゴシエーション回路）
７１０  判別回路（選択回路）
８０１  ノードＡ
８０２  光トランシーバ
８０３  光トランシーバ
８０４  ノードＢ
８０５  光トランシーバ
８０６  光トランシーバ
８０７  ノードＣ
８０８  光トランシーバ
８０９  光トランシーバ
【図１】
0003655211.tif 000004
【図２】
0003655211.tif 000005
【図３】
0003655211.tif 000006
【図４】
0003655211.tif 000007
【図５】
0003655211.tif 000008
【図６】
0003655211.tif 000009
【図７】
0003655211.tif 000010
【図８】
0003655211.tif 000011
【図９】
0003655211.tif 000012
【図１０】
0003655211.tif 000013
【図１１】
0003655211.tif 000014
【図１２】
0003655211.tif 000015
【図１３】
0003655211.tif 000016