(57)【要約】【課題】  ＩＥＥＥ１３９４ネットワーク３上に接続されたマスタ１と全スレーブ２ｎが同期通信資源を自動かつ有効に割り当て、アイソクロナスサイクルの整数倍の制御周期内に制御データの授受を行えるようにする。【解決手段】  マスタ１は、アイソクロナスサイクルの整数倍の制御周期を取り込み、ＩＥＥＥ１３９４ネットワーク３上に接続されているスレーブ２ｎを検出し、各アイソクロナスサイクルの使用帯域幅が均等になるように割り振り、ＩＲＭから同期通信資源の自動獲得・割り当てをし、マスタ１とスレーブ２ｎが通信するための同期通信管理テーブル１４を作成し、またスレーブに同期通信資源データ２ｎ３１を通知し、同期通信管理テーブル１４および同期通信資源データ２ｎ３１に従ってマスタ１とスレーブ２ｎが通信する。【選択図】図１
2005318191.tif 000002
【特許請求の範囲】
【請求項１】
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムにおいて、
前記マスタは、
前記制御周期が設定された制御周期データを獲得する手段と、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出する手段と、
前記制御周期データと検出された前記スレーブ数により、前記制御周期分のアイソクロナスサイクルに前記スレーブを割り付ける手段と、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒから獲得する手段と、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成する手段と、
対応付けた前記同期通信資源の情報を前記スレーブに通知する手段と、
前記同期通信管理テーブルに従いアイソクロナス通信を行う手段とを備え、
前記スレーブは、
前記マスタより前記同期通信資源の情報を受ける手段と、
前記同期通信資源の情報に基きアイソクロナス通信を行う手段と、
前記マスタからの指令データに対する応答データを送信する手段とを備えたことを特徴とするマスタ／スレーブ同期通信システム。
【請求項２】
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムのマスタにおける同期通信資源の自動割当方法において、
前記制御周期が設定された制御周期データを獲得するステップと、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出するステップと、
前記制御周期データと検出された前記スレーブ数により、前記制御周期分のアイソクロナスサイクルに前記スレーブをスレーブ数が均等になるように割り付けるステップと、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒから獲得するステップと、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成するステップと、
対応付けた前記同期通信資源の情報を前記スレーブに通知するステップと、
を備えたことを特徴とする同期通信資源の自動割当方法。
【請求項３】
請求項１に記載のマスタ／スレーブ同期通信システムにおいて、
前記マスタもしくは、前記スレーブもしくは、前記マスタおよび前記スレーブのそれぞれが前記通信データのデータ量を持つ手段を備え、
前記マスタは、前記通信データ量を前記スレーブ毎に算出もしくは読み出す手段を備えたことを特徴とするマスタ／スレーブ同期通信システム。
【請求項４】
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムのマスタにおける同期通信資源の自動割当方法において、
前記制御周期が設定された制御周期データを獲得するステップと、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出するステップと、
すべての前記スレーブの通信データのデータ量を、前記マスタもしくは、前記スレーブもしくは、前記マスタおよび前記スレーブそれぞれから、前記スレーブ毎に算出もしくは読み出すステップと、
アイソクロナスサイクルに前記スレーブを各アイソクロナスサイクル内の使用帯域幅が均等になるように割り付けるステップと、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒから獲得するステップと、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成するステップと、
対応付けた前記同期通信資源の情報を前記スレーブに通知するステップと、
を備えたことを特徴とする同期通信資源の自動割当方法。
【請求項５】
請求項１に記載のマスタ／スレーブ同期通信システムにおいて、
前記スレーブは、前記マスタによる同期通信資源の割当を選択するための同期通信資源獲得禁止フラグを備えたことを特徴とするマスタ／スレーブ同期通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＥＥＥ１３９４ネットワークを使用したマスタとスレーブの同期通信システムおよび同期通信資源の自動割当方法に関する。
【背景技術】
【０００２】
従来のＩＥＥＥ１３９４通信システムのアイソクロナス転送では、アイソクロナス転送をする機器は、予め、Ｉｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ（以降、ＩＲＭと呼ぶ）から帯域幅とチャネルを獲得し、サイクル開始パケットを受けると、バスの使用権を獲得した機器がデータを送信する。アイソクロナス転送期間に各通信機器がバスの使用権を順に獲得してデータを送信するようになっている（例えば、非特許文献１参照）。
通常、アイソクロナス転送期間で、すべての通信機器はデータを転送する仕組みになっており、新たな機器を追加したいが残っている帯域が獲得したい帯域より少ない場合には、帯域の調整により一つの機器に対するデータ量を減らすか、データ量を減らすことが出来ない場合は、新たな機器の追加ができないことになる。
【０００３】
このような問題に対して、転送サイクルが可変な機器のデータを数サイクル分まとめて転送することで、できるだけ新たなアイソクロナス転送を開始できるようにする技術が開示されている。これを図１８を用いて説明する。
図１８において、（ａ）に示すようにｄａｔａ  Ａ９２、ｄａｔａ  Ｂ９３、ｄａｔａ  Ｃ９４をアイソクロナス転送している時に、新たにｄａｔａ  Ｄ９５を転送しようとしても、アイソクロナス転送期間の残帯域９７がｄａｔａ  Ｄ９５を転送するために必要なｄａｔａ  Ｄの帯域９６より小さい場合、（ｂ）に示すように、１サイクル目はｄａｔａ  Ａ９２を３つ合わせて１パケットとして転送し、残帯域でｄａｔａ  Ｄ９５を転送する。２サイクル目はｄａｔａ  Ｂ９３を３つ合わせて１パケットとして転送し、残帯域でｄａｔａ  Ｄ９５を転送する。３サイクル目はｄａｔａ  Ｃ９４を３つ合わせて１パケットとして転送し、残帯域でｄａｔａ  Ｄ９５を転送することにより、できるだけアイソクロナス転送期間を有効に活用するという手段がとられていた。（特許文献１参照）
【特許文献１】特開２００３−２２９８５７号公報（図１）
【非特許文献１】IEEE Std 1394-1995, IEEE Standard for a High Performance Serial Bus
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載されているＩＥＥＥ１３９４通信のアイソクロナス転送では、１アイソクロナスサイクルに送信できるデータ量は決まっているので、接続機器数が増えた場合、アイソクロナス転送用の帯域が確保出来ない場合は、一つの機器に対するデータが減ってしまうか、データが送信できないという問題があった。
またＩＲＭはＩＥＥＥ１３９４規格に定められたBANDWIDTH#AVAILABLEレジスタとCHANNELS#AVAILABLEレジスタを備えている。そしてＩＲＭのBANDWIDTH#AVAILABLEとCHANNELS#AVAILABLEの各レジスタにより、帯域幅とチャネルの同期通信資源を管理している。つまりアイソクロナスサイクル単位で、同期通信資源の管理をしているため、制御周期がアイソクロナスサイクルよりも長い場合でも、アイソクロナスサイクル毎に同じ指令データを送信したり、データを分割して送信することになり、通信負荷も増え無駄が多いという問題もあった。
【０００５】
特許文献１においては、データを数サイクル分まとめて転送するという転送サイクルが可変となる特殊な機器が必要であり、データをまとめた場合でもアイソクロナスサイクル毎のデータが必要となっており、同様に制御周期がアイソクロナスサイクルよりも長い場合、同期通信資源を有効活用できないと言う問題があった。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、あらかじめ設定されたアイソクロナスサイクルの整数倍の制御周期において、一局のマスタと一局以上のスレーブが、制御データの授受を行うことが可能な、マスタ／スレーブ同期通信システムおよび、同期通信資源の自動割当方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムにおいて、
前記マスタは、
前記制御周期が設定された制御周期データを獲得する手段と、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出する手段と、
前記制御周期データと検出された前記スレーブ数により、前記制御周期分のアイソクロナスサイクルに前記スレーブを割り付ける手段と、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩｓｏｃｈｒｏｎｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ（以下、ＩＲＭとする）から獲得する手段と、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成する手段と、
対応付けた前記同期通信資源の情報を前記スレーブに通知する手段と、
前記同期通信管理テーブルに従いアイソクロナス通信を行う手段とを備え、
前記スレーブは、
前記マスタより前記同期通信資源の情報を受ける手段と、
前記同期通信資源の情報に基きアイソクロナス通信を行う手段と、
前記マスタからの指令データに対する応答データを送信する手段とを備えたことを特徴とするものである。
【０００８】
請求項２に記載の発明は、
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムのマスタにおける同期通信資源の自動割当方法において、
前記制御周期が設定された制御周期データを獲得するステップと、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出するステップと、
前記制御周期データと検出された前記スレーブ数により、前記制御周期分のアイソクロナスサイクルに前記スレーブをスレーブ数が均等になるように割り付けるステップと、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩＲＭから獲得するステップと、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成するステップと、
対応付けた前記同期通信資源の情報を前記スレーブに通知するステップと、
を備えたことを特徴とするものである。
【０００９】
請求項３に記載の発明は、
請求項１のマスタ／スレーブ同期通信システムにおいて、
前記マスタもしくは、前記スレーブもしくは、前記マスタおよび前記スレーブのそれぞれが前記通信データのデータ量を持つ手段を備え、
前記マスタは、前記通信データ量を前記スレーブ毎に算出もしくは読み出す手段とを備えたことを特徴とするものである。
【００１０】
請求項４に記載の発明は、
１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続され、アイソクロナスサイクルの整数倍の制御周期に同期して、前記マスタと前記スレーブが通信データを授受するマスタ／スレーブ同期通信システムのマスタにおける同期通信資源の自動割当方法において、
前記制御周期が設定された制御周期データを獲得するステップと、
前記ＩＥＥＥ１３９４ネットワーク上に接続された前記スレーブ数を検出するステップと、
すべての前記スレーブの通信データのデータ量を、前記マスタもしくは、前記スレーブもしくは、前記マスタおよび前記スレーブそれぞれから、前記スレーブ毎に算出もしくは読み出すステップと、
アイソクロナスサイクルに前記スレーブを各アイソクロナスサイクル内の使用帯域幅が均等になるように割り付けるステップと、
前記アイソクロナスサイクルに割り付けられた前記スレーブと前記通信データを授受するための同期通信資源である帯域幅およびチャネルをＩＲＭから獲得するステップと、
獲得した前記同期通信資源と前記スレーブの対応付けおよび前記アイソクロナスサイクルへの割り付け情報が含まれる同期通信管理テーブルを作成するステップと、
対応付けた前記同期通信資源の情報を前記スレーブに通知するステップと、
を備えたことを特徴とするものである。
【００１１】
請求項５に記載の発明は、
請求項１に記載のマスタ／スレーブ同期通信システムにおいて、
前記スレーブが、前記マスタによる同期通信資源の割当を選択するための同期通信資源獲得禁止フラグを備えたことを特徴とするものである。
【発明の効果】
【００１２】
請求項１に記載の発明によると、１局のマスタと１局以上のスレーブがＩＥＥＥ１３９４ネットワーク上に接続されたマスタ／スレーブ同期通信システムにおいて、特別な設定をせずとも、ＩＥＥＥ１３９４固有のアイソクロナスサイクルの整数倍の制御周期に同期して制御データを授受することができる。
【００１３】
請求項２に記載の発明によると、通信負荷を均等に分散させて、同期通信資源を自動的に獲得、割り当てができ、同期通信資源を効率よく使用することができるので、余った資源を他の機器やシステムが自由に使用することができ、他のデータを同期通信で通信する機器やシステムとの混在や、アイソクロナス通信を実行した残りの時間をも活用してアシンクロナス転送を行うようなシステム構築に有効である。
【００１４】
請求項３に記載の発明によると、マスタと各スレーブ間で授受するデータ量がそれぞれ異なる機器がＩＥＥＥ１３９４ネットワーク上に接続されたマスタ／スレーブ同期通信システムにおいて、ＩＥＥＥ１３９４固有のアイソクロナスサイクルの整数倍の制御周期に同期して制御データを授受するための同期通信資源の割当に必要な各スレーブに固有のデータを確実に取得することができる。
【００１５】
請求項４に記載の発明によると、マスタと各スレーブ間で授受するデータ量がそれぞれ異なる機器がＩＥＥＥ１３９４ネットワーク上に接続されたマスタ／スレーブ同期通信システムにおいて、通信負荷を均等に分散させて、同期通信資源を自動的に獲得、割り当てができ、同期通信資源を効率よく使用することができるので、余った資源を他の機器やシステムが自由に使用することができ、他のデータを同期通信で通信する機器やシステムとの混在や、アイソクロナス通信を実行した残りの時間をも活用してアシンクロナス転送を行うようなシステム構築に有効である。
【００１６】
請求項５に記載の発明によると、請求項１および３の効果の他にスレーブ機器を一般のＩＥＥＥ１３９４機器として使用することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１８】
図１は、本発明を実施するＩＥＥＥ１３９４ネットワークを使用したマスタとスレーブの同期通信システムの構成図である。図において１はマスタ、２ｉ（ｉ＝１、２、・・・ｎ）はスレーブ、３はＩＥＥＥ１３９４ネットワークである。
マスタ１では、アイソクロナスサイクルの整数倍の値が設定される制御周期データ１１と、スレーブ検出部１２により検出されたスレーブ数を表す接続スレーブ数１２１から、スレーブ割付部１３は、制御周期分のアイソクロナスサイクルに検出されたスレーブ２ｉを割り付け、同期通信管理テーブル１４を作成する。
同期通信資源獲得・割当部１８では、同期通信管理テーブル１４から必要な同期通信資源を算出しＩＲＭへ要求し、資源の獲得を行い、獲得した資源をマスタ１およびスレーブ２ｉへ割り当てる。同期通信管理テーブル１４では、獲得した同期通信資源も管理する。
サイクル開始パケット受信処理部１５でサイクル開始パケットを受信すると、同期通信管理テーブル１４に従い、指令データ送信部１６は指令データ１６１を送信し、応答データ受信部１７は応答データ１７１を受信する。一方、スレーブ２ｉでは同期通信処理部２ｉ３がマスタ１より割り当てられた同期通信資源データ２ｉ３１を使用して、指令データ受信部２ｉ１で指令データ２ｉ１１を受信すると、応答データ送信部２ｉ２は応答データ２ｉ２１を送信する。以上により、アイソクロナスサイクルの整数倍の制御周期内にマスタと全スレーブが制御データの授受を行うことができる。
【００１９】
なお、制御周期データ１１とは、前記マスタ／スレーブ同期通信システムの制御周期を表すデータであり、ＩＥＥＥ１３９４規格にて規定されているアイソクロナスサイクルの整数倍の値が設定される。
また、サイクル開始パケットとは、ＩＥＥＥ１３９４規格にて規定されているアイソクロナスサイクルの開始を示すパケットのことである。
【００２０】
図２は図１の同期通信管理テーブル１４の詳細図である。同期通信管理テーブル１４は設定された制御周期データ１１に相当するアイソクロナスサイクルのサイクル数と各サイクルにおいて通信するスレーブ数を表す通信スレーブ数、マスタとサイクル内に割り付けられたスレーブ間とで授受する指令と応答データ分の帯域幅の合計および通信のためのアドレスを表す通信スレーブ番号、通信に使用する帯域幅、チャネルの配列から構成される。通信スレーブ番号の配列は検出されたスレーブ数の分だけ確保される。請求項１の発明の実施例として制御周期を５００μｓ、スレーブ数が８局、マスタと各スレーブ間の指令、応答データ分の帯域幅を５００帯域幅割り当て単位とした場合のデータを示している。
【００２１】
図３は図１の同期通信資源データ２ｉ３１の中のスレーブ２１に該当する同期通信資源データ２１３１の詳細図である。同期通信資源データ２１３１は指令と応答データの同期通信に使用されるそれぞれの帯域幅とチャネルから構成される。請求項１の発明の実施例としてマスタ１とスレーブ２１間の指令データ分の帯域幅を５００帯域幅割り当て単位、チャネルをチャネル番号０（ｃｈ０とする）、マスタ１とスレーブ２１間の応答データ分の帯域幅を５００帯域幅割り当て単位、チャネルをｃｈ１とした場合のデータを示している。
【００２２】
図４は本発明の請求項１の実施例となる通信タイミングチャートである。図２の同期通信管理テーブル、各スレーブに実装される図３の同期通信資源データに従って動作すると、サイクル＃１のサイクル開始パケットを受信したマスタが同期通信管理テーブル１４のサイクル＃１の通信スレーブ数および通信スレーブ番号に対し指令データＣｉ（ｉ＝１、５）を送信する。スレーブは指令データを受信すると、それぞれ応答データＲｉ（ｉ＝１、５）を送信する。次いでサイクル＃２のサイクル開始パケットを受信したマスタが同期通信管理テーブル１４のサイクル＃２の通信スレーブ数および通信スレーブ番号に対し指令データＣｉ（ｉ＝２、６）を送信する。スレーブは指令データを受信すると、それぞれ応答データＲｉ（ｉ＝２、６）を送信する。以降同様にして、サイクル＃３では、指令データＣｉ（ｉ＝３、７）、応答データＲｉ（ｉ＝３、７）が送信され、サイクル＃４では、指令データＣｉ（ｉ＝４、８）、応答データＲｉ（ｉ＝４、８）が送信される。
【００２３】
以上により、最初の１２５μｓにてマスタとスレーブ＃１、＃５が通信データの授受を行い、１２５〜２５０μｓの間にマスタとスレーブ＃２、＃６が、２５０〜３７５μｓの間にマスタとスレーブ＃３、＃７が、３７５〜５００μｓの間にマスタとスレーブ＃４、＃８が通信データを授受することができ、制御周期５００μｓ内にマスタが全スレーブ＃１〜＃８と通信データの授受することができる。以降、制御周期ごとに同処理を繰り返すことにより、一局のマスタと８局のスレーブが５００μｓの制御周期に同期して動作させることができる。また、スレーブ数を各サイクルに均等に割り付けることにより、毎サイクルにおいて、２０００帯域幅割り当て単位内で通信データの授受を完了させることができる。
【００２４】
このように、設定されたアイソクロナスサイクルの整数倍の制御周期内で、マスタが全スレーブと通信データを授受することができ、マスタとスレーブが制御周期に同期して動作させることができる。また、毎アイソクロナスサイクルの使用帯域幅を均等化することで、同期通信資源を効率よく使用することができ、余った資源を他の機器やシステムが自由に使用することができ、他のデータを同期通信で通信する機器やシステムとの混在や、アイソクロナス通信を実行した残りの時間をも活用してアシンクロナス転送を行うことができる。
【００２５】
図５はＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの最小形式のフォーマットを表す図であり、ベンダーＩＤと言う、ベンダー固有の情報を表す、２４ビットのｖｅｎｄｏｒ＿ｉｄが含まれる。
【００２６】
図６はＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの一般形式のフォーマットを表す図であり、図７は図６に含まれるｂｕｓ＿ｉｎｆｏ＿ｂｌｏｃｋのフォーマットを表す図である。図５と同様のベンダーＩＤ（ｎｏｄｅ＿ｖｅｎｄｏｒ＿ｉｄ）や、ベンダー内で機器を固有にする、８ビットのｃｈｉｐ＿ｉｄ＿ｈｉと３２ビットのｃｈｉｐ＿ｉｄ＿ｌｏを連結した４０ビットのチップＩＤが含まれる。ベンダーＩＤとチップＩＤをあわせた６４ビットの情報はＥＵＩ−６４（Ｅｘｔｅｎｄｅｄ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｅｒ、拡張固有識別子、６４ビット）と呼ばれ全てのＩＥＥＥ１３９４機器の中で、ユニークに識別できる情報である。
【００２７】
図８はＩＲＭが持つ同期通信資源の一つであるアイソクロナス・チャネルを管理するＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥのフォーマットを表す図である。それぞれ３２ビットのｃｈａｎｎｅｌｓ＿ａｖａｉｌａｂｌｅ＿ｈｉとｃｈａｎｎｅｌｓ＿ａｖａｉｌａｂｌｅ＿ｌｏの計６４ビットがアイソクロナス・チャネル番号に対応する。ｃｈａｎｎｅｌｓ＿ａｖａｉｌａｂｌｅ＿ｈｉのビット０からチャネル番号０と順に割り当て、ビット３１でチャネル番号３１までを、ｃｈａｎｎｅｌｓ＿ａｖａｉｌａｂｌｅ＿ｌｏのビット０からチャネル番号３２と順に割り当て、ビット３１でチャネル６３までを割り当てる。各ビットの値は対応するチャネルの利用状況を表し、０ならばそのチャネルは既に所有されていて使用できないことを表し、１ならばチャネルが使用可能であることを表す。チャネルの所有権を獲得するには、非特許文献１記載の規定の手続きに従って獲得する。
【００２８】
図９はＩＲＭが持つ同期通信資源の一つであるアイソクロナス帯域幅を管理するＢＡＮＤＷＩＤＴＨ＿ＡＶＡＩＬＡＢＬＥのフォーマットを表す図である。１３ビットのｂｗ＿ｒｅｍａｉｎｇが、現在割り当てに使うことができるアイソクロナス帯域幅の量を表す。この帯域幅の量は帯域幅割り当て単位と呼ばれる時間によって表され、１単位は１６００Ｍｂｐｓのデータ・レートで１個のクワッドレット・データを送信するのに要する時間、およそ２０ｎｓである。ｂｗ＿ｒｅｍａｉｎｉｎｇの初期値、つまりアイソクロナス転送期間の１００μｓに相当する帯域幅の量は、４９５１帯域幅割り当て単位である。帯域幅の割り当てを獲得するには、非特許文献１記載の規定の手続きに従って獲得する。
【実施例２】
【００２９】
図１０は本発明の請求項２のマスタ／スレーブ同期通信システムにおける、同期通信資源の自動割当方法の処理手順を示すフローチャートである。この図を用いて請求項２記載の同期通信資源の自動割当方法を順を追って説明する。
はじめにＳ０１０で制御周期があらかじめ設定された制御周期データ１１を取り出し、Ｓ０２０で非特許文献１記載のＩＥＥＥ１３９４規格の機能を利用してネットワーク上に接続されている全てのスレーブ数１２１と、該スレーブとマスタが通信するための通信スレーブ番号を検出する。この際、スレーブとなる機器の判別に図５のベンダーＩＤ、もしくは図７のＥＵＩ−６４の情報を使用する。次にＳ０３０で取得した制御周期データ１１、検出されたスレーブ数１２１に基き、同期通信管理テーブル１４の領域を確保し、内部データを０クリアする。Ｓ０４０で式（１）により算出されたサイクル数を同期通信管理テーブル１４に設定する。
サイクル数  ＝  制御周期［μｓ］  ÷  １２５［μｓ］  ・・・（１）
【００３０】
Ｓ０５０で同期通信管理テーブル１４の１サイクル目のデータ領域を獲得する。Ｓ０６０で通信スレーブ番号、指令／応答の帯域幅を同期通信管理テーブル１４に格納する。帯域幅の算出は式（２）より求める。
帯域幅＝ヘッダ＋通信データサイズ[byte]／４＋データ通信時のギャップ  ・・・（２）
なお、ヘッダのサイズ、データ通信時のギャップは非特許文献１に記載の通り、ＩＥＥＥ１３９４規格において規定されている。
【００３１】
Ｓ０７０で同期通信管理テーブル１４の通信スレーブ数に１を加える。Ｓ０８０で次のサイクル番号がサイクル数を超えないかチェックし、超えなければＳ０９０で次のサイクルのデータ領域を獲得する。超える場合はＳ１００で１サイクル目のデータ領域を獲得する。Ｓ０６０からＳ１００までの処理を全スレーブ数分繰り返す。Ｓ１１０で各サイクル毎に割り付けられたスレーブ分の指令／応答の帯域幅の和を算出し、Ｓ１２０で各サイクル毎の帯域幅の和の中で最大値を求め、Ｓ１３０でＩＲＭより帯域幅最大値分の帯域幅を獲得し、スレーブとの指令・応答データの通信に使用するチャネル番号を獲得する。Ｓ１４０で同期通信資源が獲得できたかをチェックし、獲得できたならばＳ１５０で同期通信資源データを同期通信管理テーブル１４に格納し、Ｓ１６０で各スレーブに対応する同期通信資源情報を通知する。同期通信資源獲得ができなかった場合はＳ１７０でエラー処理をして終了とする。以上により、図２の同期通信管理テーブル１４および、図３をはじめとする同期通信資源データ２ｉ３１が作成され、アイソクロナスサイクルの整数倍の制御周期内にマスタと全てのスレーブが制御データの授受を行うための同期通信資源の獲得、割当が自動で行えるのである。
【実施例３】
【００３２】
請求項３に記載の発明の実施例を説明する。請求項１に記載のマスタ／スレーブ同期通信システムに加え、マスタもしくは、スレーブもしくは、マスタおよびスレーブのそれぞれに授受する通信データのデータ量を持たせ、マスタが該データ量をスレーブ毎に算出もしくは読み出す手段を備える。帯域幅の情報がマスタにある場合は、例えばスレーブ検出後に同期通信資源獲得・割当部１８にスレーブ機器の判別に使用するベンダーＩＤ、もしくはＥＵＩ−６４の情報と通信データの帯域幅の対応テーブルにより算出してもよいし、帯域幅の情報がスレーブにある場合は、例えば同期通信資源データ２ｉ３１に格納されていて、マスタは同期通信資源データ２ｉ３１から帯域幅の情報を読み出してもよいし、マスタおよびスレーブのそれぞれにある場合は、前記の方法を組み合わせて帯域幅の情報を獲得してもよい。
【００３３】
図１１は、請求項３に記載の発明の実施例として、通信データ量が異なる、８局のスレーブが接続された場合における、各スレーブの通信スレーブ番号、指令データ帯域幅、応答データ帯域幅、指令データと応答データの帯域幅の和である帯域幅合計の情報である。
【００３４】
図１３は、請求項３に記載の発明の実施例として、制御周期を５００μｓ、図１１記載のスレーブ数が８局接続された場合の、同期通信管理テーブル１４の詳細図である。
【００３５】
図１４は、請求項３に記載の発明の実施例として、スレーブ２１に該当する同期通信資源データ２１３１の詳細図である。図１１、図１３よりマスタ１とスレーブ２１間の指令データ分の帯域幅を５００帯域幅割り当て単位、チャネルをｃｈ１０、マスタ１とスレーブ２１間の応答データ分の帯域幅を５００帯域幅割り当て単位、チャネルをｃｈ１１とした場合のデータを示している。
【００３６】
図１５は本発明の請求項３の実施例となる通信タイミングチャートである。図１３の同期通信管理テーブル、各スレーブに実装される図１４の同期通信資源データに従って動作すると、サイクル＃１のサイクル開始パケットを受信したマスタが同期通信管理テーブル１４のサイクル＃１の通信スレーブ数および通信スレーブ番号に対し指令データＣｉ（ｉ＝３）を送信する。スレーブは指令データを受信すると、それぞれ応答データＲｉ（ｉ＝３）を送信する。次いでサイクル＃２のサイクル開始パケットを受信したマスタが同期通信管理テーブル１４のサイクル＃２の通信スレーブ数および通信スレーブ番号に対し指令データＣｉ（ｉ＝５、４）を送信する。スレーブは指令データを受信すると、それぞれ応答データＲｉ（ｉ＝５、４）を送信する。以降同様にして、サイクル＃３では、指令データＣｉ（ｉ＝８、６）、応答データＲｉ（ｉ＝８、６）が送信され、サイクル＃４では、指令データＣｉ（ｉ＝１、２、７）、応答データＲｉ（ｉ＝１、２、７）が送信される。
【００３７】
以上により、最初の１２５μｓにてマスタとスレーブ＃３が通信データの授受を行い、１２５〜２５０μｓの間にマスタとスレーブ＃５、＃４が、２５０〜３７５μｓの間にマスタとスレーブ＃８、＃６が、３７５〜５００μｓの間にマスタとスレーブ＃１、＃２、＃７が通信データを授受することができ、制御周期５００μｓ内にマスタが全スレーブ＃１〜＃８と通信データの授受することができる。以降、制御周期ごとに同処理を繰り返すことにより、一局のマスタと８局のスレーブが５００μｓの制御周期に同期して動作させることができる。また、スレーブを各サイクルに使用帯域幅が均等に割り付けることにより、毎サイクルにおいて、最大値である３０００帯域幅割り当て単位内で通信データの授受を完了させることができる。
【００３８】
このように、設定されたアイソクロナスサイクルの整数倍の制御周期内で、マスタが全スレーブと通信データを授受することができ、マスタとスレーブが制御周期に同期して動作させることができる。また、毎アイソクロナスサイクルの使用帯域幅を均等化することで、同期通信資源を効率よく使用することができ、余った資源を他の機器やシステムが自由に使用することができ、他のデータを同期通信で通信する機器やシステムとの混在や、アイソクロナス通信を実行した残りの時間をも活用してアシンクロナス転送を行うことができる。
【実施例４】
【００３９】
図１６は本発明の請求項４のマスタ／スレーブ同期通信システムにおける、同期通信資源の自動割当方法の処理手順を示すフローチャートである。図１６を用いて、図１０に示す請求項２記載の同期通信資源の自動割当方法と異なる点を順を追って説明する。
Ｓ０２０でスレーブを検出後、Ｓ０２１でマスタと各スレーブとの同期通信帯域幅を算出する。帯域幅の情報がマスタにある場合は、スレーブ機器の判別に使用したベンダーＩＤ、もしくはＥＵＩ−６４の情報と通信データの帯域幅の対応テーブルにより算出する。帯域幅の情報がスレーブにある場合は、帯域幅情報の格納先、例えば同期通信資源データ２ｉ３１から帯域幅の情報を読み出す。マスタおよびスレーブのそれぞれにある場合は、前記の方法を組み合わせて帯域幅の情報を獲得する。この際、格納されている情報が通信データサイズの場合は、式（２）より帯域幅割り当て単位として算出する。次にＳ０２２で獲得されたスレーブ情報を指令データの帯域幅と応答データの帯域幅の和が大きい順にソートする。この結果、図１１のスレーブ情報のデータが図１２のデータへソートされる。
【００４０】
更に、Ｓ５０にて、同期通信管理テーブル１４の１サイクル目のデータ領域を獲得していた処理を、同期通信管理テーブルのサイクルに割り付けられたスレーブの帯域幅計が最小であるサイクルを検出し、そのサイクルデータ領域を獲得する処理に置き換える。
Ｓ０６０で、Ｓ０２２で指令データの帯域幅と応答データの帯域幅の和の大きい順にソートしたデータのうち、未使用で最も大きいものを同期通信管理テーブル１４に格納する。
Ｓ０７０では同期通信管理テーブル１４の通信スレーブ数に１を加える処理に加え、帯域幅計に追加したスレーブの指令データの帯域幅と応答データの帯域幅の和を加算する。
Ｓ０５０からＳ０７０までの処理を、Ｓ０２２でソートされた順に、全スレーブ数分繰り返す。
図１０に示すＳ０８０、Ｓ０９０、Ｓ１００、Ｓ１１０の処理は削除する。
【００４１】
他の処理は請求項２と同様である。以上により、図１３の同期通信管理テーブル１４および、図１４をはじめとする同期通信資源データ２ｉ３１が作成され、アイソクロナスサイクルの整数倍の制御周期内にマスタと全てのスレーブが制御データの授受を行うための同期通信資源の獲得、割当が自動で行えるのである。
【００４２】
なお、チャネルの割り付けはアイソクロナスサイクル内で同じチャネル番号が重ならなければ通信可能なため、アイソクロナスサイクルごとの通信スレーブ数の最大値を求め最大数分のスレーブとの送受信用のチャネルを獲得して、各アイソクロナスサイクルに割り当ててもよい。
【実施例５】
【００４３】
図１７は、請求項５に記載の発明の実施例としての、スレーブ２１に該当する同期通信資源データ２１３１の詳細図である。
同期通信資源データ２１３１の同期通信資源獲得禁止フラグが有効であれば、スレーブ２１は、請求項１〜４に記載のアイソクロナスサイクルの整数倍の制御周期で動作する機器として、マスタ１により同期通信資源を割り当てられる。
すなわち、マスタ１は、アイソクロナスサイクルの整数倍の制御周期で同期通信を行う全てのスレーブ２ｎの同期通信資源データ２ｎ３１の同期通信資源獲得禁止フラグを有効にしてバスリセットを実行し、請求項２または請求項３に記載した同期通信資源の自動割当方法を実行する。
【００４４】
また、該同期通信資源獲得禁止フラグが無効の場合は、スレーブ２ｎは、通常のＩＥＥＥ１３９４機器と同様にＩＲＭから同期通信資源を獲得し、汎用のＩＥＥＥ１３９４機器としての通信を実行する。
これにより、スレーブ２ｎをマスタ１との同期システムと切り離し、汎用のＩＥＥＥ１３９４機器として使用できるのである。
なお、同期通信資源獲得禁止フラグの代わりに、ハードウエアスイッチを用いても同等の効果を得ることができる。
【産業上の利用可能性】
【００４５】
１アイソサイクルでは送受信できないがアイソサイクル整数倍の制御周期でマスタとスレーブが同期して通信できるので、マスタにて制御指令を作成するモーションコントロールシステムという用途にも適用できる。
【図面の簡単な説明】
【００４６】
【図１】本発明を実施するＩＥＥＥ１３９４ネットワークを使用したマスタとスレーブの同期通信システムの構成図
【図２】本発明の請求項１および２の実施例となる同期通信管理テーブルの詳細図
【図３】本発明の請求項１および２の実施例となる同期通信資源データの詳細図
【図４】本発明の請求項１および２の実施例となる通信タイミングチャート
【図５】ＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの最小形式のフォーマットを表す図
【図６】ＩＥＥＥ１３９４機器が持つコンフィグレーションＲＯＭの一般形式のフォーマットを表す図
【図７】ｂｕｓ＿ｉｎｆｏ＿ｂｌｏｃｋのフォーマットを表す図
【図８】ＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥのフォーマットを表す図
【図９】ＢＡＮＤＷＩＤＴＨ＿ＡＶＡＩＬＡＢＬＥのフォーマットを表す図
【図１０】本発明の請求項２のマスタ／スレーブ同期通信システムにおける、同期通信資源の自動割当方法の処理手順を示すフローチャート
【図１１】本発明の請求項３および４の実施例となるスレーブ情報データ
【図１２】本発明の請求項３および４の実施例となるソート後のスレーブ情報データ
【図１３】本発明の請求項３および４の実施例となる同期通信管理テーブルの詳細図
【図１４】本発明の請求項３および４の実施例となる同期通信資源データの詳細図
【図１５】本発明の請求項３および４の実施例となる通信タイミングチャート
【図１６】本発明の請求項４のマスタ／スレーブ同期通信システムにおける、同期通信資源の自動割当方法の処理手順を示すフローチャート
【図１７】本発明の請求項５の実施例となる同期通信資源データの詳細図
【図１８】従来の方法を適用した通信タイミングチャート
【符号の説明】
【００４７】
１  マスタ
１１  制御周期データ
１２  スレーブ検出部
１２１  接続スレーブ数
１３  スレーブ割付部
１４  同期通信管理テーブル
１５  サイクル開始パケット受信処理部
１６  指令データ送信部
１６１  指令データ
１７  応答データ受信部
１７１  応答データ
１８  同期通信資源獲得・割当部
２ｉ  スレーブ
２ｉ１  指令データ受信部
２ｉ１１  指令データ
２ｉ２  応答データ送信部
２ｉ２１  応答データ
２ｉ３  同期通信処理部
２ｉ３１  同期通信資源データ
３  ＩＥＥＥ１３９４ネットワーク
９１  ヘッダ
９２  data A
９３  data B
９４  data C
９５  data D
９６  data Dの帯域
９７  アイソクロナス転送期間の残帯域
【図１】
2005318191.tif 000003
【図２】
2005318191.tif 000004
【図３】
2005318191.tif 000005
【図４】
2005318191.tif 000006
【図５】
2005318191.tif 000007
【図６】
2005318191.tif 000008
【図７】
2005318191.tif 000009
【図８】
2005318191.tif 000010
【図９】
2005318191.tif 000011
【図１０】
2005318191.tif 000012
【図１１】
2005318191.tif 000013
【図１２】
2005318191.tif 000014
【図１３】
2005318191.tif 000015
【図１４】
2005318191.tif 000016
【図１５】
2005318191.tif 000017
【図１６】
2005318191.tif 000018
【図１７】
2005318191.tif 000019
【図１８】
2005318191.tif 000020