(57)【要約】【課題】ＩＥＥＥ１３９４シリアルバスにおいて、バスリセット時にリセット前の接続状態を確実に復元する。【解決手段】ＩＥＥＥ１３９４シリアルバスにより複数の機器をチャンネルを介して接続した際に、接続された機器のＧＵＩＤを読み出してメモリに記憶しておき、バスリセットが発生したときに、記憶したＧＵＩＤを読み出して、リセット前に接続されていた機器を特定し、当該機器に割り振られたノードＩＤに基づき、ＩＲＭに対してリソース要求を行ってバスリセット前の接続状態を復元する。接続を復元する過程で、リセット前に接続されていなかった他の機器がＩＲＭにリソース要求を出しても、それを拒否するようにする。【選択図】      図１５
2004328424.tif 000002
【特許請求の範囲】
【請求項１】
ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器と、
前記複数の電子機器のうち前記シリアルバスによってデータを伝送するように接続されている機器を特定する情報を当該機器から読み出して記憶する記憶手段と、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記シリアルバスに接続された電子機器からの接続要求を受けるか否か判断し、接続要求を受付けると判断した電子機器の接続を行い、接続要求を受付けないと判断した電子機器の接続を拒否する制御手段と、
を具備したことを特徴とする電子機器の接続制御装置。
【請求項２】
ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器と、
前記複数の電子機器のうち前記シリアルバスによってデータを伝送するように論理接続されている機器を特定する情報を当該機器から読み出して記憶する記憶手段と、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記バスリセットが発生する前に前記シリアルバスによってデータを伝送するように接続されていた機器を特定し、その機器に割り振られたノードＩＤに基づく前記シリアルバスのアイソクロノス・リソース・マネージャ（ＩＲＭ）に対するリソース要求を受けて、当該機器の前記シリアルバスによる論理接続を確立し、他の機器からのリソース要求を拒否する制御手段と、
を具備したことを特徴とする電子機器の接続制御装置。
【請求項３】
前記シリアルバスに論理接続されている複数の機器の接続優先順位情報を特定し、その順位情報を前記記憶手段に記憶させることを特徴とする請求項１または２に記載の電子機器の接続制御装置。
【請求項４】
前記制御手段は、前記他の機器からのリソース要求に対してエラー情報を返信することを特徴とする請求項２に記載の電子機器の接続制御装置。
【請求項５】
前記制御手段は、前記複数の機器の中からアイソクロノス・リソース・マネージャ（ＩＲＭ）となる機器を特定する手段を含むことを特徴とする請求項１乃至３に記載の電子機器の接続制御装置。
【請求項６】
ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器のうち前記シリアルバスによってデータを伝送するように接続されている機器を特定する情報を当該機器から読み出して記憶するステップと、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記電子機器からの接続要求を受けるか否か判定するステッブと、
接続要求を受けると判定した当該機器を前記シリアルバスによるデータ伝送を可能とすべく接続するステップと、
接続要求を拒否すると判定した機器からの接続要求を拒否するステップと、
を具備したことを特徴とする電子機器の接続制御方法。
【請求項７】
ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器のうち前記シリアルバスによってデータを伝送するように論理接続されている機器を特定する情報を当該機器から読み出して記憶するステップと、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記バスリセットが発生する前に前記シリアルバスによってデータを伝送するように接続されていた機器を特定し、その機器に割り振られたノードＩＤに基づく前記シリアルバスのアイソクロノス・リソース・マネージャ（ＩＲＭ）に対するリソース要求を受けて、当該機器の前記シリアルバスによる論理接続を確立し、他の機器からのリソース要求を拒否するステップと、
を具備したことを特徴とする電子機器の接続制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＩＥＥＥ１３９４規格に準拠したシリアルバスによって、相互に接続された複数の電子機器の接続状態を制御する接続制御装置及び接続制御方法に関し、特にバスリセット後に、元の接続状況を的確に復元できるようにした接続制御装置及び接続制御方法に関する。
【０００２】
【従来の技術】
従来、ＩＥＥＥ１３９４規格に準拠したシリアルバスで複数の電子機器、例えばＡＶ（Ａｕｄｉｏ／Ｖｉｓｕａｌ）機器を接続して、ＡＶ信号を機器間で伝送すると共に、機器の動作を制御する制御信号を伝送可能としたシステムが実用に供されている。
【０００３】
すなわち、例えば、デジタル衛星放送を受信するＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）とＤ−ＶＨＳ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｈｏｍｅ  Ｓｙｓｔｅｍ：登録商標）ＶＴＲ（Ｖｉｄｅｏ  Ｔａｐｅ  Ｒｅｃｏｒｄｅｒ）をこのシリアルバスで接続して、ＳＴＢで受信したＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）２のＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）信号をバスを経由してＤ−ＶＨＳに伝送し、さらにＤ−ＶＨＳの動作を制御する制御信号（ＡＶ／Ｃ：Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｃｏｎｔｒｏｌ  コマンド）をバスを介して伝送してＤ−ＶＨＳの動作を制御することでＴＳ信号をＤ−ＶＨＳで記録するようなシステムを構築することが可能である。
【０００４】
ＩＥＥＥ１３９４規格（以下単に１３９４と略称することもある）では、１本のバスあたり最大６３台の機器を接続することが可能で、さらに最大１０２３本のバスを扱うことが可能である。したがって理論上６４４４９台の機器を接続することが可能である。
【０００５】
一般の家庭においては、そのような膨大な台数の機器を扱うことは、ないと思われるが、それでも、ＡＶ信号を取得するためのＳＴＢ１台、ＡＶ信号を視聴するためのモニタ１台の他、数台の録画機器を接続してシステムを構築することはそれほど珍しいことではない。
【０００６】
ＩＥＥＥ１３９４規格においては、情報の送受信をハード的にノード単位で行なうように構成されており、規格に準拠した機器はこのノードを１個あるいは複数備えたモジュールを内部に具備している。
各ノードには、ソケット（ポート）が設けられており、ソケットに専用ケーブルを接続して各機器をツリー型、スター型あるいはデイジーチェーン型に接続する。また、１３９４シリアルバスには、伝送の方式として、Ａｓｙｎｃｈｒｏｎｏｕｓ（アシンクロナス）方式とＩｓｏｃｈｒｏｎｏｕｓ（アイソクロナス）方式があり、ＡＶ機器の映像及び音声を構成するデータは、リアルタイムで伝送する必要があるため、アイソクロノス方式で伝送され、ＡＶ／Ｃはアシンクロナス方式で伝送される。
【０００７】
そのように構築されたシステムにおいて、ユーザが１３９４シリアルバスに対して、新たな機器を増設（追加）したり、接続されていた機器の取り外し（削除）を行った場合には、バスリセットが実行され、一旦初期状態に戻った後で、所定の処理を経て、再び機器間の接続が行われてシステムが構築される。
【０００８】
バスリセットから、再びシステムが構築されるまでの処理は、まず各ノードがそれまで保有していた情報がクリアされ、次いで、ツリー識別処理が実行され、各ノードがどのように接続されているかの識別と、通信の管理を行うノード（ルートノード）の選択が行われる。
【０００９】
次いで、各ノードの自己識別処理が行われて、各ノードにノードＩＤが新たに割り振られ、このノードＩＤに基づいて、通信を行うためのチャンネルの確保と、チャンネルの帯域の確保が実行され、さらに、通信を行うノード間で論理接続処理が行われることで新たなシステムが構築されることになる。バスリセット発生後、復元までの時間は、ｉｓｏｃｈ＿ｒｅｓｏｕｒｃｅ＿ｄｅｌａｙとして規定で決められており１秒である。
【００１０】
新たなシステムが構築された際には、バスリセット前に、信号のやり取りをしていた２個のノードが存在していたとすると、原則的には、それがそのまま復元され、それらノードが再びチャンネルを介して接続される。すなわち接続が復元される。
【００１１】
しかしながらＩＥＥＥシリアルバス規格においては、リセット前の接続状態に復元させるということは、強制力のある規定ではなく、ｉｓｏｃｈ＿ｒｅｓｏｕｒｃｅ＿ｄｅｌａｙを守らずに、バスリセット前の状態では、信号伝送状態に接続されていない機器が、信号伝送を行うべく新たな接続を試みるということが起こる場合もあり、そのような場合には、バスリセット前の接続状態の復元が失敗に終わるということが発生する可能性がある。
【００１２】
すなわち、ＳＴＢから第１のＤ−ＶＨＳに信号を伝送して録画している最中に、バスリセットが発生した場合、ＳＴＢと第１のＤ−ＶＨＳ間の接続が復元されて録画が継続されるというのが本来の動作であるが、ＳＴＢと第１のＤ−ＶＨＳとの接続が実行されない前に、第二のＤ−ＶＨＳがＳＴＢあるいは他の機器との接続を要求して、ＳＴＢと第１のＤ−ＶＨＳとの接続の復元を阻害するということが起きる場合もある。
【００１３】
このため、機器の取り扱い説明書等で、一般ユーザに対して、録画実行中には、ＩＥＥＥシリアルバスのケーブルをたとえ動作していない機器のものであっても決して抜かないように注意を呼びかけているが、ケーブルを抜いたり、差し込んだりする動作以外にも、バスリセットが発生することがあり問題となっている。
【００１４】
すなわち、ＩＥＥＥシリアルバスは、通信速度が１００Ｍｂｐｓから４００Ｍｂｐｓで高速であるため、外部からのノイズの影響を受けやすく、それによってバスリセットが発生して、それまでの接続状態が復元できないという事故が発生することがあった。
【００１５】
従来、バスリセットが発生した際に、リセット前の接続状態を復元させるための提案は数多くなされており、例えば特許文献１あるいは特許文献２に示されているが、これら特許文献には、バスリセット後に確実に復元がされるようにすることが記述されているだけで、バスリセット後に新たに接続を試みようとする機器に対する対策は示されていない。
【００１６】
【特許文献１】
特開２００２−２１７９０８号公報（第８頁、図６）
【特許文献２】
特開２００１−５１９３５号公報（第４〜５頁、図６）
【００１７】
【発明が解決しようとする課題】
以上のように、従来のＩＥＥＥ１３９４シリアルバスにおいて、バスリセットが発生した後に、リセット前には接続されていなかった機器が接続を試みようとして、リセット前と同じ接続状態に復元するのを阻害するということがあり、その対策が強く要望されている。
【００１８】
本発明は、以上の点に対処してなされたもので、リセット前には接続されていなかった機器が接続を試みようとした場合に、その接続を阻止して、リセット前と同じ接続状態に確実に復元できるようにした電子機器の接続制御装置及び制御方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明の電子機器の接続制御装置は、ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器と、
前記複数の電子機器のうち前記シリアルバスによってデータを伝送するように接続されている機器を特定する情報を当該機器から読み出して記憶する記憶手段と、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記シリアルバスに接続された電子機器からの接続要求を受けるか否か判断し、接続要求を受付けると判断した電子機器の接続を行い、接続要求を受付けないと判断した電子機器の接続を拒否する制御手段と、
【００２０】
を具備したことを特徴とする。
本発明によれば、バスリセット発生後に、それまでデータを伝送すべく接続されていた機器を正確に特定してその接続を復元し、それ以外の機器が接続を要求してもこれを拒否するようにしたので、接続の復元を間違いなく行なうことができるものである。
【００２１】
本発明の電子機器の接続制御装置は、ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器と、
前記複数の電子機器のうち前記シリアルバスによってデータを伝送するように論理接続されている機器を特定する情報を当該機器から読み出して記憶する記憶手段と、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記バスリセットが発生する前に前記シリアルバスによってデータを伝送するように接続されていた機器を特定し、その機器に割り振られたノードＩＤに基づく前記シリアルバスのアイソクロノス・リソース・マネージャ（ＩＲＭ）に対するリソース要求を受けて、当該機器の前記シリアルバスによる論理接続を確立し、他の機器からのリソース要求を拒否する制御手段と、
【００２２】
を具備したことを特徴とする。
本発明によれば、バスリセット発生後に、それまでデータを伝送すべく接続されていた機器を正確に特定してその接続を復元し、それ以外の機器が接続を要求してもこれを拒否するようにしたので、接続の復元を間違いなく行なうことができるものである。
【００２３】
本発明の電子機器の接続制御方法は、ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器のうち前記シリアルバスによってデータを伝送するように接続されている機器を特定する情報を当該機器から読み出して記憶するステップと、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記電子機器からの接続要求を受けるか否か判定するステッブと、
接続要求を受けると判定した当該機器を前記シリアルバスによるデータ伝送を可能とすべく接続するステップと、
接続要求を拒否すると判定した機器からの接続要求を拒否するステップと、
を具備したことを特徴とする。
本発明によれば、バスリセット発生後に、それまでデータを伝送すべく接続されていた機器を正確に特定してその接続を復元し、それ以外の機器が接続を要求してもこれを拒否するようにしたので、接続の復元を間違いなく行なうことができるものである。
【００２４】
本発明の電子機器の接続制御方法は、ＩＥＥＥ１３９４シリアルバスに接続された複数の電子機器のうち前記シリアルバスによってデータを伝送するように論理接続されている機器を特定する情報を当該機器から読み出して記憶するステップと、
前記シリアルバスにバスリセットが発生した際に、前記機器特定情報を読み出し当該特定情報に基づいて、前記バスリセットが発生する前に前記シリアルバスによってデータを伝送するように接続されていた機器を特定し、その機器に割り振られたノードＩＤに基づく前記シリアルバスのアイソクロノス・リソース・マネージャ（ＩＲＭ）に対するリソース要求を受けて、当該機器の前記シリアルバスによる論理接続を確立し、他の機器からのリソース要求を拒否するステップと、
【００２５】
を具備したことを特徴とする。
本発明によれば、バスリセット発生後に、それまでデータを伝送すべく接続されていた機器を正確に特定してその接続を復元し、それ以外の機器が接続を要求してもこれを拒否するようにしたので、接続の復元を間違いなく行なうことができるものである。
【００２６】
【発明の実施の形態】
以下、図面を参照して本発明の一実施の形態を説明する。
図１は、電子機器に適用される本発明のＩＥＥＥシリアルバスの構成を模式的に示す構成図である。図に示すように、１３９４シリアルバスは、トランザクションレイヤ１１、リンクレイヤ１２、物理レイヤ１３の３つのレイヤと、それらを管理するシリアルバス管理部１４とで構成されている。
【００２７】
トランザクションレイヤ１１は、機器のアプリケーション１５から非同期（Ａｓｙｎｃｈｒｏｎｏｕｓ）の命令やデータを受付けてリンクレイヤ１２に渡すと共に、リンクレイヤ１２からの非同期データや機器の動作を制御するためのＡＶ／Ｃ（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｃｏｎｔｒｏｌ）コマンドをアプリケーション１５に渡す。また、リンクレイヤ１２の処理を利用して、リクエストパケットの送信とレスポンスパケットの送信を行なうことで、指定されたノードとアドレスに対する１つの通信処理を実行している。
【００２８】
リンクレイヤ１２は、トランザクションレイヤ１１から非同期命令やデータを受けて、パケット化して物理レイヤ１３に送り、物理レイヤ１３から非同期命令の命令やデータを受けてトランザクションレイヤ１１に送る。さらに、トランザクションレイヤ１１を介さずに、アプリケーション１５からアイソクロノス命令やデータを受けて物理レイヤ１３に送ると共に、物理レイヤ１３からのアイソクロノス命令やデータをアプリケーション１５に送る。リンクレイヤ１２は、パケット送受信のために、アドレス割り当て、データチェック、データのフレーム分けを行なう他、サイクルのコントロールも行なっている。
【００２９】
物理レイヤ１３は、他のノードとの窓口となり、データの転送あるいは受信を実行する他、ルートノードの設定、ノード間のアービトレーションも扱う。また、物理レイヤ１３は、コネクタ、ケーブル等の機械的インターフェースの規定、リンクレイヤ１２が使用する信号の符号化／復号化、信号レベル等の電気的インターフェースの規定、通信クロックの再同期、バスの初期化検出等接続状態の監視を行なっている。
【００３０】
シリアルバス管理部１４は、各レイヤ全体の制御を行なうもので、バスマネージャ１６、アイソクロノス・リソースマネージャ（ＩＲＭ）１７、ノードコントローラ１８で構成され、それぞれ各レイヤと通信を行なう。また、バスマネージャ１６、ＩＲＭ１７及びノードコントローラ１８はそれぞれレジスタ（ＣＳＲ：Ｃｏｎｔｒｏｌ  ａｎｄ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒ）１６ｒ、１７ｒ及び１８ｒを備えている。
【００３１】
アプリケーション１５には、アプリケーションを制御するためのＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１９とメモリ２０が接続されている。メモリ２０は、アプリケーションの処理を実行するワークエリアとして働く他、ＩＥＥＥ１３９４シリアルバスで接続される各機器をユニークに特定するＧＵＩＤ（（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を記憶する働きをするが、その詳細については後述する。
【００３２】
トランザクションレイヤ１１とシリアルバス管理部１４は、ファームウエアで構成され、リンクレイヤ１２と物理レイヤ１３はハードウェアとして構成される。
図２及び図３に、実際にシリアルバスに接続される機器の状態を模式的に示す。各機器は、シリアルバスに対して、論理的な接続を行なう「プラグ」という仮想的な概念で接続される。プラグは入力プラグと出力プラグがあり、それぞれ複数持つことが可能である。これらプラグにそれぞれ対応するようにレジスタ（Ｐｌｕｇ  Ｃｏｎｔｒｏｌ  Ｒｅｇｉｓｔｅｒ）が設けられる。レジスタは、入力プラグに対応するｉＰＣＲと、出力プラグに対応するｏＰＣＲがある。これらＰＣＲはＣＳＲのアドレス空間にマッピングされる。
【００３３】
機器の接続方法は２通りあり、ポイント−ポイント接続（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｃｏｎｎｅｃｔｉｏｎ）とブロードキャスト接続（Ｂｒｏａｄｃａｓｔ  Ｃｏｎｎｅｃｔｉｏｎ）がある。ポイント−ポイント接続は、例えば図２に示すようにチャンネルＸを介して機器ＡのｏＰＣＲと機器ＢのｉＰＣＲ間を接続したり、機器ＡのｏＰＣＲと機器ＣのｉＰＣＲ間を接続することである。
【００３４】
また、ブロードキャスト接続は、図３に示すようにチャンネルＹと機器ＡのｏＰＣＲ間の接続、あるいはチャンネルＹと機器ＢのｉＰＣＲ間の接続、チャンネルＹと機器ＣのｉＰＣＲ間の接続を指し、チャンネルとｏＰＣＲとの接続をｂｒｏａｄｃａｓｔ  ｏｕｔ  ｃｏｎｎｅｃｔｉｏｎ（Ｂｏｕｔ）、チャンネルとｉＰＣＲとの接続をｂｒｏａｄｃａｓｔ  ｉｎ  ｃｏｎｎｅｃｔｉｏｎ（Ｂｉｎ）と称す。
【００３５】
さて、実際に機器を接続してデータの伝送を行なわせるには、ＡＶ機器においては、リアルタイムでの伝送が必要であるため伝送時間が保証されるアイシンクロナス伝送で行なう。
通常は、機器の電源が投入されると、まず、パワーリセット処理が実行され、バスの初期化が行なわれる。次に、ツリー識別により接続された各ノードをツリー状に接続したものとして扱えるように識別する。この際、適切な一つのノードを選択し、それをルートとして他のノードが枝に繋がる道筋を識別する。
【００３６】
すなわち、各ノードは、図４に示すように接続状態に応じて、２つ以上のノードに接続されたもの［枝］（ｂｒａｎｃｈ）と１つのノードにのみ接続されたもの［葉］（ｌｅａｆ）及他のノードと接続されておらず孤立しているものの３通りに分けられる。図４においては、ノードＢとノードＣが［枝］であり、ノードＡ，Ｄ，Ｅは［葉］である。各ノードはそれぞれ１〜８個のポートＰが設けられており、ポートＰを介して他のノードと接続される。
【００３７】
ルートとなるノードを選択する処理は次のとおりである。各ノードのポートは、ノード選択処理の過程で、ノード側に接続されるｐａｒｅｎｔ（親）ポートと、ノードとは逆側に接続されるｃｈｉｌｄ（子）ポートと、全く接続されないｏｆｆにラベル付けされるが、リセット直後はラベル付けはされておらず未確定となっている。
【００３８】
各ノードの内、ラベルが未確定なポートが１個のノードは、そのポートが親に接続されるｐａｒｅｎｔポートであることを宣言するｐａｒｅｎｔ＿ｎｏｔｉｆｙを接続先のポートに出力する。図４の例では、まず、ノードＡ、ノードＤ、ノードＥが、それぞれのポートＰ１からｐａｒｅｎｔ＿ｎｏｔｉｆｙを接続先のポートに出力し、それらを受け取ったノードＢ、ノードＣは、それらが出力されたポートへｃｈｉｌｄ＿ｎｏｔｉｆｙを送り返す。それによっノードＡ，Ｄ，Ｅのポートがｐａｒｅｎｔポートとラベル付けられ、それらと接続されたノードＢとノードＣのポートがｃｈｉｌｄポートとラベル付けられる。
【００３９】
その結果ノードＢとＣは、互いに未確定のポートが１個残ったので、そのポートからｐａｒｅｎｔ＿ｎｏｔｉｆｙを出力することができるが、先にｐａｒｅｎｔ＿ｎｏｔｉｆｙを出力したほうがｐａｒｅｎｔポートになり、ｐａｒｅｎｔ＿ｎｏｔｉｆｙ  を受けｃｈｉｌｄ＿ｎｏｔｉｆｙを送り返した方がｃｈｉｌｄポートとなる。そして全てのポートがｃｈｉｌｄポートになったノードがルートノードとなる。図４の例では、ノードＢが全てのポートがｃｈｉｌｄポートにラベル付けられてルートノードとなる。
【００４０】
ノードがｐａｒｅｎｔ＿ｎｏｔｉｆｙを送信するまでの待ち時間は、調整によって設定することができ、したがって特定のノードがルートに選択されるように設定することは可能である。待ち時間は、各ノードが持つ変数であるＳＴＡＴＥ＿ＳＥＴ．ｆｏｒｃｅ＿ｒｏｏｔのビットを変えることによって調整できる。ＳＴＡＴＥ＿ＳＥＴは、ＣＳＲに組み込まれている。
【００４１】
ツリーの識別処理が終了したら、自己識別処理に移り、各ノードは、ルートノードの制御の下に、自らを識別するＩＤとしてのＰｈｙｓｉｃａｌ＿ＩＤを決定する。Ｐｈｙｓｉｃａｌ＿ＩＤは、最も早くｓｅｌｆ−ＩＤパケットを送ったノードから順に割り当てられもので、ｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔのカウント順に設定される。ｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔのためのカウンタは各ノードに設けられており、初期状態では、リセットによって値は全てゼロになっている。
【００４２】
具体的処理は、図５に示すように、まずルートノードＢが自らのポート番号の最も小さいポートＰ１に接続されているノードＡに、ｓｅｌｆ−ｉｄｅｎｔｉｆｙを促すｇｒａｎｔ（送信許可信号）を送り、他のポート全てには、接続されたノードを受信状態に設定するためのｄａｔａ＿ｐｒｅｆｉｘを送る。
【００４３】
ｇｒａｎｔが送られたノードは、未確定の自分の最小番号のポートからｇｒａｎｔを送るが、図５の場合には、ノードＡは他のポートＰ２，Ｐ３がいずれもオフでｇｒａｎｔを送るノードが存在しないため、ｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔ＝０を自分のノードＩＤとし、全ノードに対してｄａｔａ＿ｐｒｅｆｉｘを送ってから、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを送信する。
【００４４】
他のノードは、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを受信すると、それぞれｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔを１増やす。ノードＡは、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔ  の送信が完了すると、自分と自分に接続された他のポート（ノードＡの場合は他のポートなし）のｓｅｌｆ−ｉｄｅｎｔｉｆｙ  が完了したことを示すｉｄｅｎｔ＿ｄｏｎｅ  をルートノードＢに対して送る。
【００４５】
次にルートノードＢが、ポート番号Ｐ２に接続されたノードＣのポートにｇｒａｎｔを送り、ノードＣはこれを受けて、自分の未確定の最小ポートＰ２からｇｒａｎｔ  を出力する。ノードＥはそれを受けて、自分の未確定の最小ポートにｇｒａｎｔを送ろうとするが、対象となるポートが存在しないため、ｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔ＝１を自分のノードＩＤとし、全ノードに対してｄａｔａ＿ｐｒｅｆｉｘを送ってから、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを送信する。他のＩＤ未確定のノードは、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを受信すると、それぞれｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔを１増やす。
【００４６】
ルートノードＢは、ポートＰ２にｉｄｅｎｔ＿ｄｏｎｅが送られて来ないため、再度ポートＰ２にｇｒａｎｔ  を送る。それを受けてノードＣは次のポートＰ３からｇｒａｎｔ  を出力し、それによって、ノードＤがｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔ＝２を自分のノードＩＤとし、全ノードに対してｄａｔａ＿ｐｒｅｆｉｘを送ってから、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを送信する。他のＩＤ未確定のノードは、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを受信すると、それぞれｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔを１増やす。
【００４７】
ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔ  の送信が完了すると、ノードＣは、ｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔ＝３を自分ノードＩＤとしてｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを送り、さらに自分と自分に接続された他のポートのｓｅｌｆ−ｉｄｅｎｔｉｆｙ  が完了したことを示すｉｄｅｎｔ＿ｄｏｎｅ  をノードＢに対して送る。ノードＢは自分の全てのポートにｉｄｅｎｔ＿ｄｏｎｅが送られてきたことを検出すると、最後にノードＢ自身も、ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔを送って処理を終了する。この結果、ノードＢがｓｅｌｆ＿ＩＤ＿ｃｏｕｎｔ＝４でノードＩＤが４となる。
【００４８】
ｓｅｌｆ＿ＩＤ＿ｐａｃｋｅｔの中の「Ｌ」ビット「Ｃ」ビットを立てているノードの中で、最も大きなノードＩＤが付されたノードがＩＲＭとなることが決められており、通常は、自己識別処理により、ルートノードに対して最も大きなＩＤが割り振られるため、ルートノード、すなわち図５のノードＢがＩＲＭとなる。
【００４９】
このようにして、自己認識処理が終了すると、各ノードは通常のアービトレーションを使ってパケット送信をすることが可能となる。
アイソクロノス通信を行う場合、送信を行いたいノードは、ＩＲＭに対して使用するチャンネルと、帯域幅のリソース要求を行い、ＩＲＭがリソースに空きがあるかを判定して、その結果を応答する。それによって、そのノードがチャンネルと帯域幅を使用する権利を得る。
【００５０】
図６に、具体的な機器の接続状況を示す。図６において、ＳＴＢ６１と、第１のＤ−ＶＨＳ６２及び第２のＤ−ＶＨＳ６３がＩＥＥＥ１３９４シリアルケーブルで接続され、さらに、第１のＤ−ＶＨＳ６２と第３のＤ−ＶＨＳ６４、第４のＤ−ＶＨＳ６５がＩＥＥＥ１３９４シリアルケーブルで接続される。また、ＳＴＢ６２とモニタ６６がアナログ映像ケーブルで接続されている。
【００５１】
ＳＴＢ６１で受信した放送信号を第２のＤ−ＶＨＳ６３で録画する場合、例えば、図示しないリモートコントローラ等を操作して、モニタ６６にＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるメニューを表示し、第２のＤ−ＶＨＳ６３を選択して、さらにＳＴＢ６１で受信した放送信号からＥＰＧ番組表を構築してこれをモニタ６６に表示し、録画したい番組を選択する。
【００５２】
録画機器の選択により、ＳＴＢ６１からＩＲＭである第１のＤ−ＶＨＳ６２に対して、帯域リソースの要求と、チャンネルリソースの要求を行い、ＩＲＭがそれに応答して応答信号（ｃｏｍｐｌｅｔｅ）を返すことで、ＳＴＢ６１がリソースを使用する権利を得て、自らのｏＰＣＲと第２のＤ−ＶＨＳ６３のｉＰＣＲとの論理接続を行なう。
【００５３】
選択した番組が放送されるとそれがＳＴＢ６１で受信され、ＭＰＥＧ２のＴＳ信号（パーシャルＴＳ）として出力され、このＭＰＥＧ２のＴＳ信号がアイソクロノスパケットに分配されて第２のＤ−ＶＨＳ６３に供給される。さらにＳＴＢ６１から、第２のＤ−ＶＨＳ６３に対して録画コマンドのＡＶ／Ｃコマンド信号を供給し、第２のＤ−ＶＨＳ６３では、受信したアイソクロノスパケットから、ＭＰＥＧのＴＳ信号を抽出して録画を開始する。
【００５４】
録画が終了される処理では、まず、ＳＴＢ６１から第２のＤ−ＶＨＳ６３に対して、録画を終了して例えば停止モードに設定するためのＡＶ／Ｃコマンド信号を供給し、第２のＤ−ＶＨＳ６３の録画動作を終了させる。次いで、ＳＴＢ６１からのＭＰＥＧ２のＴＳ信号（パーシャルＴＳ）のアイソクロノス伝送を停止する。
【００５５】
そのように接続されたシステムにおいて、ＳＴＢ６１と第２のＤ−ＶＨＳ６３との間が接続されて録画が実行されている途中に、バスリセットが発生して接続を復元しようとする際に、図７に示すように、ＳＴＢ６１と第２のＤ−ＶＨＳ６３との接続が復元される前に、第４のＤ−ＶＨＳ６５が第３のＤ−ＶＨＳ６４との接続を実行すべく、ＩＲＭである第１のＤ−ＶＨＳ６２に対して、帯域リソース要求及びチャンネルリソース要求を出した場合に、ＩＲＭがこれを受付けると第４のＤ−ＶＨＳ６５と第３のＤ−ＶＨＳ６４間の接続のためにリソースが使用され、ＳＴＢ６１と第２のＤ−ＶＨＳ６３間の接続の復元が阻害されることがある。
【００５６】
本発明は、バスリセット後にそのような障害が発生しないようにしたものであり、ＧＵＩで、ＳＴＢ６１に接続するＤ−ＶＨＳ６３を選択して、ＩＭＲによって論理接続を確立した際に、それら機器にユニークに割り当てられているＧＵＩＤを、アプリケーション処理のために用いられる図１に示すメモリ２０に記憶させておく。ＧＵＩＤは、図８に示すＩＥＥＥ１３９４シリアルバスのＣＳＲの初期レジスタ空間８１に含まれるコンフィグレーションＲＯＭに書き込まれている。初期レジスタ空間は他のノードからアクセス可能である。
【００５７】
メモリ２０は、図１に示すアプリケーション１５処理用のメモリであるが、ＩＥＥＥ１３９４シリアルバスの接続処理を行なうミドルウェアに設けられた図示しないメモリを適用してもよい。
このように、バスリセットが発生する前に接続されている機器（ノード）のＧＵＩＤを所定のメモリに記憶させておくことにより、バスリセットが発生して回復処理が実行される過程で各ノードのノードＩＤが確定した際に、ＩＤが付された各ノードのＧＵＩＤを検出して、メモリのＧＵＩＤデータと比較し、バスリセット前に接続されていたノードを特定して、それ以外のノードからＩＲＭに対してリソース要求がなされた場合にはそれを拒否するように設定するものである。
【００５８】
また、バスリセット後には、メモリ２０に図９に示すようにＧＵＩＤと割り振られたノードＩＤを対で示すテーブルをＩＲＭのレジスタ（ＣＳＲ）に記憶させておくことができる。このようなデータは、各ノードの自己識別処理が実行された後に取得可能である。
【００５９】
それによって、図１０に示すようにバスリセット後に、第４のＤ−ＶＨＳ６５からＩＲＭである第１のＤ−ＶＨＳ６２に対してリソース要求がされた場合には図９のテーブルから求められるＧＵＩＤを基にして第４のＤ−ＶＨＳ６５のノードＩＤと、ＩＲＭのノードＩＤを比較して、第４のＤ−ＶＨＳ６５がバスリセット前に接続されていた実績がないことを判別して、ＩＲＭは、第４のＤ−ＶＨＳ６５に対してｃｏｎｆｌｉｃｔ  ｅｒｒｏｒを送り、リソースの要求を拒否する。
【００６０】
図１０において、本来のＳＴＢ６１と第２のＤ−ＶＨＳ６３間の接続を復元するための要求もＳＴＢ６１からＩＭＲに対してなされ、その分は、記憶されたＧＵＩＤと、ＳＴＢ６１のノードＩＤが一致するため、ＩＭＲはｃｏｍｐｌｅｔｅをＳＴＢ６１に返して、結局、図１１に示すように、ＳＴＢ６１と第２のＤ−ＶＨＳ６３間の接続が復元される。なお、ＳＴＢ６１と第２のＤ−ＶＨＳ６３間の接続が復元された後は、第４のＤ−ＶＨＳ６５と第３のＤ−ＶＨＳ６４間の論理接続が行なわれても問題はない。この接続は、ＧＵＩを用いたユーザによる通常の接続設定によって行なわれるものである。
【００６１】
また、ＩＲＭに書き込むデータとしては、図９に示すものの他、図１２〜図１４に示す形態のものが考えられる。図１２は、接続されている機器のノードＩＤがアドレスオフセットに対応して記憶されており、ＩＲＭがアドレスオフセットの若い順（番号の小さい順）にリソース要求を受付けるようにしたものである。
【００６２】
また、接続を優先的に行なう処理を自らの機器がＩＲＭとなって完結する場合は、機器内部で設定したローカルな番号をノードＩＤの代わりに接続機器を特定する情報として記憶させてもよく、図１３はその例である。なお、この場合には、ローカル番号とノードＩＤを対応させるテーブルを記憶しておく必要がある。
【００６３】
また、図１４は、ＩＲＭのレジスタ（ＣＳＲ）内に接続優先順位を記憶させたものである。ＡＶ／Ｃコマンドを用いて、優先順情報と、接続機器のノードＩＤを伝送して記憶させることができる。あるいは、ＬＯＣＫトランザクションを利用して、接続機器のノードＩＤを記憶させることができる。さらには、アドレスオフセットを指定して直接レジスタ（ＣＳＲ）に書き込むようにしてもよく、その場合には、レジスタの若い順に優先順位が高くなるように設定する。
【００６４】
このように、ある機器Ａがバスリセット後に優先的に接続させたい機器Ｂを有している場合に、機器ＡをＩＲＭに設定し、このＩＲＭのレジスタ（ＣＳＲ）にノードＩＤと対で接続優先順位を記憶させておくことにより、バスリセット発生後に、機器ＡをＩＲＭに設定し、そのレジスタ（ＣＳＲ）に記憶されている優先順位情報に基づいて、ＩＲＭがリソース割り当ての許可及び禁止を決定するように動作するため、バスリセット前の接続状態を確実に復元させることができるものである。
【００６５】
図１０，１１で説明した動作を、図１５のフローチャートを参照して改めて説明する。図１５において、ステップＳ１１１で開始され、ステップＳ１１２でリソースの要求か否かが判定され、リソースの要求であった場合に、ステップＳ１１３で許可する機器であるか否かの判定がなされ、許可する機器であると判定されたら、ステップＳ１１４でＩＲＭがリソースを更新し、次いでステップＳ１１５でＩＲＭからｃｏｍｐｌｅｔｅを返し、ステップＳ１１６で終了となる。
【００６６】
ステップＳ１１２でリソースの要求でないと判定されたら、ステップＳ１１６に移って処理を終了する。また、ステップＳ１１３で許可する機器でないと判定されたら、ステップＳ１１７でＩＲＭが、リソース要求を出した機器に対してｃｏｎｆｌｉｃｔ  ｅｒｒｏｒを返して、ステップＳ１１６で処理を終了する。
【００６７】
また、図１６は、バスリセットが発生した際に、ＧＵＩＤを用いて、接続を復元させる動作を説明するためのフローチャートである。図１６においては、ステップＳ１２１で開始され、ステップＳ１２２で複数のノードをチャンネルを介して論理接続する。次いでステップＳ１２３で、接続されたノードの初期レジスタ空間のコンフィグレーションＲＯＭからＧＵＩＤを読出しでメモリ２０に記憶する。
【００６８】
次に、ステップＳ１２４でバスリセットが発生したか否かの判定処理がバスリセットが発生するまで実行される。ステップＳ１２４でバスリセットが発生したことが判定されたら、ステップＳ１２５で、バス初期化処理／ツリー識別処理／自己識別処理が実行されて、ルートノード及び、ＩＲＭの選択が行われると共に、各ノードに対してノードＩＤが割り振られる。
【００６９】
次に、ステップＳ１２６で、メモリからＧＵＩＤ情報を読出して、各ノードのＧＵＩＤと比較し、同じＧＵＩＤを有するノードのＩＤを特定する。次いでステップＳ１２７で、特定したノードＩＤに基づき、ＩＲＭにリソース要求を送る。
次に、ステップＳ１２８でＩＲＭから、ｃｏｍｐｌｅｔｅを受け取って、リソースを使用する権利を得、次のステップＳ１２９で、ｏＰＣＲとｉＰＣＲの設定を行なって論理接続を達成する。次いで、ステップＳ１３０で、論理接続されたノード間でデータとＡＶ／Ｃコマンドの伝送を行う。次いで、ステップ１３１で信号の伝送が終了したか否かの判定がなされ、伝送が終了していない場合には、ステップＳ１３０に戻り、伝送が終了したことが判定されたら、ステップＳ１３２で処理を終了する、
【００７０】
また、図１７に示すように、機器Ａ以外の機器Ｃがバスリセット後に優先的に接続させたい機器Ｄを有していて、その優先接続を機器Ａに依頼する場合には、機器の接続処理を行なう機器が接続前もしくは接続後にＡＶ／Ｃコマンドを使用して優先順位とＧＵＩＤあるいはそのＧＵＩＤに対応するノードＩＤを通知する。次に、機器の接続処理を行なう機器が接続前もしくは接続後にＩＲＭのレジスタ（ＣＳＲ）に優先順位とＧＵＩＤあるいはそのＧＵＩＤに対応するノードＩＤを通知する。
【００７１】
レジスタ（ＣＳＲ）に書き込むアドレスは、若い方が優先順位が高いものと決めておけば、レジスタ（ＣＳＲ）に書き込むアドレスがそのまま優先順位となる。ＩＲＭはリソースの要求があったときは、要求をしたノードＩＤをＧＵＩＤに対応付けてレジスタ（ＣＳＲ）に書き込まれたアドレスの若い順から検索して該当しない場合は拒否し、一致した場合にはレジスタ（ＣＳＲ）に記憶してある該当ノードＩＤを削除するか次回検索時に参照しないようにする。
【００７２】
以上のように本発明によれば、ＩＥＥＥ１３９４シリアルバスで接続されている機器間の接続状態を、機器にユニークに付されたＧＵＩＤに基づいて認識してＩＲＭのレジスタ（ＣＳＲ）に記憶させておき、バスリセット後に、リセット前にＩＲＭであったノードを、再びＩＲＭに設定し、レジスタ（ＣＳＲ）に記憶されたＧＵＩＤに基づいて、優先的に接続すべきノードＩＤを特定して、ノード間の論理接続を確立するようにしたため、バスリセット前の接続状態を確実に復元することができるものである。
【００７３】
【発明の効果】
以上のように、本発明によれば、ＩＥＥＥシリアルバスに接続されて、信号を伝送している機器をＧＵＩＤで特定して、記憶させ、バスリセット発生後に、記憶させておいたＧＵＩＤに基づいて接続していた機器のノードＩＤを特定し、そのＩＤのノードからＩＲＭにリソース要求を出して、論理接続を実行するようにしたので、バスリセット前の接続を確実に復元することができるものである。
【図面の簡単な説明】
【図１】本発明の電子機器制御装置に適用されるＩＥＥＥ１３６４シリアルバスの構成を示すブロック図。
【図２】図１に示すＩＥＥＥ１３６４シリアルバスのノード接続状態を説明するためのブロック図。
【図３】図１に示すＩＥＥＥ１３９４シリアルバスのノード接続状態を説明するためのブロック図。
【図４】図１に示すＩＥＥＥ１３９４シリアルバスのルート選択処理を説明するためのブロック図。
【図５】図１に示すＩＥＥＥ１３９４シリアルバスの自己識別処理を説明するためのブロック図。
【図６】本発明の電子機器制御装置の動作を説明するための図。
【図７】本発明の動作を説明するための図。
【図８】本発明の要部の構成を説明するための図。
【図９】本発明の動作を説明するための図
【図１０】本発明の動作を説明するための図。
【図１１】本発明の動作を説明するための図。
【図１２】本発明の動作を説明するための図。
【図１３】本発明の動作を説明するための図。
【図１４】本発明の動作を説明するための図。
【図１５】本発明の電子機器制御装置の動作を説明するためのフローチャート。
【図１６】本発明の電子機器制御装置の動作を説明するためのフローチャート。
【図１７】本発明の電子機器制御装置の動作を説明するための図。
【符号の説明】
１１…トランザクションレイヤ
１２…リンクレイヤ
１３…物理レイヤ
１４…シリアルバス管理部
６１…ＳＴＢ（セットトップボックス）
６２…ＤＶＨＳ−１
６３…ＤＶＨＳ−２
６４…ＤＶＨＳ−３
６５…ＤＶＨＳ−４
６６…モニタ
【図１】
2004328424.tif 000003
【図２】
2004328424.tif 000004
【図３】
2004328424.tif 000005
【図４】
2004328424.tif 000006
【図５】
2004328424.tif 000007
【図６】
2004328424.tif 000008
【図７】
2004328424.tif 000009
【図８】
2004328424.tif 000010
【図９】
2004328424.tif 000011
【図１０】
2004328424.tif 000012
【図１１】
2004328424.tif 000013
【図１２】
2004328424.tif 000014
【図１３】
2004328424.tif 000015
【図１４】
2004328424.tif 000016
【図１５】
2004328424.tif 000017
【図１６】
2004328424.tif 000018
【図１７】
2004328424.tif 000019