JP4363275B2 - 通信装置間の通信方法およびネットワーク - Google Patents

通信装置間の通信方法およびネットワーク Download PDF

Info

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
Application number
JP2004223870A
Other languages
English (en)
Other versions
JP2005223881A5 (ja
JP2005223881A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2004223870A priority Critical patent/JP4363275B2/ja
Publication of JP2005223881A publication Critical patent/JP2005223881A/ja
Publication of JP2005223881A5 publication Critical patent/JP2005223881A5/ja
Application granted granted Critical
Publication of JP4363275B2 publication Critical patent/JP4363275B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は通信装置間の通信方法に係り、特に、IEEE1394規格を有する複数の通信装置間の通信方法に関する。
従来の通信装置のアシンクロナス送信は、アイソクロナス期間終了後からサイクル期間終了までのアシンクロナス送信帯域の大きさや他の機器がアシンクロナス送信を行おうとしているかに関係なく、サイクル毎に、送信先の通信装置間でアービトレーションを行い、バスの使用権を獲得した通信装置から送信するようになっている(例えば、非特許文献1参照)。
IEEE Std 1394−1995、 IEEE Standard for a High Performancs Serial Bus
このため、アシンクロナス送信を行う通信装置や、アシンクロナス・ストリーム・パケットのサイズを制限することができず、その結果、バスに流れるアシンクロナス・ストリーム・パケットは、通信装置がバスの使用権を獲得した順に並ぶことになるので、サイクル毎に変化することになった。
そこで本出願人は、通信装置間でやり取りされるアシンクロナス送信を管理する方法を備えたIEEE1394シリアルバス・ネットワークシステムを先に提案している(特許文献1参照)。
また、サイクル周期である125[μs]以下の周期で同期通信する方法として、各通信装置は、自通信装置より先に獲得された帯域(および必要によってチャンネル番号)とから先にバスが使用される時間を計算し、自通信装置からの送信を前記計算した時間だけサイクルスタートから遅らせることによって、自通信装置からの送信が他通信装置からの送信と重なってアービットレーションで衝突するのを避けるように同期通信をスケジューリングする方法が開示されている。
この方法によれば、アシンクロナス・ストリーム・パケットが送信されるタイミングを一定にすることができ、各通信装置はサイクル周期以下の通信周期で送信する方法も先に提案している(特許文献2参照)。
特開2004−179974号公報 特願2003−073448号
図24は、先行発明に係る通信装置間の通信方法におけるサイクル構成を示す構成図である。
アシンクロナス送信を行う通信装置やアシンクロナス・ストリーム・パケットのサイズを制限することができず、バスに流れるアシンクロナス・ストリーム・パケット(ここでは、符号1201〜1203で示す)の構成は、通信装置がバス使用権を獲得した順に並ぶことになるので、サイクル毎に変化する。
なお、符号104は、サイクルスタートパケットを示す。
図25は、同じく先行発明に係る通信装置間の通信方法におけるアシンクロナス帯域の割り当て要求及び返却要求並びに応答の1例を示す説明図である。
同図に示す通信装置の構成は、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を受信した後、アシンクロナス送信帯域でのパケット送信を終了する。
図26は、同じく通信装置間の通信方法によるサイクル周期以下の周期で同期通信する方法の第1例であるアイソクロナス・リソースの分割例を示す説明図である。
同図に示す各数値は、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(リソース)に当てはまる帯域のみ、通信装置に割り当てるという手順がとられていた。
図27は、同じく通信装置間の通信方法によるサイクル周期以下の周期で同期通信する方法の第2例を示す説明図である。
同図に示す数値は、アイソクロナス・リソース・マネージャ(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シリアルバス・ネットワークシステムでは、アシンクロナス送信管理機能部に帯域割り当てを要求し、この帯域割り当ての要求が承認されたら、アシンクロナス送信帯域での送信を開始するという手順がとられていた。
また、サイクル周期を等間隔に分割し、通信装置に割り当てるという手順がとられていた。
ところで、このようなIEEE1394シリアルバス・ネットワークシステムでは、前述のとおり、サイクル単位で送信されるアシンクロナス・ストリーム・パケットと送信する通信装置を管理する方法を提供しているが、サイクル内でのアシンクロナス・ストリーム・パケットが転送されるタイミングを予め知ることはできないという問題点があった。
また、サイクル周期である125μs以下の周期で同期通信する方法では、通信装置がIRMに対して25μs以下の通信周期を要求したとき、第1例の場合、IRMの管理範囲であるサイクルスタートから100μsの範囲外になる通信周期が生じるため、要求通信周期での同期通信ができないという問題点もあった。
本発明は、上記の問題点に鑑みてなされたものであって、アシンクロナス送信をスケジューリング可能にした上で、任意の通信周期で同期通信できる通信装置間の通信方法を提供することを第1の目的としている。
同じく、第2例の場合、サイクル周期を整数分割して求められる通信周期以外での同期通信ができないという問題もあった。
本発明は、上記の問題点に鑑みてなされたものであって、アシンクロナス送信をサイクル周期以外の周期でもスケジューリングすることをできるようにした上で、任意の通信周期で同期通信できる方法を提供することを第2の目的としている。
上記問題を解決するため、第1および第9の発明は、アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークにおいて、複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定、第1の通信装置が、第2の通信装置に送信されるトランザクションを常に監視、トランザクションが第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ第2の通信装置が帯域割り当て要求を承認した場合は、第1の通信機器は割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復、複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、通信装置は、累積保存されている所要時間だけ、アシンクロナス・ストリーム・パケットの送信を遅延させる、ことを特徴としている。
これにより、前記複数の通信装置の各々は、アービトレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができる。
また、第2および第10の発明は、第2の通信装置が、第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつトランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、利用可能な帯域の長さを超えない場合には、利用可能な帯域からトランザクションで要求された帯域を獲得すると共に、第1の通信装置に対して、帯域を獲得した旨を通知することを特徴としている。
これにより、複数の通信装置の各々は、アービトレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる。
そして、第3および第11の発明は、アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークにおいて、複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定、第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクルを決定、第1の通信装置が、第2の通信装置に送信されるトランザクションを常に監視し、トランザクションが第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ第2の通信装置が帯域割り当て要求を承認した場合は、第1の通信装置は割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復、複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、通信装置は、累積保存されている所要時間だけ、アシンクロナス・ストリーム・パケットの送信を遅延させる、ことを特徴としている。
これにより、複数の通信装置の各々は、アービットレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができる。
そして、第4および第12の発明は、第2の通信装置が、第1の通信装置からの管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつトランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、利用可能な帯域からトランザクションで要求された帯域を獲得すると共に、第1の通信装置に対して、帯域を獲得した旨を通知することを特徴としている。
これにより、複数の通信装置の各々は、アービットレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる。
また、第5および第13の発明は、利用可能な帯域が、1サイクル又は1管理サイクルで利用可能な帯域全体、若しくは1サイクル又は管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴としている。
これにより、通信帯域の利用実態や利用状況に合わせた無駄の無い通信サイクルを設定することができる。
第6および第14の発明は、第2の通信装置が、第1の通信装置から利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、利用可能な帯域から認可した帯域を除いた残りの帯域を、アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うことを特徴としている。
これにより、複数の通信装置の各々は、自己の通信周期において周期的に領域獲得要求のトランザクションを送信することが可能となり、かつ当該要求がスムースに認可されるので、あたかも自装置だけがシリアルバスを使用しているように、アシンクロナス・ストリーム・パケットの送信をスケジューリングすることができる。
第7および第15の発明は、第1の通信装置が、累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを第2の通信装置に対して送信することを特徴としている。
これにより、あたかも自装置だけがシリアルバスを使用しているように、周期的な帯域割り当てを行うことができる。
第8および第16の発明は、シリアルバス及び複数の通信装置の各々が、特定の通信用規格を満たす通信機器であることを特徴としている。
これにより、例えば、IEEE1394規格に対応した通信機器にも本発明の適用が可能となる。
以上説明したように、本発明によれば、アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信機器は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復するステップと、前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、を備えたので、前記複数の通信装置の各々は、アービトレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができるという効果がある。
また、第2の通信装置は、前記第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、前記利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知するので、前記複数の通信装置の各々は、アービトレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる効果がある。
そして、アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、前記第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクルを決定するステップと、前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信装置は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復するステップと、前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、を備えたので、前記複数の通信装置の各々は、アービットレーションで衝突することが避けられるようにアシンクロナス・ストリーム・パケットの送信を行うことができるという効果がある。
そして、前記第2の通信装置が、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知するので、前記複数の通信装置の各々は、アービットレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができる効果がある。
また、前記利用可能な帯域が、前記1サイクル又は前記1管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であるので、通信帯域の利用実態や利用状況に合わせた無駄の無い通信サイクルを設定することができる効果がある。
また、第2の通信装置が、前記第1の通信装置から前記利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、前記利用可能な帯域から前記認可した帯域を除いた残りの帯域を、前記アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うので、前記複数の通信装置の各々は、自己の通信周期において周期的に領域獲得要求のトランザクションを送信することが可能となり、かつ当該要求がスムースに認可されるので、あたかも自装置だけがシリアルバスを使用しているように、アシンクロナス・ストリーム・パケットの送信をスケジューリングすることができる効果がある。
そして、前記第1の通信装置が、前記累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを前記第2の通信装置に対して送信するので、あたかも自装置だけがシリアルバスを使用しているように、周期的な帯域割り当てを行うことができる効果がある。
さらに、前記シリアルバス及び前記複数の通信装置の各々が、特定の通信用規格を満たす通信機器であるので、例えば、IEEE1394規格に対応した通信機器にも本発明の適用が可能となる効果がある。
以下、本発明の通信装置間の通信方法の最良の実施形態について、図面を参照して詳細に説明する。但し、実施の形態は、この発明の技術的思想を具体化するための方法を例示するものであって、この発明の技術的な思想は、特許請求範囲において、種々の変更を加えることができる。
図1は、本発明の第1の実施形態に係る通信装置間の通信方法が採用されるネットワークの構成を示す構成図で、前述の第1例の場合における問題点を解決するために、アシンクロナス送信をスケジューリング可能にした上で、任意の通信周期で同期通信できるようにする第1の目的を達成するものである。
同図に示すネットワークは、IEEE1394規格対応のシリアルバスにアシンクロナス送信機能を備えた通信装置が接続されて成るネットワークであり、通信装置A及び通信装置B(いずれも、請求項1記載の第1の通信装置であり、ここではIEEE1394規格対応)と、通信装置C(請求項1記載の第2の通信装置であり、ここではIEEE1394規格対応)とがIEEE1394規格対応のシリアルバス1106,1107(図1では、いずれも「IEEE1394ケーブル」と記載している)で接続されて構成されている。
通信装置Cは、アシンクロナス送信管理機能1108を備えている。また、通信装置A、通信装置B、通信装置Cは、いずれもアシンクロナス送信対応とする。
他通信装置のアシンクロナス送信帯域の獲得状況を知るために、通信装置A、通信装置B、通信装置Cは、バス上に流れるトランザクションのパケットを全て読み込むことができるものとする(各通信装置は、他通信装置からの、アシンクロナス送信管理機能を備えた通信装置宛てのトランザクションを常に監視することで、どの通信装置がどれだけのアシンクロナス帯域を獲得したかを知ることができる)。
図2は、本発明の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。
図中の数値は、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つの帯域を獲得したことになる。
図3は、本発明の実施形態に係る通信装置間の通信方法によるサイクル構成例を示す構成図である。
以下の説明では、通信装置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が送信される。
この結果として図3に示すサイクル構成例が完成する。このサイクル構成によれば、通信装置Aは、アシンクロナス・ストリーム・パケット106とアシンクロナス・ストリーム・パケット109とを、62.5〔μs〕周期で送信することになり、同様に通信装置Bは、アシンクロナス・ストリーム・パケット105とアシンクロナス・ストリーム・パケット108とを、62.5〔μs〕周期で送信することになる。
なお、他の通信装置によるアシンクロナス・ストリーム・パケット107の送信に要する時間は、バスに送出されるトランザクションを監視し、当該他の通信装置によって獲得される帯域の長さで判断することが可能である。後述のフローチャートで説明する処理の動作では、この方法を採用している。
図4は、本発明の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。
同図に示す分割例は、図2に示す分割例とは違って、アシンクロナス送信帯域全体の6144単位を5つに分割した場合を示している。即ち、同図に示す分割例では、1つの送信ノードが、25.0〔μs〕毎に1つの帯域を獲得することになる。
図5〜図8は、本発明の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャートである。
ここでは、125〔μs〕以下の周期になるように帯域の獲得をし、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示される。以下、図1〜図4を参照しながら、図5〜図8に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
まず、バスリセット(ステップ401)を実行し、その後、各通信機器のノードIDと、IRMとサイクル・マスタ(Cycle Master:以下CMと略す。)を決定する。
図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)。
次に、ノード1は、アシンクロナス送信管理機能が機能しているノード2から当該帯域割り当て要求が承認された旨の応答を受け取る。これにより、ノード1は、帯域Lを獲得する。そこで、アシンクロナス送信帯域の獲得情報として、("以前に獲得されている帯域=0、獲得した帯域=L、獲得目的=送信")を一組にして保存する(ステップ503)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ504)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ505)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ506)。
次に、図7に示すように、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち、1つ目の3072単位の帯域に帯域を獲得する要求の受付時間の超過を判断するための前記カウンタのカウントが、この要求受付時間を超過した時、帯域獲得処理を行う。この時、ノード2は、通信周期の調整のために1つ目の3072単位の帯域のうち、残っている(3072−L)単位の帯域の獲得をアシンクロナス送信管理機能に要求する(ステップ601)。
次に、ノード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)。
次に、図8に示す処理の説明に移る。図8は、各ノードがサイクル周期以下の通信周期でアシンクロナス・ストリーム・パケットの送信を行う処理の手順を示している。
各ノードは、自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後に、"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードがサイクルスタートを受信する(ステップ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〕の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
図5〜図8に示す処理では、前述のとおり、各ノードが、自ノードがアシンクロナス送信帯域を獲得する以前に獲得された帯域の分だけサイクルスタートから遅らせてアシンクロナス・ストリーム・パケットを送信しようとするので、他のノードの送信タイミングと衝突せずに帯域獲得の順番で送信を行うことが可能となり、かつアシンクロナス送信管理機能によって62.5〔μs〕までの帯域が獲得されているため、同一ノードが通信周期62.5〔μs〕毎にアシンクロナス・ストリーム・パケットを送信できる。
図9〜図11は、本発明の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャートである。
ここでは、125μs以下の周期になるように帯域の獲得をし、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順を示す。図5〜図8に示す動作と異なるのは、ノード0が125〔μs〕周期で送信をし、ノード1は62.5〔μs〕周期で送信を行うことである。
以下、以下、図1〜図5を参照しながら、図9〜図11に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明する。
図9は、前述の帯域獲得処理の動作説明で参照した図5の続きの動作を示す。まず、図5に示すノード1は、62.5〔μs〕周期で帯域Lを獲得するために、図9に示す動作において、既に他ノードによって獲得されている帯域と自ノードが獲得しようとしている帯域Lとの合計が3072単位以下ならば、アシンクロナス送信管理機能が機能しているノード2に対して帯域の割り当ての要求を行う。この時、ノード2への帯域割り当て要求時に、ノード1は、通信周期に62.5〔μs〕を要求することを併せて知らせる(ステップ801)。
ノード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は、125〔μs〕周期で帯域Mを獲得するために、既に他ノードによって獲得されている帯域と、自ノードが獲得しようとしている帯域Mとの合計が3072単位以下ならば、アシンクロナス送信管理機能が機能しているノード2に帯域Mの帯域割り当て要求を送信する(ステップ807)。
次に、ノード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)。
次に、図10に示すように、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち、1つ目の3072単位の帯域に帯域を獲得する要求の受付時間の超過を判断するためのカウンタのカウントが、要求受付時間を超過した時、帯域獲得処理を行う。ノード2は、通信周期の調整のために1つ目の帯域3072単位の帯域のうち、残っている(3072−(L+M))単位の帯域の獲得をアシンクロナス送信管理機能に要求する(ステップ901)。
次に、ノード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)。
ここで、ノード1は、通信周期62.5〔μs〕で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ911)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された応答を検出する(ステップ912)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ913)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ914)。
次に、図11に示す処理に移る。
図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〕の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
この図9〜図11に示す処理では、前述のとおり、各ノードが、自ノードがアシンクロナス送信帯域を獲得する以前に他ノードにより獲得された帯域の分だけサイクルスタートから遅らせてアシンクロナス・ストリーム・パケットを送信しようとするので、他ノードの送信タイミングと衝突せずに帯域獲得の順番でアシンクロナス・ストリーム・パケットを送信することが可能となり、かつ、アシンクロナス送信管理機能によって62.5〔μs〕までの帯域が獲得されているため、同一ノードが通信周期62.5〔μs〕毎にアシンクロナス・ストリーム・パケットを送信できる。さらに2つ目の62.5〔μs〕の区間でのアシンクロナス送信帯域の獲得を意識しないノードでは、従来どおりサイクル周期である125〔μ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規格対応としたが、一般に、本発明は、他の規格対応の機器(シリアルバスや通信装置)にも対応可能である。
図12〜図23は、本発明の第2の実施形態に係る通信装置間の通信方法が採用されるネットワークの構成を示す構成図で、前述の第2例の場合におけるサイクル周期を整数分割して求められる通信周期以外での同期通信ができないという問題点を解決するために、アシンクロナス送信をサイクル周期以外の周期でもスケジューリングすることをできるようにする第2の目的を達成するものである。
図12は、本発明の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。
図中の数値は、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は、管理サイクルの区切りと一致しないサイクルスタートパケットを示す。
図13は、本発明の実施形態に係る通信装置間の通信方法によるサイクルの構成例を示す構成図である。
以下の説明では、通信装置A、通信装置B、通信装置Cが、ネットワークに含まれ、かつ通信装置間の通信を行う場面を想定している。
まず、通信装置Bにおいてサイクルスタートパケット2004の後にアシンクロナス・ストリーム・パケット2006を送信し、次に、通信装置Aにおいて、サイクルスタートパケット2004の後に、アシンクロナス・ストリーム・パケット2005の送信に使用される時間(符号304で示す)だけ遅らせてアシンクロナス・ストリーム・パケット2007が送信される。また、アシンクロナス送信管理機能を備えた通信装置Cにおいて、サイクルスタートパケット2004の後にアシンクロナス・ストリーム・パケット2006とアシンクロナス・ストリーム・パケット2007の送信に使用される時間(符号305で示す)後に帯域(a1)2008が確保される。
この結果として図13に示すサイクル構成例が完成する。このサイクル構成によれば、通信装置Aは、アシンクロナス・ストリーム・パケット2006を、250[μs]周期で送信することになり、同様に通信装置Bはアシンクロナス・ストリーム・パケット2007を、250[μs]周期で送信することになる。
なお、他の通信装置による帯域(a1)2008は、バスに送出されるトランザクションを監視し、当該他の通信装置によって確保される帯域の長さで判断することが可能である。後述のフローチャートで説明する処理の動作では、この方法を採用している。
図14から図17は、本発明の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャートである。
ここでは、125[μs]以上の周期になるように帯域を獲得し、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示す。
以下、図11〜図13を参照しながら、図14〜図17に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
まず、バスリセット(ステップ401)を実行し、その後、各通信機器のノードIDと、IRMとサイクル・マスタ(Cycle Master:以下CMと略す)を決定する。
図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は、アシンクロナス送信管理機能が機能しているノード2から当該帯域割り当て要求が承認された旨の応答を受け取る。これにより、ノード1は、L単位の帯域を獲得する。そこで、アシンクロナス送信帯域の獲得情報として、(以前に獲得されている帯域=0、獲得した帯域=L、獲得目的=送信)を一組にして保存する(ステップ503)。
ノード1は、要求している通信周期250[μs]で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ504)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ505)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ506)。 また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ507)。
次に、図16に示すように、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち、1つ目の12288単位の帯域に帯域を獲得する要求の受付時間の超過を判断するためのカウンタが、この要求受付時間を超過し時、帯域獲得処理を行う。この時、ノード2は、通信周期の調整のために1つ目の12288単位の帯域のうち、残っている(12288−L)単位の帯域をアシンクロナス送信管理機能に要求する(ステップ601)。
次に、ノード2からの帯域割り当て要求を受け付けたアシンクロナス送信管理機能は、帯域割り当て要求を承認して、その旨の応答を返す(ステップ602)。
次に当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、(12288−L)単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得情報として、(以前に獲得されている帯域=L、獲得した帯域=12288−L、獲得目的=調整)を一組として保存する(ステップ603)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ604、605)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ606、607)。
次に、図17に示す処理の説明に移る。図17は、各ノードが任意の通信周期でアシンクロナス・ストリーム・パケットの送信を行う手順を示している。
各ノードは自ノードが獲得したアシンクロナス送信帯域の獲得情報を基に、サイクルスタート後"以前に獲得されている帯域"だけ遅らせてアシンクロナス・ストリーム・パケットを送信する。
まず、各ノードは、管理サイクルの区切りと一致するサイクルスタートを受信する(ステップ701、702、703)。
次に、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ704で、ノード1に保存された獲得情報に"以前に獲得されている帯域=0、獲得した帯域=L、獲得目的=送信"が有ることが検証される場合は、サイクルスタート受信後、直ぐにアシンクロナス・ストリーム・パケットを送信しようとするが、他ノードは、保存された獲得情報に"以前に獲得されている帯域=0"の獲得情報が無いので、サイクルスタート後、直ぐにはアシンクロナス・ストリーム・パケット送信しようとはしないため、この場合は、ノード1が簡単にバスの使用権を獲得してアシンクロナス・ストリーム・パケットを送信する(ステップ705)。
また、管理サイクルの区切りと一致するサイクルスタート受信後、ステップ706で、ノード2に保存された獲得情報に"以前に獲得されている帯域=L"が有ることが検証される場合は、サイクルスタートから、L単位の帯域だけ遅らせて(ステップ707)、アシンクロナス・ストリーム・パケットを送信しようとするが、この時には、ノード1が獲得した帯域は終わっていて、また他ノードは保存された獲得情報に"以前に獲得されている帯域=L"の獲得情報が無いので、ノード2が簡単にバスの使用権を獲得して送信することができるが、"獲得目的=調整"であるためアシンクロナス・ストリーム・パケットの送信はしない(ステップ708)。
なお、ノード0においては、アシンクロナス・ストリーム・パケットは送信せず、次のサイクルスタートの受信に移る。
これ以降、ステップ701からステップ708の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、250[μs]の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
図14〜図17に示す処理では、前述のとおり、各ノードが、自ノードがアシンクロナス送信帯域を獲得する以前に他のノードにより獲得された帯域の分だけ管理サイクルの区切りと一致するサイクルスタートから遅らせてアシンクロナス・ストリーム・パケットを送信しようとするので、他のノードの送信タイミングと衝突せずに帯域獲得の順番で送信を行うことが可能となり、かつアシンクロナス送信管理機能によって250[μs]までの帯域が獲得されているため、同一ノードが通信周期250[μs]毎にアシンクロナス・ストリーム・パケットの送信を行うことができる。
図18〜図21は、本発明の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を示すためのフローチャートである。
ここでは、125[μs]以上の周期になるように帯域を獲得し、帯域を獲得したノード順にアシンクロナス・ストリーム・パケットを送信する処理手順が示す。図14〜図17に示す動作と異なるのは、ノード0が125[μs]の通信周期で送信をし、ノード1が250[μs]の通信周期で送信を行うことである。
以下、図12〜図14を参照しながら、図18〜図21に示すフローチャートを使用して、本実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明する。
図18は、前述の帯域獲得処理の動作説明で参照した図14の続きの動作を示す。
まず、図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からの帯域割り当て要求を受け付けていたノード2のアシンクロナス送信管理機能は、1つ目の125[μs]区切りのアシンクロナス帯域の配分をするためのフラグが有効であり、かつ既に獲得されている帯域とノード1の要求しているL単位の帯域との合計が6144単位以下ならば、前記ノード1の帯域割り当て要求を承認して、その旨の応答を返す(ステップ808)。これにより、アシンクロナス送信管理機能が機能しているノード2から承認された旨の応答を受け取ったノード1は、L単位の帯域を獲得したことになり、ここでのアシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=M、獲得した帯域=L、獲得目的=送信)を一組として保存する(ステップ809)。
ここでノード1は、要求している通信周期250[μs]で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ810)。
この時、ノード0は、ノード1からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ811)。これにより、ノード0は、ノード1が獲得した帯域を保存する(ステップ812)。また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ813)。
次に、図19に示すように、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち、1つ目の6144単位の帯域の帯域を獲得する要求の受付時間の超過を判断するためのカウンタが要求受付時間を超過した時、帯域獲得処理を行う。ノード2は、通信周期の調整のために1つ目の6144単位の帯域のうち、残っている(6144−(L+M))単位の獲得をアシンクロナス送信管理機能に要求する(ステップ901)。
次に、ノード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)。
ここでノード0は、要求している通信周期125[μs]で送信するのに必要なアシンクロナス送信帯域を全て獲得したので、アシンクロナス・ストリーム・パケットによる同期通信が準備完了となる(ステップ911)。
この時、ノード1は、ノード0からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの当該帯域割り当て要求が承認された旨の応答を検出する(ステップ912)。これにより、ノード1は、ノード0が獲得した帯域を保存する(ステップ913)。 また、アシンクロナス送信管理機能が機能しているノード2も、ノード1が獲得した帯域を保存する(ステップ914)。
次に、アシンクロナス送信管理機能が機能しているノード2において、帯域のうち、2つ目の6144単位の帯域の帯域を獲得する要求の受付時間の超過を判断するためのカウンタが要求受付時間を超過した時、帯域獲得処理を行う。ノード2は、通信周期の調整のために2つ目の6144単位の帯域のうち、残っている(6144−M)単位の獲得をアシンクロナス送信管理機能に要求する(ステップ1001)。
次に、図20に示すように、ノード2からの要求を受け付けたアシンクロナス送信管理機能部は、帯域割り当て要求を承認する応答を返す(ステップ1002)。
次に、当該帯域割り当て要求が承認された旨の応答を受け取ったノード2は、これにより、(6144−M)単位の帯域を獲得したことになり、ここで、アシンクロナス送信帯域の獲得の情報として(以前に獲得されている帯域=6144+M、獲得した帯域=6144−M、獲得目的=調整)を一組として保存する(ステップ1003)。
この時、ノード0とノード1は、ノード2からアシンクロナス送信管理機能が機能しているノード2へのアシンクロナス送信帯域の帯域割り当て要求と、ノード2からの承認された旨の応答を検出する(ステップ1004、1005)。これにより、ノード0とノード1は、ノード2が獲得した帯域を保存する(ステップ1006、1007)。
次に、図21に示す処理に移る。
図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の処理が繰り返されることにより、各ノードは、他のノードの送信タイミングと衝突せずに、自己の通信周期でアシンクロナス・ストリーム・パケットの送信を行うことができる。
この図18〜図21に示す処理では、前述のとおり、各ノードが、自ノードがアシンクロナス送信帯域を獲得する以前に他のノードにより獲得された帯域の分だけ管理サイクルの区切りと一致するサイクルスタートから遅らせてアシンクロナス・ストリーム・パケットを送信しようとするので、他のノードの送信タイミングと衝突せずに帯域獲得の順番で送信を行うことが可能となり、かつアシンクロナス送信管理機能によって125[μs]までの帯域が獲得されているため、従来どおりサイクル周期である125[μs]毎にアシンクロナス・ストリーム・パケットの送信を行うことができる。さらに2つ目の125[μs]の区切りのアシンクロナス送信帯域の獲得を意識しないノードでは、アシンクロナス送信管理機能の管理サイクルである250[μs]毎にアシンクロナス・ストリーム・パケットの送信を行うことができる。
図22は、本発明の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。
同図に示す分割例は、図12に示す分割例と違って、管理サイクルを5つに分割した場合を示している。即ち、同図に示す分割例では、1つの通信機器が、50[μs]ごとに1つの帯域を獲得することになる。
図23は、本発明の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。
同図に示す分割例は、図12に示す分割例と違って、管理サイクルをサイクル8つとし、さらに管理サイクルを5つに分割した場合を示している。即ち、同図に示す分割例では、1つの通信機器が、200[μs]ごとに1つの帯域を獲得することになる。
上記のように、本発明は前述の実施の形態によって記載したが、この開示の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規格対応としたが、一般に、本発明は、他の規格対応の機器(シリアルバスや通信装置)にも対応可能である。
アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、この複数の通信機器の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機を有効にする第2の通信装置との割り振りを決定し、第2の通信装置での管理サイクルを決定し、第1の通信装置が、第2の通信装置に送信されるトランザクションを常に監視し、トランザクションが第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ第2の通信装置が帯域割り当て要求を承認した場合は、第1の通信装置は割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復し、さらに、この複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させると共に、第2の通信装置は、第1の通信装置からの管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつトランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、利用可能な帯域からトランザクションで要求された帯域を獲得すると共に、第1の通信装置に対して、この帯域を獲得した旨を通知するという手順をとるため、複数の通信装置の全てのアービットレーションで衝突することが避けられるように帯域を獲得できると共に、通信帯域の集中一元管理を図ることができ、計画的な非周期転送という用途にも適用できる。
本発明に係る通信装置間の通信方法が採用されるネットワークの構成を示す構成図である。 本発明の第1の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。 本発明の第1の実施形態に係る通信装置間の通信方法によるサイクル構成例を示す構成図である。 本発明の第1の実施形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャート(1/2)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャート(2/4)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャート(3/4)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの動作を説明するためのフローチャート(4/4)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(1/3)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(2/3)である。 本発明の第1の実施形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(3/3)である。 本発明の第2の実施の形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。 本発明の第2の実施の形態に係る通信装置間の通信方法によるサイクル構成例を示す構成図である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までを説明するためのフローチャート(1/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までを説明するためのフローチャート(2/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までを説明するためのフローチャート(3/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までを説明するためのフローチャート(4/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(1/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(2/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(3/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法による帯域獲得処理から送信処理までの他の動作を説明するためのフローチャート(4/4)である。 本発明の第2の実施の形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。 本発明の第2の実施の形態に係る通信装置間の通信方法によるアシンクロナス送信帯域の分割例を示す説明図である。 先行発明に係る通信装置間の通信方法におけるサイクル構成例を示す構成図である。 先行発明に係る通信装置間の通信方法におけるアシンクロナス帯域の割り当て要求及び返却要求並びに応答の1例を示す説明図である。 先行発明に係る通信装置間の通信方法によるサイクル周期以下の周期で同期通信する方法のアイソクロナス・リソースの分割の1例を示す説明図である。 先行発明係る通信装置間の通信方法によるサイクル周期以下の周期で同期通信する方法のアイソクロナス・リソースの分割の1例を示す説明図である。
符号の説明
101 BANDWIDTH全体
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. アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、
    前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、
    前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信機器は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復するステップと、
    前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、
    を備えたことを特徴とする通信装置間の通信方法。
  2. 前記第2の通信装置は、前記第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、前記利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項1に記載の通信装置間の通信方法。
  3. アシンクロナス送信機能を備え、シリアルバスに接続された複数の通信装置間の通信方法であって、
    前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定するステップと、
    前記第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクルを決定するステップと、
    前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信装置は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復するステップと、
    前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させるステップと、
    を備えたことを特徴とする通信装置間の通信方法。
  4. 前記第2の通信装置は、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項3に記載の通信装置間の通信方法。
  5. 前記利用可能な帯域は、前記1サイクル又は前記管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴とする請求項2又は4に記載の通信装置間の通信方法。
  6. 前記第2の通信装置は、前記第1の通信装置から前記利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、前記利用可能な帯域から前記認可した帯域を除いた残りの帯域を、前記アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うことを特徴とする請求項2〜5のいずれか1項に記載の通信装置間の通信方法。
  7. 前記第1の通信装置は、前記累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを前記第2の通信装置に対して送信することを特徴とする請求項1〜6のいずれか1項に記載の通信装置間の通信方法。
  8. 前記シリアルバス、及び前記複数の通信装置の各々は、特定の通信用規格を満たす通信機器であることを特徴とする請求項1〜7のいずれか1項に記載の通信装置間の通信方法。
  9. アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークであって、
    前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2の通信装置との割り振りを決定し、
    前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス転送帯域の帯域割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信機器は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所用時間に換算して累積保存することを反復し、
    前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信するに際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させる、
    ことを特徴とするネットワーク。
  10. 前記第2の通信装置は、前記第1の通信装置からのサイクル周期以下の帯域獲得要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さとの合計が、前記利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項9に記載のネットワーク。
  11. アシンクロナス送信機能を備えた複数の通信装置がシリアルバスで接続されたネットワークであって、
    前記複数の通信装置の各々に対して、アシンクロナス送信管理機能を有効にしない第1の通信装置と、アシンクロナス送信管理機能を有効にする第2 の通信装置との割り振りを決定し、
    前記第2の通信装置で有効となったアシンクロナス送信管理機能での管理サイクを決定し、
    前記第1の通信装置が、前記第2の通信装置に送信されるトランザクションを常に監視し、前記トランザクションが前記第2の通信装置へのアシンクロナス送信帯域の割り当て要求であり、かつ前記第2の通信装置が前記帯域割り当て要求を承認した場合は、前記第1の通信装置は前記割り当てられた帯域をアシンクロナス・ストリーム・パケットの送信が完了するまでの所要時間に換算して累積保存することを反復し、
    前記複数の通信装置のうちの任意の1つの通信装置から、アシンクロナス・ストリーム・パケットを送信する際して、前記通信装置は、前記累積保存されている所要時間だけ、前記アシンクロナス・ストリーム・パケットの送信を遅延させる、
    ことを特徴とするネットワーク。
  12. 前記第2の通信装置は、前記第1の通信装置からの前記管理サイクル以下の帯域割り当て要求のトランザクションを受け、かつ前記トランザクションで要求されている帯域の長さと、既に認可した帯域の長さの合計が、利用可能な帯域の長さを超えない場合には、前記利用可能な帯域から前記トランザクションで要求された帯域を獲得すると共に、前記第1の通信装置に対して、前記帯域を獲得した旨を通知することを特徴とする請求項11に記載のネットワーク。
  13. 前記利用可能な帯域は、前記1サイクル又は前記管理サイクルで利用可能な帯域全体、若しくは前記1サイクル又は前記管理サイクルで利用可能な帯域全体が部分分割されて成る複数の帯域の各々であることを特徴とする請求項10又は12に記載のネットワーク。
  14. 前記第2の通信装置は、前記第1の通信装置から前記利用可能な帯域以下の帯域割当て要求を受け付けた後の、所定の一定時間経過後に、前記利用可能な帯域から前記認可した帯域を除いた残りの帯域を、前記アシンクロナス送信管理機能により獲得するための帯域獲得要求を行うことを特徴とする請求項10〜13のいずれか1項に記載のネットワーク。
  15. 前記第1の通信装置は、前記累積保存されている所要時間が、自己の通信周期に達する度に、前回獲得したアシンクロナス転送帯域と同じ帯域の、周期的な帯域割り当て要求のトランザクションを前記第2の通信装置に対して送信することを特徴とする請求項9〜14のいずれか1項に記載のネットワーク。
  16. 前記シリアルバス、及び前記複数の通信装置の各々は、特定の通信用規格を満たす通信機器であることを特徴とする請求項9〜15のいずれか1項に記載のネットワーク。
JP2004223870A 2004-01-06 2004-07-30 通信装置間の通信方法およびネットワーク Expired - Fee Related JP4363275B2 (ja)

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)

Also Published As

Publication number Publication date
JP2005223881A (ja) 2005-08-18

Similar Documents

Publication Publication Date Title
KR100914104B1 (ko) 무선 네트워크에 있어서 매체에의 액세스 보증 방법
US8311054B2 (en) Transmitting/receiving system, node and communication method
EP1922843B1 (en) Collision avoidance media access method for shared networks
JP4739339B2 (ja) 電力線通信システム
EP1357705A1 (en) Adaptive synchronous media access protocol for shared media networks
Na et al. An optimal GTS scheduling algorithm for time-sensitive transactions in IEEE 802.15. 4 networks
JP2004040336A (ja) 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
EP0791255A1 (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
WO2008010652A1 (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
CN113785538B (zh) 用于时间敏感型和尽力服务型数据分组的介质访问及相关系统、方法和设备
JP4363275B2 (ja) 通信装置間の通信方法およびネットワーク
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

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