(57)【要約】【課題】  コントローラが直接接続されていないリモートバスのパラメータの最適化を行うことの出来るデータ転送装置を提供する。【解決手段】  複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークにおいて、コントローラであるデータ転送装置は、ターゲットである他のデータ転送装置のレジスタにバスの構成に関するパラメータの設定のための情報を書き込む書き込み手段を有し、ターゲットであるデータ転送装置は、コントローラからバスの構成に関するパラメータの設定のための情報を受信する受信手段と、前記受信したバスの構成に関するパラメータの設定のための情報を格納する格納手段と、前記格納したバスの構成に関するパラメータの設定のための情報に基づき、バスの構成に関するパラメータを設定する為のパケットを生成する生成手段と、前記生成したパケットをバスに送出する送出手段とを有する。【選択図】  図５
2005117295.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置であって、
他のデータ転送装置のレジスタにバスの構成に関するパラメータの設定のための情報を書き込む書き込み手段
を有するデータ転送装置。
【請求項２】
複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置であって、
他のデータ転送装置からバスの構成に関するパラメータの設定のための情報を受信する受信手段と、
前記受信したバスの構成に関するパラメータの設定のための情報を格納する格納手段と、
前記格納したバスの構成に関するパラメータの設定のための情報に基づき、バスの構成に関するパラメータを設定する為のパケットを生成する生成手段と、
前記生成したパケットをバスに送出する送出手段と
を有するデータ転送装置。
【請求項３】
前記ＩＥＥＥ１３９４ネットワークは、ブリッジを介して複数のバスが接続されているネットワークであり、
前記他のデータ転送装置はブリッジを介したリモートバスに接続されているデータ転送装置である請求項１または２記載のデータ転送装置。
【請求項４】
複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置で実行するデータ転送プログラムであって、
他のデータ転送装置のレジスタにバスの構成に関するパラメータの設定のための情報を書き込む書き込み手順
を有するデータ転送プログラム。
【請求項５】
複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置で実行するデータ転送プログラムであって、
他のデータ転送装置からバスの構成に関するパラメータの設定のための情報を受信する受信手順と、
前記受信したバスの構成に関するパラメータの設定のための情報を格納する格納手順と、
前記格納したバスの構成に関するパラメータの設定のための情報に基づき、バスの構成に関するパラメータを設定する為のパケットを生成する生成手順と、
前記生成したパケットをバスに送出する送出手順と
を有するデータ転送プログラム。
【請求項６】
前記ＩＥＥＥ１３９４ネットワークは、ブリッジを介して複数のバスが接続されているネットワークであり、
前記他のデータ転送装置はブリッジを介したリモートバスに接続されているデータ転送装置である請求項１または２記載のデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置に関し、より詳しくは、ＩＥＥＥ１３９４規格に準拠した通信ネットワークに接続されるデータ転送装置に関する。
【背景技術】
【０００２】
シリアルバスインターフェースの規格として、ＩＥＥＥ１３９４規格が知られている。ＩＥＥＥ１３９４規格に準拠した通信ネットワーク（以下、単にＩＥＥＥ１３９４ネットワークという）では、一つのバス（ローカルバス）に、最大６３台のＩＥＥＥ１３９４規格に準拠した機器（以下、単にＩＥＥＥ１３９４機器と呼ぶ）を接続することができる。
【０００３】
ＩＥＥＥ１３９４のローカルバス内では、バスの構成に依存したパラメータ（バスの構成に関するパラメータ）を変更することにより、当該ローカルバスの使用効率等を最適化することができ、当該ローカルバス内でのデータ転送を最適化することができる。このような、バスの構成に関するパラメータは、例えば、バスに接続されているコントローラからローカルバス内の全てのノード（ターゲット）にブロードキャストされることにより、設定される。
【０００４】
また、ブリッジを介して、複数のバスを相互接続することにより、上記の６３台を超える機器を接続したＩＥＥＥ１３９４ネットワークを構築することができる。ブリッジを介して接続されたバス（リモートバス）の各ノードのレジスタに所定の値を書き込むことにより、各種の設定を行えるようにしたものがある（例えば、特許文献１参照）。
【特許文献１】特開２００１−２７４８１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＩＥＥＥ１３９４の規格上、ブリッジを介して接続されたリモートバスに対しては、ブロードキャストを行うことができない。よって、バスの構成に関するパラメータの設定は、通常のデータ転送のためのパケットとは異なり、コントローラが接続されているバス内でしか行うことができない。従って、従来の技術では、コントローラが、バスの構成に関するパラメータを制御できるのは、自信が直接接続されたローカルバスに限られている。例えば、ブリッジを介して接続されるリモートバスのパラメータを設定することが出来ないので、リモートバスのデータの転送効率を上げることは困難である。
【０００６】
本発明の目的は、コントローラが直接接続されていないリモートバスのパラメータの最適化を行うことの出来るデータ転送装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置は、他のデータ転送装置のレジスタにバスの構成に関するパラメータの設定のための情報を書き込む書き込み手段を有する。
【０００８】
また、本発明の他の観点によれば、複数のデータ転送装置で構成されるＩＥＥＥ１３９４ネットワークに接続するデータ転送装置は、他のデータ転送装置からバスの構成に関するパラメータの設定のための情報を受信する受信手段と、前記受信したバスの構成に関するパラメータの設定のための情報を格納する格納手段と、前記格納したバスの構成に関するパラメータの設定のための情報に基づき、バスの構成に関するパラメータを設定する為のパケットを生成する生成手段と、前記生成したパケットをバスに送出する送出手段とを有する。
【発明の効果】
【０００９】
本発明によれば、コントローラが直接接続されていないリモートバスのパラメータの最適化を行うことが出来る。
【発明を実施するための最良の形態】
【００１０】
【実施例】
【００１１】
図１は、本発明の実施例によるＩＥＥＥ１３９４ネットワーク１００のバス構成図である。
【００１２】
ＩＥＥＥ１３９４ネットワーク１００は、例えば、コントローラ１Ｃが直接接続されているローカルバスと、ブリッジ１Ｂ１又は１Ｂ２を介して接続されているリモートバスとを含んで構成されている。それぞれのバス（ローカルバス及びリモートバス）には、複数のターゲット１Ｔが接続されている。
【００１３】
コントローラ１Ｃは、例えば、パーソナルコンピュータ等で構成され、バスの構成に関するパラメータを制御することが出来る。バスの構成に関するパラメータは、ＩＥＥＥ１３９４の規格上は、例えば、図２に示すＰＨＹ構成パケットＰＰをローカルバス内にブロードキャストすることにより、該ローカルバス内の各ノードに転送され、各ノードにおいて、受け取ったＰＨＹ構成パケットＰＰに基づき、バスの構成を設定する。
【００１４】
ＰＨＹ構成パケットＰＰは、ルートの位置及びギャップカウント値を設定するために発行されるパケットである。なお、ルートの位置を設定するためには、Ｒビットに「１」を設定し、ｒｏｏｔ＿ＩＤフィールドにルートにすべきノードのフィジカルＩＤ（識別子）を設定する。また、ギャップカウント値を設定するためには、Ｔビットに「１」を設定し、ｇａｐ＿ｃｎｔフィールドに設定すべきギャップカウント値を設定する。
【００１５】
ルートは、バス内のパケット送信権の調停を行うノードである。各ノードは、ルートから許可を得られた場合のみ、バスにパケットを送信できる。ルートと送信を行うノードが、ルートに近いほど調停に要する時間が短くなるので、単位時間当たりのデータの転送量を多くすることが出来る。
【００１６】
ギャップカウント値は、バス内の最大遅延をコード化したものである。デフォルトでは、ＩＥＥＥ１３９４規格で想定されている最大規模の構成（最大ホップ数１６）に合わせた値が使われているが、この値を実際のバスの構成に合わせて最小化することで、パケット送信時におけるオーバーヘッドを小さくすることが出来る。
【００１７】
上述したように、ＰＨＹ構成パケットＰＰは、ブロードキャストにより、他のノードに転送されるので、そのままでは、例えばコントローラ１Ｃから、リモートバスに接続されているターゲット１Ｔ０ａやターゲット１Ｔ２ａ等にＰＨＹ構成パケットＰＰを転送することは出来ず、リモートバスの構成を設定することが出来ない。
【００１８】
そこで、本発明の実施例では、コントローラ１Ｃが、ターゲット１Ｔのレジスタ３０に通常のデータ転送パケットを使用して、コマンドを書き込み、コマンドを書き込まれたターゲットにおいて、該コマンドの内容に基づき、ＰＨＹ構成パケットＰＰを該ターゲット１Ｔが接続されているバス内にブロードキャストする。例えば、コントローラ１Ｃが、ターゲット１Ｔ０ａのレジスタ３０にコマンドの書き込みを行い、ターゲット１Ｔ０ａでは、書き込まれたコマンドの内容に従い、ＰＨＹ構成パケットＰＰを発行し、同一バスに接続されたターゲット１Ｔ０ｂ及び１Ｔ０ｃにバスの構成に関するパラメータの設定を行わせる。
【００１９】
このように、通常のデータ転送用のパケット（コマンド）を用いて、コントローラ１Ｃの代わりに、リモートバス内のノードにＰＨＹ構成パケットＰＰを発行させることにより、ブリッジを介して接続されるリモートバスの構成に関するパラメータの設定をコントローラ１Ｃから行うことができる。よって、リモートバスが存在する場合にも、１つのコントローラでバスの構成を集中制御することができる。
【００２０】
図３は、本発明の実施例によるデータ転送装置１（コントローラ１Ｃ、ターゲット１Ｔ）のハードウェア構成を示すブロック図である。
【００２１】
データ転送装置１のバス２には、ＲＡＭ３、ＲＯＭ４、ＣＰＵ５、外部記憶装置７、検出回路８、表示回路１０、音源回路１２、効果回路１３、通信インターフェイス１７が接続される。
【００２２】
ユーザは、検出回路８に接続される操作子９を用いて、各種設定をすることができる。操作子９は、例えば、マウス、文字入力用キーボード、ジョイスティック、ロータリーエンコーダ、スイッチ、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
【００２３】
また、操作子９は、マウス等の他の操作子を用いて操作するディスプレイ１１上に表示されるソフトスイッチ等でもよい。
【００２４】
表示回路１０は、ディスプレイ１１に接続され、各種情報をディスプレイ１１に表示することができる。
【００２５】
外部記憶装置７は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス２に接続される。外部記憶装置７は、例えばフロッピ（登録商標）ディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、光磁気ディスク（ＭＯ）ドライブ、ＣＤ−ＲＯＭ（コンパクトディスク−リードオンリィメモリ）ドライブ、ＤＶＤ（ＤｉｇｉｔａｌＶｅｒｓａｔｉｌｅ Ｄｉｓｃ）ドライブ、半導体メモリ等である。
【００２６】
外部記憶装置７には、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム及び自動演奏データ等を記憶することができる。
【００２７】
ＲＡＭ３は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するＣＰＵ５のワーキングエリアを有する。ＲＯＭ４には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。ＣＰＵ５は、ＲＯＭ４又は、外部記憶装置７に記憶されている制御プログラム等に従い、演算又は制御を行う。
【００２８】
タイマ６は、ＣＰＵ５に接続されており、基本クロック信号、割り込み処理タイミング等をＣＰＵ５に供給する。
【００２９】
音源回路１２は、音声データや、ＭＩＤＩ信号等の演奏信号に応じて楽音信号を生成し、効果回路１３を介して、サウンドシステム１４に供給する。
【００３０】
音源回路１２の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路１２を構成してもよいし、ＤＳＰ＋マイクロプログラムを用いて音源回路１２を構成してもよいし、ＣＰＵ＋ソフトウェアのプログラムで音源回路１２を構成してもよい。また、これらの組合せでもよい。さらに、１つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、１つの発音チャンネルを１つの回路で形成してもよい。
【００３１】
効果回路１３は、音源回路１２から供給されるデジタル形式の楽音信号に各種効果を与える。サウンドシステム１４は、Ｄ／Ａ変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【００３２】
通信インターフェイス１７は、ＩＥＥＥ１３９４規格に準拠したインターフェイスである。また、通信インターフェイス１７として、ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク１９に接続可能なインターフェイスを備えていてもよい。その場合、該通信ネットワーク１９を介して、サーバコンピュータ２０と接続し、ＨＤＤ等外部記憶装置７、又はＲＡＭ４等内に、サーバコンピュータ２０から制御プログラムや本実施例を実現するためのプログラム、演奏情報等をダウンロードすることができる。
【００３３】
なお、通信インターフェイス１７として、さらにＭＩＤＩ機器が接続可能なＭＩＤＩインターフェイスや、ＵＳＢ機器を接続可能なＵＳＢインターフェイス等を備えていてもよい。
【００３４】
なお、データ転送装置１をターゲット１Ｔとして用いる場合は、アンプ、スピーカー、ミキサー等の音響機器の形態をとることが考えられるが、その場合は、各機器に必要な機能を実行するのに必要な部材のみを備えていればよい。例えば、表示回路１０及びディスプレイ１１等を適宜省略することが出来る。
【００３５】
図４は、本発明の実施例によるターゲット１Ｔのレジスタ３０の第１の実装例を表す概念図である。
【００３６】
レジスタ３０には、イニシャル・メモリー空間（Ｉｎｉｔｉａｌ  Ｍｅｍｏｒｙ  Ｓｐａｃｅ）、各ノードが自由に利用できるプライベート空間（Ｐｒｉｖａｔｅ  Ｓｐａｃｅ）、ノード間で共通の情報を格納するレジスタ空間（Ｒｅｇｉｓｔｅｒ  Ｓｐａｃｅ）、フィジカルＩＤや各ノードの機能を表す情報を格納するコンフィギュレーションＲＯＭ等が、用意されている。
【００３７】
この第１の実装例では、プライベート空間（Ｐｒｉｖａｔｅ  Ｓｐａｃｅ）のアドレス情報を格納したＰＲＩＶＡＴＥ＿ＳＰＡＣＥ＿ＭＡＰ中にＭＬＡＮ＿ＳＰＡＣＥ＿ＯＦＦＳＥＴが記録されている。そして、ＭＬＡＮ＿ＳＰＡＣＥ＿ＯＦＦＳＥＴで指定されるＭＬＡＮ＿ＳＰＡＣＥ中には、少なくとも、ＦＯＲＣＥ＿ＲＯＯＴレジスタ及びＧＡＰ＿ＣＯＵＮＴレジスタが用意されている。
【００３８】
ＦＯＲＣＥ＿ＲＯＯＴレジスタは、自機が、「強制ルート設定」されているか否かを内部的に保持しておくためのレジスタである。本実施例ではコントローラ１Ｃが、いずれかのターゲット１ＴのＦＯＲＣＥ＿ＲＯＯＴレジスタにフラグを設定することにより、該ターゲット１Ｔに自機をルートに設定するための処理（図５（Ｂ）参照）を行わせることができる。
【００３９】
コントローラ１Ｃからの、ＦＯＲＣＥ＿ＲＯＯＴレジスタへのフラグの設定は、ブロードキャストではなく、通常のライト・トランザクションにより行われる。よって、ブリッジ１Ｂを介して接続されているリモートバスのノード（ターゲット１Ｔ）に対しても、ルートの設定を行うことができる。
【００４０】
ＧＡＰ＿ＣＯＵＮＴレジスタは、自機が設定すべきギャップカウント値を内部的に保持しておくためのレジスタである。本実施例ではコントローラ１Ｃが、ターゲット１ＴのＧＡＰ＿ＣＯＵＮＴレジスタにギャップカウント値を設定することにより、該ターゲット１Ｔに自機が接続されているバスのギャップカウント値を設定するための処理（図５（Ｃ）参照）を行わせることができる。
【００４１】
コントローラ１Ｃからの、ＧＡＰ＿ＣＯＵＮＴレジスタへのギャップカウント値の設定は、ブロードキャストではなく、通常のライト・トランザクションにより行われる。よって、ブリッジ１Ｂを介して接続されているリモートバスのノード（ターゲット１Ｔ）に対しても、ギャップカウント値の設定を行うことができる。
【００４２】
図５は、本実施例におけるターゲット１Ｔが第１の実装例によるレジスタ３０を実装している場合の各ノードの処理を表すフローチャートである。この第１の実装例によるレジスタ３０を用いる場合は、コントローラ１Ｃは、ターゲット１Ｔのレジスタ３０に、該ターゲット１Ｔをルートにする為のフラグを設定し、該ターゲット１Ｔにおいて自機をルートに設定する為のＰＨＹ構成パケットＰＰ（図２）を発行する。また、コントローラ１Ｃは、ターゲット１Ｔのレジスタにギャップカウント値を書き込み、該ターゲット１Ｔは、書き込まれたギャップカウント値を含むＰＨＹ構成パケットＰＰ（図２）を発行して自機の含まれるバスのギャップカウント値を設定する。なお、バスの構成に関する設定の情報等は、後述する書き込み処理を行う前にユーザ等により予め入力されているものとする。
【００４３】
図５（Ａ）は、コントローラ１Ｃの書き込み処理を表すフローチャートである。
【００４４】
ステップＳＡ１では、書き込み処理を開始し、ステップＳＡ２では、ターゲット１ＴのＦＯＲＣＥ＿ＲＯＯＴレジスタ（又はＧＡＰ＿ＣＯＵＮＴレジスタ）のアドレスを取得する。
【００４５】
ステップＳＡ３では、ステップＳＡ２で取得したアドレスを参照して、ターゲット１ＴのＦＯＲＣＥ＿ＲＯＯＴレジスタ（又はＧＡＰ＿ＣＯＵＮＴレジスタ）にデータを書き込む。例えば、ＦＯＲＣＥ＿ＲＯＯＴレジスタに「１」を書き込む。ＧＡＰ＿ＣＯＵＮＴレジスタの場合は、当該ターゲット１Ｔが接続されているバスにおいて設定されるべきギャップカウント値を書き込む。このデータの書き込みは、例えば、ライト・トランザクション、すなわち通常のデータ転送用パケットをターゲット１Ｔに対して送信することにより行う。その後、ステップＳＡ４で、書き込み処理を終了する。
【００４６】
図５（Ｂ）は、ＦＯＲＣＥ＿ＲＯＯＴレジスタに書き込みが行われたターゲット１Ｔにおけるルート設定処理を表すフローチャートである。
【００４７】
ステップＳＢ１で、ルート設定処理を開始し、ステップＳＢ２では、自機のＦＯＲＣＥ＿ＲＯＯＴレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、ＹＥＳの矢印で示すステップＳＢ３に進み、書き込みが確認されない場合は、ＮＯの矢印で示すステップＳＢ６に進み、ルート設定処理を終了する。
【００４８】
ステップＳＢ３では、自機をルートに設定するようなＰＨＹ構成パケットを発行して、自機が接続されているバス内にブロードキャストする。例えば、図２に示すようなＰＨＹ構成パケットＰＰのフォーマットをとる場合は、ｒｏｏｔ＿ＩＤフィールドに自機のフィジカルＩＤを設定する。
【００４９】
ステップＳＢ４では、バスリセットを発行し、ステップＳＢ５では、通常のバスリセット後の処理を行う。その後、ステップＳＢ６に進み、ルート設定処理を終了する。
【００５０】
図５（Ｃ）は、ＧＡＰ＿ＣＯＵＮＴレジスタに書き込みが行われたターゲット１Ｔにおけるギャップカウント設定処理を表すフローチャートである。
【００５１】
ステップＳＣ１で、ギャップカウント設定処理を開始し、ステップＳＣ２では、自機のＧＡＰ＿ＣＯＵＮＴレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、ＹＥＳの矢印で示すステップＳＣ３に進み、書き込みが確認されない場合は、ＮＯの矢印で示すステップＳＣ６に進み、ギャップカウント設定処理を終了する。
【００５２】
ステップＳＣ３では、指定された値（ステップＳＣ２で確認したＧＡＰ＿ＣＯＵＮＴに書き込まれた値）にギャップカウント値を設定するようなＰＨＹ構成パケットを発行して、自機が接続されているバス内にブロードキャストする。例えば、図２に示すようなＰＨＹ構成パケットＰＰのフォーマットをとる場合は、ｇａｐ＿ｃｎｔフィールドに設定すべきギャップカウント値を設定する。
【００５３】
ステップＳＣ４では、バスリセットを発行し、ステップＳＣ５では、通常のバスリセット後の処理を行う。その後、ステップＳＣ６に進み、ギャップカウント設定処理を終了する。
【００５４】
以上のように、ブリッジを介して接続されたリモートバス内のターゲット１Ｔのレジスタ３０に、通常のデータ転送用パケットを用いて、ルート設定処理を開始するためのフラグを設定し、該ターゲット１Ｔにおいて、自機をルートに設定する為のＰＨＹ構成パケットを発行させることが出来る。よって、コントローラ１Ｃからは直接ＰＨＹ構成パケットをブロードキャストすることが出来ないブリッジを介したリモートバスについても、ルートの設定を行うことができる。なお、上述の実施例では、ＦＯＲＣＥ＿ＲＯＯＴレジスタに自機をルートに設定する為のフラグを書き込むようにしたが、ＦＯＲＣＥ＿ＲＯＯＴレジスタにルートとして設定したいノードのフィジカルＩＤを書き込み、該書き込まれたフィジカルＩＤを含むＰＨＹ構成パケットをターゲット１Ｔが発行するようにしてもよい。このようにすると、ターゲット１Ｔと同一のバスに接続された任意のノードをルートとして設定することが出来る。
【００５５】
また、ブリッジを介して接続されたリモートバス内のターゲット１Ｔのレジスタ３０に、通常のデータ転送用パケットを用いて、ギャップカウント値を書き込み、該ターゲット１Ｔにおいて、書き込まれたギャップカウント値を含むＰＨＹ構成パケットを発行させることが出来る。よって、コントローラ１Ｃからは直接ＰＨＹ構成パケットをブロードキャストすることが出来ないブリッジを介したリモートバスについても、ギャップカウント値の設定を行うことができる。
【００５６】
図６は、本発明の実施例によるターゲット１Ｔのレジスタ３０の第２の実装例を表す概念図である。この第２の実装例によるレジスタ３０を用いる場合は、コントローラ１Ｃは、ターゲット１Ｔのレジスタ３０に、該ターゲット１Ｔが接続されているバス内において設定したいパラメータを含むＰＨＹ構成パケットＰＰ（図２）をデータ転送用パケットとして書き込む。該パケットを書き込まれたターゲット１Ｔは、書き込まれたパケットを元にＰＨＹ構成パケットＰＰを発行する。
【００５７】
レジスタ３０には、図４に示す第１の実装例と同様に、イニシャル・メモリー空間（Ｉｎｉｔｉａｌ  Ｍｅｍｏｒｙ  Ｓｐａｃｅ）、各ノードが自由に利用できるプライベート空間（Ｐｒｉｖａｔｅ  Ｓｐａｃｅ）、ノード間で共通の情報を格納するレジスタ空間（Ｒｅｇｉｓｔｅｒ  Ｓｐａｃｅ）、フィジカルＩＤや各ノードの機能を表す情報を格納するコンフィギュレーションＲＯＭ等が、用意されている。
【００５８】
第１の実装例との違いは、この第２の実装例では、ＭＬＡＮ＿ＳＰＡＣＥ中には、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタ及びＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタが用意されているところである。
【００５９】
ＰＨＹ＿ＲＥＱＵＥＳＴレジスタは、コントローラ１Ｃから送信されるＰＨＹ構成パケットＰＰ等を格納する領域であり、ターゲット１Ｔは、該ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込まれたデータと同一内容のＰＨＹ構成パケットＰＰ等を発行して、自機が接続されているバスに送出する。
【００６０】
ＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタは、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込まれた内容に基づいて送出したパケットが、応答（ＲＥＳＰＯＮＳＥ）を求める場合である時に、該応答内容を書き込むためのレジスタである。なお、本実施例では応答を求めないパケットを送出した場合は、該送出したパケットの内容を書き込むようにしている。コントローラ1Ｃは、このＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタに書き込まれた内容を参照して処理が正常に行われたか否かを判断する。
【００６１】
図７は、本実施例におけるターゲット１Ｔが第２の実装例によるレジスタ３０を実装している場合の各ノードの処理を表すフローチャートである。
【００６２】
図７（Ａ）は、コントローラ１Ｃの書き込み処理を表すフローチャートである。
【００６３】
ステップＳＤ１では、書き込み処理を開始し、ステップＳＤ２では、ターゲット１ＴのＰＨＹ＿ＲＥＱＵＥＳＴレジスタのアドレスを取得する。
【００６４】
ステップＳＤ３では、ステップＳＤ２で取得したアドレスを参照して、ターゲット１ＴのＰＨＹ＿ＲＥＱＵＥＳＴレジスタにデータを書き込む。例えば、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに当該ターゲット１Ｔが接続されているバスの構成を設定する為のＰＨＹ構成パケットＰＰと同様の内容を有するデータを書き込む。このデータの書き込みは、例えば、ライト・トランザクション、すなわち通常のデータ転送用パケットをターゲット１Ｔに対して送信することにより行う。
【００６５】
ステップＳＤ４では、ターゲット１ＴのＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタに格納されているデータを読み出し、ステップＳＤ５で、該読み出したデータの有効性を判断する。読み出したデータが有効なものである場合、すなわち、ターゲット１Ｔでの処理が正常に終了した場合（ターゲット１Ｔが接続されているバスの構成に関する設定が正常に終了した場合）若しくはエラーコードが書き込まれている場合は、ＹＥＳの矢印で示すステップＳＤ６に進み書き込む処理を終了する。読み出したデータが有効なデータではない場合、例えば、データが何も格納されていない場合は、ターゲット１Ｔでの処理がまだ終了していない若しくは正常に終了していないものとし、ステップＳＤ４を繰り返す。なお、本実施例では、ターゲット１ＴのＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタに正常な値が書き込まれるまで読み出しを繰り返すようにしたが、一定時間の後に、再度ステップＳＤ３の処理を行うようにしてもよい。また、エラーコードが書き込まれている場合も、ステップＳＤ３の処理を繰り返すようにしてもよい。
【００６６】
図７（Ｂ）は、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込みが行われたターゲット１Ｔにおけるパケット発行処理を表すフローチャートである。
【００６７】
ステップＳＥ１で、パケット発行処理を開始し、ステップＳＥ２では、自機のＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、ＹＥＳの矢印で示すステップＳＥ３に進み、書き込みが確認されない場合は、ＮＯの矢印で示すステップＳＥ９に進み、パケット発行処理を終了する。
【００６８】
ステップＳＥ３では、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込まれたデータがパケットとして正しいフォーマットであるか否かを判断する。正しいフォーマットである場合、例えば、ＰＨＹ構成パケットＰＰとして正しいフォーマットである場合は、ＹＥＳの矢印で示すステップＳＥ４に進む。正しいフォーマットで無い場合は、ＮＯの矢印でｈ示すステップＳＥ８に進み、不正（エラー）コードをＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタに書き込み、その後ステップＳＥ９に進み、パケット発行処理を終了する。
【００６９】
ステップＳＥ４では、ＰＨＹ＿ＲＥＱＵＥＳＴレジスタに書き込まれたデータパケットとしてバスに送信する。
【００７０】
ステップＳＥ５では、ステップＳＥ４で送信したパケットが、応答を要求するものか否かを判断する。応答を要求するものである場合は、ＹＥＳの矢印で示すステップＳＥ６に進み、受信した応答パケットをＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタに書き込み、その後ステップＳＥ９に進み、パケット発行処理を終了する。応答を要求するものでない場合は、ＮＯの矢印で示すステップＳＥ７に進み、ＰＨＹ＿ＲＥＳＰＯＮＳＥレジスタにステップＳＥ４で発行（送信）したパケットを書き込み、その後ステップＳＥ９に進み、パケット発行処理を終了する。なお、本実施例で例として用いているＰＨＹ構成パケットは、応答を要求しないパケットである。
【００７１】
以上のように、第２の実装例によるレジスタを実装したターゲット１Ｔを含むシステムでは、本来ブロードキャストされるＰＨＹ構成パケット等のバスの構成に関するパラメータ等を、通常のデータ転送用のパケットとしてターゲット１Ｔのレジスタに一旦書き込み、該レジスタに書き込みをされたターゲット１Ｔにおいて当該書き込まれたデータをバス内にブロードキャストする。このようにすることにより、ブリッジを介して接続されるリモートバスのバスの構成に関する設定を行うことができる。
【００７２】
以上、本発明の実施例によれば、コントローラ１Ｃが、ブリッジを介して接続されるリモートバス内のターゲット１Ｔに対して、バスの設定に関するパラメータを通常のデータ転送用のパケットとして送信し、受信したパラメータに基づきターゲット１Ｔが自機が接続されているバス内のバスの構成に関する設定を行うことができる。
【００７３】
上述した第１の実装例によるレジスタを使用するシステムにおいては、コントローラ１Ｃからターゲット１Ｔに送信されるデータ量は、非常に少ないので、他のデータ通信を圧迫することがなく、効率的なデータ転送を行うことができる。
【００７４】
また、第２の実装例によるレジスタを使用するシステムでは、コントローラ１Ｃにおいて、ターゲット１Ｔが発行するパケットを予め生成し、該生成したパケットをターゲット１Ｔに通常のデータ転送用パケットとして送信し、ターゲット１Ｔは、受信したパケットをそのままブロードキャストするだけであるので、処理能力の低い安価なターゲット１Ｔでも、使用することが出来る。
【００７５】
なお、上述の実施例では、バスを介して接続されるリモートバスのバスの構成に関する設定について説明したが、本実施例によれば、同一バスに接続されたターゲットに対しても同一の処理を行い、該ターゲットにバスの構成に関する設定を行わせることができる。このようにすることにより、例えば、コントローラ１Ｃが、ＰＨＹ構成パケットをブロードキャストするの機能を有していない場合でも、ターゲット１Ｔに代わりにＰＨＹ構成パケットを発行させることが出来る。
【００７６】
なお、上述の実施例では、バスの構成に関するパラメータとして「強制ルート設定」及び「ギャップカウントの設定」のみを例としてあげたが、本実施例は、バスの構成に関するパラメータであれば、どのようなものでも適用することが出来る。例えば、バスの構成に関するパラメータ（コマンド）としては、リンクオン・パケット、ｐｉｎｇパケット、リモートアクセス・パケット、リモートコマンド・パケット等が有る。
【００７７】
リンクオン・パケットは、ＩＥＥＥ１３９４機器のフィジカルＩＤを指定し、その機器のリンク層をアクティベイトさせるためのコマンドである。アクティベイトさせるとは、物理層だけがアクティブでリンク層が非アクティブな機器（例えば、物理層だけはケーブルから電源が供給されているがリンク層には電源が供給されていない機器）に対して、リンク層に電源を供給してアクティブにさせる機能である。なお、このコマンドに対応して返送されるレスポンスはない。
【００７８】
ｐｉｎｇパケットは、ＩＥＥＥ１３９４機器のフィジカルＩＤを指定し、その機器のステータス（能力・状態）を問い合わせるためのコマンドである。このコマンドで指定された機器は、このコマンドを受信後レスポンスを返送する。具体的なステータスとしては、例えば、「現在のギャップカウント値」、「電源供給能力」、「最大転送速度」、「各ポートの状態（ケーブルが接続されているか否か）」等が考えられる。なお、このｐｉｎｇパケットは、送信してからレスポンスを受信するまでの時間を計測して、ＩＥＥＥ１３９４機器までの距離を取得するためにも用いられる。
【００７９】
リモートアクセス・パケットは、ＩＥＥＥ１３９４機器のフィジカルＩＤを指定し、その機器のＰＨＹレジスタの内容を問い合わせるためのコマンドである。ＰＨＹレジスタには、ＩＥＥＥ１３９４規格で定義されている物理層に関するパラメータが設定されている。このコマンドで指定された機器は、このコマンドの受信後、レスポンスを返送する。
【００８０】
リモートコマンド・パケットは、ＩＥＥＥ１３９４機器のフィジカルＩＤ及びその機器のポート（ケーブルが接続される物理的なコネクタ）を指定し、そのポートの状態を制御するためのコマンドである。ポートの状態制御は、例えば、「ポートをサスペンド状態にする」、「ポートをサスペンド状態から復帰させる」、「サスペンド時のエラー報告をクリアする」等がある。
【００８１】
上記いずれのバスの構成に関するパラメータ（コマンド）場合も、コントローラ１Ｃからターゲット１Ｔに通常のデータ転送用パケットとしてパラメータ（コマンド）の内容若しくは上記パケットそのものを転送し、ターゲット１Ｔが、自機が接続されたバス内において当該バスの構成に関するパラメータ（コマンド）要のパケットを生成して送信するようにする。
【００８２】
なお、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした汎用のコンピュータ等によって、実施させるようにしてもよい。
【００８３】
その場合には、本実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【００８４】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施例によるＩＥＥＥ１３９４ネットワーク１００のバス構成図である。
【図２】ＰＨＹ構成パケットＰＰを表す概念図である。
【図３】本発明の実施例によるデータ転送装置１（コントローラ１Ｃ、ターゲット１Ｔ）のハードウェア構成を示すブロック図である。
【図４】本発明の実施例によるターゲット１Ｔのレジスタ３０の第１の実装例を表す概念図である。
【図５】本実施例におけるターゲット１Ｔが第１の実装例によるレジスタ３０を実装している場合の各ノードの処理を表すフローチャートである。
【図６】本発明の実施例によるターゲット１Ｔのレジスタ３０の第２の実装例を表す概念図である。
【図７】本実施例におけるターゲット１Ｔが第２の実装例によるレジスタ３０を実装している場合の各ノードの処理を表すフローチャートである。
【符号の説明】
【００８６】
１…データ転送装置、２…バス、３…ＲＡＭ、４…ＲＯＭ、５…ＣＰＵ、６…タイマ、７…外部記憶装置、８…検出回路、９…パネル操作子、１０…表示回路、１１…ディスプレイ、１２…音源回路、１３…効果回路、１４…サウンドシステム、１７…通信Ｉ／Ｆ、１９…通信ネットワーク、３０…レジスタ、１００…ＩＥＥＥ１３９４ネットワーク
【図１】
2005117295.tif 000003
【図２】
2005117295.tif 000004
【図３】
2005117295.tif 000005
【図４】
2005117295.tif 000006
【図５】
2005117295.tif 000007
【図６】
2005117295.tif 000008
【図７】
2005117295.tif 000009