JP2004357250A - バスに接続されるコントローラ機器とそのデータ転送速度決定方法 - Google Patents
バスに接続されるコントローラ機器とそのデータ転送速度決定方法 Download PDFInfo
- Publication number
- JP2004357250A JP2004357250A JP2003155753A JP2003155753A JP2004357250A JP 2004357250 A JP2004357250 A JP 2004357250A JP 2003155753 A JP2003155753 A JP 2003155753A JP 2003155753 A JP2003155753 A JP 2003155753A JP 2004357250 A JP2004357250 A JP 2004357250A
- Authority
- JP
- Japan
- Prior art keywords
- target device
- data
- bus
- maximum
- information
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】バスに接続されるコントローラ機器において、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送できるようにして、アシンクロナスデータの送信に必要な同期転送の帯域幅を節約する。
【解決手段】コントローラ1が、送信側ターゲット3と受信側ターゲット4のレジスタから読み込んだリンク層レベルの最高出力データレートと最高入力データレートに加えて(S1及びS2)、バスマネージャー2から読み込んだ上記ターゲット間の最高物理データレートに基づいて(S3)、実現可能な最高のデータレートを判定し、そのデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際のデータレートとする(S4)。
【選択図】 図5
【解決手段】コントローラ1が、送信側ターゲット3と受信側ターゲット4のレジスタから読み込んだリンク層レベルの最高出力データレートと最高入力データレートに加えて(S1及びS2)、バスマネージャー2から読み込んだ上記ターゲット間の最高物理データレートに基づいて(S3)、実現可能な最高のデータレートを判定し、そのデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際のデータレートとする(S4)。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、IEEE1394シリアルバス等のバスに接続されるコントローラ機器に係り、特に、バス上における送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送を制御する技術に関する。
【0002】
【従来の技術】
従来、IEEE1394シリアルバス(以下、バスと略す)上におけるコントローラ機器は、バス上における送信側のターゲット機器から受信側のターゲット機器へのデータ転送を制御する際に、バス上におけるバスマネージャーのレジスタ内に格納されたスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取り、この物理層レベルの最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度を決定していた。
【0003】
ところが、送信側のターゲット機器のリンク層レベルにおける最高データ出力速度、又は受信側のターゲット機器のリンク層レベルにおける最高データ入力速度が、スピードマップから読み取った物理層レベルにおける最高データ転送速度よりも遅い場合があり、このような場合には、受信側のターゲット機器が物理層レベルで受け取ったパケットをリンク層レベルで喪失してしまう。バス上における送信側のターゲット機器と受信側のターゲット機器との間でアシンクロナスデータを送信する場合には、送信側のターゲット機器は、受信側のターゲット機器から返信されるACK(Acknowledge)の有無を検知することにより、エラーの発生を知ることができる。しかし、送信側と受信側のターゲット機器の間において、ポイントツーポイント接続でアイソクロナスデータを転送する場合には、ACKを返さないブロードキャストタイプの通信を行うため、送信側及び受信側のターゲット機器のいずれもがエラーの発生を知ることができない。そこで、上記のような受信側のターゲット機器におけるリンク層レベルでのパケットの喪失を防ぐ目的で、バス上における全ての接続機器のリンク層レベルにおける最高データ転送速度の中で最低のデータ転送速度をバス上における全ての接続機器間のデータ転送速度とするようにしたコントローラ機器がある。
【0004】
また、この種の接続機器の分野において、ブロードキャスト−アウト接続でアイソクロナスデータを転送する際に、送信側の接続機器が送信に使用するフォーマットの信号を受信可能な接続機器を判定して、受信可能な全ての接続機器における最高データ転送速度の中で最低の転送速度を送信側の接続機器のデータ転送速度とするようにしたものが知られている(例えば、特許文献1参照)。さらにまた、バスリセット発生時における処理を簡単に行えるようにすることを目的として、ネットワーク内の各通信装置の存在を示すリンクポインタを記憶しておいて、バスリセット時に、このリンクポインタを使用してネットワーク制御用のリンクポインタを効率よく生成させるようにした接続機器が知られている(例えば、特許文献2参照)。
【0005】
【特許文献1】
特開2001−69157号公報(第1−4頁、図5)
【特許文献2】
特開2002−217928号公報(第1−11頁、図17)
【0006】
【発明が解決しようとする課題】
しかしながら、上記のようなバス上における全ての接続機器のリンク層レベルにおける最高データ転送速度の中で最低のデータ転送速度を全ての接続機器間のデータ転送速度とするコントローラ機器では、送信側のターゲット機器から受信側のターゲット機器に至る経路にバス上における最低のデータ転送速度の接続機器が介在せず、送信側と受信側のターゲット機器間で最低のデータ転送速度よりも高速でデータ転送を行うことができる場合でも、最低のデータ転送速度でデータ転送が行われる。このため、送信側のターゲット機器から受信側のターゲット機器へ最も効率のよい転送レートでアシンクロナスデータを転送することができず、従って、アシンクロナスデータの送信に必要な同期転送の帯域幅が、本来必要な帯域幅よりも広くなってしまうという問題があった。
【0007】
また、上記特許文献1に示される発明をポイントツーポイント接続によるアイソクロナスデータの転送に適用したとしても、バス上における最低のデータ転送速度の接続機器が、送信側のターゲット機器が送信に使用するフォーマットの信号を受信可能である場合には、上記と同様な問題が発生する。さらにまた、上記特許文献2に示される発明では、上記の問題を解決することができない。
【0008】
本発明は、上記の問題を解決するためになされたものであり、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるようにして、ポイントツーポイント接続でアシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することが可能なバスに接続されるコントローラ機器とそのデータ転送速度決定方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するために請求項1の発明は、他の接続機器とバスを介して接続され、自装置のリンク層レベルにおける最高データ入力速度及び最高データ出力速度等の情報を格納するレジスタを内包するメモリと、バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する決定手段と、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、バスがIEEE1394シリアルバスであり、バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、決定手段が、上記リンク層レベルにおける最高データ出力速度の情報、及び上記リンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするものである。
【0010】
上記構成においては、決定手段が、リンク層レベルにおける最高データ出力速度の情報、及びリンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするようにした。これにより、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができる。
【0011】
また、請求項2の発明は、他の接続機器とバスを介して接続され、自装置のリンク層レベルにおける最高入力データ転送速度及び最高出力データ転送速度等の情報を格納するレジスタを内包するメモリと、バス上における送信側のターゲット機器に関するリンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、バス上における受信側のターゲット機器に関するリンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度を決定する決定手段と、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、決定手段が、上記リンク層レベルにおける最高データ出力速度の情報、及び上記リンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度とするものである。
【0012】
この構成においては、上記請求項1と同様な作用を得ることができるので、バスを介して接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでデータを転送することができる。
【0013】
また、請求項3の発明は、請求項2の発明において、バスは、IEEE1394シリアルバスであり、制御手段は、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御するようにしたものである。この構成においては、上記請求項1と同様な作用を得ることができる。
【0014】
また、請求項4の発明は、IEEE1394シリアルバス上における送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する方法であって、コントローラ機器が、バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取るステップと、バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取るステップと、バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取るステップと、リンク層レベルにおける最高データ出力速度の情報と、リンク層レベルにおける最高データ入力速度の情報と、物理層レベルにおける最高データ転送速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするステップとからなるものである。
この構成においては、上記請求項1と同様な作用を得ることができる。
【0015】
【発明の実施の形態】
以下、本発明を具体化した実施形態について図面を参照して説明する。図1は、本実施形態によるコントローラ機器と、IEEE1394シリアルバス上における他の接続機器の電気的ブロック構成を示す。コントローラ機器1(バスに接続されるコントローラ機器:以下、コントローラと略す)は、IEEE1394シリアルバス9(以下、バスと略す)を介して、バスマネージャー2、データ送信側のターゲット機器3(以下、送信側ターゲットと略す)、及びデータ受信側のターゲット機器4(以下、受信側ターゲットと略す)と接続されており、送信側ターゲット3から受信側ターゲット4へのデータ転送を行う際に、これらのターゲット3、4を制御する。
【0016】
上記のコントローラ1は、装置全体の制御を行うCPU11と、各種のデータを記憶するメモリ12とを有している。CPU11は、IEEE1394のプロトコル上におけるアプリケーション層の機能の提供も行い、請求項における決定手段及び制御手段としても機能する。また、CPU11は、コントローラ1自体が送信側ターゲット3である場合には、最高データ出力速度読取手段としても機能し、コントローラ1自体が受信側ターゲット4である場合には、最高データ入力速度読取手段としても機能する。さらにまた、コントローラ1がバスマネージャー2でもある場合には、物理層最高転送速度読取手段としても機能する。また、メモリ12は、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際のデータレート(データ転送速度)を決定するためのデータレート決定プログラム13と、コントローラ1自体及びバス9上の他の接続機器に関する各種の情報を格納したレジスタ空間14とを内包している。また、コントローラ1は、IEEE1394のプロトコル上におけるリンク層レベルのサービスを提供するLINK15と、物理層レベルのサービスを提供するPHY16と、バス9のケーブルを接続するためのIEEE1394ポート17とを有している。
【0017】
上記のLINK15、PHY16及びIEEE1394ポート17は、コントローラ1と送信側ターゲット3とが別の機器である場合には、請求項における最高データ出力速度読取手段として機能し、また、コントローラ1と受信側ターゲット4とが別の機器である場合には、最高データ入力速度読取手段として機能する。さらにまた、コントローラ1とバスマネージャー2とが別の機器である場合には、物理層最高転送速度読取手段として機能する。
【0018】
また、上記のバスマネージャー2、送信側ターゲット3及び受信側ターゲット4も、コントローラ1と同様に、CPU21、31、41、メモリ22、32、42、LINK25、35、45、PHY26、36、46、及びIEEE1394ポート27、37、47を有しており、また、メモリ22、32、42内にそれぞれレジスタ空間24、34,44を内包している。しかし、コントローラ1と異なり、メモリ22,32、42内にデータレート決定プログラムを格納していない。
【0019】
次に、図2を参照して、上記のバスマネージャー2内のレジスタ空間24に記憶されているデータの内容について説明する。レジスタ空間24は、自装置及び他の接続機器の制御に用いられるCSR(Control and Status Registers)コア51と、バス9の管理用のレジスタであるシリアルバス依存レジスタ52と、自機の性能に関する情報等を記憶したコンフィグレーションROM53と、各機器固有のレジスタであるユニットレジスタ54とから構成されている。
【0020】
上記のシリアルバス依存レジスタ52には、バスマネジャー2の物理IDを格納したBUS_MANAGER_ID61、同期転送の帯域管理用のレジスタであるBANDWIDTH_AVAILABLE62、及び同期転送のチャンネル管理用のレジスタであるCHANNELS_AVAILABLE HI63とCHANNELS_AVAILABLE LO64とが含まれる。ただし、バスマネジャー2がアイソクロナスリソースマネージャーの役割を兼ねていない場合には、バスマネジャー2のBANDWIDTH_AVAILABLE62、CHANNELS_AVAILABLE HI63及びCHANNELS_AVAILABLE LO64は使用されず、アイソクロナスリソースマネージャー内のBANDWIDTH_AVAILABLE62、CHANNELS_AVAILABLE HI63及びCHANNELS_AVAILABLE LO64が使用される。
【0021】
また、上記のユニットレジスタ54には、データ出力側の接続機器の接続管理用レジスタであるoutput Plug Control Registers(以下、oPCRと略す)66と、データ入力側の接続機器の接続管理用レジスタであるinput Plug Control Registers(以下、iPCRと略す)67とが含まれる。oPCR66は、各装置固有の属性を制御するoMPR(output Master Plug Registers)71と、各チャンネルに対応したレジスタであるoPCR[0]72,oPCR[1]73等とから構成される。また、iPCR67も、各装置固有の属性を制御するiMPR(input Master Plug Registers)74と、各チャンネルに対応したレジスタであるiPCR[0]75,iPCR[1]76等とから構成される。
【0022】
上記のユニットレジスタ54は、上記のoPCR66、iPCR67に加えて、バス9上における各ノードの接続状態に関する情報であるTOPOLOGY_MAP(トポロジーマップ)68、及び各接続機器間における物理層レベルの最高転送速度の情報であるSPEED_MAP(スピードマップ)69を格納している。TOPOLOGY_MAP68及びSPEED_MAP69は、バスリセット時にCPU21によって作成される。
【0023】
上記のコントローラ1、送信側ターゲット3及び受信側ターゲット4内のレジスタ空間14、34,44も、バスマネージャー2内のレジスタ空間24と同様に、CSRコア51と、シリアルバス依存レジスタ52と、コンフィグレーションROM53と、ユニットレジスタ54とから構成されており、ユニットレジスタ54内には、上記と同様なoPCR66とiPCR67とが格納されている。
【0024】
次に、上記のoMPR71とiMPR74に格納されている情報の内容について図3を参照して説明する。上記のoMPR71は、自装置のリンク層レベルにおける最高データ出力速度の情報であるdata rate capability81や、自装置が有する出力プラグ数の情報であるnumber of output plugs82等を格納している。また、iMPR74は、自装置のリンク層レベルにおける最高データ入力速度の情報であるdata rate capability83や、自装置が有する入力プラグ数の情報であるnumber of input plugs84等を格納している。
【0025】
次に、図4を参照して、図2中におけるSPEED_MAP69に格納されている情報の内容について説明する。SPEED_MAP69は、ブロックの長さを表すlength、CRC(Cyclic Redundancy Check)用の符号、及びバス9上の各接続機器間における最高物理データレート(物理層レベルの最高データ転送速度)を表すコード(speed_code[0]〜[4029])を格納したスピードコードテーブル86等から構成されている。
【0026】
次に、図5を参照して、コントローラ1が送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレート(データ転送速度)の決定方法について説明する。コントローラ1は、送信側ターゲット3より受信側ターゲット4へのデータ転送要求の信号を受信すると、送信側ターゲット3のOMPR71内のdata rate capability81から、送信側ターゲット3のリンク層レベルにおける最高出力データレート(最高データ出力速度)の情報を読み込む(S1)。次に、コントローラ1は、受信側ターゲット4のiMPR74内のdata rate capability83から、受信側ターゲット4のリンク層レベルにおける最高入力データレート(最高データ入力速度)の情報を読み込む(S2)。さらに、コントローラ1は、バスマネージャー2のSPEED_MAP69内のスピードコードテーブル86から、送信側ターゲット3と受信側ターゲット4との間における最高物理データレート(物理層レベルの最高データ転送速度)の情報を読み込む(S3)。そして、S1で読み込んだ送信側ターゲット3のリンク層レベルにおける最高出力データレートと、S2で読み込んだ受信側ターゲット4のリンク層レベルにおける最高入力データレートと、S3で読み込んだ最高物理データレートのうち、最も遅いデータレートを実現可能な最高のデータレートであると判定して、このデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する(S4)。
【0027】
次に、図6を参照して、上記のデータレートの決定方法について具体例を示して説明する。以下の例では、図に示されるテレビ91が、バス9上におけるコントローラ1、バスマネージャー2、及びIRM(アイソクロナスリソースマネージャー)の役割を兼ねている場合について説明する。図中のPHY:S400、PHY:S200、PHY:S100は、それぞれ最高物理データレートが400Mbps、200Mbps、100Mbpsであることを示し、また、LINK:S400、LINK:S200、LINK:S100は、それぞれリンク層レベルにおける最高出力データレート及び最高入力データレートが400Mbps、200Mbps、100Mbpsであることを示す。
【0028】
まず、ビデオ93からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送するときには、仮想的なデータの流れは、図に示される破線Fのようになるが、テレビ91とビデオ93とは、ケーブル95によって直接結ばれておらず、ビデオ93からテレビ91に至る経路上には、ビデオ94が存在する。この場合、ビデオ93からテレビ91へデータを転送する際の実現可能な最高物理データレートは、テレビ91とビデオ93とビデオ94の物理データレートのうちで、最も遅いデータレートであるS200(200Mbps)となる。従って、バスマネージャー2であるテレビ91のSPEED_MAP69内に格納されているビデオ93とテレビ91との間における最高物理データレートは、200Mbpsとなる。
【0029】
テレビ91は、ビデオ93よりテレビ91へのデータ転送要求の信号を受信すると、自装置のSPEED_MAP69から、上記の最高物理データレート(200Mbps)を読み込む。そして、送信側ターゲット3であるビデオ93のOMPR71と、受信側ターゲット4であるテレビ91のiMPR64とから、それぞれビデオ93のリンク層レベルにおける最高出力データレート(100Mbps)と、テレビ91のリンク層レベルにおける最高入力データレート(400Mbps)とを読み込む。テレビ91は、上記の最高物理データレートと、ビデオ93のリンク層レベルにおける最高出力データレートと、テレビ91のリンク層レベルにおける最高入力データレートとに基づいて、これらのデータレートのうちで最も遅いデータレートが100Mbpsであると判定する。そして、この100Mbpsを、ビデオ93からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する。
【0030】
また、ビデオ94からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送するときには、テレビ91とビデオ94とは、ケーブル95によって直接結ばれているため、ビデオ94からテレビ91へデータを転送する際の実現可能な最高物理データレートは、テレビ91とビデオ94の物理データレートのうちで、遅い方のデータレートであるS200(200Mbps)となる。従って、バスマネージャー2であるテレビ91のSPEED_MAP69内に格納されているビデオ94とテレビ91との間における最高物理データレートは、200Mbpsとなる。
【0031】
テレビ91は、上記の最高物理データレートと、ビデオ94のリンク層レベルにおける最高出力データレートと、テレビ91のリンク層レベルにおける最高入力データレートとを読み込んで、これらのデータレートのうちで最も遅いデータレートが200Mbpsであると判定する。そして、この200Mbpsを、ビデオ94からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する。従って、図に示されるように、バス9上における接続機器の中にハンディカム92のような低速の機器が存在する場合でも、ビデオ94が、最も効率のよい転送レートでテレビ91へアシンクロナスデータを転送することができる。これにより、アシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0032】
上述したように、本実施形態によるコントローラ1によれば、送信側ターゲット3のリンク層レベルにおける最高出力データレート、及び受信側ターゲット4のリンク層レベルにおける最高入力データレートに加えて、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートに基づいて、送信側ターゲット3から受信側ターゲット4へデータを転送する際における実現可能な最高のデータレートを判定し、そのデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするようにした。これにより、ポイントツーポイント接続された送信側ターゲット3と受信側ターゲット4との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるので、アシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0033】
なお、本発明は、上記実施形態に限られるものではなく、様々な変形が可能である。例えば、本実施形態では、本発明をポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートの決定方法に適用したが、本発明をブロードキャスト接続でアイソクロナスデータを転送する際におけるデータレートの決定方法に適用してもよいし、また、アシンクロナスデータを転送する際におけるデータレートの決定方法に適用してもよい。また、上記の実施形態では、IEEE1394シリアルバスに接続されるコントローラ1について説明したが、コントローラが接続されるバスの種類は、IEEE1394シリアルバスに限らない。さらにまた、上記の実施形態では、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートを、バスマネージャー2のSPEED_MAP69から取得したが、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートの取得元はこれに限らない。
【0034】
【発明の効果】
以上説明したように請求項1の発明によれば、リンク層レベルにおける最高データ出力速度及び最高データ入力速度の情報に加えて、物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするようにした。これにより、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるので、ポイントツーポイント接続でアシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0035】
また、請求項2の発明によれば、リンク層レベルにおける最高データ出力速度及び最高データ入力速度の情報に加えて、物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度とするようにした。これにより、バスを介して接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでデータを転送することができる。従って、例えば、転送するデータがアイソクロナスデータである場合には、データを送信するのに必要な同期転送の帯域幅を節約することができる。
【0036】
また、請求項3の発明によれば、バスをIEEE1394シリアルバスとし、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、実現可能な最高のデータ転送速度を判定して、その最高のデータ転送速度でデータ転送を行うようにしたことにより、上記請求項1と同様の効果を得ることができる。
【0037】
また、コントローラ機器が、請求項4に記載の方法を用いて、バス上における送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定することにより、上記請求項1に記載の発明と同等の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコントローラ機器と、バス上における他の接続機器の電気的ブロック構成を示す図。
【図2】図1中のレジスタ空間の内容を示す図。
【図3】図2中のoMPRとiMPRの内容を示す図。
【図4】図2中のSPEED_MAPの内容を示す図。
【図5】上記コントローラ機器によるデータレートの決定方法の説明図。
【図6】上記コントローラ機器に相当するテレビと他の接続機器とをバスケーブルを介して接続したバスネットワークの具体例を示す図。
【符号の説明】
1 コントローラ(バスに接続されるコントローラ機器)
2 バスマネージャー
3 送信側ターゲット(送信側のターゲット機器)
4 受信側ターゲット(受信側のターゲット機器)
9 IEEE1394シリアルバス(バス)
11 CPU(最高データ出力速度読取手段、最高データ入力速度読取手段、決定手段、制御手段、物理層最高転送速度読取手段)
12 メモリ
14 レジスタ空間(レジスタ)
15 LINK(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
16 PHY(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
17 IEEE1394ポート(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
69 SPEED_MAP(スピードマップ)
81 data rate capability(リンク層レベルにおける最高データ出力速度の情報)
83 data rate capability(リンク層レベルにおける最高データ入力速度の情報)
【発明の属する技術分野】
本発明は、IEEE1394シリアルバス等のバスに接続されるコントローラ機器に係り、特に、バス上における送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送を制御する技術に関する。
【0002】
【従来の技術】
従来、IEEE1394シリアルバス(以下、バスと略す)上におけるコントローラ機器は、バス上における送信側のターゲット機器から受信側のターゲット機器へのデータ転送を制御する際に、バス上におけるバスマネージャーのレジスタ内に格納されたスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取り、この物理層レベルの最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度を決定していた。
【0003】
ところが、送信側のターゲット機器のリンク層レベルにおける最高データ出力速度、又は受信側のターゲット機器のリンク層レベルにおける最高データ入力速度が、スピードマップから読み取った物理層レベルにおける最高データ転送速度よりも遅い場合があり、このような場合には、受信側のターゲット機器が物理層レベルで受け取ったパケットをリンク層レベルで喪失してしまう。バス上における送信側のターゲット機器と受信側のターゲット機器との間でアシンクロナスデータを送信する場合には、送信側のターゲット機器は、受信側のターゲット機器から返信されるACK(Acknowledge)の有無を検知することにより、エラーの発生を知ることができる。しかし、送信側と受信側のターゲット機器の間において、ポイントツーポイント接続でアイソクロナスデータを転送する場合には、ACKを返さないブロードキャストタイプの通信を行うため、送信側及び受信側のターゲット機器のいずれもがエラーの発生を知ることができない。そこで、上記のような受信側のターゲット機器におけるリンク層レベルでのパケットの喪失を防ぐ目的で、バス上における全ての接続機器のリンク層レベルにおける最高データ転送速度の中で最低のデータ転送速度をバス上における全ての接続機器間のデータ転送速度とするようにしたコントローラ機器がある。
【0004】
また、この種の接続機器の分野において、ブロードキャスト−アウト接続でアイソクロナスデータを転送する際に、送信側の接続機器が送信に使用するフォーマットの信号を受信可能な接続機器を判定して、受信可能な全ての接続機器における最高データ転送速度の中で最低の転送速度を送信側の接続機器のデータ転送速度とするようにしたものが知られている(例えば、特許文献1参照)。さらにまた、バスリセット発生時における処理を簡単に行えるようにすることを目的として、ネットワーク内の各通信装置の存在を示すリンクポインタを記憶しておいて、バスリセット時に、このリンクポインタを使用してネットワーク制御用のリンクポインタを効率よく生成させるようにした接続機器が知られている(例えば、特許文献2参照)。
【0005】
【特許文献1】
特開2001−69157号公報(第1−4頁、図5)
【特許文献2】
特開2002−217928号公報(第1−11頁、図17)
【0006】
【発明が解決しようとする課題】
しかしながら、上記のようなバス上における全ての接続機器のリンク層レベルにおける最高データ転送速度の中で最低のデータ転送速度を全ての接続機器間のデータ転送速度とするコントローラ機器では、送信側のターゲット機器から受信側のターゲット機器に至る経路にバス上における最低のデータ転送速度の接続機器が介在せず、送信側と受信側のターゲット機器間で最低のデータ転送速度よりも高速でデータ転送を行うことができる場合でも、最低のデータ転送速度でデータ転送が行われる。このため、送信側のターゲット機器から受信側のターゲット機器へ最も効率のよい転送レートでアシンクロナスデータを転送することができず、従って、アシンクロナスデータの送信に必要な同期転送の帯域幅が、本来必要な帯域幅よりも広くなってしまうという問題があった。
【0007】
また、上記特許文献1に示される発明をポイントツーポイント接続によるアイソクロナスデータの転送に適用したとしても、バス上における最低のデータ転送速度の接続機器が、送信側のターゲット機器が送信に使用するフォーマットの信号を受信可能である場合には、上記と同様な問題が発生する。さらにまた、上記特許文献2に示される発明では、上記の問題を解決することができない。
【0008】
本発明は、上記の問題を解決するためになされたものであり、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるようにして、ポイントツーポイント接続でアシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することが可能なバスに接続されるコントローラ機器とそのデータ転送速度決定方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するために請求項1の発明は、他の接続機器とバスを介して接続され、自装置のリンク層レベルにおける最高データ入力速度及び最高データ出力速度等の情報を格納するレジスタを内包するメモリと、バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する決定手段と、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、バスがIEEE1394シリアルバスであり、バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、決定手段が、上記リンク層レベルにおける最高データ出力速度の情報、及び上記リンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするものである。
【0010】
上記構成においては、決定手段が、リンク層レベルにおける最高データ出力速度の情報、及びリンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするようにした。これにより、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができる。
【0011】
また、請求項2の発明は、他の接続機器とバスを介して接続され、自装置のリンク層レベルにおける最高入力データ転送速度及び最高出力データ転送速度等の情報を格納するレジスタを内包するメモリと、バス上における送信側のターゲット機器に関するリンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、バス上における受信側のターゲット機器に関するリンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度を決定する決定手段と、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、決定手段が、上記リンク層レベルにおける最高データ出力速度の情報、及び上記リンク層レベルにおける最高データ入力速度の情報に加えて、物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度とするものである。
【0012】
この構成においては、上記請求項1と同様な作用を得ることができるので、バスを介して接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでデータを転送することができる。
【0013】
また、請求項3の発明は、請求項2の発明において、バスは、IEEE1394シリアルバスであり、制御手段は、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、決定手段によって決定されたデータ転送速度でデータ転送を行うように、送信側のターゲット機器及び受信側のターゲット機器を制御するようにしたものである。この構成においては、上記請求項1と同様な作用を得ることができる。
【0014】
また、請求項4の発明は、IEEE1394シリアルバス上における送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する方法であって、コントローラ機器が、バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取るステップと、バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取るステップと、バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取るステップと、リンク層レベルにおける最高データ出力速度の情報と、リンク層レベルにおける最高データ入力速度の情報と、物理層レベルにおける最高データ転送速度の情報とに基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするステップとからなるものである。
この構成においては、上記請求項1と同様な作用を得ることができる。
【0015】
【発明の実施の形態】
以下、本発明を具体化した実施形態について図面を参照して説明する。図1は、本実施形態によるコントローラ機器と、IEEE1394シリアルバス上における他の接続機器の電気的ブロック構成を示す。コントローラ機器1(バスに接続されるコントローラ機器:以下、コントローラと略す)は、IEEE1394シリアルバス9(以下、バスと略す)を介して、バスマネージャー2、データ送信側のターゲット機器3(以下、送信側ターゲットと略す)、及びデータ受信側のターゲット機器4(以下、受信側ターゲットと略す)と接続されており、送信側ターゲット3から受信側ターゲット4へのデータ転送を行う際に、これらのターゲット3、4を制御する。
【0016】
上記のコントローラ1は、装置全体の制御を行うCPU11と、各種のデータを記憶するメモリ12とを有している。CPU11は、IEEE1394のプロトコル上におけるアプリケーション層の機能の提供も行い、請求項における決定手段及び制御手段としても機能する。また、CPU11は、コントローラ1自体が送信側ターゲット3である場合には、最高データ出力速度読取手段としても機能し、コントローラ1自体が受信側ターゲット4である場合には、最高データ入力速度読取手段としても機能する。さらにまた、コントローラ1がバスマネージャー2でもある場合には、物理層最高転送速度読取手段としても機能する。また、メモリ12は、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際のデータレート(データ転送速度)を決定するためのデータレート決定プログラム13と、コントローラ1自体及びバス9上の他の接続機器に関する各種の情報を格納したレジスタ空間14とを内包している。また、コントローラ1は、IEEE1394のプロトコル上におけるリンク層レベルのサービスを提供するLINK15と、物理層レベルのサービスを提供するPHY16と、バス9のケーブルを接続するためのIEEE1394ポート17とを有している。
【0017】
上記のLINK15、PHY16及びIEEE1394ポート17は、コントローラ1と送信側ターゲット3とが別の機器である場合には、請求項における最高データ出力速度読取手段として機能し、また、コントローラ1と受信側ターゲット4とが別の機器である場合には、最高データ入力速度読取手段として機能する。さらにまた、コントローラ1とバスマネージャー2とが別の機器である場合には、物理層最高転送速度読取手段として機能する。
【0018】
また、上記のバスマネージャー2、送信側ターゲット3及び受信側ターゲット4も、コントローラ1と同様に、CPU21、31、41、メモリ22、32、42、LINK25、35、45、PHY26、36、46、及びIEEE1394ポート27、37、47を有しており、また、メモリ22、32、42内にそれぞれレジスタ空間24、34,44を内包している。しかし、コントローラ1と異なり、メモリ22,32、42内にデータレート決定プログラムを格納していない。
【0019】
次に、図2を参照して、上記のバスマネージャー2内のレジスタ空間24に記憶されているデータの内容について説明する。レジスタ空間24は、自装置及び他の接続機器の制御に用いられるCSR(Control and Status Registers)コア51と、バス9の管理用のレジスタであるシリアルバス依存レジスタ52と、自機の性能に関する情報等を記憶したコンフィグレーションROM53と、各機器固有のレジスタであるユニットレジスタ54とから構成されている。
【0020】
上記のシリアルバス依存レジスタ52には、バスマネジャー2の物理IDを格納したBUS_MANAGER_ID61、同期転送の帯域管理用のレジスタであるBANDWIDTH_AVAILABLE62、及び同期転送のチャンネル管理用のレジスタであるCHANNELS_AVAILABLE HI63とCHANNELS_AVAILABLE LO64とが含まれる。ただし、バスマネジャー2がアイソクロナスリソースマネージャーの役割を兼ねていない場合には、バスマネジャー2のBANDWIDTH_AVAILABLE62、CHANNELS_AVAILABLE HI63及びCHANNELS_AVAILABLE LO64は使用されず、アイソクロナスリソースマネージャー内のBANDWIDTH_AVAILABLE62、CHANNELS_AVAILABLE HI63及びCHANNELS_AVAILABLE LO64が使用される。
【0021】
また、上記のユニットレジスタ54には、データ出力側の接続機器の接続管理用レジスタであるoutput Plug Control Registers(以下、oPCRと略す)66と、データ入力側の接続機器の接続管理用レジスタであるinput Plug Control Registers(以下、iPCRと略す)67とが含まれる。oPCR66は、各装置固有の属性を制御するoMPR(output Master Plug Registers)71と、各チャンネルに対応したレジスタであるoPCR[0]72,oPCR[1]73等とから構成される。また、iPCR67も、各装置固有の属性を制御するiMPR(input Master Plug Registers)74と、各チャンネルに対応したレジスタであるiPCR[0]75,iPCR[1]76等とから構成される。
【0022】
上記のユニットレジスタ54は、上記のoPCR66、iPCR67に加えて、バス9上における各ノードの接続状態に関する情報であるTOPOLOGY_MAP(トポロジーマップ)68、及び各接続機器間における物理層レベルの最高転送速度の情報であるSPEED_MAP(スピードマップ)69を格納している。TOPOLOGY_MAP68及びSPEED_MAP69は、バスリセット時にCPU21によって作成される。
【0023】
上記のコントローラ1、送信側ターゲット3及び受信側ターゲット4内のレジスタ空間14、34,44も、バスマネージャー2内のレジスタ空間24と同様に、CSRコア51と、シリアルバス依存レジスタ52と、コンフィグレーションROM53と、ユニットレジスタ54とから構成されており、ユニットレジスタ54内には、上記と同様なoPCR66とiPCR67とが格納されている。
【0024】
次に、上記のoMPR71とiMPR74に格納されている情報の内容について図3を参照して説明する。上記のoMPR71は、自装置のリンク層レベルにおける最高データ出力速度の情報であるdata rate capability81や、自装置が有する出力プラグ数の情報であるnumber of output plugs82等を格納している。また、iMPR74は、自装置のリンク層レベルにおける最高データ入力速度の情報であるdata rate capability83や、自装置が有する入力プラグ数の情報であるnumber of input plugs84等を格納している。
【0025】
次に、図4を参照して、図2中におけるSPEED_MAP69に格納されている情報の内容について説明する。SPEED_MAP69は、ブロックの長さを表すlength、CRC(Cyclic Redundancy Check)用の符号、及びバス9上の各接続機器間における最高物理データレート(物理層レベルの最高データ転送速度)を表すコード(speed_code[0]〜[4029])を格納したスピードコードテーブル86等から構成されている。
【0026】
次に、図5を参照して、コントローラ1が送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレート(データ転送速度)の決定方法について説明する。コントローラ1は、送信側ターゲット3より受信側ターゲット4へのデータ転送要求の信号を受信すると、送信側ターゲット3のOMPR71内のdata rate capability81から、送信側ターゲット3のリンク層レベルにおける最高出力データレート(最高データ出力速度)の情報を読み込む(S1)。次に、コントローラ1は、受信側ターゲット4のiMPR74内のdata rate capability83から、受信側ターゲット4のリンク層レベルにおける最高入力データレート(最高データ入力速度)の情報を読み込む(S2)。さらに、コントローラ1は、バスマネージャー2のSPEED_MAP69内のスピードコードテーブル86から、送信側ターゲット3と受信側ターゲット4との間における最高物理データレート(物理層レベルの最高データ転送速度)の情報を読み込む(S3)。そして、S1で読み込んだ送信側ターゲット3のリンク層レベルにおける最高出力データレートと、S2で読み込んだ受信側ターゲット4のリンク層レベルにおける最高入力データレートと、S3で読み込んだ最高物理データレートのうち、最も遅いデータレートを実現可能な最高のデータレートであると判定して、このデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する(S4)。
【0027】
次に、図6を参照して、上記のデータレートの決定方法について具体例を示して説明する。以下の例では、図に示されるテレビ91が、バス9上におけるコントローラ1、バスマネージャー2、及びIRM(アイソクロナスリソースマネージャー)の役割を兼ねている場合について説明する。図中のPHY:S400、PHY:S200、PHY:S100は、それぞれ最高物理データレートが400Mbps、200Mbps、100Mbpsであることを示し、また、LINK:S400、LINK:S200、LINK:S100は、それぞれリンク層レベルにおける最高出力データレート及び最高入力データレートが400Mbps、200Mbps、100Mbpsであることを示す。
【0028】
まず、ビデオ93からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送するときには、仮想的なデータの流れは、図に示される破線Fのようになるが、テレビ91とビデオ93とは、ケーブル95によって直接結ばれておらず、ビデオ93からテレビ91に至る経路上には、ビデオ94が存在する。この場合、ビデオ93からテレビ91へデータを転送する際の実現可能な最高物理データレートは、テレビ91とビデオ93とビデオ94の物理データレートのうちで、最も遅いデータレートであるS200(200Mbps)となる。従って、バスマネージャー2であるテレビ91のSPEED_MAP69内に格納されているビデオ93とテレビ91との間における最高物理データレートは、200Mbpsとなる。
【0029】
テレビ91は、ビデオ93よりテレビ91へのデータ転送要求の信号を受信すると、自装置のSPEED_MAP69から、上記の最高物理データレート(200Mbps)を読み込む。そして、送信側ターゲット3であるビデオ93のOMPR71と、受信側ターゲット4であるテレビ91のiMPR64とから、それぞれビデオ93のリンク層レベルにおける最高出力データレート(100Mbps)と、テレビ91のリンク層レベルにおける最高入力データレート(400Mbps)とを読み込む。テレビ91は、上記の最高物理データレートと、ビデオ93のリンク層レベルにおける最高出力データレートと、テレビ91のリンク層レベルにおける最高入力データレートとに基づいて、これらのデータレートのうちで最も遅いデータレートが100Mbpsであると判定する。そして、この100Mbpsを、ビデオ93からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する。
【0030】
また、ビデオ94からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送するときには、テレビ91とビデオ94とは、ケーブル95によって直接結ばれているため、ビデオ94からテレビ91へデータを転送する際の実現可能な最高物理データレートは、テレビ91とビデオ94の物理データレートのうちで、遅い方のデータレートであるS200(200Mbps)となる。従って、バスマネージャー2であるテレビ91のSPEED_MAP69内に格納されているビデオ94とテレビ91との間における最高物理データレートは、200Mbpsとなる。
【0031】
テレビ91は、上記の最高物理データレートと、ビデオ94のリンク層レベルにおける最高出力データレートと、テレビ91のリンク層レベルにおける最高入力データレートとを読み込んで、これらのデータレートのうちで最も遅いデータレートが200Mbpsであると判定する。そして、この200Mbpsを、ビデオ94からテレビ91へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするように決定する。従って、図に示されるように、バス9上における接続機器の中にハンディカム92のような低速の機器が存在する場合でも、ビデオ94が、最も効率のよい転送レートでテレビ91へアシンクロナスデータを転送することができる。これにより、アシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0032】
上述したように、本実施形態によるコントローラ1によれば、送信側ターゲット3のリンク層レベルにおける最高出力データレート、及び受信側ターゲット4のリンク層レベルにおける最高入力データレートに加えて、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートに基づいて、送信側ターゲット3から受信側ターゲット4へデータを転送する際における実現可能な最高のデータレートを判定し、そのデータレートを、送信側ターゲット3から受信側ターゲット4へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートとするようにした。これにより、ポイントツーポイント接続された送信側ターゲット3と受信側ターゲット4との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるので、アシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0033】
なお、本発明は、上記実施形態に限られるものではなく、様々な変形が可能である。例えば、本実施形態では、本発明をポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータレートの決定方法に適用したが、本発明をブロードキャスト接続でアイソクロナスデータを転送する際におけるデータレートの決定方法に適用してもよいし、また、アシンクロナスデータを転送する際におけるデータレートの決定方法に適用してもよい。また、上記の実施形態では、IEEE1394シリアルバスに接続されるコントローラ1について説明したが、コントローラが接続されるバスの種類は、IEEE1394シリアルバスに限らない。さらにまた、上記の実施形態では、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートを、バスマネージャー2のSPEED_MAP69から取得したが、送信側ターゲット3と受信側ターゲット4との間における最高物理データレートの取得元はこれに限らない。
【0034】
【発明の効果】
以上説明したように請求項1の発明によれば、リンク層レベルにおける最高データ出力速度及び最高データ入力速度の情報に加えて、物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするようにした。これにより、ポイントツーポイント接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでアシンクロナスデータを転送することができるので、ポイントツーポイント接続でアシンクロナスデータを送信するのに必要な同期転送の帯域幅を節約することができる。
【0035】
また、請求項2の発明によれば、リンク層レベルにおける最高データ出力速度及び最高データ入力速度の情報に加えて、物理層レベルにおける最高データ転送速度の情報に基づいて、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、送信側のターゲット機器から受信側のターゲット機器へデータを転送する際におけるデータ転送速度とするようにした。これにより、バスを介して接続された送信側のターゲット機器と受信側のターゲット機器との間で最も効率のよい転送レートでデータを転送することができる。従って、例えば、転送するデータがアイソクロナスデータである場合には、データを送信するのに必要な同期転送の帯域幅を節約することができる。
【0036】
また、請求項3の発明によれば、バスをIEEE1394シリアルバスとし、送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、実現可能な最高のデータ転送速度を判定して、その最高のデータ転送速度でデータ転送を行うようにしたことにより、上記請求項1と同様の効果を得ることができる。
【0037】
また、コントローラ機器が、請求項4に記載の方法を用いて、バス上における送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定することにより、上記請求項1に記載の発明と同等の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコントローラ機器と、バス上における他の接続機器の電気的ブロック構成を示す図。
【図2】図1中のレジスタ空間の内容を示す図。
【図3】図2中のoMPRとiMPRの内容を示す図。
【図4】図2中のSPEED_MAPの内容を示す図。
【図5】上記コントローラ機器によるデータレートの決定方法の説明図。
【図6】上記コントローラ機器に相当するテレビと他の接続機器とをバスケーブルを介して接続したバスネットワークの具体例を示す図。
【符号の説明】
1 コントローラ(バスに接続されるコントローラ機器)
2 バスマネージャー
3 送信側ターゲット(送信側のターゲット機器)
4 受信側ターゲット(受信側のターゲット機器)
9 IEEE1394シリアルバス(バス)
11 CPU(最高データ出力速度読取手段、最高データ入力速度読取手段、決定手段、制御手段、物理層最高転送速度読取手段)
12 メモリ
14 レジスタ空間(レジスタ)
15 LINK(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
16 PHY(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
17 IEEE1394ポート(最高データ出力速度読取手段、最高データ入力速度読取手段、物理層最高転送速度読取手段)
69 SPEED_MAP(スピードマップ)
81 data rate capability(リンク層レベルにおける最高データ出力速度の情報)
83 data rate capability(リンク層レベルにおける最高データ入力速度の情報)
Claims (4)
- 他の接続機器とバスを介して接続され、
自装置のリンク層レベルにおける最高データ入力速度及び最高データ出力速度等の情報を格納するレジスタを内包するメモリと、
前記バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、
前記バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、
前記最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、前記最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、前記送信側のターゲット機器から前記受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する決定手段と、
前記送信側のターゲット機器から前記受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、前記決定手段によって決定されたデータ転送速度でデータ転送を行うように、前記送信側のターゲット機器及び前記受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、
前記バスがIEEE1394シリアルバスであり、
前記バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、
前記決定手段が、前記リンク層レベルにおける最高データ出力速度の情報、及び前記リンク層レベルにおける最高データ入力速度の情報に加えて、前記物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、前記送信側のターゲット機器から前記受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするようにしたことを特徴とするバスに接続されるコントローラ機器。 - 他の接続機器とバスを介して接続され、
自装置のリンク層レベルにおける最高入力データ転送速度及び最高出力データ転送速度等の情報を格納するレジスタを内包するメモリと、
前記バス上における送信側のターゲット機器に関するリンク層レベルにおける最高データ出力速度の情報を読み取る最高データ出力速度読取手段と、
前記バス上における受信側のターゲット機器に関するリンク層レベルにおける最高データ入力速度の情報を読み取る最高データ入力速度読取手段と、
前記最高データ出力速度読取手段によって読み取ったリンク層レベルにおける最高データ出力速度の情報と、前記最高データ入力速度読取手段によって読み取ったリンク層レベルにおける最高データ入力速度の情報とに基づいて、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際におけるデータ転送速度を決定する決定手段と、
前記決定手段によって決定されたデータ転送速度でデータ転送を行うように、前記送信側のターゲット機器及び前記受信側のターゲット機器を制御する制御手段とを備えたバスに接続されるコントローラ機器において、
前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取る物理層最高転送速度読取手段をさらに備え、
前記決定手段が、前記リンク層レベルにおける最高データ出力速度の情報、及び前記リンク層レベルにおける最高データ入力速度の情報に加えて、前記物理層最高転送速度読取手段によって読み取った物理層レベルにおける最高データ転送速度の情報に基づいて、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際におけるデータ転送速度とするようにしたことを特徴とするバスに接続されるコントローラ機器。 - 前記バスは、IEEE1394シリアルバスであり、
前記制御手段は、前記送信側のターゲット機器から前記受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送するときに、前記決定手段によって決定されたデータ転送速度でデータ転送を行うように、前記送信側のターゲット機器及び前記受信側のターゲット機器を制御することを特徴とする請求項2に記載のバスに接続されるコントローラ機器。 - IEEE1394シリアルバス上における送信側のターゲット機器から受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度を決定する方法であって、
前記コントローラ機器が、
前記バス上における送信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ出力速度の情報を読み取るステップと、
前記バス上における受信側のターゲット機器内のレジスタから、リンク層レベルにおける最高データ入力速度の情報を読み取るステップと、
前記バス上におけるバスマネージャーのレジスタ内に格納された各接続機器間における物理層レベルの最高データ転送速度の情報であるスピードマップより、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における物理層レベルの最高データ転送速度の情報を読み取るステップと、前記リンク層レベルにおける最高データ出力速度の情報と、前記リンク層レベルにおける最高データ入力速度の情報と、前記物理層レベルにおける最高データ転送速度の情報とに基づいて、前記送信側のターゲット機器から前記受信側のターゲット機器へデータを転送する際における実現可能な最高のデータ転送速度を判定し、その最高のデータ転送速度を、前記送信側のターゲット機器から前記受信側のターゲット機器へポイントツーポイント接続でアイソクロナスデータを転送する際におけるデータ転送速度とするステップとからなることを特徴とするデータ転送速度決定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003155753A JP2004357250A (ja) | 2003-05-30 | 2003-05-30 | バスに接続されるコントローラ機器とそのデータ転送速度決定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003155753A JP2004357250A (ja) | 2003-05-30 | 2003-05-30 | バスに接続されるコントローラ機器とそのデータ転送速度決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004357250A true JP2004357250A (ja) | 2004-12-16 |
Family
ID=34050058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003155753A Pending JP2004357250A (ja) | 2003-05-30 | 2003-05-30 | バスに接続されるコントローラ機器とそのデータ転送速度決定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004357250A (ja) |
-
2003
- 2003-05-30 JP JP2003155753A patent/JP2004357250A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6445711B1 (en) | Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses | |
JP4278439B2 (ja) | 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体 | |
US6754184B2 (en) | Information processing apparatus and method, and distribution medium | |
JP2008546298A (ja) | 電子装置及び通信リソース割り当ての方法 | |
EP1193914A2 (en) | Data transmission and reception | |
US6909699B2 (en) | Data transfer system, data transfer management apparatus and data transfer method | |
JP2003174486A (ja) | 情報通信装置、情報通信方法および情報通信処理プログラム | |
US8885673B2 (en) | Interleaving data packets in a packet-based communication system | |
EP1091523B1 (en) | Speed converter for IEEE-1394 serial bus network | |
US8559424B2 (en) | Data communication method and communication apparatus | |
US6690670B1 (en) | System and method for transmission between ATM layer devices and PHY layer devices over a serial bus | |
KR100609493B1 (ko) | 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법 | |
JP2004357250A (ja) | バスに接続されるコントローラ機器とそのデータ転送速度決定方法 | |
JP3894443B2 (ja) | バスに接続されるコントローラ機器とそのデータレート変更方法 | |
JP3753247B2 (ja) | Ieee1394シリアルバスへの接続機器とそのスピードマップ生成方法 | |
KR19990050572A (ko) | 분산 노드 환경에서 점대점 프로토콜 및 다중링크 프로토콜을 이용한 서비스 처리 방법 | |
JP3758045B2 (ja) | Ieee1394シリアルバスへの接続機器 | |
JP3767747B2 (ja) | Ieee1394シリアルバスへの接続機器とその物理id付与方法 | |
JP3525861B2 (ja) | データ送信装置とデータ送信制御装置及びデータ送信方法 | |
JP2002111698A (ja) | データ転送装置、ネットワークシステム及びデータ転送方法 | |
CN117155738A (zh) | 一种车载网络通信中的网关装置及实现方法 | |
KR100427764B1 (ko) | 서로 다른 데이터 버스를 가지는 디바이스들의 정합 장치 | |
Sastry et al. | An Open Specification for Fire wire Standard to Extend its suitability to diversified Applications | |
KR20000034438A (ko) | 고성능 직렬버스를 통한 멀티캐스트용 데이터 전송방법 | |
JPS63238738A (ja) | 通信制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060410 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060804 |