(57)【要約】【課題】機器間でコネクションが確立されているときにバスの初期化が行われても、速やかにコネクションを再確立する。【解決手段】バスの初期化が行われたとき、ＳＴ１１では、読み出しノード番号を設定する。ＳＴ１２では、読み出しノード番号の機器からＧＵＩＤ＿Ｌを読み出し、目的ＧＵＩＤ＿Ｌと一致するとＳＴ１４で判別されたときには、ＳＴ１５でＧＵＩＤ＿Ｈを読み出す。このＧＵＩＤ＿Ｈが目的ＧＵＩＤ＿Ｈと一致するとＳＴ１７で判別されたときには、読み出しノード番号の機器とコネクションの再確立をＳＴ１９で行う。ＧＵＩＤ＿ＬやＧＵＩＤ＿Ｈが一致しないときは、ＳＴ２１で読み出しノード番号を更新する。ＳＴ１４，１６では、ＧＵＩＤ＿ＬやＧＵＩＤ＿Ｈをノード番号と関係付けて記憶する。コネクションの再確立後、ＳＴ２２で残りのＧＵＩＤをＳＴ２２で読み出し、読み出したＧＵＩＤをノード番号と関係付けてＳＴ２３で記憶する。【選択図】        図６
2004260738.tif 000002
【特許請求の範囲】
【請求項１】
バスの初期化が行われたときに前記バスに接続されている機器毎に割り当てられた管理情報を用いて、前記バスに接続されている機器とのデータ伝送を行うネットワーク機器において、
前記バスを介してデータ伝送を行うインタフェース手段と、
前記管理情報と、前記バスに接続されている機器毎に保持している機器情報とを関係付けて記憶する記憶手段と、
前記バスの初期化が行われた場合、前記インタフェース手段を制御して、新たに割り当てられた前記管理情報を用いて、前記バスに接続されている機器から前記機器情報を読み出し、順次読み出される前記機器情報と所望の機器が保持している機器情報との一致を検出することで、前記所望の機器に対して新たに割り当てられた管理情報を判別するとともに、前記読み出される機器情報を用いて前記記憶手段の情報を更新する制御手段を有することを特徴とするネットワーク機器。
【請求項２】
前記機器情報は、複数の識別情報で構成されており、
前記制御手段は、前記機器情報の読み出しを前記識別情報に応じて分割して行い、読み出した前記識別情報が所望の機器の識別情報と一致したとき、読み出す前記識別情報の切換を行い、前記複数の識別情報の一致を検出することで、前記所望の機器に対して新たに割り当てられた管理情報を判別することを特徴とする請求項１記載のネットワーク機器。
【請求項３】
前記制御手段は、機器間で相違する確率が高い識別情報から読み出しを行うことを特徴とする請求項２記載のネットワーク機器。
【請求項４】
前記制御手段は、コネクションの確立中に前記バスの初期化が行われた場合、順次読み出される前記機器情報と前記コネクションの確立中であった機器が保持している識別情報との一致を検出することで、前記コネクションの確立中であった機器に対して新たに割り当てられた管理情報を判別し、前記新たに割り当てられた管理情報が判別されたとき該管理情報を用いてコネクションの再確立を行うことを特徴とする請求項１記載のネットワーク機器。
【請求項５】
バスの初期化が行われたときに前記バスに接続されている機器毎に割り当てられた管理情報を用いてデータ伝送を行うネットワーク通信方法において、
前記バスの初期化が行われた場合、新たに割り当てられた前記管理情報を用いて、前記バスに接続されている機器から前記機器毎に保持している機器情報を読み出し、順次読み出される前記機器情報と所望の機器が保持している機器情報との一致を検出することで、前記所望の機器に対して新たに割り当てられた管理情報を判別するとともに、前記読み出される機器情報と前記新たに割り当てられた管理情報とを関係付けて記憶することを特徴とするネットワーク通信方法。
【請求項６】
前記機器情報は、複数の識別情報で構成されており、
前記機器情報の読み出しは、前記識別情報に応じて分割して行い、読み出した前記識別情報が所望の機器の識別情報と一致したときに読み出す前記識別情報の切換を行い、前記複数の識別情報の一致を検出することで、前記所望の機器に対して新たに割り当てられた管理情報を判別することを特徴とする請求項５記載のネットワーク通信方法。
【請求項７】
前記識別情報の読み出しは、機器間で相違する確率が高い識別情報から読み出すことを特徴とする請求項６記載のネットワーク通信方法。
【請求項８】
コネクションの確立中に前記バスの初期化が行われた場合、順次読み出される前記機器情報と前記コネクションの確立中であった機器が保持している識別情報との一致を検出することで、前記コネクションの確立中であった機器に対して新たに割り当てられた管理情報を判別し、前記新たに割り当てられた管理情報が判別されたとき該管理情報を用いてコネクションの再確立を行うことを特徴とする請求項５記載のネットワーク通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワーク機器およびネットワーク通信方法に関する。詳しくは、バスの初期化が行われたときに前記バスに接続されている機器毎に割り当てられた管理情報を用いてデータ伝送を行うとき、バスの初期化が行われた場合には、新たに割り当てられた管理情報を用いて、バスに接続されている機器から機器情報を読み出し、順次読み出される機器情報と所望の機器が保持している機器情報との一致を検出することで、所望の機器に対して新たに割り当てられた管理情報を判別するとともに、読み出される機器情報と新たに割り当てられた管理情報とを関係付けて記憶するものである。
【０００２】
【従来の技術】
従来、複数の機器間で映像や音声等のデータを伝送する場合、高速シリアルインタフェースバス、例えばＩＥＥＥ１３９４として規格化されているシリアルインタフェースバス（以下「１３９４シリアルバス」という）を用いてネットワークを構成し、このネットワークを利用して通信が行われている。１３９４シリアルバスでは、データの伝送モードとして、リアルタイムデータ伝送用のアイソクロノス（Ｉｓｏｃｈｒｏｎｏｕｓ）伝送および非同期データ伝送用のアシンクロナス（Ａｓｙｎｃｒｏｎｏｕｓ）伝送の２つの伝送モードが設けられている。また、１つの１３９４シリアルバス上には、バスを介して通信を行うことができるネットワーク機器が最大６３台まで接続可能とされており、バス上の機器に対して管理情報であるノード番号を割り当てて、このノード番号を利用してデータ伝送を行うことで、所望の機器間で正しくネットワーク通信を行うことが出来るようになされている。
【０００３】
バス上の各機器は、他の機器の接続状態を監視して、新たな機器の接続や接続されている機器の取り外しを検出したときにバスリセット信号をバス上に出力してバスの初期化を行う。また、バス上の機器の変更が生じてバスの初期化が行われたとき、変更後のバス上の機器に対してノード番号を動的に再度割り当てる処理が行われる。
【０００４】
さらに、バスが初期化されたときにノード番号が変更されてしまうことから、ノード番号のみでは機器を正しく管理することができない。このため、１３９４シリアルバスでは、機器固有の機器情報、例えばＩＥＥＥ１２１２で規定されたＣＳＲ（Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ）におけるコンフィグレーションＲＯＭ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ＲＯＭ）の「Ｂｕｓ  ｉｎｆｏｒｍａｔｉｏｎ  ｂｌｏｃｋ」に記憶されているＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  ＩＤ）を用いて個々の機器を識別し、ＧＵＩＤとノード番号とを利用してバス上の機器を管理している。この機器情報であるＧＵＩＤは、複数の識別情報すなわち２４ビットのベンダーＩＤ（Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤ）と４０ビットのチップＩＤ（Ｃｈｉｐ＿ＩＤ＿Ｌｏ，Ｃｈｉｐ＿ＩＤ＿Ｈｉ）で構成されており、チップＩＤは３２ビットの「Ｃｈｉｐ＿ＩＤ＿Ｌｏ」と８ビットの「Ｃｈｉｐ＿ＩＤ＿Ｈｉ」で構成されている。
【０００５】
ここで、バス上の所望の機器を検出する方法が例えば特許文献１に記載されている。この特許文献１では、ノード番号を用いてＧＵＩＤの読み出しを行い、読み出したＧＵＩＤが所望の機器のＧＵＩＤと一致するまで、ノード番号を変更しながらＧＵＩＤを読み込み、所望の機器に割り当てられたノード番号を検出する方法が従来の技術に示されている。また、任意の機器が他の機器を検出する際、他の機器は自機のネットワーク上のアドレスを示す第１のタグおよび自機の種類を識別するための第２のタグをネットワーク上に送り出し、任意の機器は、ネットワーク上に送出された第１のタグと第２のタグを受信することで、他の機器を検出することが特許文献１の発明の実施の形態に示されている。
【０００６】
【特許文献１】
特開２０００−２２４１９３号公報
【０００７】
【発明が解決しようとする課題】
ところで、バスに接続されている機器間でデータ伝送を行うたびに所望の機器の検出を行うものとすると、速やかにデータ伝送を開始することができない。また、所望の機器を検出するためにバスが使用されるので、データ伝送中に他の機器で所望の機器の検出が行われてバスが使用されると、データ伝送に時間を要してしまう。このため、バスの初期化が行われたとき、バスに接続されている全ての機器からＧＵＩＤを読み出してノード番号と関係付けて記憶し、この記憶された情報を参照することで、データ伝送を行うたびに所望の機器の検出を行わなくとも正しく所望の機器とのデータ伝送を行うことが可能とされている。
【０００８】
また、映像や音声等のリアルタイムデータの伝送に用いられるアイソクロノス伝送においては、送信側と受信側との機器間でチャネル番号やデータ転送レートを設定することにより仮想的な信号経路を形成して、機器間のコネクションを確立する。その後、リアルタイムデータをアイソクロノスパケット化して、確立されたコネクションを介して所定の時間間隔で伝送することにより、映像や音声の途切れを生じさせることなくリアルタイムデータの伝送が可能とされている。また、バスの初期化が行われて送信側と受信側との機器のコネクションが解除されても１秒間は、送受信動作を継続するようになされている。このため、１秒以内に再度コネクションを確立すればデータ伝送を維持できるので、タイムアウトとなって映像や音声が途切れてしまうことを防止できる。
【０００９】
ここで、多くの機器がバスに接続されていた場合、バスの初期化が行われてバスに接続されている全ての機器からＧＵＩＤを読み出してノード番号と関係付けて記憶し、この記憶された情報を参照してコネクションが確立されていた機器のノード番号を判別すると、ノード番号の判別までに時間を要してしまい、送受信動作が継続されている間にコネクションを確立できない。すなわち、リアルタイムデータの伝送が維持できなくなって、映像や音声が途切れてしまう。
【００１０】
さらに、バスに接続される機器は、６４ビット単位でＧＵＩＤを読み出すことができない機器もある。このため、６４ビット単位でＧＵＩＤの読み出しを行うことができないときには、ＧＵＩＤを分割して読み出す処理を再度行わなければならず、ＧＵＩＤの読み出しに時間を要してしまう。
【００１１】
また、特許文献１の発明のように、他の機器から自機のネットワーク上のアドレスを示す第１のタグおよび自機の種類を識別するための第２のタグをネットワーク上に送出する場合、バスの初期化が行われると、ネットワーク上の各機器から、自機のネットワーク上のアドレスを示す第１のタグおよび自機の種類を識別するための第２のタグをネットワーク上に送出する処理が行われる。しかし、ネットワーク上に自機のネットワーク上のアドレスを示す第１のタグおよび自機の種類を識別するための第２のタグを送出する際には、バスの使用権を取得するためのアービトレーション（ａｒｂｉｔｒａｔｉｏｎ）を使ってパケット単位で送信が行われる。このため、バスの初期化が行われてバス上の各機器から自機の第１のタグや第２のタグを送出する要求が同時になされてしまい、バスの使用権を取得できないと、所望の機器の検出に時間を要してしまう。
【００１２】
そこで、この発明では、バスの初期化が行われたときに所望の機器を速やかに判別することができるとともに、バスに接続された機器の機器情報を取得することができ、コネクションの確立中にバスの初期化が行われても速やかにコネクションを再確立できるネットワーク機器およびネットワーク通信方法を提供するものである。
【００１３】
【課題を解決するための手段】
この発明に係るネットワーク機器は、バスの初期化が行われたときにバスに接続されている機器毎に割り当てられた管理情報を用いて、バスに接続されている機器とのデータ伝送を行うネットワーク機器であって、バスを介してデータ伝送を行うインタフェース手段と、管理情報とバスに接続されている機器毎に保持している機器情報とを関係付けて記憶する記憶手段と、バスの初期化が行われた場合、インタフェース手段を制御して、新たに割り当てられた管理情報を用いて、バスに接続されている機器から機器情報を読み出し、順次読み出される機器情報と所望の機器が保持している機器情報との一致を検出することで、所望の機器に対して新たに割り当てられた管理情報を判別するとともに、読み出される機器情報を用いて記憶手段の情報を更新する制御手段を有するものである。
【００１４】
またネットワーク通信方法は、バスの初期化が行われたときにバスに接続されている機器毎に割り当てられた管理情報を用いてデータ伝送を行うネットワーク通信方法において、バスの初期化が行われた場合、新たに割り当てられた管理情報を用いて、バスに接続されている機器から機器毎に保持している機器情報を読み出し、順次読み出される機器情報と所望の機器が保持している機器情報との一致を検出することで、所望の機器に対して新たに割り当てられた管理情報を判別するとともに、前記読み出される機器情報と新たに割り当てられた管理情報とを関係付けて記憶するものである。
【００１５】
この発明においては、バスの初期化が行われたとき、新たに割り当てられた管理情報を用いて、バスに接続されている機器から機器毎に保持している機器情報の読み出しが行われる。ここで、機器情報が複数の識別情報で構成されているときには、機器情報の読み出しが識別情報に応じて分割して行われて、機器間で相違する確率が高い識別情報から読み出される。この読み出された識別情報と、所望の機器例えばコネクションの確立中であった機器で保持している識別情報との一致が検出されて、一致したときには読み出す識別情報の切換が行われ、複数の識別情報の一致を検出することで、コネクションの確立中であった機器に対して新たに割り当てられた管理情報が判別される。また、読み出された機器情報と新たに割り当てられた管理情報とが関係付けて記憶される。
【００１６】
【発明の実施の形態】
以下、図を参照しながら、この発明の実施の一形態について説明する。図１は、高速シリアルインタフェース例えば１３９４シリアルバス１０を用いて、複数のネットワーク機器例えば画像表示装置であるテレビジョン装置１００や撮像装置であるビデオカメラ１０１、信号記録再生装置であるビデオテープレコーダ１０２，１０３やハード・ディスク装置１０４，１０５を接続した場合を示している。
【００１７】
図２は、１３９４シリアルバスに接続される機器の構成を示している。１３９４インタフェース部２０は、機器を１３９４シリアルバス１０に接続するためのものである。１３９４インタフェース部２０の物理層コントロール部２１は、機器間を接続するバスの初期化やバスの使用権の調停や、後述するリンク層コントロール部２２から供給された送信データのエンコード処理を行い、シリアル伝送信号を生成して１３９４シリアルバス１０上に出力する。また受信したシリアル伝送信号のデコード処理を行い、得られた受信データをリンク層コントロール部２２に供給する。また、物理層コントロール部２１は、リンク層コントロール部２２との間で各種制御信号の通信等を行う。
【００１８】
リンク層コントロール部２２は、内部バス３０と接続されている。また、リンク層コントロール部２２は各種レジスタを有している。ここで、内部バス３０を介してリンク層コントロール部２２のレジスタに送信するデータが書き込まれると、この書き込まれたデータをパケット化して物理層コントロール部２１に送信データとして供給する。また、物理層コントロール部２１より供給された受信データから必要なデータを取り出して、レジスタに書き込む。このレジスタに書き込まれたデータは内部バス３０を介して読み出される。さらに、リンク層コントロール部２２は、機器固有のＧＵＩＤを記憶したレジスタを有しており、ＧＵＩＤが要求されたときにはレジスタからＧＵＩＤを読み出して、物理層コントロール部２１を介して出力する。また、リンク層コントロール部２２は、データの誤り訂正処理等も行う。
【００１９】
内部バス３０には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて構成された制御部３１やメモリ３２、各機器の機能ブロック３３すなわちテレビジョン装置の機能を果たすためのテレビジョンブロック、ビデオカメラの機能を果たすためのカメラブロックや撮影信号の記録再生を行う信号記録再生ブロック、テープレコーダの機能を果たすための信号記録再生ブロック、磁気ディスクを用いて信号の記録再生を行うＨＤＤ記録再生ブロック等が接続される。
【００２０】
制御部３１は、１３９４インタフェース部２０を制御して、１３９４シリアルバス１０上の機器からＧＵＩＤを読み出し、この読み出した機器情報であるＧＵＩＤと、機器に管理情報として割り当てられたノード番号とを関係付けてメモリ３２に記憶させる。また、機能ブロック３３の動作を制御して、機器の動作を所望の動作とする。さらに、１３９４シリアルバス１０上の機器とデータ伝送を行う際には、メモリ３２に記憶されている情報を利用して、所望の機器とのデータ伝送を行う。
【００２１】
図３は、１３９４シリアルバスにおけるアドレス空間を示している。アドレス空間は、６４ビットの固定的に割り振られたアドレス空間が利用される。上位１６ビットは、ノード番号（Ｎｏｄｅ＿ＩＤ）であり、ノード番号の上位１０ビットは「ｂｕｓ＿ＩＤ」、下位６ビットは「ｐｈｙｓｉｃａｌ＿ＩＤ」と呼ばれる。この「ｂｕｓ＿ＩＤ」は、バスを識別するためのものである。なお、「ｂｕｓ＿ＩＤ」が１０２３であるときにはローカルバスを示しており、機器が直接接続しているバスを指定するものとされる。
「ｐｈｙｓｉｃａｌ＿ＩＤ」はノードを識別するためのものであり、１つのバスに６３台の機器を接続可能とするとともに、「ｐｈｙｓｉｃａｌ＿ＩＤ」が６３であるときにはブロードキャストとして全ての機器を指定するものとされる。
【００２２】
残りの４８ビットは、機器内のアドレスを示しており、初期メモリ空間、プライベート空間、レジスタ空間に分けられる。このレジスタ空間は、機器間の情報交換で使用されるものであり、図４に示すように、ＩＥＥＥ１２１２（１２１２ｒ）として規格化されたＣＳＲ（Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ）アーキテクチャのためのコアレジスタ空間と、シリアルバス用の空間、各ノードの機能を表すためのコンフィグレーションＲＯＭ空間、およびコマンドの送受信を行うためのレジスタ等が設けられる初期ユニット空間で構成される。
【００２３】
コンフィグレーションＲＯＭ空間には、Ｒｏｍ＿ＨｅａｄｅｒやＢｕｓ＿Ｉｎｆｏ＿Ｂｌｏｃｋ、Ｒｏｏｔ＿Ｄｉｒｅｃｔｏｒｙ等が設けられる。Ｒｏｍ＿Ｈｅａｄｅｒは、Ｒｏｍ＿Ｈｅａｄｅｒのあとに続くＢｕｓ＿Ｉｎｆｏ＿Ｂｌｏｃｋの長さをＱＵＡＤ単位で示す「ｉｎｆｏ＿ｌｅｎｇｔｈ」（１３９４シリアルバスの場合、全てのノードで４とされる）、Ｒｏｍ＿Ｈｅａｄｅｒ以降でＣＲＣにより保護する長さを示す「ｃｒｃ＿ｌｅｎｇｔｈ」及びＲＯＭのＣＲＣ値を示す「ｒｏｍ＿ｃｒｃ＿ｖａｌｕｅ」を有している。
【００２４】
Ｂｕｓ＿Ｉｎｆｏ＿Ｂｌｏｃｋは、１３９４シリアルバスであることを示すコード「”１”，”３”，”９”，”４”」に続いて、ノードのバス管理機能を示すビット「ｉｒｍｃ，ｃｍｃ，ｉｓｃ，ｂｍｃ」や機器固有のＧＵＩＤ等を有している。ビット「ｉｒｍｃ」はアイソクロノスリソースマネジャの役割を果たせるノードであるか否かを示している。ビット「ｃｍｃ」はサイクルマスターの役割を果たせるノードであるか否か、ビット「ｉｓｃ」はアイソクロノス伝送を行うことができるノードであるか否か、ビット「ｂｍｃ」はバスマネジャの役割を果たせるノードであるか否かをそれぞれ示している。また、同期通信時のクロック精度を示す「ｃｙｃ＿ｃｌｋ＿ａｃｃ」やパケット受け取り時の最大サイズを示す「ｍａｘ＿ｒｅｃ」、ＧＵＩＤである「Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤ，Ｃｈｉｐ＿ＩＤ＿Ｈｉ，Ｃｈｉｐ＿ＩＤ＿Ｌｏ」が設けられている。この「Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤ」は、情報機器の発売元を示す情報であり、「Ｃｈｉｐ＿ＩＤ＿Ｈｉ，Ｃｈｉｐ＿ＩＤ＿Ｌｏ」は、機器の発売元が自由に定めた情報を示している。ここで、機器の発売元は、例えば「Ｃｈｉｐ＿ＩＤ＿Ｈｉ」の情報で機器の種類を示し、同じ種類の機器であっても「Ｃｈｉｐ＿ＩＤ＿Ｌｏ」の情報で個々の機器を区別できるように情報の設定が行われている。このため、１３９４シリアルバス１０に複数の機器を接続した場合、同じ発売元の機器や同じ種類の機器を複数接続することは十分考えられることから、「Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤ，Ｃｈｉｐ＿ＩＤ＿Ｈｉ」」が機器間で相違する確率は、一般的に「Ｃｈｉｐ＿ＩＤ＿Ｌｏ」よりも低い。また、個々の機器を区別できるように設定された情報が、バスに接続されている他の機器と等しくなることは希であると考えられるので、「Ｃｈｉｐ＿ＩＤ＿Ｌｏ」が機器間で相違する確率は、一般的に「Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤ，Ｃｈｉｐ＿ＩＤ＿Ｈｉ」よりも高くなる。
【００２５】
動作開始時やノードの抜き差しが行われてトポロジーが変化したときバスの初期化を行う。図５は、バスの初期化が行われたときの動作を示すフローチャートである。ステップＳＴ１では、ツリー識別（ｔｒｅｅ  ｉｄｅｎｔｉｆｙ）を行い、バス上に接続されているノードの接続状態を解析してルートとなるノードを決定する。
【００２６】
ステップＳＴ２では、自己識別（ｓｅｌｆ−ｉｄｅｎｔｉｆｙ）を行い、ルートに決定されたノードと他のノードとの通信によって、各ノードのノード番号を順次決定する。
【００２７】
ステップＳＴ３では、他の機器をコントロールすることが可能な機器（コントローラ）によって、機器情報の取得処理を行う。
【００２８】
図６は、機器情報の取得処理を示すフローチャートである。ステップＳＴ１１では、読出ノード番号の初期設定を行い、最初に機器情報を読み出すノード番号を指定する。例えばノード番号を最小値や最大値に設定する。
【００２９】
ステップＳＴ１２では、読出ノード番号で指定された機器から、機器間で相違する確率が最も高い識別情報、例えばＧＵＩＤ＿Ｌ（＝Ｃｈｉｐ＿ＩＤ＿Ｌｏ）を読み出す。
このＧＵＩＤ＿Ｌの読み出しは、アシンクロナス伝送で機器情報の要求パケットや応答パケットを伝送して行う。
【００３０】
図７は、要求パケットの構成を示している。要求パケットは、送信先のノード番号である「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」、要求パケットと応答パケットの１対をトランザクションの一致を認識するための「ｔｌ（トランザクション・ラベルＴｒａｎｓａｃｔｉｏｎ  Ｌａｂｅｌ）」、リトライ方法に関する情報である「ｒｔ（Ｒｅｔｒｙ  ｃｏｄｅ）」、伝送されるパケットの種別を示す「ｔｃｏｄｅ（Ｔｒａｎｓａｃｔｉｏｎ  ｃｏｄｅ）」、送信パケットの優先度を示すプライオリティ「ｐｒｉ（ｐｒｉｏｒｉｔｙ）」、送信元のノード番号である「ｓｏｕｒｃｅ＿ＩＤ」、送信先ノードにおけるレジスタ空間上の目的アドレスを示すための「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」、誤り検出コードである「ｈｅａｄｅｒ＿ＣＲＣ」を有している。
【００３１】
ここで、ノード番号＝「０」の機器のＧＵＩＤ＿Ｌを、ノード番号＝「１」の機器が読み出す場合、ノード番号＝「１」の機器は、ノード番号＝「０」の機器のＧＵＩＤ＿Ｌを要求するパケットを生成して出力する。この要求パケットでは、「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」を送信先のノード番号、「ｓｏｕｒｃｅ＿ＩＤ」を送信元のノード番号とする。また、「ｔｃｏｄｅ」は要求パケットであることを示し、「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」によってＧＵＩＤ＿Ｌのアドレスを示すものとする。具体的には、「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」＝ノード番号「０」、「ｓｏｕｒｃｅ＿ＩＤ」＝ノード番号「１」、「ｔｃｏｄｅ」＝０ｘ４（０ｘは１６進数であることを示す記号で以下も同様である）、「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」＝０ｘｆｆｆｆｆ００００４０４とする。なお、パケットの生成では、「ｔｌ」，「ｒｔ」，「ｐｒｉ」の設定も行う。
【００３２】
図８は、応答パケットの構成を示している。応答パケットは、送信先のノード番号である「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」、要求パケットと応答パケットの１対をトランザクションの一致を認識するための「ｔｌ（トランザクション・ラベルＴｒａｎｓａｃｔｉｏｎ  Ｌａｂｅｌ）」、リトライ方法に関する情報である「ｒｔ（Ｒｅｔｒｙ  ｃｏｄｅ）」、伝送されるパケットの種別を示す「ｔｃｏｄｅ（Ｔｒａｎｓａｃｔｉｏｎ  ｃｏｄｅ）」、送信パケットの優先度を示すプライオリティ「ｐｒｉ（ｐｒｉｏｒｉｔｙ）」、送信元のノード番号である「ｓｏｕｒｃｅ＿ＩＤ」、要求に対する応答を示す「ｒｃｏｄｅ」、要求された情報である「ｑｕａｄｌｅｔ＿ｄａｔａ」、誤り検出コードである「ｈｅａｄｅｒ＿ＣＲＣ」を有している。
【００３３】
要求パケットの送信先であるノード番号＝「０」の機器は、要求された情報を通知する応答パケットを生成して出力する。この応答パケットでは、「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」を送信先のノード番号、「ｓｏｕｒｃｅ＿ＩＤ」を送信元のノード番号とする。
また、「ｔｃｏｄｅ」は応答パケットであることを示し、「ｒｃｏｄｅ」で応答状態、「ｑｕａｄｌｅｔ＿ｄａｔａ」は応答する情報を示すものとする。具体的には、「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」＝ノード番号「１」、「ｓｏｕｒｃｅ＿ＩＤ」＝ノード番号「０」、「ｔｃｏｄｅ」＝０ｘ６、「ｒｃｏｄｅ」＝０ｘ０、「ｑｕａｄｌｅｔ＿ｄａｔａ」＝ＧＵＩＤ＿Ｌとする。なお、パケットの生成では、「ｔｌ」，「ｒｔ」，「ｐｒｉ」の設定も行う。
【００３４】
ステップＳＴ１３では、応答パケットで示されたＧＵＩＤ＿Ｌを管理情報であるノード番号と関係付けてメモリ３２に記憶させてステップＳＴ１４に進む。
【００３５】
ステップＳＴ１４では、読み出したＧＵＩＤ＿Ｌが目的ＧＵＩＤ＿Ｌと一致するか否かを判別する。この目的ＧＵＩＤ＿Ｌは、コネクションの確立中にバスが初期化されたとき、初期化前にコネクションが確立されていた機器のＧＵＩＤ＿Ｌとする。ここで、読み出したＧＵＩＤ＿Ｌが目的ＧＵＩＤ＿Ｌと一致するときにはステップＳＴ１５に進む。また、読み出したＧＵＩＤ＿Ｌが目的ＧＵＩＤ＿Ｌと一致しないときや目的ＧＵＩＤ＿Ｌが設定されていないときにはステップＳＴ２０に進む。
【００３６】
ステップＳＴ１５では、読み出す識別情報の切り換えを行い、読出ノード番号で指定された機器から、機器間で相違する確率がステップＳＴ１２の情報の次に高い識別情報、すなわちＧＵＩＤ＿Ｈ（Ｎｏｄｅ＿Ｖｅｎｄｏｒ＿ＩＤとＣｈｉｐ＿ＩＤ＿Ｈｉ）を読み出す。このＧＵＩＤ＿Ｈの読み出しは、図７に示す要求パケットの「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」によって、ＧＵＩＤ＿Ｈのアドレスを示すものとする。具体的には「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」＝０ｘｆｆｆｆｆ００００４００とする。この場合、図８に示す応答パケットの「ｑｕａｄｌｅｔ＿ｄａｔａ」によってＧＵＩＤ＿Ｈが示される。
【００３７】
ステップＳＴ１６では、応答パケットで示されたＧＵＩＤ＿Ｈをノード番号と関係付けてメモリ３２に記憶させてステップＳＴ１７に進む。
【００３８】
ステップＳＴ１７では、読み出したＧＵＩＤ＿Ｈが目的ＧＵＩＤ＿Ｈと一致するか否かを判別する。この目的ＧＵＩＤ＿Ｈは、コネクションの確立中にバスが初期化されたとき、初期化前にコネクションが確立されていた機器のＧＵＩＤ＿Ｈとする。ここで、読み出したＧＵＩＤ＿Ｈが目的ＧＵＩＤ＿Ｈと一致するときにはステップＳＴ１８に進む。また、読み出したＧＵＩＤ＿Ｈが目的ＧＵＩＤ＿Ｈと一致しないときや目的ＧＵＩＤ＿Ｈが設定されていないときにはステップＳＴ２０に進む。
【００３９】
ステップＳＴ１８では、バスの初期化がコネクションの確立中に行われたものであるか否かを判別する。ここで、バスの初期化がコネクションの確立中に行われたものであるときにはステップＳＴ１９に進み、バスの初期化がコネクションの確立中に行われたものでないときにはステップＳＴ２２に進む。
【００４０】
ステップＳＴ１９では、ＧＵＩＤ＿ＨとＧＵＩＤ＿Ｌが一致するノード番号の機器とのコネクション再確立を行い、データの伝送を継続させてステップＳＴ２２に進む。
【００４１】
ステップＳＴ１４あるいはステップＳＴ１７からステップＳＴ２０に進むと、ステップＳＴ２０では、読み出しノード番号が最後のノード番号であるか否かを判別する。ここで、読み出しノード番号が最後のノード番号でないときにはステップＳＴ２１に進み、最後のノード番号であるときにはステップＳＴ２２に進む。
【００４２】
ステップＳＴ２１では、読み出しノード番号を次のノード番号に設定してステップＳＴ１２に戻る。
【００４３】
ステップＳＴ２２では、上述のステップＳＴ１１〜ＳＴ２１の処理では読み出されなかった残りのＧＵＩＤを読み出してステップＳＴ２３に進む。このＧＵＩＤの読み出しは、上述の図７に示す要求パケットにおいて、送信先のノード番号である「ｄｅｓｔｉｎａｔｉｏｎ＿ＩＤ」や要求する情報のアドレスを示す「ｄｅｓｔｉｎａｔｉｏｎ＿ｏｆｆｓｅｔ」を、読み出したい機器や必要とする情報に応じて設定することで行うことができる。ステップＳＴ２３では、読み出したＧＵＩＤをメモリ３２に記憶させてステップＳＴ２４に進む。
【００４４】
ステップＳＴ２４では、ＧＵＩＤの読み出しが全て完了したか否かを判別する。ここで、機器情報であるＧＵＩＤの読み出しが全て完了していないときはステップＳＴ２２に戻り、ＧＵＩＤの読み出しが全て完了したときには機器情報の取得処理を終了する。このようにしてＧＵＩＤを読み出しことにより、メモリ３２には、図９に示すようにノード番号とＧＵＩＤが関係付けられて記憶されることとなる。
【００４５】
このようにして機器情報の取得処理を終了すると、図５のステップＳＴ３からステップＳＴ４に進み、メモリ３２に記憶された情報を用いて、機器間で要求に応じたデータ伝送等の通信、例えばコントローラがバスに接続されている他の機器（ターゲット）と通信を行う。ステップＳＴ５では、バスリセット信号がバス上に出力されたか否かを判別する。ここで、バスリセット信号がバス上に出力されていないときにはステップＳＴ５に戻り、バスリセット信号がバス上に出力されたときにはステップＳＴ１に戻る。
【００４６】
このように、コネクションの確立中にバスの初期化が行われた場合、初期化前にコネクションが確立されていた機器のＧＵＩＤと等しいＧＵＩＤが読み出されたときにコネクションの再確立を行うことで、全ての機器のＧＵＩＤを読み出す前に速やかにデータの伝送を再開できるので、タイムアウトとなって映像や音声が途切れてしまうことを防止できる。
【００４７】
また、コネクションの確立中にバスの初期化が行われた場合に限らず、図６に示すフローチャートの処理を行って所望の機器のノード番号を検出し、例えばステップＳＴ１９で所望の機器とのデータ伝送を行うものとすれば、全ての機器からの機器情報の読み出しが完了する前に、所望の機器との通信を速やかに開始できる。また、読み出された機器情報は、管理情報と関係付けて記憶されるので、この記憶された情報を参照して、所望の機器の機器情報と一致した機器情報と関係付けられている管理情報を用いて、所望の機器との通信を正しく行うことができる。
【００４８】
さらに、機器情報であるＧＵＩＤを分割して読み出し、上述のようにＧＵＩＤ−Ｌが一致したときにはＧＵＩＤ−Ｈの読み出し、ＧＵＩＤ−ＬとＧＵＩＤ−Ｈが所望の機器のＧＵＩＤ−Ｌ，ＧＵＩＤ−Ｈと一致することを検出して新たに割り当てられた管理情報が判別される。このため、ＧＵＩＤをまとめて読み出すことができない機器が接続されてもＧＵＩＤの読み出しを繰り返す必要がなく、新たに割り当てられた機器情報を速やかに判別できる。また、機器間で相違する確率が最も高い識別情報を最初に読み出すので、この識別情報が一致する機器は所望の機器である確率が高くなり、所望の機器の管理情報をさらに効率よく判別できる。
【００４９】
【発明の効果】
この発明によれば、バスの初期化が行われたときには、新たに割り当てられた前記管理情報を用いて、バスに接続されている機器から機器毎に保持している機器情報を読み出し、順次読み出される機器情報と所望の機器が保持している機器情報との一致を検出することで、所望の機器に対して新たに割り当てられた管理情報を判別するとともに、読み出される機器情報と新たに割り当てられた管理情報とが関係付けて記憶される。このため、バスに接続されている全ての機器からの機器情報の読み出し完了前に、所望の機器に新たに割り当てられた管理情報を判別することができ、この判別された管理情報を用いてデータ伝送を速やかに開始できる。
【００５０】
また、機器情報が複数の識別情報で構成されているときには、機器情報の読み出しを識別情報に応じて分割して行うとともに、読み出した識別情報が所望の機器の識別情報と一致したときに読み出す識別情報の切換を行い、複数の識別情報の一致を検出することで、所望の機器に対して新たに割り当てられた管理情報が判別される。このため、機器情報をまとめて読み出すことができない機器がバスに接続されていても、個々に識別情報を読み出すことで新たに割り当てられた管理情報を判別できる。さらに、識別情報の読み出しは、機器間で相違する確率が高い識別情報から読み出されるので、所望の機器に対して新たに割り当てられた管理情報を速やかに判別することが可能となる。
【００５１】
また、コネクションの確立中にバスの初期化が行われた場合、順次読み出される機器情報とコネクションの確立中であった機器が保持している識別情報との一致を検出して、コネクションの確立中であった機器に対して新たに割り当てられた管理情報が判別されて、この管理情報を用いてコネクションの再確立が行われる。このため、バス上に多数の機器が接続された環境においてバスの初期化が行われても、タイムアウトとなることなくデータ伝送を維持することが可能となり、安定したシステムを提供できる。
【図面の簡単な説明】
【図１】１３９４シリアルバスを用いた機器接続状態を示す図である。
【図２】１３９４シリアルバスに接続される機器の構成を示す図である。
【図３】アドレス空間を説明するための図である。
【図４】レジスタ空間を説明するための図である。
【図５】バスの初期化が行われたときの動作を示すフローチャートである。
【図６】機器情報の取得処理を示すフローチャートである。
【図７】要求パケットの構成を示す図である。
【図８】応答パケットの構成を示す図である。
【図９】メモリに記憶された情報を示す図である。
【符号の説明】
１０・・・１３９４シリアルバス、２０・・・１３９４インタフェース部、２１・・・物理層コントロール部、２２・・・リンク層コントロール部、３０・・・内部バス、３１・・・制御部、３２・・・メモリ、３３・・・機能ブロック、
【図１】
2004260738.tif 000003
【図２】
2004260738.tif 000004
【図３】
2004260738.tif 000005
【図４】
2004260738.tif 000006
【図５】
2004260738.tif 000007
【図６】
2004260738.tif 000008
【図７】
2004260738.tif 000009
【図８】
2004260738.tif 000010
【図９】
2004260738.tif 000011