JP4363275B2 - 通信装置間の通信方法およびネットワーク - Google Patents
通信装置間の通信方法およびネットワーク Download PDFInfo
- Publication number
- JP4363275B2 JP4363275B2 JP2004223870A JP2004223870A JP4363275B2 JP 4363275 B2 JP4363275 B2 JP 4363275B2 JP 2004223870 A JP2004223870 A JP 2004223870A JP 2004223870 A JP2004223870 A JP 2004223870A JP 4363275 B2 JP4363275 B2 JP 4363275B2
- Authority
- JP
- Japan
- Prior art keywords
- bandwidth
- communication
- communication device
- asynchronous
- node
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
IEEE Std 1394−1995、 IEEE Standard for a High Performancs Serial Bus
そこで本出願人は、通信装置間でやり取りされるアシンクロナス送信を管理する方法を備えたIEEE1394シリアルバス・ネットワークシステムを先に提案している(特許文献1参照)。
また、サイクル周期である125[μs]以下の周期で同期通信する方法として、各通信装置は、自通信装置より先に獲得された帯域(および必要によってチャンネル番号)とから先にバスが使用される時間を計算し、自通信装置からの送信を前記計算した時間だけサイクルスタートから遅らせることによって、自通信装置からの送信が他通信装置からの送信と重なってアービットレーションで衝突するのを避けるように同期通信をスケジューリングする方法が開示されている。
この方法によれば、アシンクロナス・ストリーム・パケットが送信されるタイミングを一定にすることができ、各通信装置はサイクル周期以下の通信周期で送信する方法も先に提案している(特許文献2参照)。
アシンクロナス送信を行う通信装置やアシンクロナス・ストリーム・パケットのサイズを制限することができず、バスに流れるアシンクロナス・ストリーム・パケット(ここでは、符号1201〜1203で示す)の構成は、通信装置がバス使用権を獲得した順に並ぶことになるので、サイクル毎に変化する。
なお、符号104は、サイクルスタートパケットを示す。
同図に示す通信装置の構成は、IEEE1394規格対応の通信装置Aと、IEEE1394規格対応の通信装置Bとが、IEEE1394規格対応のケーブル1303でネットワーク接続されていて、前記通信装置Aではアシンクロナス送信管理機能部1304が機能している。
同図において、帯域割り当て要求1311は通信装置Bから通信装置Aへのアシンクロナス送信帯域の帯域割り当て要求、帯域割り当て要求に対する応答1312は前記帯域割り当て要求1311に対する通信装置Aから通信装置Bへの帯域割り当て要求に対する応答である。
また、帯域返却要求1313は通信装置Bから通信装置Aへの既に割り当てられているアシンクロナス送信帯域の帯域返却要求である。
さらに、帯域返却要求に対する応答1314は前記帯域返却要求1313に対する通信装置Aから通信装置Bへの帯域割り当て要求に対する応答である。
通信装置Bは、アシンクロナス送信帯域でパケット送信を開始する場合、帯域割り当て要求1311をアシンクロナス送信管理機能部1304に送信して使用したいアシンクロナス送信帯域を要求する。通信装置Bからの帯域割り当て要求1311を受信したアシンクロナス送信管理機能部1304は、帯域割り当て要求の承認または拒絶を帯域割り当て要求に対する応答1312として前記通信装置Bに送信する。
また、通信装置Bは、アシンクロナス送信管理機能部1304からの帯域割り当て要求に対する応答1312を受信した後、帯域割り当て要求が承認された場合はアシンクロナス送信帯域でのパケット送信を開始する。拒絶された場合はアシンクロナス送信帯域でのパケット送信を断念する。
さらに、通信装置Bは、アシンクロナス送信帯域でのパケット送信を終了する場合、割り当てられているアシンクロナス送信帯域の帯域返却要求1313をアシンクロナス送信管理機能部1304に送信する。通信装置Bからの帯域返却要求1313を受信したアシンクロナス送信管理機能部1304は、帯域返却の実行完了または実行エラーを帯域返却要求に対する応答1314として前記通信装置Bに送信する。一方、通信装置Bは、アシンクロナス送信管理機能部1304からの帯域返却要求に対する応答1314を受信した後、アシンクロナス送信帯域でのパケット送信を終了する。
同図に示す各数値は、IRMのBANDWIDTH_AVAILABLEレジスタで使われる単位数を示す数値であり、S1600のデータレートで1quadletのデータを送信するのに要する時間を1単位(約20〔ns〕)としている。この単位によれば、4915単位はサイクルスタートから100〔μs〕の範囲となる(非特許文献1記載の、8.3.2.3.7 bandwidth_availableレジスタ参照)。
1サイクルにおいて利用可能なBANDWIDTH全体(符号1401)は、6144単位であり、これは、サイクル周期である125〔μs〕に相当する。BANDWIDTH全体(1401)は、前述のとおり6144単位であるが、IRMの管理範囲であるアイソクロナス送信に使用できる範囲は4915単位である。
このBANDWIDTH全体を2つに分割すると、符号1402で示すBANDWIDTHになり、3072単位のリソースが2つとなる。ただし、2つ目のリソースのうち、後半の1229単位のリソースは使用できないので、1つ目の3072単位のリソースも同じ構造にする。こうしてできた各リソースの1843単位の範囲で、或る通信装置が同じ帯域幅を1つずつ獲得すれば、62.5〔μs〕ごとに1つの帯域幅を獲得したことになる。
このように、先行発明に係るアシンクロナス送信を管理する方法を備えたIEEE1394シリアルバス・ネットワークシステムでは、アシンクロナス送信管理機能部に帯域割り当てを要求し、この要求が承認されたら、アシンクロナス送信帯域での送信を開始するという手順がとられていた。また、サイクル周期を等間隔に分割し、IRMの管理範囲である4915単位のBANDWIDTH(リソース)に当てはまる帯域のみ、通信装置に割り当てるという手順がとられていた。
同図に示す数値は、アイソクロナス・リソース・マネージャ(Isochronous Resource Manager:以下IRMと略す)のBANDWIDTH_AVAILABLEレジスタで使われる単位数を示す数値であり、S1600のデータレートで1quadletのデータを送信するのに要する時間を1単位と(約20[ns])としている。
1サイクルにおいて利用可能なBANDWIDTH全体は(符号1601)は、6144単位であり、これは、サイクル周期である125[μs]に相当する。
このBANDWIDTH全体を2つに分割すると、符号1602で示すBANDWIDTHになり、3072単位の帯域が2つとなる。各帯域の3072単位の範囲で、或る通信装置が同じ帯域幅を1つずつ獲得すれば、62.5[μs]ごとに1つの帯域幅を獲得したことになる。
このように、先行発明に係るアシンクロナス送信を管理する方法を備えたIEEE1394シリアルバス・ネットワークシステムでは、アシンクロナス送信管理機能部に帯域割り当てを要求し、この帯域割り当ての要求が承認されたら、アシンクロナス送信帯域での送信を開始するという手順がとられていた。
また、サイクル周期を等間隔に分割し、通信装置に割り当てるという手順がとられていた。
また、サイクル周期である125μs以下の周期で同期通信する方法では、通信装置がIRMに対して25μs以下の通信周期を要求したとき、第1例の場合、IRMの管理範囲であるサイクルスタートから100μsの範囲外になる通信周期が生じるため、要求通信周期での同期通信ができないという問題点もあった。
本発明は、上記の問題点に鑑みてなされたものであって、アシンクロナス送信をスケジューリング可能にした上で、任意の通信周期で同期通信できる通信装置間の通信方法を提供することを第1の目的としている。
同じく、第2例の場合、サイクル周期を整数分割して求められる通信周期以外での同期通信ができないという問題もあった。
本発明は、上記の問題点に鑑みてなされたものであって、アシンクロナス送信をサイクル周期以外の周期でもスケジューリングすることをできるようにした上で、任意の通信周期で同期通信できる方法を提供することを第2の目的としている。
これにより、前記複数の通信装置の各々は、アービトレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができる。
これにより、複数の通信装置の各々は、アービトレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる。
これにより、複数の通信装置の各々は、アービットレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができる。
そして、第4および第12の発明は、第2の通信装置が、第1の通信装置からの管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつトランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、利用可能な帯域からトランザクションで要求された帯域を獲得すると共に、第1の通信装置に対して、帯域を獲得した旨を通知することを特徴としている。
これにより、複数の通信装置の各々は、アービットレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる。
また、第5および第13の発明は、利用可能な帯域が、1サイクル又は1管理サイクルで利用可能な帯域全体、若しくは1サイクル又は管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴としている。
これにより、通信帯域の利用実態や利用状況に合わせた無駄の無い通信サイクルを設定することができる。
これにより、複数の通信装置の各々は、自己の通信周期において周期的に領域獲得要求のトランザクションを送信することが可能となり、かつ当該要求がスムースに認可されるので、あたかも自装置だけがシリアルバスを使用しているように、アシンクロナス・ストリーム・パケットの送信をスケジューリングすることができる。
これにより、あたかも自装置だけがシリアルバスを使用しているように、周期的な帯域割り当てを行うことができる。
これにより、例えば、IEEE1394規格に対応した通信機器にも本発明の適用が可能となる。
そして、前記第2の通信装置が、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知するので、前記複数の通信装置の各々は、アービットレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる効果がある。
また、前記利用可能な帯域が、前記1サイクル又は前記1管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であるので、通信帯域の利用実態や利用状況に合わせた無駄の無い通信サイクルを設定することができる効果がある。
他通信装置のアシンクロナス送信帯域の獲得状況を知るために、通信装置A、通信装置B、通信装置Cは、バス上に流れるトランザクションのパケットを全て読み込むことができるものとする(各通信装置は、他通信装置からの、アシンクロナス送信管理機能を備えた通信装置宛てのトランザクションを常に監視することで、どの通信装置がどれだけのアシンクロナス帯域を獲得したかを知ることができる)。
図中の数値は、IRMのBANDWIDTH_AVAILABLEレジスタで使われる単位であり、S1600のデータレートで1quadletのデータを送信するのに要する時間を1単位(約20〔ns〕)としている(非特許文献1の8.3.2.3.7 bandwidth_availableレジスタ参照)。
1サイクル(サイクルスタートパケットの到来周期)において利用可能なBANDWIDTH(101)全体は、6144単位であり、これは、サイクル周期である125〔μs〕に相当する。サイクル周期を2つに分割すると、BANDWIDTH(102)となり、3072単位のBANDWIDTHが2つとなる。各3072単位のBANDWIDTHに、1つの通信装置が同じ帯域を1つずつ獲得すれば、62.5〔μs〕毎に1つの帯域を獲得したことになる。
以下の説明では、通信装置A、通信装置B、通信装置Cが、ネットワークに含まれ、かつ通信装置間の通信を行う場面を想定している。
まず、通信装置Bにおいて、サイクルスタートパケット104の後にアシンクロナス・ストリーム・パケット105を送信し、次に、通信装置Aにおいて、サイクルスタートパケット105の後に、アシンクロナス・ストリーム・パケット105の送信に使用される時間(符号206で示す)だけ遅らせてアシンクロナス・ストリーム・パケット106が送信され、次に、アシンクロナス送信管理機能を備えた通信装置Cにおいて、サイクルスタートパケット104の後に、アシンクロナス・ストリーム・パケット105とアシンクロナス・ストリーム・パケット106の送信に使用される時間207だけ遅らせて帯域(a1)分のアシンクロナス・ストリーム・パケット107が送信される。
次に、通信装置Bにおいて、サイクルスタートパケット104の後に、アシンクロナス・ストリーム・パケット105、アシンクロナス・ストリーム・パケット106、及びアシンクロナス・ストリーム・パケット107の送信に使用される時間208だけ遅らせてアシンクロナス・ストリーム・パケット108が送信され、次に、通信装置Aにおいてサイクルスタートパケットの後に、アシンクロナス・ストリーム・パケット105、アシンクロナス・ストリーム・パケット106、アシンクロナス・ストリーム・パケット107、及びアシンクロナス・ストリーム・パケット108の送信に使用される時間209だけ遅らせてアシンクロナス・ストリーム・パケット109が送信される。
なお、他の通信装置によるアシンクロナス・ストリーム・パケット107の送信に要する時間は、バスに送出されるトランザクションを監視し、当該他の通信装置によって獲得される帯域の長さで判断することが可能である。後述のフローチャートで説明する処理の動作では、この方法を採用している。
同図に示す分割例は、図2に示す分割例とは違って、アシンクロナス送信帯域全体の6144単位を5つに分割した場合を示している。即ち、同図に示す分割例では、1つの送信ノードが、25.0〔μs〕毎に1つの帯域を獲得することになる。
ここでは、125〔μs〕以下の周期になるように帯域の獲得をし、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示される。以下、図1〜図4を参照しながら、図5〜図8に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
図5に示すように、通信装置Aは、ノードID=0(以下ノード0と略す)に決定され(402)、通信装置Bは、ノードID=1(以下ノード1と略す)に決定され(403)、通信装置Cは、ノードID=2(以下ノード2と略す)に決定され(404)、さらに、通信装置Cは、CMとIRMに決定される(405)。
ここで、ステップ404でノード2に決定した通信装置Cは、アシンクロナス送信管理機能を備えており、かつ機能している。また、ノードの各々は、自ノードの帯域獲得前に、既に他ノードによって獲得されている帯域の情報を、"以前に獲得されている帯域幅"として保持しており、ここで、この帯域の情報を初期化する(ステップ406,407,408)。
次に、図6に示すように、ノード1は、通信周期62.5〔μs〕で帯域Lを獲得するために、アシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求を行う。このノード2への帯域割り当て要求時に、ノード1は、通信周期に62.5〔μs〕を要求することをノード2に対して併せて知らせる(ステップ501)。
次に、ノード1からの帯域割り当て要求を受け付けたノード2のアシンクロナス送信管理機能は、62.5〔μs〕区切りのアシンクロナス帯域の配分をするためのフラグを有効にし、リソースの帯域のうち、1つ目の3072単位の帯域を獲得する要求の受付時間の超過を判断するためのカウンタをスタートさせると共に、前記ノード1からの帯域割り当て要求を承認して応答を返す(ステップ502)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ504)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ505)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ506)。
次に、ノード2からの帯域獲得要求を受け付けたアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ602)。
次に、当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、(3072−L)単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得情報として、("以前に獲得されている帯域=L、獲得した帯域=3072−L、獲得目的=調整")を一組として保存する(ステップ603)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ604、ステップ605)。 これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ606、ステップ607)。
通信周期として62.5〔μs〕を要求しているノード1は、獲得された帯域が3072単位に達したことを検出し、次の62.5〔μs〕のための帯域として、以前に獲得した帯域と同じL単位の帯域をアシンクロナス送信管理機能が機能しているノード2へ要求する(ステップ608)。
次に、ノード1からの要求を受け付けたノード2のアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ609)。
次に、アシンクロナス送信管理機能が機能しているノード2から、帯域割り当て要求が承認された旨の応答を受け取ったノード1は、L単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得の情報として、("以前に獲得されている帯域=3072、獲得した帯域=L、獲得目的=送信")を一組として保存し(ステップ610)、これにより、通信周期62.5〔μs〕で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる任意の通信周期で同期通信が準備完了となる(ステップ611)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該要求が承認された旨の応答を検出する(ステップ612)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ613)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ614)。
各ノードは、自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後に、"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードがサイクルスタートを受信する(ステップ701、ステップ702、ステップ703)。
ノード1でサイクルスタート受信後、ステップ704で、ノード1に保存された獲得情報に、"以前に獲得されている帯域=0"が有ることが検証される場合は、サイクルスタート受信後、直ぐにアシンクロナス・ストリーム・パケットを送信しようとするが、他ノードは、保存された獲得情報に"以前に獲得されている帯域=0"の獲得情報が無いので、サイクルスタート後、直ぐにはアシンクロナス・ストリーム・パケット送信しようとはしないため、この場合は、ノード1が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ705)。
また、ノード2でサイクルスタート受信後、ステップ706で、ノード2に保存された獲得情報に、"以前に獲得されている帯域=L"が有ることが検証される場合は、サイクルスタートから、以前に獲得されているL単位の帯域分だけ遅らせて(ステップ707)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時には、ノード1が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=L"の獲得情報が無いので、ノード2が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ708)。
また、ノード1でサイクルスタート受信後、ステップ709で、ノード1に保存された獲得情報に"以前に獲得されている帯域=3072"が有ると検証される場合は、サイクルスタートから、以前に獲得されている3072単位の帯域分だけ遅らせて(ステップ710)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時には、ノード2が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=3072"の獲得情報が無いので、ノード1が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ711)。
なお、ノード0においては、アシンクロナス・ストリーム・パケットは送信せず、次のサイクルスタートの受信に移る。
これ以降、ステップ701からステップ707の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、62.5〔μs〕の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
ここでは、125μs以下の周期になるように帯域の獲得をし、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順を示す。図5〜図8に示す動作と異なるのは、ノード0が125〔μs〕周期で送信をし、ノード1は62.5〔μs〕周期で送信を行うことである。
以下、以下、図1〜図5を参照しながら、図9〜図11に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明する。
ノード1からの帯域割り当て要求を受け付けたノード2のアシンクロナス送信管理機能は、62.5〔μs〕区切りのアシンクロナス帯域の配分をするためのフラグを有効にし、帯域(リソース)のうち、1つ目の3072単位についての獲得要求の受付時間の超過を判断するためのカウンタをスタートさせると共に、前記ノード1の帯域割り当て要求を承認して、その旨の応答を返す(ステップ802)。
次に、アシンクロナス送信管理機能が機能しているノード2から、帯域割り当て要求が承認された旨の応答を受け取ったノード1は、これにより、帯域Lを獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として("以前に獲得されている帯域=0、獲得した帯域=L、獲得目的=送信")を一組として保存する(ステップ803)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該要求が承認された旨の応答を検出する(ステップ804)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ805)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ806)。
次に、ノード0からの要求を受け付けたノード2のアシンクロナス送信管理機能は、62.5〔μs〕区切りのアシンクロナス帯域の配分をするためのフラグが有効であり、しかも、まだ要求受付時間内であり、かつ既に獲得されている帯域とノード0の要求している帯域Mとの合計が3072単位以下ならば、前記ノード0の帯域割り当て要求を承認して、その旨の応答を返す(ステップ808)。これにより、アシンクロナス送信管理機能が機能しているノード2から承認された応答を受け取ったノード0は、帯域Lを獲得したことになり、ここでのアシンクロナス送信帯域の獲得の情報として("以前に獲得されている帯域=L、獲得した帯域=M、獲得目的=送信")を一組として保存する(ステップ809)。
ノード0は、125〔μs〕周期で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ810)。
この時、ノード1は、ノード0からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該要求が承認された旨の応答を検出する(ステップ811)。これにより、ノード1は、ノード2が獲得した帯域を保存する(ステップ812)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ813)。
次に、ノード2からの前記要求を受け付けたアシンクロナス送信管理機能部は、帯域割り当て要求を承認する旨の応答を返す(ステップ902)。
次に、当該要求が承認された旨の応答を受け取ったノード2は、(3072−L)単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得情報として("以前に獲得されている帯域=L+M、獲得した帯域=3072−(L+M)、獲得目的=調整")を一組として保存する(ステップ903)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された旨の応答を検出する(ステップ904、ステップ905)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ906、ステップ907)。
次に、通信周期として62.5〔μs〕を要求しているノード1は、獲得された帯域が3072単位に達したことを検出し、次の62.5〔μs〕のための帯域として、以前に獲得した帯域と同じ帯域Lをアシンクロナス送信管理機能が機能しているノード2へ要求する(ステップ908)。
ノード1からの前記要求を受け付けたノード2のアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ909)。
アシンクロナス送信管理機能が機能しているノード2から要求が承認された旨の応答を受け取ったノード1は、ここで帯域Lを獲得したことになり、ここでのアシンクロナス送信帯域の獲得の情報として("以前に獲得されている帯域=3072、獲得した帯域=L、獲得目的=送信")を一組として保存する(ステップ910)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された応答を検出する(ステップ912)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ913)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ914)。
図11は、各ノードがサイクル周期以下の通信周期でアシンクロナス・ストリーム・パケットの送信を行う処理の手順を示している。各ノードは自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードは、サイクルスタートを受信する(ステップ1001、ステップ1002、ステップ1003)。
次に、サイクルスタート受信後、ステップ1004で、ノード1に保存された獲得情報に"以前に獲得されている帯域=0"が有ることが検証される場合は、ノード1は、サイクルスタート後、直ぐにアシンクロナス・ストリーム・パケットを送信しようとするが、他ノードは保存された獲得情報に"以前に獲得されている帯域=0"の獲得情報が無いのでサイクルスタート後、直ぐにはアシンクロナス・ストリーム・パケットを送信しようとはしないため、ノード1が簡単にバスの使用権を獲得して送信する(ステップ1005)。
次に、サイクルスタート受信後、ステップ1006で、ノード2に保存された獲得情報に"以前に獲得されている帯域=L"が有ることが検証される場合は、ノード2は、サイクルスタートからL単位の帯域分だけ遅らせて(ステップ1007)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時、ノード1が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=Lの獲得情報"が無いので、ノード2が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ1008)。
次に、サイクルスタート受信後、ステップ1009で、ノード0に保存された獲得情報に"以前に獲得されている帯域=L+M"が有ることが検証される場合は、ノード0は、サイクルスタートから"以前に獲得されている(L+M)単位の帯域分だけ遅らせて(ステップ1010)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時、ノード2が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=L+M"の獲得情報がないので、ノード0が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ1011)。
次に、サイクルスタート受信後、ステップ1012で、ノード1に保存された獲得情報に"以前に獲得されている帯域=3072"が有ることが検証される場合(ステップ1012)、サイクルスタートから、以前に獲得されている帯域の3072単位だけ遅らせて(ステップ1013)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時、ノード2が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=3072"の獲得情報がないので、ノード1が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ1014)。
これ以降、ステップ1001からステップ1014の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、62.5〔μs〕の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
例えば、前述の実施の形態では、獲得目的に関わらずアシンクロナス・ストリーム・パケットを送信しようとしたが、獲得目的が"調整"である場合はアシンクロナス・ストリーム・パケットは送信しなくても構わない。
また、アシンクロナス送信帯域の獲得の情報として"以前に獲得されている帯域、獲得した帯域、獲得目的"を一組として保存しているが、ノードIDや送信するアシンクロナス・パケットの種別などを含めても良い。また獲得目的を省略しても良い。
また、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち1つ目の3072単位の帯域についての獲得要求の、受付時間の超過を判断するためのカウンタのカウントが、要求受付時間を超過した時、アシンクロナス送信管理機能が機能しているノード2は帯域で1つ目の3072単位の帯域のうち、残っている帯域を獲得する帯域獲得処理を実行する方法としたが(ステップ601、ステップ901)、他の方法として、62.5〔μs)周期を要求するノード1がノード2で機能しているアシンクロナス送信管理機能に、1つ目の3072単位の帯域に帯域を獲得する要求受付の終了要求を出し、ノード1からの前記要求受付の終了要求を受け取ったノード2が、1つ目の3072単位の帯域のうち、残っている帯域を獲得する帯域獲得処理を実行するようにする方法も考えられる。
さらに、図4に示したように帯域を5分割して、アシンクロナス送信管理機能が機能しているノード2による周期区切りの帯域獲得処理を4回行うようにし、25〔μs〕の通信周期を要求するノードが帯域を5つ獲得すれば、通信周期25〔μs〕でのアシンクロナス・ストリーム・パケットの送信が実現できる。
また、この実施の形態では、シリアルバス1106、通信装置A(1101)、通信装置B(1102)、及び通信装置C(1103)を、IEEE1394規格対応としたが、一般に、本発明は、他の規格対応の機器(シリアルバスや通信装置)にも対応可能である。
図中の数値は、IRMのBANDWIDTH_AVAILABLEレジスタで使われる単位であり、S1600のデータレートで1quadletのデータを送信するのに要する時間を1単位(約20[ns])としている(非特許文献1の8.3.2.3.7 bandwidth_availableレジスタ参照)。
1サイクル(サイクルスタートパケットの到来周期)において利用可能なBANDWIDTHは6144であり、これは、サイクル周期である125[μs]に相当する。管理サイクルをサイクル2つとすると、管理サイクルにおいて利用可能なBANDWIDTH全体(2001)は12288である。管理サイクルを1つに分割するとBANDWIDTH(2002)となり、12288単位のBANDWIDTHが1つとなる。12288単位のBANDWIDTHに、一つの通信装置が同じ帯域を一つずつ獲得すれば、250[μs]ごとに1つの帯域を獲得したことになる。
なお、符号2004は、管理サイクルの区切りと一致するサイクルスタートパケットを示し、符号2005は、管理サイクルの区切りと一致しないサイクルスタートパケットを示す。
以下の説明では、通信装置A、通信装置B、通信装置Cが、ネットワークに含まれ、かつ通信装置間の通信を行う場面を想定している。
まず、通信装置Bにおいてサイクルスタートパケット2004の後にアシンクロナス・ストリーム・パケット2006を送信し、次に、通信装置Aにおいて、サイクルスタートパケット2004の後に、アシンクロナス・ストリーム・パケット2005の送信に使用される時間(符号304で示す)だけ遅らせてアシンクロナス・ストリーム・パケット2007が送信される。また、アシンクロナス送信管理機能を備えた通信装置Cにおいて、サイクルスタートパケット2004の後にアシンクロナス・ストリーム・パケット2006とアシンクロナス・ストリーム・パケット2007の送信に使用される時間(符号305で示す)後に帯域(a1)2008が確保される。
なお、他の通信装置による帯域(a1)2008は、バスに送出されるトランザクションを監視し、当該他の通信装置によって確保される帯域の長さで判断することが可能である。後述のフローチャートで説明する処理の動作では、この方法を採用している。
ここでは、125[μs]以上の周期になるように帯域を獲得し、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示す。
以下、図11〜図13を参照しながら、図14〜図17に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
図14に示すように、通信装置Aは、ノードID=0(以下ノード0と略す)に決定され(ステップ402)、通信装置Bは、ノードID=1(以下ノード1と略す)に決定され(ステップ403)、通信装置Cは、ノードID=2(以下ノード2と略す)に決定され(ステップ404)、さらに、通信装置Cは、CMとIRMに決定される(ステップ405)。
ここで、ステップ404でノード2に決定した通信装置Cは、アシンクロナス送信管理機能を備えており、かつ機能している。また、ノードの各々は、自ノードが帯域獲得前に、既に他ノードによって獲得されている帯域の情報を"以前に獲得されている帯域幅"として保持しており、ここで、この帯域の情報を初期化する(ステップ406、407、408)。
次に、図15に示すように、ノード1は、通信周期250[μs]でL単位の帯域を獲得するために、アシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求を行う。このノード2への帯域割り当て要求時に、ノード1は、通信周期に250[μs]を要求することを併せて知らせる(ステップ501)。
次に、ノード1からの帯域割り当て要求を受け付けたノード2のアシンクロナス送信管理機能は、要求された通信周期の250[μs]とサイクル周期の125[μs]との最大公倍数である250[μs]を管理サイクルに決定し、250[μs]区切りのアシンクロナス帯域の配分をするためのフラグを有効にし、1つ目の12288単位の帯域についての獲得要求の受付時間の超過を判断するためのカウンタをスタートさせると共に、前記ノード1の帯域割り当て要求を承認して応答を返す(ステップ502)。
ノード1は、要求している通信周期250[μs]で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ504)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ505)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ506)。 また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ507)。
次に、ノード2からの帯域割り当て要求を受け付けたアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ602)。
次に当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、(12288−L)単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得情報として、(以前に獲得されている帯域=L、獲得した帯域=12288−L、獲得目的=調整)を一組として保存する(ステップ603)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ604、605)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ606、607)。
各ノードは自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードは、管理サイクルの区切りと一致するサイクルスタートを受信する(ステップ701、702、703)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ704で、ノード1に保存された獲得情報に"以前に獲得されている帯域=0、獲得した帯域=L、獲得目的=送信"が有ることが検証される場合は、サイクルスタート受信後、直ぐにアシンクロナス・ストリーム・パケットを送信しようとするが、他ノードは、保存された獲得情報に"以前に獲得されている帯域=0"の獲得情報が無いので、サイクルスタート後、直ぐにはアシンクロナス・ストリーム・パケット送信しようとはしないため、この場合は、ノード1が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ705)。
また、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ706で、ノード2に保存された獲得情報に"以前に獲得されている帯域=L"が有ることが検証される場合は、サイクルスタートから、L単位の帯域だけ遅らせて(ステップ707)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時には、ノード1が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=L"の獲得情報が無いので、ノード2が簡単にバスの使用権を獲得して送信することができるが、"獲得目的=調整"であるためアシンクロナス・ストリーム・パケットの送信はしない(ステップ708)。
なお、ノード0においては、アシンクロナス・ストリーム・パケットは送信せず、次のサイクルスタートの受信に移る。
これ以降、ステップ701からステップ708の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、250[μs]の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
ここでは、125[μs]以上の周期になるように帯域を獲得し、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示す。図14〜図17に示す動作と異なるのは、ノード0が125[μs]の通信周期で送信をし、ノード1が250[μs]の通信周期で送信を行うことである。
以下、図12〜図14を参照しながら、図18〜図21に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
まず、図14に示すノード0は、125[μs]周期でM単位の帯域を獲得するために、図18に示す動作において、既に他ノードによって獲得されている帯域と自ノードが獲得しようとしているM単位の帯域との合計が6144単位以下ならば、アシンクロナス送信管理機能が機能しているノード2に対して帯域の割り当ての要求を行う。この時、ノード2への帯域割り当て要求時に、ノード0は、通信周期に125[μs]を要求することを併せて知らせる(ステップ801)。
次に、ノード1は、250[μs]周期でM単位の帯域を獲得するために、図18に示す動作において、既に他ノードによって獲得されている帯域と自ノードが獲得しようとしているL単位の帯域との合計が6144単位以下ならば、アシンクロナス送信管理機能が機能しているノード2に対して帯域の割り当ての要求を行う。この時、ノード2への帯域割り当て要求時に、ノード1は、通信周期に250[μs]を要求することを併せて知らせる(ステップ802)。
ノード0とノード1からの帯域割り当て要求を受け付けたノード2のアシンクロナス送信管理機能は、要求された通信周期の125[μs]と250[μs]とサイクル周期の125[μs]との最大公倍数である250[μs]を管理サイクルに決定し、管理サイクルを短い通信周期である125[μs]に併せて2分割し、125[μs]区切りのアシンクロナス帯域の配分をするためのフラグを有効にし、1つ目の6144単位の帯域についての帯域割り当て要求の受付時間の超過を判断するためのカウンタをスタートさせるとともに、まず、前記ノード0の帯域割り当て要求を承認して、その旨の応答を返す(ステップ803)。
次に、アシンクロナス送信管理機能が機能しているノード2から、当該帯域割り当て要求が承認された旨の応答を受け取ったノード0は、これにより、M単位の帯域を獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=0、獲得した帯域=M、獲得目的=送信)を一組として保存する(ステップ804)。
この時、ノード1は、ノード0からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ805)。これにより、ノード1は、ノード0が獲得した帯域を保存する(ステップ806)。 また、アシンクロナス送信管理機能が機能しているノード2も、ノード0が獲得した帯域を保存する(ステップ807)。
ここでノード1は、要求している通信周期250[μs]で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ810)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ811)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ812)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ813)。
次に、ノード2からの要求を受け付けたアシンクロナス送信管理機能部は、1つ目の6144単位の帯域の残りが無くなったことを検出し、2つ目の6144単位の帯域についての帯域割り当て要求の受付時間の超過を判断するためのカウンタをスタートさせると共に、帯域割り当て要求を承認する応答を返す(ステップ902)。
次に、当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、これにより、(6144−(L+M))単位の帯域を獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=L+M、獲得した帯域=6144−(L+M)、獲得目的=調整)を一組として保存する(ステップ903)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された旨の応答を検出する(ステップ904、905)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ906、907)。
次に、通信周期として125[μs]を要求しているノード0は、獲得された帯域が6144単位に達したことを検出し、次の125[μs]のための帯域として、以前に獲得した帯域と同じM単位の帯域をアシンクロナス送信管理機能が機能しているノード2に対して帯域の割り当ての要求を行う(ステップ908)。
ノード0からの帯域割り当て要求を受け付けたノード2のアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ909)。
次に、アシンクロナス送信管理機能が機能しているノード2から、当該帯域割り当て要求が承認された旨の応答を受け取ったノード0は、これにより、M単位の帯域を獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=6144、獲得した帯域=M、獲得目的=送信)を一組として保存する(ステップ910)。
この時、ノード1は、ノード0からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ912)。これにより、ノード1は、ノード0が獲得した帯域を保存する(ステップ913)。 また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ914)。
次に、図20に示すように、ノード2からの要求を受け付けたアシンクロナス送信管理機能部は、帯域割り当て要求を承認する応答を返す(ステップ1002)。
次に、当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、これにより、(6144−M)単位の帯域を獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=6144+M、獲得した帯域=6144−M、獲得目的=調整)を一組として保存する(ステップ1003)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された旨の応答を検出する(ステップ1004、1005)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ1006、1007)。
図21は、各ノードが任意周期の通信周期でアシンクロナス・ストリーム・パケットの送信を行う手順を示している。各ノードは自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードは、管理サイクルの区切りと一致するサイクルスタートを受信する(ステップ1101、1102、1103)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ1104で、ノード0に保存された獲得情報に"以前に獲得されている帯域=0、獲得した帯域=M、獲得目的=送信"が有ることが検証された場合は、ノード0は、サイクルスタート後、直ぐにアシンクロナス・ストリーム・パケットを送信しようとするが、他ノードは保存された獲得情報に"以前に獲得されている帯域=0"の獲得情報が無いのでサイクルスタート後、直ぐにはアシンクロナス・ストリーム・パケットを送信しようとはしないため、ノード0が簡単にバスの使用権を獲得して送信する(ステップ1105)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ1106で、ノード1に保存された獲得情報に"以前に獲得されている帯域=M、獲得した帯域=L、獲得目的=送信"が有ることが検証された場合は、サイクルスタートから、M単位の帯域だけ遅らせて(ステップ1107)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時、ノード0が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=M"の獲得情報が無いので、ノード1が簡単にバスの使用権を獲得して送信する(ステップ1108)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ1109で、ノード2に保存された獲得情報に"以前に獲得されている帯域=L+M、獲得した帯域=6144−(L+M)、獲得目的=調整"が有ることが検出された場合は、サイクルスタートからL+M単位の帯域だけ遅らせて(ステップ1110)、アシンクロナス・ストリーム・パケットを送信しようとするが、このときノード1が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=L+M"の獲得情報が無いので、ノード2が簡単にバスの使用権を獲得して送信することができるが、"獲得目的=調整"であるためアシンクロナス・ストリーム・パケットの送信はしない(ステップ1111)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ1112で、ノード0に保存された獲得情報に"以前に獲得されている帯域=6144、獲得した帯域=M、獲得目的=送信"が有ることが検出された場合は、サイクルスタートから、6144単位の帯域だけ遅らせて(ステップ1113)、アシンクロナス・ストリーム・パケットを送信しようとするが、このときノード2が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=6144"の獲得情報が無いので、ノード0が簡単にバスの使用権を獲得して送信する(ステップ1114)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ1115で、ノード2に保存された獲得情報に"以前に獲得されている帯域=6144+M、獲得した帯域=6144−M、獲得目的=調整"が有ることが検出された場合は、サイクルスタートから6144+M単位の帯域だけ遅らせて(ステップ1116)、アシンクロナス・ストリーム・パケットを送信しようとするが、このときノード0が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=6144+M"の獲得情報が無いので、ノード2が簡単にバスの使用権を獲得して送信することができるが、"獲得目的=調整"であるためアシンクロナス・ストリーム・パケットの送信はしない(ステップ1117)。
これ以降、ステップ1101からステップ1117の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、自己の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
同図に示す分割例は、図12に示す分割例と違って、管理サイクルを5つに分割した場合を示している。即ち、同図に示す分割例では、1つの通信機器が、50[μs]ごとに1つの帯域を獲得することになる。
同図に示す分割例は、図12に示す分割例と違って、管理サイクルをサイクル8つとし、さらに管理サイクルを5つに分割した場合を示している。即ち、同図に示す分割例では、1つの通信機器が、200[μs]ごとに1つの帯域を獲得することになる。
例えば、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域、獲得した帯域、獲得目的)を一組として保存しているが、ノードIDや送信するアシンクロナス・パケットの種別などを含めても良い。
また、アシンクロナス送信管理機能が機能しているノード2において、1つ目の6144単位の帯域についての獲得要求の受付時間の超過を判断するためのカウンタのカウントが、要求受付時間を超過した時、アシンクロナス送信管理機能が機能しているノード2は1つ目の6144単位の帯域のうち残っている帯域を獲得する帯域獲得処理を実行するようにしていたが(ステップ901)、他の方法として、125[μs]の通信周期を要求するノード0がノード2で機能しているアシンクロナス送信管理機能に、1つ目の6144単位の帯域に帯域を獲得する要求受付の終了要求を出し、ノード0からの前記要求受付の終了要求を受け取ったノード2が、1つ目の6144単位の帯域のうち、残っている帯域を獲得する帯域獲得処理を実行するようにする方法も考えられる。
さらに、図22に示したように帯域を5分割して、アシンクロナス送信管理機能が機能しているノード2による周期区切りの帯域獲得処理を5回行うようにし、50[μs]の通信周期を要求するノードが帯域を5つ獲得すれば、サイクル以下の通信周期50[μs]でのアシンクロナス・ストリーム・パケットの送信が実現できる。
また、図23に示したように、管理サイクルをサイクル8つとした上で、帯域を5分割して、アシンクロナス送信管理機能が機能しているノード2による周期区切りの帯域獲得処理を5回行うようにし、200[μs]の通信周期を要求するノードが帯域を5つ獲得すれば、サイクル以上の通信周期200[μs]でのアシンクロナス・ストリーム・パケットの送信が実現できる。
また、この実施の形態では、シリアルバス106、通信装置A(符号101)、通信装置(符号102)、通信装置C(符号103)を、IEEE1394規格対応としたが、一般に、本発明は、他の規格対応の機器(シリアルバスや通信装置)にも対応可能である。
102 BANDWIDTHの2分割
103 62.5μsサイクルの構造
104 サイクルスタートパケット
105 ノード1が送信するアシンクロナス・ストリーム・パケット(その1)106 ノード0が送信するアシンクロナス・ストリーム・パケット(その1)107 アシンクロナス送信管理機能により獲得される帯域a1
108 ノード1が送信するアシンクロナス・ストリーム・パケット(その2)109 ノード0が送信するアシンクロナス・ストリーム・パケット(その2)
201 ノード1におけるアシンクロナス・ストリーム・パケットの送信タイミング(その1)
202 ノード0におけるアシンクロナス・ストリーム・パケットの送信タイミング(その1)
203 アシンクロナス送信管理機能における調整帯域の区間
204 ノード1におけるアシンクロナス・ストリーム・パケットの送信タイミング(その2)
205 ノード0におけるアシンクロナス・ストリーム・パケットの送信タイミング(その2)
206 サイクルスタートからアシンクロナス・ストリーム・パケット201の送信終了までにかかる時間
207 サイクルスタートからアシンクロナス・ストリーム・パケット202の送信終了までにかかる時間
208 サイクルスタートから調整帯域の空間(a1)終了までにかかる時間
209 サイクルスタートからアシンクロナス・ストリーム・パケット204送信終了までにかかる時間
301 ノード1におけるアシンクロナス・ストリーム・パケットの送信タイミング(その1)
302 ノード0におけるアシンクロナス・ストリーム・パケットの送信タイミング(その1)
303 アシンクロナス送信管理機能における調整帯域の区間
304 サイクルスタートからアシンクロナス・ストリーム・パケット301の送信完了までにかかる時間
305 サイクルスタートからアシンクロナス・ストリーム・パケット302の送信完了までにかかる時間
1104 IRM(Isochrnous Resource Manager)
1105 CM(Cycle Master)
1106 シリアルバス(IEEE1394ケーブル)
1107 シリアルバス(IEEE1394ケーブル)
1108 アシンクロナス送信管理機能
1201 管理サイクルのBANDWIDTH全体
1202 管理サイクルのBANDWIDTHの5分割
1203 50[μs]サイクルの構造
1204 第1の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1205 アシンクロナス送信管理機能により獲得される帯域a1
1206 第2の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1207 アシンクロナス送信管理機能により獲得される帯域a2
1208 第3の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1209 アシンクロナス送信管理機能により獲得される帯域a3
1210 第4の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1211 アシンクロナス送信管理機能により獲得される帯域a4
1212 第5の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1213 アシンクロナス送信管理機能により獲得される帯域a5
1301 管理サイクルのBANDWIDTH全体
1302 管理サイクルのBANDWIDTHの5分割
1303 200[μs]サイクルの構造
1304 第1の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1305 アシンクロナス送信管理機能により獲得される帯域a1
1306 第2の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1307 アシンクロナス送信管理機能により獲得される帯域a2
1308 第3の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1309 アシンクロナス送信管理機能により獲得される帯域a3
1310 第4の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1311 アシンクロナス送信管理機能により獲得される帯域a4
1312 第5の通信サイクルで送信されるアシンクロナス・ストリーム・パケット
1313 アシンクロナス送信管理機能により獲得される帯域a5
1401 アシンクロナス・ストリーム・パケット(その1)
1402 アシンクロナス・ストリーム・パケット(その2)
1403 アシンクロナス・ストリーム・パケット(その3)
1501 IEEE1394通信装置A
1502 IEEE1394通信装置B
1503 IEEE1394ケーブル
1504 アシンクロナス送信管理機能部
1511 帯域割り当て要求
1512 帯域割り当て要求に対する応答
1513 帯域返却要求
1514 帯域返却要求に対する応答
1601 BANDWIDTH全体
1602 BANDWIDTHの2分割
2001 管理サイクルのBANDWIDTH全体
2002 管理サイクルのBANDWIDTHの1分割
2003 250[μs]サイクルの構造
2004 管理サイクルの区切りと一致するサイクルスタートパケット
2005 管理サイクルの区切りと一致しないサイクルスタートパケット
2006 ノード1が送信するアシンクロナス・ストリーム・パケット(その1)
2007 ノード0が送信するアシンクロナス・ストリーム・パケット(その1)
2008 アシンクロナス送信管理機能により獲得される帯域a1
2009 ノード1が送信するアシンクロナス・ストリーム・パケット(その2)
2010 ノード0が送信するアシンクロナス・ストリーム・パケット(その2)
Claims (16)
- アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、
前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、
前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信機器は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復するステップと、
前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、
を備えたことを特徴とする通信装置間の通信方法。 - 前記第2の通信装置は、前記第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、前記利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項1に記載の通信装置間の通信方法。
- アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、
前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、
前記第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクルを決定するステップと、
前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信装置は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復するステップと、
前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、
を備えたことを特徴とする通信装置間の通信方法。 - 前記第2の通信装置は、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項3に記載の通信装置間の通信方法。
- 前記利用可能な帯域は、前記1サイクル又は前記管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴とする請求項2又は4に記載の通信装置間の通信方法。
- 前記第2の通信装置は、前記第1の通信装置から前記利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、前記利用可能な帯域から前記認可した帯域を除いた残りの帯域を、前記アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うことを特徴とする請求項2〜5のいずれか1項に記載の通信装置間の通信方法。
- 前記第1の通信装置は、前記累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを前記第2の通信装置に対して送信することを特徴とする請求項1〜6のいずれか1項に記載の通信装置間の通信方法。
- 前記シリアルバス、及び前記複数の通信装置の各々は、特定の通信用規格を満たす通信機器であることを特徴とする請求項1〜7のいずれか1項に記載の通信装置間の通信方法。
- アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークであって、
前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定し、
前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信機器は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復し、
前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させる、
ことを特徴とするネットワーク。 - 前記第2の通信装置は、前記第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、前記利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項9に記載のネットワーク。
- アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークであって、
前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2 の通信装置との割り振りを決定し、
前記第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクを決定し、
前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信装置は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復し、
前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させる、
ことを特徴とするネットワーク。 - 前記第2の通信装置は、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項11に記載のネットワーク。
- 前記利用可能な帯域は、前記1サイクル又は前記管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴とする請求項10又は12に記載のネットワーク。
- 前記第2の通信装置は、前記第1の通信装置から前記利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、前記利用可能な帯域から前記認可した帯域を除いた残りの帯域を、前記アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うことを特徴とする請求項10〜13のいずれか1項に記載のネットワーク。
- 前記第1の通信装置は、前記累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを前記第2の通信装置に対して送信することを特徴とする請求項9〜14のいずれか1項に記載のネットワーク。
- 前記シリアルバス、及び前記複数の通信装置の各々は、特定の通信用規格を満たす通信機器であることを特徴とする請求項9〜15のいずれか1項に記載のネットワーク。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004223870A JP4363275B2 (ja) | 2004-01-06 | 2004-07-30 | 通信装置間の通信方法およびネットワーク |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004001382 | 2004-01-06 | ||
JP2004223870A JP4363275B2 (ja) | 2004-01-06 | 2004-07-30 | 通信装置間の通信方法およびネットワーク |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005223881A JP2005223881A (ja) | 2005-08-18 |
JP2005223881A5 JP2005223881A5 (ja) | 2007-04-12 |
JP4363275B2 true JP4363275B2 (ja) | 2009-11-11 |
Family
ID=34999139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004223870A Expired - Fee Related JP4363275B2 (ja) | 2004-01-06 | 2004-07-30 | 通信装置間の通信方法およびネットワーク |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4363275B2 (ja) |
-
2004
- 2004-07-30 JP JP2004223870A patent/JP4363275B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005223881A (ja) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100914104B1 (ko) | 무선 네트워크에 있어서 매체에의 액세스 보증 방법 | |
EP1922843B1 (en) | Collision avoidance media access method for shared networks | |
JP4739339B2 (ja) | 電力線通信システム | |
JP4814950B2 (ja) | 送受信システム、ノード及び通信方法 | |
Na et al. | An optimal GTS scheduling algorithm for time-sensitive transactions in IEEE 802.15. 4 networks | |
JP2004040336A (ja) | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム | |
WO1997010654A1 (en) | Entry polling method, device and router for providing contention-based reservation mechanism within minislots | |
EP2882146B1 (en) | Data transmission device, communication control method, and communication control program | |
US20080019347A1 (en) | Wireless network system and method of transmitting-receiving data over wireless network | |
EP2997762B1 (en) | Method and system for providing deterministic quality of service for communication devices | |
JP4065393B2 (ja) | 無線ネットワークにおいて媒体へのアクセスを保証する方法 | |
Cena et al. | Performance analysis of Byteflight networks | |
JP4363275B2 (ja) | 通信装置間の通信方法およびネットワーク | |
KR20210141678A (ko) | 시간에 민감한 및 최선 노력의 데이터 패킷들에 대한 매체 액세스, 및 관련 시스템들, 방법들, 및 디바이스들 | |
Mishra et al. | On scheduling guaranteed time slots for time sensitive transactions in IEEE 802.15. 4 networks | |
JP4237239B2 (ja) | 無線ネットワークにおいて媒体へのアクセスを保証する方法 | |
Na | IEEE 802.15. 4 wireless sensor networks: GTS scheduling and service differentiation | |
JP2001024647A (ja) | バスの性能を向上させる方法 | |
Braun et al. | Mode-Based Scheduling with Fast Mode-Signaling―A Method for Efficient Usage of Network Time Slots | |
JP5764299B2 (ja) | データ転送装置およびデータ転送方法 | |
Semprebom et al. | Dynamic gts scheduling of periodic skippable slots in ieee 802.15. 4 wireless sensor networks | |
Bartolini et al. | Using priority inheritance techniques to override the size limit of CAN messages | |
Huang et al. | QoS for storage subsystems using IEEE-1394 | |
Xia et al. | IEEE 802.15. 4 Based Adaptive MAC Protocols | |
JP2001237861A (ja) | データ通信装置、データ通信システムおよびデータ通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070228 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090525 |
|
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: 20090728 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090810 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |