(57)【特許請求の範囲】
【請求項１】
共通の伝送線路に接続されている複数のノードが通信を行う通信ネットワークシステムにおいて、
前記複数のノードのうち、マスタノードとなり得るマスタ候補ノードは、前記伝送線路のアイドル時間を測定するアイドル時間測定手段を備え、
前記マスタ候補ノードには、自身が通信を開始するマスタ権を獲得できる前記伝送線路のアイドル時間幅が、権利獲得アイドル時間幅としてそれぞれ異なる長さで設定されており、
一度マスタ権を獲得してマスタノードになると、当該マスタ権は、前記伝送線路のアイドル時間が、自身の前記権利獲得アイドル時間幅を超えるまで保持され、
前記複数のノードの１つは、ルートノードとして設定されており、
前記ルートノードは、前記伝送線路のアイドル時間が各マスタ候補ノードに割り当てられている最長の権利獲得アイドル時間幅を超えると、次の通信サイクルの開始を示すスタートフレームを送信し、
各マスタ候補ノードのアイドル時間測定手段は、前記スタートフレームを受信するとクリアされることを特徴とする通信ネットワークシステム。
【請求項２】
前記マスタノードは、自身が保持しているマスタ権が最長保持時間を超えると、前記マスタ権を開放するマスタ権開放手段を備えていることを特徴とする請求項１記載の通信ネットワークシステム。
【請求項３】
前記ルートノードは、前記スタートフレームの送信を起点とする通信サイクルの継続時間を測定する通信サイクル時間測定手段を備え、
前記通信サイクルの継続時間が予め設定した最短時間を超えると共に、前記伝送線路のアイドル時間が前記最長の権利獲得アイドル時間幅を超えることを条件に、前記スタートフレームを送信することを特徴とする請求項１又は２記載の通信ネットワークシステム。
【請求項４】
前記ルートノード以外のノードは、前記ルートノードにより測定される最長の権利獲得アイドル時間よりも長いアイドル時間を測定し、
前記スタートフレームが送信されず、自身が測定する前記アイドル時間を超えると、前記ルートノードに代わってスタートフレームを送信することを特徴とする請求項１ないし３の何れかに記載の通信ネットワークシステム。
【請求項５】
前記ルートノードに代わるノードは複数存在し、前記ルートノードにより測定される最長の権利獲得アイドル時間幅よりも長いアイドル時間を、それぞれ異なる長さについて測定することを特徴とする請求項４記載の通信ネットワークシステム。
【請求項６】
前記マスタノードよりデータの送信を要求されたノードは、前記マスタノードがマスタ権を維持している間に自身が応答できないと判断すると、受信側が処理しないデータを送信することを特徴とする請求項１ないし５の何れかに記載の通信ネットワークシステム。
【請求項７】
前記マスタノードは、自身がマスタ権を維持している間にデータが送信できないと判断すると、受信側が処理しないデータを送信することを特徴とする請求項１ないし６の何れかに記載の通信ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共通の伝送線路に接続されている複数のノードが通信を行う通信ネットワークシステムに関する。
【背景技術】
【０００２】
共通の伝送線路上において複数のノードが送信開始権を持つ場合のアービトレーションを行う方式には、ＣＡＮやＩ2Ｃ（登録商標）などのドミナント／レセッシブ方式や、Ethernet（登録商標）や無線ＬＡＮなどで採用されているＣＳＭＡ／ＣＤ，ＣＳＭＡ／ＣＡ方式などがある。しかしこれらはイベント駆動型の通信方式を前提としているため、各ノードについて最低通信帯域を保証するリアルタイムシステムには適用できない。リアルタイムシステムについては、決定論的な通信を可能とする時分割方式が、FlexRay（登録商標）やＴＴ（Time Triggered）ＣＡＮなどで採用されている。
【０００３】
また、特許文献１には、ネットワークノード間で同期した時間管理方式であり、通信サイクルの開始毎にマスタ局より送信される時間情報に応じて、各ノードが自身の通信タイミングを調整する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１５９７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の時分割方式の問題点としては、以下のようなものがある。第１に、ノード間で同期した時間管理が必要となり、高精度のクロック信号や同期フレームによって同期調整を行うなど、複雑な機構が必要となる。第２に、スタートアップ時に同期調整のための通信処理が発生するので、起動時間が長くなる。第３に、割り当てられた時間に対応するノードが送信を行わなかった場合に、空きスロットの発生を防止できる柔軟な方式を実現するには、やはり複雑な機構が必要となる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、より簡単な構成でマスタ権を付与する調整制御を柔軟に行い得る通信ネットワークシステムを提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載の通信ネットワークシステムによれば、マスタノードになり得るマスタ候補ノードは、伝送線路のアイドル時間を測定するアイドル時間測定手段を備え、自身が通信を開始するマスタ権を獲得できる伝送線路のアイドル時間幅が、権利獲得アイドル時間幅としてそれぞれ異なる長さで設定されている。そして、前記マスタ候補ノードは、一度マスタ権を獲得してマスタノードになると、当該マスタ権は、伝送線路のアイドル時間が、自身の権利獲得アイドル時間幅を超えるまで保持される。また、複数のノードの１つはルートノードとして設定され、ルートノードは、伝送線路のアイドル時間が各マスタ候補ノードに割り当てられている最長の権利獲得アイドル時間幅を超えると、次の通信サイクルの開始を示すスタートフレームを送信し、各マスタ候補ノードのアイドル時間測定手段は、スタートフレームを受信するとクリアされる。
【０００８】
以下の説明において、マスタ候補ノードについて、権利獲得アイドル時間幅が短い方から第１ノード，第２ノード，…，第ｎノードと称する。ルートノードがスタートフレームを送信することで通信サイクルが開始されると、先ず、最短の権利獲得アイドル時間幅が割り当てられている第１ノードが最初にマスタ権を獲得して通信を開始する。第１ノードがマスタとなる通信が終了すると、当該通信サイクルでは第１ノードが再びマスタ権を獲得することはない。そして、伝送線路のアイドル時間が第２ノードの権利獲得アイドル時間幅に達すると、次は第２ノードがマスタ権を獲得して通信を開始する。
【０００９】
以降、順次各マスタ候補ノードがマスタ権を獲得して通信を行い、権利獲得アイドル時間幅が最も長い第ｎノードによる通信が完了すると、その後の伝送線路のアイドル時間は、第ｎノードに割り当てられた最長の権利獲得アイドル時間幅を超えて継続する。すると、ルートノードは、その状態を検出して次の通信サイクルの開始を示すスタートフレームを送信する。すなわち、各マスタ候補ノードの権利獲得アイドル時間幅がそれぞれ異なることで、１つの通信サイクル内では、コリジョンが発生することなく各マスタ候補ノードが１回マスタとなる権利が確実に保証される。
【００１０】
また、各マスタ候補ノードが１度獲得したマスタ権は、アイドル時間が自身の権利獲得アイドル時間幅を超えない限りは維持されるので、その制限内で柔軟に通信を行うことができる。そして、例えば第ｘノードがマスタとなる通信の長さにかかわらず、当該通信が終了すれば、アイドル時間が次の権利獲得アイドル時間幅に達した時点で第（ｘ＋１）ノードが通信を開始する。したがって、１つの通信サイクル内で各マスタ候補ノードが１回マスタとなる権利を確実に保証しつつ柔軟な形態で通信を行うことができるので、通信効率の向上を図ることが可能となる。加えて、通信ネットワークに接続されるノードの数が増減した場合でも、それに伴うシステム設定の変更を容易に行うことができる。
【００１１】
請求項２記載の通信ネットワークシステムによれば、各マスタノードは、自身が保持しているマスタ権が最長保持時間を超えると、マスタ権開放手段により自身のマスタ権を開放する。すなわち、柔軟な通信形態を可能にするとしても、１つのマスタ候補ノードがマスタとなって伝送線路を専有する時間が不当に長くなることを回避して、その他のマスタ候補ノードが通信を行う機会をより確実に確保できる。
【００１２】
請求項３記載の通信ネットワークシステムによれば、ルートノードは、通信サイクルの継続時間が予め設定した最短時間を超えると共に、伝送線路のアイドル時間が最長の権利獲得アイドル時間幅を超えることを条件にスタートフレームを送信する。すなわち、通信サイクルの最短時間の経過を条件にスタートフレームを送信することで、バスの通信量が少ない場合に、スタートフレームの送信回数；通信サイクルの実行回数を抑制し、不要な電力消費を低減することができる。
【００１３】
請求項４記載の通信ネットワークシステムによれば、ルートノード以外のノードは、ルートノードにより測定される最長の権利獲得アイドル時間よりも長いアイドル時間を測定し、スタートフレームが送信されず、自身が測定する前記アイドル時間を超えると、当初のルートノードに代わってスタートフレームを送信する。すなわち、ルートノードの機能が割り当てられているノードについても故障が発生する可能性がある。そこで、その他ノードの少なくとも１つが、ルートノードがスタートフレームを送信すべき状況で送信を行わなかったことを検出すると、ルートノードの機能を代替して自身がスタートフレームを送信することで、次の通信サイクルを開始させることができる。
【００１４】
請求項５記載の通信ネットワークシステムによれば、ルートノードの機能を代替するノードを予め複数設定しておき、ルートノードにより測定される最長の権利獲得アイドル時間幅よりも長いアイドル時間を、それぞれ異なる長さについて測定することを定めておけば、それら複数のノード間についても、故障が発生した場合に他のノードによって順次機能を代替させることができる。
【００１５】
請求項６記載の通信ネットワークシステムによれば、マスタノードよりデータの送信を要求されたノード（スレーブノード）は、そのマスタノードがマスタ権を維持している間に自身が応答できないと判断すると、受信側が処理しないデータを送信する。これにより、スレーブノードは、マスタノードのマスタ権を維持させながら、要求されたデータを自身が送信するための時間を確保することができる。
【００１６】
請求項７記載の通信ネットワークシステムによれば、マスタノードは、自身がマスタ権を維持している間にデータが送信できないと判断すると、受信側が処理しないデータを送信する。これにより、マスタノードは、自身のマスタ権を維持しながら、データを送信するための時間を確保することができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施例であり、各通信ノードが伝送線路を介して通信を行う場合の一例を示すタイムチャート
【図２】通信ネットワークシステムの構成を概略的に示す図
【図３】マスタ権獲得制御部の構成を示す図
【図４】マスタ権保持時間測定部の構成を示す図
【図５】バスサイクルスタート制御部の構成を示す図
【図６】第２実施例を示す図１相当図
【図７】図３相当図
【図８】第３実施例を示す図１相当図
【図９】マスタノードの処理内容を示すフローチャート
【図１０】スレーブノードの処理内容を示すフローチャート
【発明を実施するための形態】
【００１８】
（第１実施例）
以下、第１実施例について図１ないし図５を参照して説明する。図２は、通信ネットワークシステムの構成を概略的に示すものである。伝送線路１（通信バス）には、複数の通信ノード２Ａ，２Ｂ，２Ｃ，…が接続されている。各通信ノード２は、通信制御部３と、自身がマスタとして機能する場合に使用するマスタインターフェイス（Ｉ／Ｆ）４と、スレーブとして機能する場合に使用するスレーブインターフェイス５とを備えている。すなわち本実施例では、全ての通信ノード２がマスタ候補ノードとなっている。
【００１９】
通信ノード２がマスタとして機能する場合は、通信制御部３がマスタインターフェイス４を介してデータを符号化等すると、セレクタ６及び送信バッファ７を介して伝送線路１をドライブすることでデータが送信される。一方、通信ノード２がスレーブとして機能する場合は、伝送線路１上に送信されたデータを、受信バッファ８を介して受信すると、セレクタ６を介してスレーブインターフェイス５により復号化等が行われ、受信データが通信制御部３に入力される。
【００２０】
セレクタ６の切り替え制御は、マスタ権制御部９によって行われる。マスタ権制御部９は、受信バッファ８を介して伝送線路１の状態をモニタすることで、自身のノード２がマスタ権を獲得したか否かを判別し、マスタ権を獲得した場合は、スレーブインターフェイス５を介して出力されるデータをセレクタ６より送信バッファ７に出力させる。その他の場合は基本的にスレーブとして機能するため、受信バッファ８を介して受信したデータを、セレクタ６を介してスレーブインターフェイス５に入力させる。また、マスタ権制御部９より出力される各種信号は、通信制御部３に入力される。
【００２１】
図３ないし図５は、マスタ権制御部９の各機能部分を個別に示したもので、図３はマスタ権獲得制御部９Ａを示している。アイドル時間アップカウンタ１１（以下、単にカウンタ１１と称す；アイドル時間測定手段）は、何れかのマスタにより伝送線路１にデータが送信される毎にリセットされるカウンタであり、そのカウント値は、３つのデータ比較器１２，１３，１４に入力されている。これらのデータ比較器１２，１３，１４は、上記カウンタ値を、レジスタ１５，１６，１７に設定されるレジスタ値と比較する。
【００２２】
尚、図中ではクロック信号線の図示を省略している。また、以下では、伝送線路１にデータ等の出力が行われず、通信が実行されていない状態を「アイドル」と称する。したがって、カウンタ１１は伝送線路１のアイドル時間の長さを測定するカウンタである。
【００２３】
レジスタ１５には、自身の通信ノード２がマスタ権を獲得するための「権利獲得アイドル時間（Bus Master Obtain Time）」が設定され、カウンタ値がレジスタ値を超えるとデータ比較器１２がハイアクティブの信号をＲＳフリップフロップ１８のセット端子Ｓに出力する。レジスタ１６には、自身の通信ノード２が一旦獲得したマスタ権を失う時間である「権利喪失時間（Bus Master Loose Time）」が設定され、カウンタ値がレジスタ値を超えるとデータ比較器１３がハイアクティブの信号をＲＳフリップフロップ１９のセット端子Ｓに出力する。
すなわち、各ノード２は、アイドル時間が「権利獲得アイドル時間」を超えた時点から「権利喪失時間」を超えるまでの間の時間幅（権利獲得アイドル時間幅）でマスタ権の取得が可能となっている。そして、「権利獲得アイドル時間」と「権利喪失時間」とは、各ノード２について時間が異なるように設定される。
【００２４】
レジスタ１７には、通信サイクルの終了を示す時間である「通信終了時間（Bus Cycle End Idle Time）」が設定され、カウンタ値がレジスタ値を超えるとデータ比較器１４がハイアクティブの「バスサイクル終了検出」を出力する。尚、データ比較器１４及びレジスタ１７は、ルートノードとしての機能を設定された通信ノード２のみが備えている。そして、「通信終了時間」は、各通信ノード２における「権利獲得アイドル時間」のうち、最長のものよりも長くなる時間に設定されている。
【００２５】
ＲＳフリップフロップ１８，１９のリセット端子Ｒには、ルートノードにより伝送線路１上に出力される「サイクルスタート（スタートフレーム）」が与えられている。そして、ＲＳフリップフロップ１８，１９の出力端子Ｑは、ＡＮＤゲート２０の入力端子にそれぞれ接続されている。但し、ＲＳフリップフロップ１９の入力端子は負論理である。そして、ＡＮＤゲート２０からはマスタ権獲得信号（ハイアクティブ）が出力される。マスタ権獲得信号は、通信制御部３や、後述するマスタ権保持時間測定部９Ｂに入力される。
【００２６】
したがって、ＲＳフリップフロップ１８，１９は、伝送線路１上にサイクルスタートが出力されるとリセットされ、カウンタ１１のカウント値がレジスタ１５のレジスタ値；権利獲得アイドル時間幅を超えるとＲＳフリップフロップ１８がセットされ、ＡＮＤゲート２０がマスタ権獲得信号をアクティブにする。それから、カウンタ１１のカウント値がレジスタ１６のレジスタ値；権利喪失時間を超えるとＲＳフリップフロップ１９がセットされ、ＡＮＤゲート２０がマスタ権獲得信号をインアクティブにする。
尚、「サイクルスタート」については、伝送線路１に特定のデータを送信することに変わりないので、「サイクルスタート」が送信された場合もカウンタ１１はリセットされる。
【００２７】
図４は、マスタ権保持時間測定部９Ｂ（マスタ権開放手段）の構成を示している。マスタ獲得ダウンカウンタ（Bus Master Period Count）２１には、上述したマスタ権獲得信号がアクティブになったタイミングで、レジスタ２２に設定されている「マスタ権開放時間（Bus Master Release Time）」に相当するレジスタ値がロードされる。そして、マスタ獲得ダウンカウンタ２１は、カウンタ１１に供給されるものと共通のクロック信号によりダウンカウント動作を行う。そのカウント値は比較器２２に入力され、比較器２２は、カウント値がゼロになると「最大通信時間終了」を出力する。当該信号は、通信制御部３に入力される。尚、以降で説明する各カウンタ等についても、共通のクロック信号で動作することを前提とする。
【００２８】
図５は、バスサイクルスタート制御部９Ｃの構成を示している。但し、バスサイクルスタート制御部９Ｃは、ルートノードとしての機能を設定された通信ノード２のみが備えている。バスサイクルカウンタ２３（通信サイクル時間測定手段）は、自身がサイクルスタートを出力したタイミングでリセットスタートするカウンタであり、そのカウント値は、データ比較器２４に入力されている。
【００２９】
データ比較器２４は、上記カウンタ値を、レジスタ２５に設定されるレジスタ値と比較する。レジスタ２５には、「通信バスサイクル時間（Main Bus Cycle(root)」が設定されており、カウンタ値がレジスタ値を超えるとデータ比較器２４がハイアクティブの信号をＡＮＤゲート２６の一方の入力端子に出力する。ＡＮＤゲート２６の他方の入力端子には、マスタ権獲得制御部９Ａより「バスサイクル終了検出」が与えられている。そして、ＡＮＤゲート２６より「サイクルスタート」が出力される。すなわち、レジスタ２５に設定される「通信バスサイクル時間」は、「通信サイクルの最短時間」を規定している。
【００３０】
次に、本実施例の作用について図１を参照して説明する。図１は、各通信ノード２が伝送線路１を介して通信を行う場合の一例を示すタイムチャートである。（１）ルートノードが「サイクルスタート」を出力すると、マスタ権獲得制御部９Ａのカウンタ１１がリセットスタートする。そして、レジスタ１５に設定されている「権利獲得アイドル時間幅」が最少であるもの、例えば通信ノード２Ａ（ＮｏｄｅＡ）が最初にマスタ権を獲得し、（２）通信を開始する。すると、それに応じてカウンタ１１はリセットされる。通信ノード２Ａが通信を開始すると、そのマスタ権は、マスタ権保持時間測定部９Ｂにおいて測定されている「マスタ権開放時間」を超えない範囲で、すなわち「最大通信時間終了」が出力されるまでは維持される。
【００３１】
（３）通信ノード２Ａが通信を終了すると、その時点からカウンタ１１がアイドル時間を測定する。そして、アイドル時間が「権利喪失時間」を超えると、ＲＳフリップフロップ１９がセットされ、通信ノード２Ａの「マスタ権獲得」はインアクティブとなり、マスタ権を喪失する。したがって、アイドル時間が「権利喪失時間」を超えるまでは、通信ノード２Ａが再度通信を開始することが可能である。
通信ノード２Ａがマスタ権を失った後、より長いアイドル時間が測定されると、「権利獲得アイドル時間幅」が通信ノード２Ａに次いで長い通信ノード２Ｂ（ＮｏｄｅＢ）が次にマスタ権を獲得し、（４）通信を開始する。（５）通信ノード２Ｂが通信を終了すると、その時点からカウンタ１１がアイドル時間を測定する。以降に他の通信ノード２が通信を開始しなければ測定されるアイドル時間が長くなり、「通信終了時間」を超えるとマスタ権獲得制御部９Ａより「バスサイクル終了検出」が出力される。
【００３２】
ルートノードは、バスサイクルスタート制御部９Ｃにおいて、バスサイクルカウンタ２３により「サイクルスタート」を出力した時点からのバスサイクル時間を測定している。そして、その時間が「通信バスサイクル時間」を超えると共に、上記の「バスサイクル終了検出」が出力されると、バスサイクルスタート制御部９Ｃは、次の通信サイクルを開始するため「サイクルスタート」を出力する（６）。次の通信サイクルでは、最初のアイドル時間帯に通信ノード２Ａが通信を開始しなかったため、（７）通信ノード２Ｂがマスタ権を獲得して通信を開始している。
【００３３】
また、例えば（２）において通信ノード２Ａが継続して通信を行う長さが「マスタ権開放時間」を超えると、マスタ権保持時間測定部９Ｂより「最大通信時間終了」が出力される。すると、通信制御部３は、実行中の通信（１フレーム分）を完了した時点で通信を終了する。
【００３４】
以上のように本実施例によれば、各通信ノード２は、伝送線路１のアイドル時間を測定するカウンタ１１を備え、自身が通信を開始するマスタ権を獲得できる伝送線路１のアイドル時間幅が、権利獲得アイドル時間幅としてそれぞれ異なる長さで設定し、一度マスタ権を獲得してマスタノードになると、当該マスタ権は、伝送線路１のアイドル時間が、自身の権利獲得アイドル時間幅を超えるまで保持する。また、複数の通信ノード２の１つはルートノードとして設定され、ルートノードは、伝送線路１のアイドル時間が各通信ノード２に割り当てられている最長の権利獲得アイドル時間幅を超えると、次の通信サイクルの開始を示す「サイクルスタート」を送信し、各通信ノード２のカウンタ１１を「サイクルスタート」の受信によりクリアするようにした。
【００３５】
すなわち、各通信ノード２の権利獲得時間幅がそれぞれ異なることで、１つの通信サイクル内では、コリジョンが発生することなく各通信ノード２が１回マスタとなる権利が確実に保証される。また、各通信ノード２が１度獲得したマスタ権は、アイドル時間が自身の権利獲得アイドル時間幅を超えない限りは維持されるので、その制限内で柔軟に通信を行うことができる。したがって、１つの通信サイクル内で各通信ノード２が１回マスタとなる権利を確実に保証しつつ柔軟な形態で通信を行うことができるので、通信効率の向上を図ることが可能となる。
【００３６】
また、各通信ノード２は、自身が保持しているマスタ権が最長保持時間を超えると、マスタ権保持時間測定部９Ｂが「最大通信時間終了」を出力することで自身のマスタ権を開放するようにした。すなわち、柔軟な通信形態を可能にするとしても、１つの通信ノード２がマスタとなって伝送線路１を専有する時間が不当に長くなることを回避して、その他の通信ノード２が通信を行う機会をより確実に確保できる。
【００３７】
更に、ルートノードは、通信サイクルの継続時間が予め設定した「通信バスサイクル時間」を超えると共に、アイドル時間が最長の権利獲得アイドル時間幅を超えることを条件に「サイクルスタート」を送信する。すなわち、前回に「サイクルスタート」を送信して新たな通信サイクルが開始されてから僅かな時間しか経過していないにも関わらず、アイドル時間が最長の権利獲得アイドル時間幅を超える状態になった場合は、伝送線路１に接続されている通信ノード２の数が少ないことが想定される。したがって、通信サイクルの最短時間の経過を条件にスタートフレームを送信することで、伝送線路１の通信量が少ない場合に、スタートフレームの送信回数；通信サイクルの実行回数を抑制し、不要な電力消費を低減することができる。加えて、伝送線路１に接続される通信ノード２の数が増減した場合でも、それに伴うシステム設定の変更を容易に行うことができる。
【００３８】
（第２実施例）
図６及び図７は第２実施例であり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図７は図３相当図であり、マスタ権制御部３１Ａの構成を示す。第２実施例のマスタ権制御部３１Ａは、第１実施例ではルートノードの機能が割り当てられた通信ノード２だけが備えているとしたデータ比較器１４及びレジスタ１７に相当するデータ比較器３２及びレジスタ３３（スタートフレーム代替送信手段）を備えている。そして、レジスタ１７には、ルートノードの機能を備えている通信ノード２のレジスタ１７に設定されている「通信終了時間」よりも長い「サイクルスタート代替送信時間」が設定されている。
【００３９】
次に、第２実施例の作用について図６を参照して説明する。ルートノードが正常に機能していれば、第１実施例で説明したように（６）のタイミングで「サイクルスタート」が送信される。しかし、例えばルートノードに故障が発生し、（６）のタイミングで「サイクルスタート」が送信されない場合は、マスタ権制御部３１Ａを備えている他の通信ノード２において、カウンタ１１の測定時間が「サイクルスタート代替送信時間」を超える。すると（６）’のタイミングで、当該通信ノード２より「サイクルスタート」が送信される。すなわち、前記通信ノード２がルートノードの機能を代替したことになる。
【００４０】
また、マスタ権制御部３１Ａを備える通信ノード２が複数あっても良く、その場合、それぞれのレジスタ３３に設定される「サイクルスタート代替送信時間」をそれぞれ異なる値に（順次長くなるように）設定することで、ルートノードの機能を順次代替させることが可能となる。更に、マスタ権制御部３１Ａに、ルートノードと同様に、図５に示す構成を備え、通信サイクルの最短時間を経過していることも条件として「サイクルスタート」送信するように構成しても良い。
【００４１】
以上のように第２実施例によれば、当初のルートノード以外の通信ノード２が、ルートノードにより測定される最長の権利獲得アイドル時間よりも長いアイドル時間；「サイクルスタート代替送信時間」を測定するようにし、「サイクルスタート」が送信されず、自身が測定するアイドル時間が「サイクルスタート代替送信時間」を超えると、当初のルートノードに代わって「サイクルスタート」を送信するようにした。したがって、当初のルートノードに故障等が発生した場合でも、その機能を代替して「サイクルスタート」を送信することで、次の通信サイクルを開始させることができる。
また、ルートノードの機能を代替する通信ノード２を予め複数設定しておき、ルートノードにより測定される最長の権利獲得アイドル時間幅よりも長いアイドル時間を、それぞれ異なる長さについて測定するように構成すれば、それら複数の通信ノード２の間において、故障が発生した場合に順次機能を代替させることができる。
【００４２】
（第３実施例）
図８ないし図１０は第３実施例である。図８は通信ノード２Ａがマスタ権を獲得し、通信ノード２Ｂ，２Ｃをスレーブとして通信を行う場合を示す。また同図中には、カウンタ１１により測定されるアイドル時間の変化と、通信ノード２Ａの「権利獲得アイドル時間幅（マスタ権獲得窓）」を示している。図９はマスタである通信ノード２Ａ，図１０はスレーブである通信ノード２Ｂ，２Ｃの処理内容を示すフローチャートである。なお、これらは、第３実施例の要部に係る部分のみ示している。
【００４３】
（１）「サイクルスタート」により通信サイクルが開始され、通信ノード２Ａがマスタ権を獲得すると、図９において、通信ノード２Ａは、「送信データ有り」と判断すると（ステップＳ１：ＹＥＳ）、伝送線路１にデータを送信する。図８では（２）通信ノード２Ｂへのリード要求（ＲＤ  Ｒｅｑ）が送信される。そのリード要求を受信した通信ノード２Ｂは、（３）通信ノード２Ａに対してデータを送信する（リード応答；ＲＤ  Ｒｅｓ）。次に、通信ノード２Ａは、送信すべきデータはないが（ステップＳ１：ＮＯ）、マスタ権の保持要求はあるとする（ステップＳ３：ＹＥＳ）。すなわち、あと少し時間が経過した時点で送信すべきデータの用意が完了する状態にある。
【００４４】
この時、通信ノード２Ａは、自身がデータの送信を待機している「待ち時間」を測定しており、その「待ち時間」が「許容時間」未満であれば（ステップＳ４：ＹＥＳ）ステップＳ１に戻る。ここでの「許容時間」とは、通信ノード２Ａが送信を行わずマスタ権を維持可能な時間であり、「権利喪失時間」未満に設定されている。ステップＳ４において、（待ち時間）≧（許容時間）になると（ＹＥＳ）、通信ノード２Ａは、伝送線路１に「ＮＯＰ（No Operation）コマンド」を送信し、「待ち時間」を測定するカウンタをリセットして（ステップＳ５）ステップＳ１に戻る。
【００４５】
ここでの「ＮＯＰコマンド」とは、ＣＰＵのコマンドの種類として規定されるＮＯＰコマンドと同様のもので、受信側が処理を行うことなく無視されるコマンドである。図８では（４）で通信ノード２ＡがＮＯＰコマンドを送信しており、その送信によりカウンタ１１による測定はリセットされる。これにより、通信ノード２Ａはマスタ権の喪失を免れて通信を継続できる。
【００４６】
続いて、通信ノード２Ａは、ステップＳ１で「送信データ有り」となった時点で（５）通信ノード２Ｃへのリード要求（ＲＤ  Ｒｅｑ）を送信する。図１０において、通信ノード２Ｃは、リード要求を受信した時点で送信データの準備が完了していれば（ＹＥＳ）データを送信する（ステップＳ１２）。ここで、送信データの準備が完了していなければ（ＮＯ）、図９に示すステップＳ４，Ｓ５と同様に自身がデータの送信を待機している「待ち時間」を測定し、その「待ち時間」が「許容時間」未満であれば（ステップＳ１３：ＹＥＳ）ステップＳ１１に戻る。ここでの「許容時間」も、ステップＳ４と同じ趣旨で設定されている。
【００４７】
そして、ステップＳ１３において（待ち時間）≧（許容時間）になると（ＹＥＳ）、通信ノード２Ｃは、伝送線路１に「ＮＯＰコマンド」を送信し、カウンタをリセットして（ステップＳ１４）ステップＳ１１に戻る。図８では（６）で通信ノード２ＣがＮＯＰコマンドを送信しており、その送信によりカウンタ１１による測定はリセットされる。これにより、通信ノード２Ａはマスタ権の喪失を免れて通信を継続できる。それから、通信ノード２Ｃは、ステップＳ１１で送信データの準備が完了した時点で（７）通信ノード２Ａに対してデータを送信する（ＲＤ  Ｒｅｓ）。
【００４８】
以上のように第３実施例によれば、マスタノード；通信ノード２Ａは、自身がマスタ権を維持している間にデータが送信できないと判断すると、受信側が処理しないデータであるＮＯＰコマンドを送信する。また、通信ノード２Ａよりデータの送信を要求されたスレーブノード；通信ノード２Ｃは、通信ノード２Ａがマスタ権を維持している間に自身が応答できないと判断すると、同様にＮＯＰコマンドを送信するようにした。したがって、通信ノード２Ａのマスタ権を維持しながら、データを送信するための時間を確保することができる。
【００４９】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
ルートノードとなる機能を全ての通信ノードに予め備えておき、初期設定時に指定を行うことで何れか１つがルートノードとなるように設定しても良い。
必ずしも、全てのノードがマスタ候補ノードである必要はなく、スレーブとしての機能しかないノードが存在しても良い。
「サイクルスタート」を送信する場合、通信サイクル時間の経過を条件とする部分は必要に応じて設ければ良い。
通信の仕様上、各ノードの通信時間が所定時間内に完了することが確実である場合は、マスタ権開放手段を設ける必要はない。
【符号の説明】
【００５０】
図面中、１は伝送線路、２は通信ノード、９Ｂはマスタ権保持時間測定部（マスタ権開放手段）、１１はアイドル時間アップカウンタ（アイドル時間測定手段）、２３はバスサイクルカウンタ（通信サイクル時間測定手段）を示す。
【図１】
0005282806.tif 000002
【図２】
0005282806.tif 000003
【図３】
0005282806.tif 000004
【図４】
0005282806.tif 000005
【図５】
0005282806.tif 000006
【図６】
0005282806.tif 000007
【図７】
0005282806.tif 000008
【図８】
0005282806.tif 000009
【図９】
0005282806.tif 000010
【図１０】
0005282806.tif 000011