(57)【要約】【課題】　バスで接続された複数の電子機器間で通信速度情報の読み取りを可能とし、互いの通信速度に応じた速度で情報の通信を可能とする。【解決手段】　バスで接続された複数の電子機器間で通信を行うシステムに用いる電子機器であって、物理層を処理する物理層コントローラ（ＰＨＹ）１と、物理層よりも上位の階層を処理するリンク層コントローラ（ＬＩＮＫ）２と、ＬＩＮＫ２の最大通信速度情報を記憶したコンフィギュレーションＲＯＭ５と、バスで接続された他の電子機器内のコンフィギュレーションＲＯＭ５に記憶されているＬＩＮＫ２の最大通信速度情報を、バスを介して読み出し、バスの初期化時に、ＰＨＹ１の最大通信速度情報をバスに送出する。【選択図】　図１
2004080824.tif 000002
【特許請求の範囲】
【請求項１】
　バスで接続された複数の電子機器間で通信を行うシステムに用いる電子機器であって、
　物理層を処理する第１の手段と、
　物理層よりも上位の階層を処理する第２の手段と、
　前記第２の手段の最大通信速度情報を記憶した第３の手段と、
　前記バスで接続された他の電子機器内の前記第３の手段に記憶されている前記第２の手段の最大通信速度情報を、前記バスを介して読み出す第４の手段と、
　前記バスの初期化時に、前記第１の手段の最大通信速度情報を前記バスに送出する第５の手段と
を備える電子機器。
【請求項２】
　前記バスは、ＩＥＥＥ１３９４シリアルバスであり、前記第３の手段は、コンフィギュレーションＲＯＭにおける通信能力を書き込む領域である請求項１記載の電子機器。
【請求項３】
　前記第２の手段の最大通信速度情報は、３ビットのコードで表される請求項１記載の電子機器。
【請求項４】
　バスで接続された複数の電子機器間で通信を行う通信方法であって、
　物理層を処理する第１の手段と、物理層よりも上位の階層を処理する第２の手段と、前記第２の手段の最大通信速度情報を記憶した第３の手段とを有し、前記バスで接続された他の電子機器内の前記第３の手段に記憶されている前記第２の手段の最大通信速度情報を前記バスを介して読み出し、
　前記バスの初期化時に、前記第１の手段の最大通信速度情報を前記バスに送出するようにした通信速度情報通信方法。
【請求項５】
　前記バスは、ＩＥＥＥ１３９４シリアルバスであり、前記第３の手段は、コンフィギュレーションＲＯＭにおける通信能力を書き込む領域である請求項４記載の通信速度情報通信方法。
【請求項６】
　前記第２の手段の最大通信速度情報は、３ビットのコードで表される請求項４記載の通信速度情報通信方法。
【請求項７】
　バスで接続された複数の電子機器間で通信を行うシステムに用いる電子機器であって、物理層を処理する第１の手段と、物理層よりも上位の階層を処理する第２の手段と、前記第２の手段の最大通信速度情報を記憶した第３の手段と備え、前記バスで接続された他の電子機器内の前記第３の手段に記憶されている前記第２の手段の最大通信速度情報を、前記バスを介して読み出す手順と、前記バスの初期化時に、前記第１の手段の最大通信速度情報を、前記バスに送出する手順とを実行するプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、本発明は、例えばＩＥＥＥ１３９４シリアルバス（以下１３９４シリアルバスという）に接続して使用する電子機器、電子機器間で通信速度情報の通信を行う通信方法及びその通信手順を実行するプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
　パーソナルコンピュータ、ハードディスク装置、デジタルビデオテープレコーダ、デジタルテレビジョン受信機等の電子機器を１３９４シリアルバスで接続し、これらの電子機器間でデジタルビデオ信号、デジタルオーディオ信号、及び制御信号のパケットを送受信する通信システムが考えられている。
【０００３】
　図８に、このような通信システムの一例を示す。この図において、電子機器Ａ〜Ｅは、前述したパーソナルコンピュータやデジタルビデオテープレコーダ等である。そして、電子機器ＡとＢ、ＢとＣ、ＣとＤ、ＤとＥのポートＰの間は、１３９４シリアルバスのケーブル１１，１２，１３，１４で接続されている。以下の説明では、これらの電子機器をノードと呼ぶことにする。
【０００４】
　図８に示すように、ノードＣ以外のノードは、１３９４シリアルバスに対して通信を行うための基本構成として、物理層コントローラ（以下ＰＨＹという）１５と、リンク層コントローラ（以下ＬＩＮＫという）１６と、ＣＰＵ１７とを備えている。ノードＣは、ＰＨＹ１５のみを備えている。ＰＨＹ１５は、バスのイニシャライズ、データのエンコード／デコード、アービトレーション、バイアス電圧の出力／検出等の機能を持つ。また、ＬＩＮＫ１６は、誤り訂正符号の生成／検出、パケットの生成／検出等のリンク層コントロール機能を持つ。そして、ＣＰＵ１７はアプリケーション層の機能を持つ。
【０００５】
　１３９４シリアルバスを用いた通信システムにおいては、各ノードはバスの初期化時に自己ＩＤ（Ｓｅｌｆ＿ＩＤ）パケットと呼ばれるパケットをバスに送出する。この自己ＩＤパケットの所定のフィールドには、自分のＰＨＹが対応している通信速度情報が挿入されている。
【０００６】
　図９は、自己ＩＤパケットの構成例を示す。自己ＩＤパケットは４バイト×２（以下、４バイトを１クワドレットと呼ぶ）の長さを持っており、１クワドレット目の１７番目と１８番目のビットにスピードコード（ｓｐ）を挿入する。スピードコードの２ビットは、“００”がＳ１００（９８．３０４Ｍｂｐｓ）、“０１”がＳ１００とＳ２００（１９６．６０８Ｍｂｐｓ）、“１０”がＳ１００とＳ２００とＳ４００（３９３．２１６Ｍｂｐｓ）、“１１”が予約済を意味する。
【０００７】
　通信システム内のバスマネージャーは、各ノードの自己ＩＤパケットを受信し、それを用いて各ノード間の最大通信速度を示すスピードマップを作成する。図１０に、スピードマップの構成例を示す。このスピードマップは任意の２つのノード間の最大転送速度を示し、バスの初期化終了後は、全てのノードがこれを参照することができる。各ノードは、他のノードと通信を行う際には、このスピートマップを参照して通信速度を決定する。
【０００８】
　一般に通信システムにおいて、ある２つのノード間で通信を行う場合の最大転送速度は、通信経路上に中継するノードが存在する場合には、その中継を行うノードが対応している速度に制限されてしまう。
【０００９】
　例えば１３９４シリアルバスを用いた通信システムにおいては、中継はＰＨＹが行う。ＰＨＹは１３９４シリアルバス上のパケットを送受信する。この場合、あるノード宛でないパケットでも隣接するノードに伝搬される（これをリピートと呼ぶ）。ノードとしての通信速度はＬＩＮＫの能力で決まるが、リピートする際にはＬＩＮＫの能力には依存しない。
【００１０】
　２つのノード間で通信を行う場合に、ＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも速いか又は等しい場合には問題はない。しかし、ＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも遅い場合には、ノードが受け取ったパケットをリンク層のレベルで失ってしまう。
【００１１】
　１３９４シリアルバス上のアシンクロナス（以下Ａｓｙｎｃという）通信においては、パケットの受信側のノードがＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅ）を返さないことで、パケットの送信側のノードはエラーとなっていることが識別できる。しかし、アイソクロナス（以下Ｉｓｏという）通信では、ＡＣＫを返さないブロードキャストタイプの通信を行うため、エラーとなっていることが送信側も受信側も知ることができない。
【００１２】
　全てのノードのＬＩＮＫの性能に合わせて、これをＰＨＹの最大通信速度とすることにより、前述したエラーを回避することは可能となる。しかし、これによって、本来通信し合う２つのノード同士の性能が高くても、中継するノードに依存して通信速度を下げる必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
　本発明は、上述したような従来の技術が有する問題点に鑑みて提案されたものであって、バスで接続された複数のノード間で通信を行うシステムにおいて、他の機器から通信速度情報の読み取りを可能とした電子機器及び電子機器間で通信速度情報の通信を行う通信方法、さらにその通信手順を実行するプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【００１４】
　上述ような技術課題を解決するため、本発明に係る電子機器は、バスで接続された複数の電子機器間で通信を行うシステムに用いる電子機器であって、物理層を処理する第１の手段と、物理層よりも上位の階層を処理する第２の手段と、第２の手段の最大通信速度情報を記憶した第３の手段と、バスで接続された他の電子機器内の第３の手段に記憶されている第２の手段の最大通信速度情報を、バスを介して読み出す第４の手段と、バスの初期化時に、第１の手段の最大通信速度情報をバスに送出する第５の手段とを備える。
【００１５】
　ここでさらに具体的には、バスは、ＩＥＥＥ１３９４シリアルバスであり、第３の手段は、コンフィギュレーションＲＯＭにおける通信能力を書き込む領域である。
【００１６】
　第２の手段の最大通信速度情報は、３ビットのコードで表される。
【００１７】
　また、本発明は、バスで接続された複数の電子機器間で通信を行う通信方法であって、物理層を処理する第１の手段と、物理層よりも上位の階層を処理する第２の手段と、第２の手段の最大通信速度情報を記憶した第３の手段とを有し、バスで接続された他の電子機器内の第３の手段に記憶されている第２の手段の最大通信速度情報をバスを介して読み出し、バスの初期化時に、第１の手段の最大通信速度情報を前記バスに送出する。
【００１８】
　さらに、本発明は、バスで接続された複数の電子機器間で通信を行うシステムに用いる電子機器であって、物理層を処理する第１の手段と、物理層よりも上位の階層を処理する第２の手段と、第２の手段の最大通信速度情報を記憶した第３の手段と備え、バスで接続された他の電子機器内の前記第３の手段に記憶されている第２の手段の最大通信速度情報を、バスを介して読み出す手順と、バスの初期化時に、第１の手段の最大通信速度情報を、バスに送出する手順とを実行するプログラムを記録した記録媒体である。
【発明の効果】
【００１９】
　本発明によれば、物理層よりも上位の階層を処理する手段の最大通信速度が物理層を処理する手段の最大通信速度よりも遅いノードは、物理層を処理する手段の性能をその上位の階層を処理する手段の性能に合わせて低く示す必要がなくなる。したがって、通信システム内の任意の２つのノード間で通信の中継を行う際には、物理層を処理する手段の本来の最高性能で情報を転送することができる。また、通信システム内の任意の２つのノード間で通信を行う際には、物理層よりも上位の階層を処理する手段の性能で情報を転送することができる。
【発明を実施するための最良の形態】
【００２０】
　以下本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２１】
　図１は、本発明を適用したノードの要部構成を示すブロック図である。このノードは、ＰＨＹ１と、内部バスによりＰＨＹ１に接続されているＬＩＮＫ２と、内部バスによりＬＩＮＫ２に接続されているＣＰＵ３と、内部バスによりＣＰＵ３と接続されている各種レジスタ４、コンフィギュレーションＲＯＭ５、バッファメモリ６、ハードディスクインターフェース７、及びハードディスクインターフェース７に接続されているハードディスク装置８を備えている。また、ＰＨＹ１のポート（図示せず）には、１３９４シリアルバス９が接続されている。
【００２２】
　コンフィギュレーションＲＯＭ５は、例えば図２及び図３に示すように構成されている。なお、図３は図２の内、枠の内側に斜線を付した部分である。最初の１クワドレットには、バス情報ブロックの長さ（Ｂｕｓ＿Ｉｎｆｏ＿Ｂｌｏｃｋ＿ｌｅｎｇｔｈ）と、ＣＲＣの長さ（ＣＲＣ＿ｌｅｎｇｔｈ）と、コンフィギュレーションＲＯＭのＣＲＣ値（ｒｏｍ＿ｃｒｃ＿ｖａｌｕｅ）が書いてある。次の４クワドレットのバス情報ブロック（Ｂｕｓ＿Ｉｎｆｏ＿Ｂｌｏｃｋ）には、“１３９４”を示す情報、ノードの通信能力を示す情報、ノードにユニークなＩＤを示す情報等が書いてある。
【００２３】
　本実施の形態ではノードの通信能力を示す情報が書いてあるフィールドの内、予約済（ｒｅｓｅｒｖｅｄ）になっている全て“０”の１２ビット中の４ビットを用いてＰＨＹ及びＬＩＮＫの最大通信速度を表す。図４に示すように、１ビットのＬビットでＬＩＮＫの最大通信速度とＰＨＹの最大通信速度との大小関係を示す。
【００２４】
　Ｌビットが“１”の場合にはＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも遅い。そして、その場合のＬＩＮＫの最大通信速度が次の３ビットの最大リンク速度（ｍａｘ＿ｌｉｎｋ＿ｓｐｅｅｄ）に書いてある。すなわち、“０００”でＳ１００、“００１”でＳ２００、“０１０”でＳ４００、“０１１”でＳ８００、“１００”でＳ１６００、“１０１”でＳ３２００、その他は予約済とする。
【００２５】
　Ｌビットが“１”の場合にはＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも速いか又は等しい。この場合には、ＬＩＮＫの最大通信速度を示す必要はないので、３ビットは元の予約済情報と同じ“０００”でよい。
【００２６】
　本実施の形態では、バス初期化時に自己ＩＤパケットに書いてあるＰＨＹの最大通信速度情報を見てスピードマップを作成した後、コンフィギュレーションＲＯＭを読み出し、前述したＬビットが１の場合には、必要に応じてスピートマップを修正する。以下図５のフローチャートを参照しながら説明する。
【００２７】
　まず、バスリセットが発生する（ステップＳ１）。バスリセットが発生すると、ＩＥＥＥ−１３９４−１９９５年規格書に規定されている手順により自動的に各ノードの親子関係が決まり、さらに子から順に各ノードは自己ＩＤパケットを１３９４シリアルバスに送出する（ステップＳ２）。
【００２８】
　バスマネージャーとなったノードは、各ノードが送出した自己ＩＤパケットに書いてあるＰＨＹの最大通信速度情報（スピードコード）をバッファメモリ６に蓄積し、それを用いてスピードマップを作成してレジスタ４に保存する（ステップＳ３）。なお、どのノードがバスマネージャーになるかについては、前述した規格書に詳細に記載されているので、ここでは説明を省略する。
【００２９】
　バスマネージャーとなったノードは、次に他のノードのコンフィギュレーションＲＯＭ５を読み出す（ステップＳ４）。そして、レジスタ４に保存しておいたスピードマップの内、図４のＬビットが“１”になっているノード関連する情報を最大リンク速度の値に減らす（ステップＳ５）。
【００３０】
　以上で、ＬＩＮＫの最大通信速度を考慮したスピードマップの作成が終わる。各ノードは、他のノードと通信を行う際には、バスマネージャーのレジスタ４に保存されているスピードマップを参照して通信速度を決定すればよい（ステップＳ６）。
【００３１】
　以上説明したフローチャートに対応するプログラムは、図１のハードディスク装置８に格納されており、ＣＰＵ３がハードディスクインターフェース７を介して読み出し、バッファメモリ６に展開することでこの処理を実行する。この処理に対応していない従来のノードに対しては、ハードディスク装置の記憶内容を書き換えることにより、この処理に対応するようにバージョンアップすることができる。この場合、ノードがフロッピーディスク装置を備えていれば、そのフロッピーディスク装置からＣＰＵが読み込んでハードディスク装置の記憶内容を書き換える。フロッピーディスク装置を備えていなくても、１３９４シリアルバスを介して外部のノードから受け取り、ハードディスク装置の記憶内容を書き換えることができる。
【００３２】
　次に、図６の通信システムを例にしてスピートマップの作成及び修正について説明する。この通信システムは、５個のノードから構成されている。そして、ノード＃０〜＃３は、ＰＨＹの最大通信速度とＬＩＮＫの最大通信速度が等しく、それぞれＳ１００、Ｓ２００、Ｓ２００、Ｓ４００である。つまり、これらのノード内のコンフィギュレーションＲＯＭ内のＬビットは“０”である。一方、ノード＃４はＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも遅く、それぞれＳ２００、Ｓ４００である。つまり、このノードのコンフィギュレーションＲＯＭ内のＬビットは“１”であり、最大リンク速度は“００１”である。
【００３３】
　したがって、図５のステップＳ３までの処理により作成されるスピードマップは図７の（１）に示す通りである。すなわち、ノード＃０はＰＨＹの最大通信速度がＳ１００であるから、他のノード＃１〜＃４と通信する際の最大通信速度はＳ１００となる。ノード＃１はＰＨＹの最大通信速度がＳ２００であるから、ノード＃２〜＃４と通信する際の最大通信速度はＳ２００となる。ノード＃２についても同様である。ノード＃３とノード＃４は、共にＰＨＹの最大通信速度がＳ４００であるから、互いの間の最大通信速度はＳ４００となる。
【００３４】
　そして、図５のステップＳ５までの処理により修正されたスピードマップは、図７の（２）に示すようになる。すなわち、ノード＃４はＬＩＮＫの最大通信速度がＳ２００でＰＨＹの最大通信速度のＳ４００よりも遅いため、ノード＃４とノード＃３との間の最大通信速度がＳ２００に修正されている。
【００３５】
　このように、本実施の形態では、従来よりも信頼性の高いスピードマップを作成することが可能となる。しかも、コンフィギュレーションＲＯＭ内のバスマネージャーが必ず読み出す領域にＬＩＮＫの最大通信速度情報を書き込んでいるため、この最大通信速度情報を獲得するために通信回数が増える等の負担は発生しない。さらに、ＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも遅いノードは、ＰＨＹの性能をＬＩＮＫに合わせて低く示す必要がなくなり、本来の最高性能で中継を行うことが保証される。
【００３６】
　なお、以上の説明ではバスマネージャーがスピードマップを作成するものとして説明した。バスマネージャーのスピードマップは他のノードが読みにくるので、バスマネージャーはスピードマップを作成することが必要である。一方、バスマネージャー以外のノードも、同様にしてスピードマップを作成してもよい。バスマネージャー以外のノードは、スピードマップを作成しておけば、他のノードとの間で通信を行う際に、自分が作成したスピードマップを見ればよく、バスマネージャーのスピードマップにアクセスする必要はなくなる。
【００３７】
　また、以上の説明は、１３９４シリアルバスに接続して用いるノードのＬＩＮＫの最大通信速度がＰＨＹの最大通信速度よりも遅いときに、それをスピードマップに反映させる場合について説明したが、本発明は１３９４シリアルバス以外のバスに接続して用いるノードに対しても適用できる。また、リンク層よりも上位の階層の最大通信速度が物理層或いはリンク層の最大通信速度よりも遅いノードに対しても同様に適用できる。
【図面の簡単な説明】
【００３８】
【図１】本発明を適用したノードの要部構成を示すブロック図である。
【図２】コンフィギュレーションＲＯＭの構成例を示す図である。
【図３】図２に示すコンフィギュレーションＲＯＭの先頭からバス情報ブロックまでの構成を示す図である。
【図４】ＰＨＹ及びＬＩＮＫの最大通信速度を表すビットを示す図である。
【図５】本発明を適用したノードにおける通信速度決定までの手順を示すフローチャートである。
【図６】本発明を適用した通信システムの構成例を示す図である。
【図７】図６の通信システムにおいて作成されるスピードマップを示す図である。
【図８】１３９４シリアルバスで接続された通信システムの例を示す図である。
【図９】自己ＩＤパケットの構成例を示す図である。
【図１０】従来のスピードマップの構成例を示す図である。
【符号の説明】
【００３９】
　１　ＰＨＹ、　２　ＬＩＮＫ、３　ＣＰＵ、　４　レジスタ、　５　コンフィギュレーションＲＯＭ、　６　バッファメモリ、　９　１３９４シリアルバス
【図１】
2004080824.tif 000003
【図２】
2004080824.tif 000004
【図３】
2004080824.tif 000005
【図４】
2004080824.tif 000006
【図５】
2004080824.tif 000007
【図６】
2004080824.tif 000008
【図７】
2004080824.tif 000009
【図８】
2004080824.tif 000010
【図９】
2004080824.tif 000011
【図１０】
2004080824.tif 000012