JP3960291B2 - データ転送装置及びプログラム - Google Patents

データ転送装置及びプログラム Download PDF

Info

Publication number
JP3960291B2
JP3960291B2 JP2003348005A JP2003348005A JP3960291B2 JP 3960291 B2 JP3960291 B2 JP 3960291B2 JP 2003348005 A JP2003348005 A JP 2003348005A JP 2003348005 A JP2003348005 A JP 2003348005A JP 3960291 B2 JP3960291 B2 JP 3960291B2
Authority
JP
Japan
Prior art keywords
data transfer
transfer device
bus
packet
phy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003348005A
Other languages
English (en)
Other versions
JP2005117295A (ja
Inventor
達利 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003348005A priority Critical patent/JP3960291B2/ja
Publication of JP2005117295A publication Critical patent/JP2005117295A/ja
Application granted granted Critical
Publication of JP3960291B2 publication Critical patent/JP3960291B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、データ転送装置に関し、より詳しくは、IEEE1394規格に準拠した通信ネットワークに接続されるデータ転送装置に関する。
シリアルバスインターフェースの規格として、IEEE1394規格が知られている。IEEE1394規格に準拠した通信ネットワーク(以下、単にIEEE1394ネットワークという)では、一つのバス(ローカルバス)に、最大63台のIEEE1394規格に準拠した機器(以下、単にIEEE1394機器と呼ぶ)を接続することができる。
IEEE1394のローカルバス内では、バスの構成に依存したパラメータ(バスの構成に関するパラメータ)を変更することにより、当該ローカルバスの使用効率等を最適化することができ、当該ローカルバス内でのデータ転送を最適化することができる。このような、バスの構成に関するパラメータは、例えば、バスに接続されているコントローラからローカルバス内の全てのノード(ターゲット)にブロードキャストされることにより、設定される。
また、ブリッジを介して、複数のバスを相互接続することにより、上記の63台を超える機器を接続したIEEE1394ネットワークを構築することができる。ブリッジを介して接続されたバス(リモートバス)の各ノードのレジスタに所定の値を書き込むことにより、各種の設定を行えるようにしたものがある(例えば、特許文献1参照)。
特開2001−274813号公報
IEEE1394の規格上、ブリッジを介して接続されたリモートバスに対しては、ブロードキャストを行うことができない。よって、バスの構成に関するパラメータの設定は、通常のデータ転送のためのパケットとは異なり、コントローラが接続されているバス内でしか行うことができない。従って、従来の技術では、コントローラが、バスの構成に関するパラメータを制御できるのは、自信が直接接続されたローカルバスに限られている。例えば、ブリッジを介して接続されるリモートバスのパラメータを設定することが出来ないので、リモートバスのデータの転送効率を上げることは困難である。
本発明の目的は、コントローラが直接接続されていないリモートバスのパラメータの最適化を行うことの出来るデータ転送装置を提供することである。
本発明の一観点によれば、複数のデータ転送装置で構成され、パケット送信権の調停を行うルートとなるデータ転送装置をバス上にブロードキャストするPHY構成パケットに基づいて各データ転送装置が識別するIEEE1394ネットワークに接続するデータ転送装置は、他のデータ転送装置からアクセス可能に構成され前記IEEE1394ネットワークの設定及び制御に係る各種パラメータを保持するためのレジスタと、物理層制御情報に基づいて設定及び制御される物理層とを備え、前記物理層の設定及び制御に係る制御情報のうち所定の情報を、他のデータ転送装置がアシンクロナス・トランザクションにより直接的に読み書き可能なように前記レジスタに配置しており、前記所定の情報は、前記他のデータ転送装置によるライト・トランザクションに応じてその内容が直接設定されることを特徴とする。
本発明によれば、コントローラが直接接続されていないリモートバスのパラメータの最適化を行うことが出来る。
図1は、本発明の実施例によるIEEE1394ネットワーク100のバス構成図である。
IEEE1394ネットワーク100は、例えば、コントローラ1Cが直接接続されているローカルバスと、ブリッジ1B1又は1B2を介して接続されているリモートバスとを含んで構成されている。それぞれのバス(ローカルバス及びリモートバス)には、複数のターゲット1Tが接続されている。
コントローラ1Cは、例えば、パーソナルコンピュータ等で構成され、バスの構成に関するパラメータを制御することが出来る。バスの構成に関するパラメータは、IEEE1394の規格上は、例えば、図2に示すPHY構成パケットPPをローカルバス内にブロードキャストすることにより、該ローカルバス内の各ノードに転送され、各ノードにおいて、受け取ったPHY構成パケットPPに基づき、バスの構成を設定する。
PHY構成パケットPPは、ルートの位置及びギャップカウント値を設定するために発行されるパケットである。なお、ルートの位置を設定するためには、Rビットに「1」を設定し、root_IDフィールドにルートにすべきノードのフィジカルID(識別子)を設定する。また、ギャップカウント値を設定するためには、Tビットに「1」を設定し、gap_cntフィールドに設定すべきギャップカウント値を設定する。
ルートは、バス内のパケット送信権の調停を行うノードである。各ノードは、ルートから許可を得られた場合のみ、バスにパケットを送信できる。ルートと送信を行うノードが、ルートに近いほど調停に要する時間が短くなるので、単位時間当たりのデータの転送量を多くすることが出来る。
ギャップカウント値は、バス内の最大遅延をコード化したものである。デフォルトでは、IEEE1394規格で想定されている最大規模の構成(最大ホップ数16)に合わせた値が使われているが、この値を実際のバスの構成に合わせて最小化することで、パケット送信時におけるオーバーヘッドを小さくすることが出来る。
上述したように、PHY構成パケットPPは、ブロードキャストにより、他のノードに転送されるので、そのままでは、例えばコントローラ1Cから、リモートバスに接続されているターゲット1T0aやターゲット1T2a等にPHY構成パケットPPを転送することは出来ず、リモートバスの構成を設定することが出来ない。
そこで、本発明の実施例では、コントローラ1Cが、ターゲット1Tのレジスタ30に通常のデータ転送パケットを使用して、コマンドを書き込み、コマンドを書き込まれたターゲットにおいて、該コマンドの内容に基づき、PHY構成パケットPPを該ターゲット1Tが接続されているバス内にブロードキャストする。例えば、コントローラ1Cが、ターゲット1T0aのレジスタ30にコマンドの書き込みを行い、ターゲット1T0aでは、書き込まれたコマンドの内容に従い、PHY構成パケットPPを発行し、同一バスに接続されたターゲット1T0b及び1T0cにバスの構成に関するパラメータの設定を行わせる。
このように、通常のデータ転送用のパケット(コマンド)を用いて、コントローラ1Cの代わりに、リモートバス内のノードにPHY構成パケットPPを発行させることにより、ブリッジを介して接続されるリモートバスの構成に関するパラメータの設定をコントローラ1Cから行うことができる。よって、リモートバスが存在する場合にも、1つのコントローラでバスの構成を集中制御することができる。
図3は、本発明の実施例によるデータ転送装置1(コントローラ1C、ターゲット1T)のハードウェア構成を示すブロック図である。
データ転送装置1のバス2には、RAM3、ROM4、CPU5、外部記憶装置7、検出回路8、表示回路10、音源回路12、効果回路13、通信インターフェイス17が接続される。
ユーザは、検出回路8に接続される操作子9を用いて、各種設定をすることができる。操作子9は、例えば、マウス、文字入力用キーボード、ジョイスティック、ロータリーエンコーダ、スイッチ、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
また、操作子9は、マウス等の他の操作子を用いて操作するディスプレイ11上に表示されるソフトスイッチ等でもよい。
表示回路10は、ディスプレイ11に接続され、各種情報をディスプレイ11に表示することができる。
外部記憶装置7は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス2に接続される。外部記憶装置7は、例えばフロッピ(登録商標)ディスクドライブ(FDD)、ハードディスクドライブ(HDD)、光磁気ディスク(MO)ドライブ、CD−ROM(コンパクトディスク−リードオンリィメモリ)ドライブ、DVD(DigitalVersatile Disc)ドライブ、半導体メモリ等である。
外部記憶装置7には、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム及び自動演奏データ等を記憶することができる。
RAM3は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するCPU5のワーキングエリアを有する。ROM4には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。CPU5は、ROM4又は、外部記憶装置7に記憶されている制御プログラム等に従い、演算又は制御を行う。
タイマ6は、CPU5に接続されており、基本クロック信号、割り込み処理タイミング等をCPU5に供給する。
音源回路12は、音声データや、MIDI信号等の演奏信号に応じて楽音信号を生成し、効果回路13を介して、サウンドシステム14に供給する。
音源回路12の方式は、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO+VCF+VCAのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路12を構成してもよいし、DSP+マイクロプログラムを用いて音源回路12を構成してもよいし、CPU+ソフトウェアのプログラムで音源回路12を構成してもよい。また、これらの組合せでもよい。さらに、1つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、1つの発音チャンネルを1つの回路で形成してもよい。
効果回路13は、音源回路12から供給されるデジタル形式の楽音信号に各種効果を与える。サウンドシステム14は、D/A変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
通信インターフェイス17は、IEEE1394規格に準拠したインターフェイスである。また、通信インターフェイス17として、LAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワーク19に接続可能なインターフェイスを備えていてもよい。その場合、該通信ネットワーク19を介して、サーバコンピュータ20と接続し、HDD等外部記憶装置7、又はRAM4等内に、サーバコンピュータ20から制御プログラムや本実施例を実現するためのプログラム、演奏情報等をダウンロードすることができる。
なお、通信インターフェイス17として、さらにMIDI機器が接続可能なMIDIインターフェイスや、USB機器を接続可能なUSBインターフェイス等を備えていてもよい。
なお、データ転送装置1をターゲット1Tとして用いる場合は、アンプ、スピーカー、ミキサー等の音響機器の形態をとることが考えられるが、その場合は、各機器に必要な機能を実行するのに必要な部材のみを備えていればよい。例えば、表示回路10及びディスプレイ11等を適宜省略することが出来る。
図4は、本発明の実施例によるターゲット1Tのレジスタ30の第1の実装例を表す概念図である。
レジスタ30には、イニシャル・メモリー空間(Initial Memory Space)、各ノードが自由に利用できるプライベート空間(Private Space)、ノード間で共通の情報を格納するレジスタ空間(Register Space)、フィジカルIDや各ノードの機能を表す情報を格納するコンフィギュレーションROM等が、用意されている。
この第1の実装例では、プライベート空間(Private Space)のアドレス情報を格納したPRIVATE_SPACE_MAP中にMLAN_SPACE_OFFSETが記録されている。そして、MLAN_SPACE_OFFSETで指定されるMLAN_SPACE中には、少なくとも、FORCE_ROOTレジスタ及びGAP_COUNTレジスタが用意されている。
FORCE_ROOTレジスタは、自機が、「強制ルート設定」されているか否かを内部的に保持しておくためのレジスタである。本実施例ではコントローラ1Cが、いずれかのターゲット1TのFORCE_ROOTレジスタにフラグを設定することにより、該ターゲット1Tに自機をルートに設定するための処理(図5(B)参照)を行わせることができる。
コントローラ1Cからの、FORCE_ROOTレジスタへのフラグの設定は、ブロードキャストではなく、通常のライト・トランザクションにより行われる。よって、ブリッジ1Bを介して接続されているリモートバスのノード(ターゲット1T)に対しても、ルートの設定を行うことができる。
GAP_COUNTレジスタは、自機が設定すべきギャップカウント値を内部的に保持しておくためのレジスタである。本実施例ではコントローラ1Cが、ターゲット1TのGAP_COUNTレジスタにギャップカウント値を設定することにより、該ターゲット1Tに自機が接続されているバスのギャップカウント値を設定するための処理(図5(C)参照)を行わせることができる。
コントローラ1Cからの、GAP_COUNTレジスタへのギャップカウント値の設定は、ブロードキャストではなく、通常のライト・トランザクションにより行われる。よって、ブリッジ1Bを介して接続されているリモートバスのノード(ターゲット1T)に対しても、ギャップカウント値の設定を行うことができる。
図5は、本実施例におけるターゲット1Tが第1の実装例によるレジスタ30を実装している場合の各ノードの処理を表すフローチャートである。この第1の実装例によるレジスタ30を用いる場合は、コントローラ1Cは、ターゲット1Tのレジスタ30に、該ターゲット1Tをルートにする為のフラグを設定し、該ターゲット1Tにおいて自機をルートに設定する為のPHY構成パケットPP(図2)を発行する。また、コントローラ1Cは、ターゲット1Tのレジスタにギャップカウント値を書き込み、該ターゲット1Tは、書き込まれたギャップカウント値を含むPHY構成パケットPP(図2)を発行して自機の含まれるバスのギャップカウント値を設定する。なお、バスの構成に関する設定の情報等は、後述する書き込み処理を行う前にユーザ等により予め入力されているものとする。
図5(A)は、コントローラ1Cの書き込み処理を表すフローチャートである。
ステップSA1では、書き込み処理を開始し、ステップSA2では、ターゲット1TのFORCE_ROOTレジスタ(又はGAP_COUNTレジスタ)のアドレスを取得する。
ステップSA3では、ステップSA2で取得したアドレスを参照して、ターゲット1TのFORCE_ROOTレジスタ(又はGAP_COUNTレジスタ)にデータを書き込む。例えば、FORCE_ROOTレジスタに「1」を書き込む。GAP_COUNTレジスタの場合は、当該ターゲット1Tが接続されているバスにおいて設定されるべきギャップカウント値を書き込む。このデータの書き込みは、例えば、ライト・トランザクション、すなわち通常のデータ転送用パケットをターゲット1Tに対して送信することにより行う。その後、ステップSA4で、書き込み処理を終了する。
図5(B)は、FORCE_ROOTレジスタに書き込みが行われたターゲット1Tにおけるルート設定処理を表すフローチャートである。
ステップSB1で、ルート設定処理を開始し、ステップSB2では、自機のFORCE_ROOTレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、YESの矢印で示すステップSB3に進み、書き込みが確認されない場合は、NOの矢印で示すステップSB6に進み、ルート設定処理を終了する。
ステップSB3では、自機をルートに設定するようなPHY構成パケットを発行して、自機が接続されているバス内にブロードキャストする。例えば、図2に示すようなPHY構成パケットPPのフォーマットをとる場合は、root_IDフィールドに自機のフィジカルIDを設定する。
ステップSB4では、バスリセットを発行し、ステップSB5では、通常のバスリセット後の処理を行う。その後、ステップSB6に進み、ルート設定処理を終了する。
図5(C)は、GAP_COUNTレジスタに書き込みが行われたターゲット1Tにおけるギャップカウント設定処理を表すフローチャートである。
ステップSC1で、ギャップカウント設定処理を開始し、ステップSC2では、自機のGAP_COUNTレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、YESの矢印で示すステップSC3に進み、書き込みが確認されない場合は、NOの矢印で示すステップSC6に進み、ギャップカウント設定処理を終了する。
ステップSC3では、指定された値(ステップSC2で確認したGAP_COUNTに書き込まれた値)にギャップカウント値を設定するようなPHY構成パケットを発行して、自機が接続されているバス内にブロードキャストする。例えば、図2に示すようなPHY構成パケットPPのフォーマットをとる場合は、gap_cntフィールドに設定すべきギャップカウント値を設定する。
ステップSC4では、バスリセットを発行し、ステップSC5では、通常のバスリセット後の処理を行う。その後、ステップSC6に進み、ギャップカウント設定処理を終了する。
以上のように、ブリッジを介して接続されたリモートバス内のターゲット1Tのレジスタ30に、通常のデータ転送用パケットを用いて、ルート設定処理を開始するためのフラグを設定し、該ターゲット1Tにおいて、自機をルートに設定する為のPHY構成パケットを発行させることが出来る。よって、コントローラ1Cからは直接PHY構成パケットをブロードキャストすることが出来ないブリッジを介したリモートバスについても、ルートの設定を行うことができる。なお、上述の実施例では、FORCE_ROOTレジスタに自機をルートに設定する為のフラグを書き込むようにしたが、FORCE_ROOTレジスタにルートとして設定したいノードのフィジカルIDを書き込み、該書き込まれたフィジカルIDを含むPHY構成パケットをターゲット1Tが発行するようにしてもよい。このようにすると、ターゲット1Tと同一のバスに接続された任意のノードをルートとして設定することが出来る。
また、ブリッジを介して接続されたリモートバス内のターゲット1Tのレジスタ30に、通常のデータ転送用パケットを用いて、ギャップカウント値を書き込み、該ターゲット1Tにおいて、書き込まれたギャップカウント値を含むPHY構成パケットを発行させることが出来る。よって、コントローラ1Cからは直接PHY構成パケットをブロードキャストすることが出来ないブリッジを介したリモートバスについても、ギャップカウント値の設定を行うことができる。
図6は、本発明の実施例によるターゲット1Tのレジスタ30の第2の実装例を表す概念図である。この第2の実装例によるレジスタ30を用いる場合は、コントローラ1Cは、ターゲット1Tのレジスタ30に、該ターゲット1Tが接続されているバス内において設定したいパラメータを含むPHY構成パケットPP(図2)をデータ転送用パケットとして書き込む。該パケットを書き込まれたターゲット1Tは、書き込まれたパケットを元にPHY構成パケットPPを発行する。
レジスタ30には、図4に示す第1の実装例と同様に、イニシャル・メモリー空間(Initial Memory Space)、各ノードが自由に利用できるプライベート空間(Private Space)、ノード間で共通の情報を格納するレジスタ空間(Register Space)、フィジカルIDや各ノードの機能を表す情報を格納するコンフィギュレーションROM等が、用意されている。
第1の実装例との違いは、この第2の実装例では、MLAN_SPACE中には、PHY_REQUESTレジスタ及びPHY_RESPONSEレジスタが用意されているところである。
PHY_REQUESTレジスタは、コントローラ1Cから送信されるPHY構成パケットPP等を格納する領域であり、ターゲット1Tは、該PHY_REQUESTレジスタに書き込まれたデータと同一内容のPHY構成パケットPP等を発行して、自機が接続されているバスに送出する。
PHY_RESPONSEレジスタは、PHY_REQUESTレジスタに書き込まれた内容に基づいて送出したパケットが、応答(RESPONSE)を求める場合である時に、該応答内容を書き込むためのレジスタである。なお、本実施例では応答を求めないパケットを送出した場合は、該送出したパケットの内容を書き込むようにしている。コントローラ1Cは、このPHY_RESPONSEレジスタに書き込まれた内容を参照して処理が正常に行われたか否かを判断する。
図7は、本実施例におけるターゲット1Tが第2の実装例によるレジスタ30を実装している場合の各ノードの処理を表すフローチャートである。
図7(A)は、コントローラ1Cの書き込み処理を表すフローチャートである。
ステップSD1では、書き込み処理を開始し、ステップSD2では、ターゲット1TのPHY_REQUESTレジスタのアドレスを取得する。
ステップSD3では、ステップSD2で取得したアドレスを参照して、ターゲット1TのPHY_REQUESTレジスタにデータを書き込む。例えば、PHY_REQUESTレジスタに当該ターゲット1Tが接続されているバスの構成を設定する為のPHY構成パケットPPと同様の内容を有するデータを書き込む。このデータの書き込みは、例えば、ライト・トランザクション、すなわち通常のデータ転送用パケットをターゲット1Tに対して送信することにより行う。
ステップSD4では、ターゲット1TのPHY_RESPONSEレジスタに格納されているデータを読み出し、ステップSD5で、該読み出したデータの有効性を判断する。読み出したデータが有効なものである場合、すなわち、ターゲット1Tでの処理が正常に終了した場合(ターゲット1Tが接続されているバスの構成に関する設定が正常に終了した場合)若しくはエラーコードが書き込まれている場合は、YESの矢印で示すステップSD6に進み書き込む処理を終了する。読み出したデータが有効なデータではない場合、例えば、データが何も格納されていない場合は、ターゲット1Tでの処理がまだ終了していない若しくは正常に終了していないものとし、ステップSD4を繰り返す。なお、本実施例では、ターゲット1TのPHY_RESPONSEレジスタに正常な値が書き込まれるまで読み出しを繰り返すようにしたが、一定時間の後に、再度ステップSD3の処理を行うようにしてもよい。また、エラーコードが書き込まれている場合も、ステップSD3の処理を繰り返すようにしてもよい。
図7(B)は、PHY_REQUESTレジスタに書き込みが行われたターゲット1Tにおけるパケット発行処理を表すフローチャートである。
ステップSE1で、パケット発行処理を開始し、ステップSE2では、自機のPHY_REQUESTレジスタに書き込みが行われたか否かを確認する。書き込みが行われた場合は、YESの矢印で示すステップSE3に進み、書き込みが確認されない場合は、NOの矢印で示すステップSE9に進み、パケット発行処理を終了する。
ステップSE3では、PHY_REQUESTレジスタに書き込まれたデータがパケットとして正しいフォーマットであるか否かを判断する。正しいフォーマットである場合、例えば、PHY構成パケットPPとして正しいフォーマットである場合は、YESの矢印で示すステップSE4に進む。正しいフォーマットで無い場合は、NOの矢印でh示すステップSE8に進み、不正(エラー)コードをPHY_RESPONSEレジスタに書き込み、その後ステップSE9に進み、パケット発行処理を終了する。
ステップSE4では、PHY_REQUESTレジスタに書き込まれたデータパケットとしてバスに送信する。
ステップSE5では、ステップSE4で送信したパケットが、応答を要求するものか否かを判断する。応答を要求するものである場合は、YESの矢印で示すステップSE6に進み、受信した応答パケットをPHY_RESPONSEレジスタに書き込み、その後ステップSE9に進み、パケット発行処理を終了する。応答を要求するものでない場合は、NOの矢印で示すステップSE7に進み、PHY_RESPONSEレジスタにステップSE4で発行(送信)したパケットを書き込み、その後ステップSE9に進み、パケット発行処理を終了する。なお、本実施例で例として用いているPHY構成パケットは、応答を要求しないパケットである。
以上のように、第2の実装例によるレジスタを実装したターゲット1Tを含むシステムでは、本来ブロードキャストされるPHY構成パケット等のバスの構成に関するパラメータ等を、通常のデータ転送用のパケットとしてターゲット1Tのレジスタに一旦書き込み、該レジスタに書き込みをされたターゲット1Tにおいて当該書き込まれたデータをバス内にブロードキャストする。このようにすることにより、ブリッジを介して接続されるリモートバスのバスの構成に関する設定を行うことができる。
以上、本発明の実施例によれば、コントローラ1Cが、ブリッジを介して接続されるリモートバス内のターゲット1Tに対して、バスの設定に関するパラメータを通常のデータ転送用のパケットとして送信し、受信したパラメータに基づきターゲット1Tが自機が接続されているバス内のバスの構成に関する設定を行うことができる。
上述した第1の実装例によるレジスタを使用するシステムにおいては、コントローラ1Cからターゲット1Tに送信されるデータ量は、非常に少ないので、他のデータ通信を圧迫することがなく、効率的なデータ転送を行うことができる。
また、第2の実装例によるレジスタを使用するシステムでは、コントローラ1Cにおいて、ターゲット1Tが発行するパケットを予め生成し、該生成したパケットをターゲット1Tに通常のデータ転送用パケットとして送信し、ターゲット1Tは、受信したパケットをそのままブロードキャストするだけであるので、処理能力の低い安価なターゲット1Tでも、使用することが出来る。
なお、上述の実施例では、バスを介して接続されるリモートバスのバスの構成に関する設定について説明したが、本実施例によれば、同一バスに接続されたターゲットに対しても同一の処理を行い、該ターゲットにバスの構成に関する設定を行わせることができる。このようにすることにより、例えば、コントローラ1Cが、PHY構成パケットをブロードキャストするの機能を有していない場合でも、ターゲット1Tに代わりにPHY構成パケットを発行させることが出来る。
なお、上述の実施例では、バスの構成に関するパラメータとして「強制ルート設定」及び「ギャップカウントの設定」のみを例としてあげたが、本実施例は、バスの構成に関するパラメータであれば、どのようなものでも適用することが出来る。例えば、バスの構成に関するパラメータ(コマンド)としては、リンクオン・パケット、pingパケット、リモートアクセス・パケット、リモートコマンド・パケット等が有る。
リンクオン・パケットは、IEEE1394機器のフィジカルIDを指定し、その機器のリンク層をアクティベイトさせるためのコマンドである。アクティベイトさせるとは、物理層だけがアクティブでリンク層が非アクティブな機器(例えば、物理層だけはケーブルから電源が供給されているがリンク層には電源が供給されていない機器)に対して、リンク層に電源を供給してアクティブにさせる機能である。なお、このコマンドに対応して返送されるレスポンスはない。
pingパケットは、IEEE1394機器のフィジカルIDを指定し、その機器のステータス(能力・状態)を問い合わせるためのコマンドである。このコマンドで指定された機器は、このコマンドを受信後レスポンスを返送する。具体的なステータスとしては、例えば、「現在のギャップカウント値」、「電源供給能力」、「最大転送速度」、「各ポートの状態(ケーブルが接続されているか否か)」等が考えられる。なお、このpingパケットは、送信してからレスポンスを受信するまでの時間を計測して、IEEE1394機器までの距離を取得するためにも用いられる。
リモートアクセス・パケットは、IEEE1394機器のフィジカルIDを指定し、その機器のPHYレジスタの内容を問い合わせるためのコマンドである。PHYレジスタには、IEEE1394規格で定義されている物理層に関するパラメータが設定されている。このコマンドで指定された機器は、このコマンドの受信後、レスポンスを返送する。
リモートコマンド・パケットは、IEEE1394機器のフィジカルID及びその機器のポート(ケーブルが接続される物理的なコネクタ)を指定し、そのポートの状態を制御するためのコマンドである。ポートの状態制御は、例えば、「ポートをサスペンド状態にする」、「ポートをサスペンド状態から復帰させる」、「サスペンド時のエラー報告をクリアする」等がある。
上記いずれのバスの構成に関するパラメータ(コマンド)場合も、コントローラ1Cからターゲット1Tに通常のデータ転送用パケットとしてパラメータ(コマンド)の内容若しくは上記パケットそのものを転送し、ターゲット1Tが、自機が接続されたバス内において当該バスの構成に関するパラメータ(コマンド)要のパケットを生成して送信するようにする。
なお、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした汎用のコンピュータ等によって、実施させるようにしてもよい。
その場合には、本実施例に対応するコンピュータプログラム等を、CD−ROMやフロッピーディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
本発明の実施例によるIEEE1394ネットワーク100のバス構成図である。 PHY構成パケットPPを表す概念図である。 本発明の実施例によるデータ転送装置1(コントローラ1C、ターゲット1T)のハードウェア構成を示すブロック図である。 本発明の実施例によるターゲット1Tのレジスタ30の第1の実装例を表す概念図である。 本実施例におけるターゲット1Tが第1の実装例によるレジスタ30を実装している場合の各ノードの処理を表すフローチャートである。 本発明の実施例によるターゲット1Tのレジスタ30の第2の実装例を表す概念図である。 本実施例におけるターゲット1Tが第2の実装例によるレジスタ30を実装している場合の各ノードの処理を表すフローチャートである。
符号の説明
1…データ転送装置、2…バス、3…RAM、4…ROM、5…CPU、6…タイマ、7…外部記憶装置、8…検出回路、9…パネル操作子、10…表示回路、11…ディスプレイ、12…音源回路、13…効果回路、14…サウンドシステム、17…通信I/F、19…通信ネットワーク、30…レジスタ、100…IEEE1394ネットワーク

Claims (6)

  1. 複数のデータ転送装置で構成され、パケット送信権の調停を行うルートとなるデータ転送装置をバス上にブロードキャストするPHY構成パケットに基づいて各データ転送装置が識別するIEEE1394ネットワークに接続するデータ転送装置であって、
    他のデータ転送装置からアクセス可能に構成され前記IEEE1394ネットワークの設定及び制御に係る各種パラメータを保持するためのレジスタと、
    物理層制御情報に基づいて設定及び制御される物理層とを備え、
    前記物理層の設定及び制御に係る制御情報のうち所定の情報を、他のデータ転送装置がアシンクロナス・トランザクションにより直接的に読み書き可能なように前記レジスタに配置しており、
    前記所定の情報は、前記他のデータ転送装置によるライト・トランザクションに応じてその内容が直接設定されることを特徴とするデータ転送装置。
  2. 前記所定の情報は強制ルート設定又はギャップカウント値に関する情報であり、
    他のデータ転送装置によるライト・トランザクションにより強制ルート設定またはギャップカウント値が設定された場合に、当該データ転送装置をルートに設定するPHY構成パケットまたは当該ギャップカウント値のPHY構成パケットを、当該データ転送装置が接続しているバスにブロードキャストすることを特徴とする請求項1記載のデータ転送装置。
  3. 前記所定の情報はPHY構成データであり、前記他のデータ転送装置によるライト・トランザクションによりPHY構成データが設定された場合に、該設定されたPHY構成データで成るPHY構成パケットを、当該データ転送装置が接続しているバスにブロードキャストすることを特徴とする請求項1記載のデータ転送装置。
  4. 前記所定の情報はPHY応答データであり、
    前記PHY構成パケットをブロードキャストした結果、当該データ転送装置が接続しているバス上のデータ転送装置より応答されたデータを前記PHY応答データとして設定し、
    前記PHY構成データを設定した他のデータ転送装置によるリード・トランザクションにより前記PHY応答データが読み出されることを特徴とする請求項3記載のデータ転送装置。
  5. 前記IEEE1394ネットワークは、ブリッジを介して複数のバスが結合されたものであって、
    前記所定の情報を書き込むライト・トランザクションを発行する他のデータ転送装置は、当該データ転送装置が接続されたバスと異なる前記バスを解して結合された他のバスに接続されたものであることを特徴とする請求項1〜4のいずれか1項に記載のデータ転送装置。
  6. 複数のデータ転送装置で構成され、パケット送信権の調停を行うルートとなるデータ転送装置をバス上にブロードキャストするPHY構成パケットに基づいて各データ転送装置が識別するIEEE1394ネットワークに接続し、他のデータ転送装置からアクセス可能に構成され前記IEEE1394ネットワークの設定及び制御に係る各種パラメータを保持するためのレジスタと、物理層制御情報に基づいて設定及び制御される物理層とを備え、前記物理層の設定及び制御に係る制御情報のうち所定の情報を、他のデータ転送装置がアシンクロナス・トランザクションにより直接的に読み書き可能なように前記レジスタに配置していることを特徴とするデータ転送装置で実行されるプログラムであって、
    前記他のデータ転送装置によるライト・トランザクションに応じて前記所定の情報の内容を直接設定する設定手順をゆうするプログラム。
JP2003348005A 2003-10-07 2003-10-07 データ転送装置及びプログラム Expired - Fee Related JP3960291B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003348005A JP3960291B2 (ja) 2003-10-07 2003-10-07 データ転送装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003348005A JP3960291B2 (ja) 2003-10-07 2003-10-07 データ転送装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2005117295A JP2005117295A (ja) 2005-04-28
JP3960291B2 true JP3960291B2 (ja) 2007-08-15

Family

ID=34540331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003348005A Expired - Fee Related JP3960291B2 (ja) 2003-10-07 2003-10-07 データ転送装置及びプログラム

Country Status (1)

Country Link
JP (1) JP3960291B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412377B2 (en) 2000-01-24 2013-04-02 Irobot Corporation Obstacle following sensor scheme for a mobile robot
US6956348B2 (en) 2004-01-28 2005-10-18 Irobot Corporation Debris sensor for cleaning apparatus
US6690134B1 (en) 2001-01-24 2004-02-10 Irobot Corporation Method and system for robot localization and confinement
US7620476B2 (en) 2005-02-18 2009-11-17 Irobot Corporation Autonomous surface cleaning robot for dry cleaning
WO2006089307A2 (en) 2005-02-18 2006-08-24 Irobot Corporation Autonomous surface cleaning robot for wet and dry cleaning
EP2544065B1 (en) 2005-12-02 2017-02-08 iRobot Corporation Robot system
EP1963941B1 (en) * 2005-12-02 2012-02-15 iRobot Corporation Robot system
EP2574264B1 (en) 2007-05-09 2016-03-02 iRobot Corporation Compact autonomous coverage robot

Also Published As

Publication number Publication date
JP2005117295A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
EP0551884B1 (en) Tone signal generator adapted for coupling with personal computer
JP3960291B2 (ja) データ転送装置及びプログラム
JP2008538143A (ja) ノイズ相殺モジュール
JP2743726B2 (ja) 電子楽器
EP3379527B1 (en) Musical sound generation device, musical sound generation method and electronic instrument
JP5803056B2 (ja) 音響処理システムおよび音響処理方法
JP6443772B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
EP1217604B1 (en) Musical sound generator
JP2850707B2 (ja) 楽音制御装置
JP2011039981A (ja) マルチメディア処理制御装置
JP4211266B2 (ja) 通信設定装置及び通信設定プログラム
JP4186927B2 (ja) 音楽lan設定装置
JP2018112589A (ja) 楽譜処理システム、情報処理システム、楽譜処理プログラムおよび楽譜処理方法
JP4206613B2 (ja) 音楽データ送信装置
JPS6118995A (ja) 演奏システム
JP2006270715A (ja) 音楽ネットワークシステムに用いる電子音楽装置及びプログラム
JP6094788B2 (ja) 演奏通信装置、ユーザ端末およびプログラム
JP3578106B2 (ja) 音源システム
JP4254796B2 (ja) 楽曲データ配信装置及び楽曲データ受信装置
JP4120644B2 (ja) 音楽lan設定装置及びプログラム
JP2019032566A (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
WO2001065535A1 (fr) Generateur de sons musicaux
JP2002006844A (ja) 楽音発生方法
JPH11327572A (ja) カラオケ装置
JP4001053B2 (ja) 楽音情報処理システム、データ転送装置、メイン装置及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070507

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees