(57)【特許請求の範囲】
【請求項１】
バス（１３）に接続された複数のノード（１〜４）を備え、
前記各ノードが前記バスに送信するフレームには、そのフレームの識別子であると共に、そのフレームの優先順位を示すフレームＩＤが含まれ、
前記各ノードは、他の前記ノードから前記バスに前記フレームが送信されていない場合に、前記フレームの送信を開始し、
前記ノードの２つ以上が同時に送信を開始した場合には、同時に送信を開始した前記ノードのうち、他のノードからのフレームよりも優先順位が低い前記フレームＩＤを含むフレームの送信を開始したノードが、そのフレームの送信を停止することで、通信調停が行われる、通信システム（１１）において、
前記複数のノードのうちの１つが、監視ノード（１）であり、少なくとも前記監視ノード以外のノード（２〜４）が、複数の監視対象のノードであり、
前記監視ノードは、
前記監視対象のノードから前記バスへ送信されたフレームの数である送信回数を、前記フレームＩＤ毎に、且つ、規定時間内において計数する計数部（Ｓ１１０，Ｓ１２０）と、
前記計数部による前記送信回数の計数が終了すると、前記計数部による計数結果に基づいて、前記監視対象のノードから送信されるフレームのうち、前記規定時間内における送信回数が所定の判定値以下であったフレームである少送信フレームが、あるか否かを判定する判定部（Ｓ１３０）と、
前記判定部により肯定判定された場合に、前記少送信フレームの送信元のノードである少送信ノードを識別可能な、識別用情報を含むと共に、前記フレームＩＤとして、当該通信システムにおける最高優先順位を示すフレームＩＤを含むフレームである送信制御フレームを、前記バスに送信する通知部（Ｓ１４０〜Ｓ１７０）と、を備え、
前記監視対象のノードは、
前記送信制御フレームを受信すると、その送信制御フレームに含まれている前記識別用情報に基づいて、当該ノードが前記少送信ノードと該少送信ノード以外のノードである制限対象ノードとの何れであるかを判別する判別部（Ｓ２２０，Ｓ２２５）と、
前記判別部により当該ノードが前記制限対象ノードであると判別された場合に、当該ノードからの前記フレームの送信を、所定の期間だけ禁止する送信禁止部（Ｓ２４０〜Ｓ２６０）と、を備える、
通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、
前記送信制御フレームに含まれる前記識別用情報は、前記各ノードの識別子であるノードＩＤのうち、前記少送信ノードのノードＩＤであり、
前記判別部（Ｓ２２０）は、
前記送信制御フレームに含まれている前記識別用情報としてのノードＩＤが、当該ノードのノードＩＤであれば、当該ノードが前記少送信ノードであると判別し、前記識別用情報としてノードＩＤが、当該ノードのノードＩＤでなければ、当該ノードが前記制限対象ノードであると判別するように構成されている、
通信システム。
【請求項３】
請求項１に記載の通信システムにおいて、
前記送信制御フレームに含まれる前記識別用情報は、前記少送信フレームのフレームＩＤであり、
前記判別部（Ｓ２２５）は、
前記送信制御フレームに含まれている前記識別用情報としてのフレームＩＤが、当該ノードが送信するフレームのフレームＩＤであれば、当該ノードが前記少送信ノードであると判別し、前記識別用情報としてのフレームＩＤが、当該ノードが送信するフレームのフレームＩＤでなければ、当該ノードが前記制限対象ノードであると判別するように構成され、
前記送信禁止部（Ｓ２４５〜Ｓ２６０）は、
前記判別部により当該ノードが前記制限対象ノードであると判別された場合には、当該ノードが送信するフレームのうち、前記識別用情報としてのフレームＩＤよりも優先順位が高いフレームＩＤのフレームの送信を、前記所定の期間だけ禁止するように構成されている、
通信システム。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の通信システムにおいて、
前記監視対象のノードには優先度が定められており、
前記通知部は、
前記少送信ノードが複数あった場合には、その各少送信ノードにそれぞれ対応する複数の前記送信制御フレームであって、前記各少送信ノードを識別可能な前記識別用情報をそれぞれ含む前記送信制御フレームを、優先度が高い前記少送信ノードに対応するものから順に送信するように構成されている、
通信システム。
【請求項５】
請求項１ないし請求項４の何れか１項に記載の通信システムにおいて、
前記所定の期間は、一定時間が経過するまでの期間である、
通信システム。
【請求項６】
請求項１ないし請求項４の何れか１項に記載の通信システムにおいて、
前記所定の期間は、
送信再開を指令するために前記監視ノードから送信される再開制御フレームを、受信するまでの期間である、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードがバスに接続された通信システムに関する。
【背景技術】
【０００２】
例えば自動車に搭載される通信システムのプロトコルとして、ＣＡＮが知られている。ＣＡＮは、「Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ」の略である。また、ＣＡＮは、登録商標である。
【０００３】
ＣＡＮプロトコルは、バスが空いている場合にどのノードからも送信が可能なマルチマスタ方式の通信プロトコルである。このため、ＣＡＮプロトコルでは、複数のノードから同時にフレームが送信されて、バス上でフレームの衝突が生じることがある。
【０００４】
このような衝突を防ぐ通信調停を行うために、ＣＡＮプロトコルでは、フレームの先頭部分に、そのフレームの優先順位を示すＩＤが含まれている。ＩＤは、「Ｉｄｅｎｔｉｆｉｅｒ」、すなわち識別子の略である。このＩＤは、後続の領域に設定されているデータの内容や送信元のノードを識別するための識別子であり、フレーム毎に設定される。よって、このＩＤは、フレームの識別子でもある。また、このＩＤは、ＣＡＮＩＤとも呼ばれる。
【０００５】
そして、ＣＡＮプロトコルでは、複数のノードが同時にフレームの送信を開始した場合、優先順位の低いＩＤのフレームは調停負けとなり、その調停負けしたフレームの送信元のノードは送信を停止する。よって、同時に送信を開始したノードのうち、他のノードからのフレームよりも優先順位が高いフレームの送信元である１つのノードが、送信権を得て、フレームの送信を継続して実施することとなる。このため、バス負荷が高い状態の場合には、優先順位が低いフレームの滞留時間が長くなってしまう。滞留時間とは、フレームが調停負けして送信されずに滞留され続ける時間である。尚、優先順位が高いフレームとは、詳しくは、優先順位が高いＩＤを含むフレームのことであり、優先順位が低いフレームとは、詳しくは、優先順位が低いＩＤを含むフレームのことである。
【０００６】
また、ＣＡＮプロトコルでは、ノード数に上限がないため、ノード数を増やせば増やすほど上記滞留時間が長くなる可能性が高い。また、ＣＡＮプロトコルでは、データ長が最大で８バイトであるが、データ長を最大で６４バイトに拡張することができる可変データレート対応のＣＡＮプロトコルも登場している。その可変データレート対応のＣＡＮプロトコルでは、更にバス負荷が増加して、上記滞留時間がより長くなってしまう可能性がある。
【０００７】
一方、例えば特許文献１には、調停負けしたフレームの滞留時間を短縮するための技術が記載されている。その技術は、各ノードが、送信対象フレームの送信を待機した時間が所定時間よりも長くなったと判定した場合に、その送信対象フレームに付けるＩＤを、全てのフレームの中で優先順位が最も高いＩＤに変更する、というものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−１５４１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１の技術では、ＩＤを変更する必要があるため、通信システムを構成する各ノードにおいて、１のフレームあたりに２つのＩＤを割り当てておく必要がある。２つのＩＤのうち、一方は、通常の場合に使用するＩＤであり、他方は、調停負けし続けた場合に使用するＩＤである。
【００１０】
このため、通信システムを構成するのに必要なＩＤの数が増大してしまい、ＩＤの枯渇という問題が生じる可能性がある。例えば、自動車においては、搭載される機能の増加により、ノードとしての制御装置の数は増加傾向にある。このため、将来的に、１つの制御装置で使用するＩＤの数は少なくしたい、という要望が生じると考えられる。
【００１１】
そこで、本発明は、通信システムにおいて、フレームのＩＤの数が増加するのを抑制しつつ、優先順位が低いフレームでも衝突を回避して送信可能にすること、を目的としている。
【課題を解決するための手段】
【００１２】
本発明の通信システム（１１）は、バス（１３）に接続された複数のノード（１〜４）を備える。
各ノードがバスに送信するフレームには、そのフレームの識別子であると共に、そのフレームの優先順位を示すフレームＩＤが含まれる。
【００１３】
各ノードは、他のノードからバスにフレームが送信されていない場合に、フレームの送信を開始する。そして、この通信システムにおいて、ノードの２つ以上が同時に送信を開始した場合には、同時に送信を開始したノードのうち、他のノードからのフレームよりも優先順位が低いフレームＩＤを含むフレームの送信を開始したノードが、そのフレームの送信を停止する。このように送信が停止されるフレームは、調停負けしたフレームである。逆に、他のノードからのフレームよりも優先順位が高いフレームＩＤを含むフレームの送信を開始したノードは、そのフレームの送信を継続して実施することとなる。このような動作により、通信調停が行われる。
【００１４】
本発明の通信システムでは、複数のノードのうちの１つが、監視ノード（１）であり、少なくとも監視ノード以外のノード（２〜４）が、複数の監視対象のノードである。
そして、監視ノードは、計数部（Ｓ１１０，Ｓ１２０）と、判定部（Ｓ１３０）と、通知部（Ｓ１４０〜Ｓ１７０）と、を備える。
【００１５】
計数部は、監視対象のノードからバスへ送信されたフレームの数である送信回数を、フレームＩＤ毎に、且つ、規定時間内において計数する。バスへ送信されたフレームとは、バスへの送信が途中で停止されずに実施されたフレームである。
【００１６】
判定部は、計数部による送信回数の計数が終了すると、計数部による計数結果に基づいて、監視対象のノードから送信されるフレームのうち、規定時間内における送信回数が所定の判定値以下であったフレームである少送信フレームが、あるか否かを判定する。
【００１７】
通知部は、判定部により肯定判定された場合、つまり、少送信フレームがあると判定された場合に、送信制御フレームをバスに送信する。その送信制御フレームは、少送信フレームの送信元のノードである少送信ノードを識別可能な、識別用情報を含むと共に、フレームＩＤとして、当該通信システムにおける最高優先順位を示すフレームＩＤを含むフレームである。
【００１８】
また、監視対象のノードは、判別部（Ｓ２２０，Ｓ２２５）と、送信禁止部（Ｓ２４０〜Ｓ２６０）と、を備える。
判別部は、前記送信制御フレームを受信すると、その送信制御フレームに含まれている識別用情報に基づいて、当該ノードが、少送信ノードと、該少送信ノード以外のノードである制限対象ノードとの、何れであるかを判別する。
【００１９】
送信禁止部は、判別部により当該ノードが制限対象ノードであると判別された場合に、当該ノードからのフレームの送信を、所定の期間だけ禁止する。
このような通信システムでは、例えば、フレームＩＤが「Ａ」であるフレームＦＡが調停負けし続けて、規定時間内におけるフレームＦＡの送信回数が判定値以下になったとする。つまり、フレームＦＡが、少送信フレームであったとする。
【００２０】
この場合、監視ノードでは、判定部により肯定判定され、通知部が、フレームＦＡの送信元のノードＮＡを識別可能な識別用情報が含まれる送信制御フレームを、バスに送信することとなる。送信制御フレームは、それに含まれるフレームＩＤの優先順位が通信システムにおいて最高であるため、全てのノードに受信される。
【００２１】
そして、監視対象のノードのうち、ノードＮＡ以外のノードでは、判別部により、当該ノードが制限対象ノードであると判別され、送信禁止部が、当該ノードからのフレームの送信を所定の期間だけ禁止する。一方、ノードＮＡでは、判別部により、当該ノードが少送信ノードであると判別されるため、フレームの送信が禁止されない。このため、少送信ノードであるノードＮＡは、他のノードに送信権を奪われることなく、少送信フレームであったフレームＦＡを自由に送信することができるようになる。
【００２２】
よって、この通信システムによれば、優先順位が低く調停負けし易いフレームでも衝突を回避して送信することが可能となる。更に、監視ノードが、送信制御フレームのＩＤとして、最高優先順位のフレームＩＤを１つ保有しておくだけで良いため、フレームＩＤの数の増加も抑えることができる。従って、フレームＩＤの数が増加するのを抑制しつつ、優先順位が低いフレームでも衝突を回避して送信可能にすることができる。
【００２３】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００２４】
【図１】実施態様の通信システムの構成を示す構成図である。
【図２】フレームの説明図である。
【図３】監視ノードに記憶されるテーブルの説明図である。
【図４】第１実施形態の監視処理を表すフローチャートである。
【図５】第１実施形態の送信制限処理を表すフローチャートである。
【図６】第２実施形態の送信制限処理を表すフローチャートである。
【図７】第３実施形態の監視処理を表すフローチャートである。
【図８】第３実施形態の送信制限処理を表すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面を参照しながら、発明を実施するための形態を説明する。
［第１実施形態］
＜構成＞
図１に示す通信システム１１は、自動車に搭載される通信システムであり、自動車に搭載されたノード間で必要な情報を通信するシステムである。
【００２６】
図１に示すように、通信システム１１は、バス１３に接続された複数のノード１〜４を備える。この例では、ノードの数が４つであるが、ノードの数は４つ以外でも良い。
ノード１〜４は、車両の各部を制御するＥＣＵであり、ＣＰＵ、ＲＯＭ、ＲＡＭなどからなる周知のマイクロコンピュータ（以下、マイコンという）を中心に構成されている。尚、ＥＣＵは、「Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ」、すなわち電子制御装置の略である。また、マイコンの各種機能は、ＣＰＵが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ＲＯＭが、プログラムを格納した非遷移的実体的記録媒体に該当する。このプログラムの実行により、プログラムに対応する方法が実行される。また、ノード１〜４を構成するマイコンの数は１つでも複数でも良い。また、ノード１〜４が実行する機能の一部または全部を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現しても良い。
【００２７】
＜通信プロトコル＞
通信システム１１では、通信プロトコルとして、ＣＡＮプロトコルが用いられている。
ＣＡＮプロトコルでは、ノード１〜４は、バス１３の状態がバスアイドルであることを確認して、フレームを送信する。バスアイドルとは、バス１３にフレームが送信されていない状態（すなわち空き状態）のことである。
【００２８】
このため、ノード１〜４の２つ以上が同時にフレームの送信を開始する可能性がある。その場合、バス１３上で複数のフレームが衝突する。ＣＡＮプロトコルでは、フレームが衝突した場合に、優先順位が高いフレームの送信を優先し、優先順位が低いフレームの送信は停止する、という周知の通信調停が実施される。
【００２９】
ここで、図２に示すように、ＣＡＮプロトコルにおけるフレームは、ヘッダ領域と、そのヘッダ領域に続くデータ領域と、を備える。そして、ヘッダ領域には、フレームの識別子であると共に、そのフレームの優先順位を示すＩＤ（以下、フレームＩＤともいう）が含まれる。このフレームＩＤは、ＣＡＮＩＤと呼ばれるものであり、規定データ長（例えば１１ビット）のデータサイズを有したバイナリデータである。
【００３０】
また、バス１３は、ノード１〜４の２つ以上から、ハイレベルの信号とローレベルの信号とが同時に出力された場合に、バス１３上の信号レベルがローレベルとなるように構成されている。つまり、バス１３上の信号レベルは、論理０に対応するローレベルが優性（すなわちドミナント）であり、論理１に対応するハイレベルが劣性（すなわちレセッシブ）である。
【００３１】
フレームは、先頭から１ビットずつ送信されるため、フレームＩＤの論理値が小さいほど、そのフレームの優先順位が高いことを意味する。つまり、フレームＩＤの論理値が小さいほど、他のフレームとバス１３上で衝突した場合に生き残り易い。
【００３２】
そして、各ノード１〜４は、バス１３の信号レベルを監視しており、当該ノードが送信した論理値の信号レベルと、バス１３の信号レベルとが不一致であれば、通信調停に負けたと判断して、フレームの送信を停止する。
【００３３】
このため、ノード１〜４の２つ以上が同時に送信を開始した場合には、同時に送信を開始したノードのうち、他のノードからのフレームよりも優先順位が低いフレームＩＤを含むフレームの送信を開始したノードは、そのフレームの送信を停止することとなる。そして、他のノードからのフレームよりも優先順位が高いフレームＩＤを含むフレームの送信を開始したノードは、そのフレームの送信を継続して実施することとなる。このような動作により、フレーム衝突時の通信調停が行われる。
【００３４】
＜ノードの役割＞
ノード１〜４のうちの１つは、フレームの送信回数をフレームＩＤ毎に計数する監視ノードであり、他のノードは、監視ノードによってフレームの送信回数が計数される監視対象のノード（以下、監視対象ノードという）である。本実施形態では、例えば、ノード１が監視ノードであり、ノード２〜４が、監視対象ノードである。このため、以下では、ノード１のことを、監視ノード１ともいう。また、ノード２〜４のことを、監視対象ノード２〜４ともいう。
【００３５】
また、フレームの送信回数とは、バス１３へ送信されたフレームの数であり、詳しくは、バス１３への送信が途中で停止されずに実施されたフレーム、つまり、調停負けせずにバス１３に送信されたフレームの数である。
【００３６】
＜ノードに予め記憶されている情報＞
ノード１〜４のうち、少なくとも監視ノード１に備えられたメモリ（例えばＲＯＭ）には、図３に示すように、フレームＩＤとノードＩＤとの対応関係を示すＩＤ対応テーブル１５が記憶されている。ＩＤ対応テーブル１５は、ノード２〜４から送信される各フレームのフレームＩＤと、そのフレームＩＤのフレームを送信する送信元ノードの識別子であるノードＩＤとが、対応付けて記録されたデータテーブルである。
【００３７】
尚、図３に示す「０ｘ０２０」，「０ｘ０２Ｆ」などは、フレームＩＤを１６進数で表したものである。同様に、図３に示す「０ｘ０４」，「０ｘ０２」などは、ノードＩＤを１６進数で表したものである。
【００３８】
そして、監視ノード１は、ノード２〜４からのフレームの送信回数を監視するための監視用テーブル１７を、ＩＤ対応テーブル１５を用いて作成する。
図３に示すように、監視用テーブル１７は、ＩＤ対応テーブル１５に記録された内容に加えて、そのＩＤ対応テーブル１５に記録されたフレームＩＤ毎に、そのフレームＩＤのフレームについて計数した送信回数が記憶される記憶領域を有したデータテーブルである。この監視用テーブル１７のうち、少なくとも送信回数の記憶領域は、当該監視ノード１に備えられた書き換え可能なメモリ（例えばＲＡＭ）に設けられる。
【００３９】
＜処理の説明＞
〈監視処理〉
監視ノード１は、図４に示す監視処理を例えば一定時間毎に行う。
【００４０】
図４に示すように、監視ノード１は、監視処理を開始すると、Ｓ１１０にて、バス１３への各フレームの送信回数をフレームＩＤ毎にカウント（すなわち計数）する処理を行う。具体的には、監視ノード１は、バス１３を監視して、バス１３に送信されたフレームのフレームＩＤを検出する。そして、フレームＩＤを検出する度に、監視用テーブル１７において、その検出したフレームＩＤに対応した記憶領域に記憶される送信回数の値を、１増加させる。つまり、検出したフレームＩＤに対応する送信回数をインクリメント（すなわちカウントアップ）する。
【００４１】
そして、監視ノード１は、次のＳ１２０にて、規定時間が経過したか否かを判定し、規定時間が経過していなければ、Ｓ１１０に戻って、各フレームの送信回数をカウントする処理を続ける。
【００４２】
また、監視ノード１は、Ｓ１２０にて、規定時間が経過したと判定した場合には、Ｓ１３０に進む。この時点において、監視用テーブル１７には、各フレームのフレームＩＤ毎に、規定時間内における送信回数の計数結果が記憶されていることとなる。つまり、監視ノード１は、Ｓ１１０，Ｓ１２０の処理により、ノード２〜４からバス１３への各フレームの送信回数を、フレームＩＤ毎に、且つ、規定時間内において計数している。
【００４３】
そして、監視ノード１は、Ｓ１３０では、監視用テーブル１７を参照して、監視対象ノード２〜４から送信されるフレームのうち、規定時間内における送信回数が所定の判定値以下であったフレーム（以下、少送信フレームという）があるか否かを判定する。そして、少送信フレームがあったと判定した場合には、Ｓ１４０に進む。
【００４４】
監視ノード１は、Ｓ１４０では、少送信フレームの送信元のノードである少送信ノードを、監視用テーブル１７から特定する。具体的には、監視用テーブル１７において、少送信フレームのフレームＩＤに対応して記録されているノードＩＤが示すノードを、少送信ノードとして特定する。
【００４５】
そして、監視ノード１は、次のＳ１５０にて、Ｓ１４０で特定した少送信ノードに対応する送信制御フレームを、バス１３に送信する。
その送信制御フレームは、少送信ノードを識別可能な識別用情報を含むと共に、フレームＩＤとして、当該通信システム１１における最高優先順位を示すフレームＩＤを含むフレームである。また、本実施形態において、識別用情報は、少送信ノードのノードＩＤである。そして、識別用情報としてのノードＩＤは、送信制御フレームのデータ領域において、予め定められた位置に配置される。
【００４６】
また、監視対象ノード２〜４には予め優先度が定められており、監視ノード１は、その優先度を記憶している。そして、監視ノード１は、少送信ノードが複数あった場合、Ｓ１５０では、複数の少送信ノードのうちの１つを、優先度が高いもの順に選択し、その選択した少送信ノードに対応する送信制御フレームを送信する。
【００４７】
監視ノード１は、次のＳ１６０にて、Ｓ１４０で特定した少送信ノードの全てについて、送信制御フレームの送信を完了したか否かを判定し、送信を完了していないと判定した場合には、Ｓ１７０に進んで、所定の送信間隔時間だけ待つ。尚、この送信間隔時間は、後述する図５のＳ２５０で経過したか否かが判定される一定時間よりも長い時間に設定されている。そして、監視ノード１は、Ｓ１７０で送信間隔時間だけ待った後、Ｓ１５０に戻り、複数の少送信ノードのうち、優先度が次に高い少送信ノードに対応する送信制御フレームの送信を行う。
【００４８】
また、監視ノード１は、Ｓ１６０で肯定判定した場合、すなわち、少送信ノードの全てについて送信制御フレームの送信を完了した場合、あるいは、Ｓ１３０で少送信フレームがないと否定判定した場合には、そのまま当該監視処理を終了する。
【００４９】
尚、監視ノード１は、当該監視処理を終了する場合には、監視用テーブル１７に記憶されている送信回数を消去する。これは、次回のＳ１１０，Ｓ１２０の処理によって、次の規定時間内における送信回数を計数するためである。
【００５０】
また、監視ノード１は、Ｓ１６０で肯定判定した場合、あるいは、Ｓ１３０で否定判定した場合には、監視用テーブル１７に記憶されている送信回数を消去した後、すぐにＳ１１０へ戻るようになっていても良い。
【００５１】
〈送信制限処理〉
監視対象ノード２〜４は、バス１３からフレームを受信すると、図５に示す送信制限処理を行う。
【００５２】
尚、ノード２〜４は、図５の処理とは別の送信処理により、予め定められた送信タイミングが到来する毎に、そのタイミングで送信すべきフレームの送信を行う。送信タイミングとしては、定期的なものもあれば、所定のイベントの発生に伴う不定期なものもある。また、通信システム１１において、各ノード１〜４は、当該ノードの送信中も受信を行う。このため、ノード２〜４は、他のノードからのフレームを受信した場合だけでなく、当該ノードが送信したフレームを受信した場合にも、図５の送信制限処理を行うこととなる。
【００５３】
図５に示すように、ノード２〜４は、送信制限処理を開始すると、Ｓ２１０にて、受信したフレームが、監視ノード１からの送信制御フレームであるか否かを判定する。具体的には、受信したフレームのフレームＩＤが、送信制御フレームのフレームＩＤであれば、受信したフレームが送信制御フレームであると判定する。
【００５４】
ノード２〜４は、Ｓ２１０にて、受信したフレームが送信制御フレームではないと判定した場合には、そのまま当該送信制限処理を終了する。この場合、ノード２〜４は、受信したフレームの内容に応じた処理を行う。
【００５５】
また、ノード２〜４は、Ｓ２１０にて、受信したフレームが送信制御フレームであると判定した場合、つまり、送信制御フレームを受信した場合には、Ｓ２２０に進む。
ノード２〜４は、Ｓ２２０では、受信した送信制御フレームが当該ノード宛てのフレームであるか否かを判定する。
【００５６】
具体的には、受信した送信制御フレームのデータ領域に含まれているノードＩＤが、当該ノードのノードＩＤであるか否かを判定し、当該ノードのノードＩＤであれば、受信した送信制御フレームが当該ノード宛てのフレームであると判定する。逆に、受信した送信制御フレームのデータ領域に含まれているノードＩＤが、当該ノードのノードＩＤでなければ、受信した送信制御フレームが当該ノード宛てのフレームではないと判定する。
【００５７】
そして、ノード２〜４は、受信した送信制御フレームが当該ノード宛てのフレームであると判定した場合には、当該ノードが少送信ノードであると判別する。また、ノード２〜４は、受信した送信制御フレームが当該ノード宛てのフレームでないと判定した場合には、当該ノードが、監視対象ノードのうち、少送信ノード以外のノード（以下、制限対象ノードという）であると判別する。つまり、ノード２〜４は、送信制御フレームのデータ領域に含まれているノードＩＤが、当該ノードのノードＩＤであれば、当該ノードが少送信ノードであると判別する。また、ノード２〜４は、送信制御フレームのデータ領域に含まれているノードＩＤが、当該ノードのノードＩＤでなければ、当該ノードが制限対象ノードであると判別する。
【００５８】
ノード２〜４は、Ｓ２２０にて、受信した送信制御フレームが当該ノード宛てのフレームであると判定した場合、すなわち、当該ノードが少送信ノードであると判別した場合には、Ｓ２３０に進み、送信処理によるフレームの送信を許可する。つまり、フレームの送信を継続する。そして、その後、当該送信制限処理を終了する。
【００５９】
また、ノード２〜４は、Ｓ２２０にて、受信した送信制御フレームが当該ノード宛てのフレームでないと判定した場合、すなわち、当該ノードが制限対象ノードであると判別した場合には、Ｓ２４０に進む。
【００６０】
ノード２〜４は、Ｓ２４０では、送信処理によるフレームの送信を禁止し、次のＳ２５０にて、フレームの送信を禁止してから一定時間が経過したか否かを判定する。そして、一定時間が経過したと判定したなら、Ｓ２６０に進み、フレームの送信禁止を解除する。つまり、フレームの送信を再開する。そして、その後、当該送信制限処理を終了する。
【００６１】
このため、ノード２〜４は、Ｓ２２０にて、当該ノードが少送信ノードであると判別した場合には、フレームの送信を続けるが、Ｓ２２０にて、当該ノードが制限対象ノードであると判別した場合には、全てのフレームの送信を一定時間だけ停止することとなる。
【００６２】
＜作用例＞
通信システム１１では、ノード２〜４が自由に通信を行っている場合に、監視ノード１が、規定時間内におけるノード２〜４からのフレームの送信回数を、フレームＩＤ毎に計数する。
【００６３】
監視ノード１は、ノード２〜４から送信されるフレームのうち、規定時間内における送信回数が判定値以下であったフレーム（すなわち、少送信フレーム）があった場合には、優先順位が最高の送信制御フレームをバス１３に送信する。そして、その送信制御フレームには、少送信フレームの送信元である少送信ノードの識別用情報として、その少送信ノードのノードＩＤが含まれる。
【００６４】
例えば、規定時間内の送信回数の計数結果が、図３における「送信回数」の欄に記載された値であったとし、少送信フレームであるか否かの判定値が「５」であるとすると、フレームＩＤが「０ｘ７ＦＦ」のフレームが、少送信フレームということになる。このため、監視ノード１は、図４のＳ１４０にて、ノード３を、少送信ノードとして特定することとなる。そして、この場合、監視ノード１は、ノード３のノードＩＤを含む送信制御フレームをバス１３に送信する。
【００６５】
すると、ノード２〜４のうち、ノード３は、図５のＳ２２０にて、監視ノード１からの送信制御フレームが当該ノード宛てのフレームであり、当該ノードが少送信ノードであると判別する。このため、ノード３は、フレームの送信を継続する。
【００６６】
これに対して、他のノード２，４は、図５のＳ２２０にて、監視ノード１からの送信制御フレームが当該ノード宛てのフレームではなく、当該ノードが制限対象ノードであると判別する。このため、ノード２，４は、一定時間の間、フレームの送信を停止する。このため、その一定時間の間は、ノード３が、他のノード２，４に送信権を奪われることなく、優先的にフレームの送信を行うことができる。よって、ノード３は、規定時間内の送信回数が判定値以下であった少送信フレームを、調停負けすることなく送信することができる。
【００６７】
＜効果＞
以上詳述した第１実施形態によれば、優先順位が低く調停負けし易いフレームでも衝突を回避して送信することが可能となる。更に、監視ノード１が、送信制御フレームのＩＤとして、最高優先順位のフレームＩＤを１つ保有しておくだけで良いため、フレームＩＤの数の増加を最小限に抑えることができる。
【００６８】
また、送信制御フレームに含まれる識別用情報は、少送信ノードのノードＩＤである。そして、監視対象ノード２〜４は、その送信制御フレーム内のノードＩＤが、当該ノードのノードＩＤであれば、当該ノードが少送信ノードであると判別し、送信制御フレーム内のノードＩＤが、当該ノードのノードＩＤでなければ、当該ノードが制限対象ノードであると判別する。このため、監視対象ノード２〜４は、当該ノードが、送信が優先される少送信ノードと、送信が制限される制限対象ノードとの、何れであるかを、簡単に判別することができる。
【００６９】
また、監視ノード１は、少送信ノードが複数あった場合には、その各少送信ノードにそれぞれ対応する複数の送信制御フレームであって、その各少送信ノードのノードＩＤをそれぞれ含む送信制御フレームを、優先度が高い少送信ノードに対応するものから順に送信する。このことは、図４のＳ１５０〜Ｓ１７０の処理によって実現される。このため、少送信ノードが複数あった場合でも、その各少送信ノードからのフレームの送信を、衝突を生じさせることなく（すなわち優先的に）実施させることができる。その結果、各少送信ノードが送信すべきフレームのうち、少送信フレームとなっていたフレームを、調停負けすることなく送信することができる。
【００７０】
また、監視対象ノード２〜４は、制限対象ノードとなった場合には、所定の期間だけ、送信を停止するが、その所定の期間は、一定時間が経過するまでの期間である。このことは、図５のＳ２４０〜Ｓ２６０の処理によって実現される。このため、例えば、フレームの送信停止の解除を監視対象ノード２〜４の外部から指示する必要が無い。
【００７１】
尚、第１実施形態では、監視ノード１が行う図４の処理のうち、Ｓ１１０，Ｓ１２０の処理が、計数部としての処理に相当し、Ｓ１３０の処理が、判定部としての処理に相当し、Ｓ１４０〜Ｓ１７０の処理が、通知部としての処理に相当する。また、監視対象ノード２〜４が行う図５の処理のうち、Ｓ２２０の処理が、判別部としての処理に相当し、Ｓ２４０〜Ｓ２６０の処理が、送信禁止部としての処理に相当する。
【００７２】
［第２実施形態］
以下に第２実施形態を図面とともに説明する。尚、第２実施形態では、第１実施形態と異なる部分を説明する。また、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。これらのことは、後述する他の実施形態についても同様である。
【００７３】
第２実施形態の通信システム１１では、第１実施形態と比較すると、下記（Ａ），（Ｂ）の点が異なる。
（Ａ）監視ノード１は、監視処理のＳ１５０で送信する送信制御フレームのデータ領域には、少送信ノードを識別可能な識別用情報として、その少送信ノードが送信元となっている少送信フレームのフレームＩＤを含ませる。
【００７４】
尚、少送信フレームが１つであった場合には、その少送信フレームのフレームＩＤが、識別用情報として用いられる。また、同じ少送信ノードについて、少送信フレームが複数あった場合には、その複数の少送信フレームのうち優先順位が最も低いもののフレームＩＤを、識別用情報として用いる。
【００７５】
（Ｂ）監視対象ノード２〜４は、図５の送信制限処理に代えて、図６の送信制限処理を行う。
図６の送信制限処理は、図５の送信制限処理と比較すると、Ｓ２２０に代わるＳ２２５が設けられており、更に、Ｓ２４０に代わるＳ２４５が設けられている。
【００７６】
ノード２〜４は、図６の送信制限処理におけるＳ２２５では、受信した送信制御フレームのデータ領域に含まれている識別用情報としてのフレームＩＤが、当該ノードが送信するフレームのフレームＩＤであるか否かを判定する。
【００７７】
そして、識別用情報としてのフレームＩＤが、当該ノードが送信するフレームのフレームＩＤであれば、受信した送信制御フレームが当該ノード宛てのフレームであると判定し、つまりは、当該ノードが少送信ノードであると判別して、Ｓ２３０に進む。
【００７８】
また、識別用情報としてのフレームＩＤが、当該ノードが送信するフレームのフレームＩＤでなければ、受信した送信制御フレームが当該ノード宛てのフレームではないと判定し、つまりは、当該ノードが制限対象ノードであると判別して、Ｓ２４５に進む。
【００７９】
そして、ノード２〜４は、Ｓ２４５では、当該ノードが送信する全フレームの送信を禁止するのではなく、送信制御フレームに含まれていた識別用情報としてのフレームＩＤよりも優先順位が高いフレームＩＤのフレームについてだけ、送信を禁止する。
【００８０】
＜効果＞
第２実施形態によれば、第１実施形態と同様の効果に加えて、下記の効果が得られる。
すなわち、送信が禁止されるフレームを必要最小限に抑えることができる。制限対象ノードは、送信制御フレームに含まれている識別用情報としてのフレームＩＤよりも優先順位が低いフレームならば送信することができるからである。
【００８１】
尚、第２実施形態では、監視対象ノード２〜４が行う図６の処理のうち、Ｓ２２５の処理が、判別部としての処理に相当し、Ｓ２４５〜Ｓ２６０の処理が、送信禁止部としての処理に相当する。
【００８２】
一方、第２実施形態の変形例として、図６のＳ２４５では、図５のＳ２４０と同様に、全てのフレームの送信を禁止しても良い。
［第３実施形態］
第３実施形態の通信システム１１では、第１実施形態と比較すると、下記（ａ），（ｂ）の点が異なる。
【００８３】
（ａ）監視ノード１は、図４の監視処理に代えて、図７の監視処理を行う。
図７の監視処理は、図４の監視処理と比較すると、Ｓ１５０とＳ１６０との間に、Ｓ１５３，Ｓ１５５が追加されている。更に、Ｓ１７０が削除されており、Ｓ１６０でＮＯと否定判定した場合には、そのままＳ１５０に戻るようなっている。
【００８４】
監視ノード１は、図７の監視処理では、Ｓ１５０で送信制御フレームを送信すると、Ｓ１５３にて、所定の設定時間だけ待つ。そして、監視ノード１は、次のＳ１５５にて、バス１３に再開制御フレームを送信し、その後、Ｓ１６０に進む。
【００８５】
再開制御フレームは、送信禁止状態にある制限対象ノードに対して、送信の再開を指令するためのフレームである。このため、Ｓ１５３で待つ設定時間は、制限対象ノードにフレームの送信を停止させる送信停止時間に相当する。よって、この設定時間は、例えば、第１実施形態における図５のＳ２５０で経過したか否かが判定される一定時間と同等の時間に、予め設定することができる。また、この設定時間は、例えば、当該通信システム１１におけるトラフィックに応じて可変設定することもできる。例えば、トラフィックが大きかった場合ほど、設定時間（すなわち送信停止時間）を長く設定することができる。
【００８６】
また、再開制御フレームのフレームＩＤは、例えば、送信制御フレームと同じ最高優先順位のフレームＩＤとすることができる。この場合、そのフレームの例えばデータ領域に、前述の識別用情報ではなく、当該フレームが再開制御フレームであることを示すフレーム種別データを配置すれば良い。また、他の例として、例えば、再開制御フレームを示すフレームＩＤを設けるのであれば、そのフレームＩＤによって再開制御フレームであることを識別することができるため、データ領域にフレーム種別データを配置させなくても良い。
【００８７】
（ｂ）監視対象ノード２〜４は、図５の送信制限処理に代えて、図８の送信制限処理を行う。
図８の送信制限処理は、図５の送信制限処理と比較すると、Ｓ２５０に代わるＳ２５５が設けられている。
【００８８】
ノード２〜４は、図８の送信制限処理では、Ｓ２４０でフレームの送信を禁止すると、Ｓ２５５に進み、監視ノード１からの再開制御フレームを受信するまで待つ。そして、再開制御フレームを受信したならば、Ｓ２６０に進み、フレームの送信禁止を解除する。尚、ノード２〜４は、受信したフレームのデータ領域に前述のフレーム識別データが配置されていれば、そのフレームが再開制御フレームであると判別することができる。また、再開制御フレームに専用のフレームＩＤが付与されているのであれば、ノード２〜４は、受信したフレームのフレームＩＤから、再開制御フレームであるか否かを判別することができる。
【００８９】
つまり、ノード２〜４は、送信制御フレーム内の識別用情報に基づいて当該ノードが制限対象ノードであると判別してから、再開制御フレームを受信するまでの間、送信を停止するようになっている。
【００９０】
＜効果＞
第３実施形態によれば、第１実施形態と同様の効果に加えて、監視対象ノード２〜４のうち、送信を停止したノードの送信再開タイミングを、監視ノード１によってコントロールすることができる、という効果が得られる。
【００９１】
尚、第３実施形態では、監視ノード１が行う図７の処理のうち、Ｓ１４０〜Ｓ１６０の処理が、通知部としての処理に相当する。また、監視対象ノード２〜４が行う図８の処理のうち、Ｓ２４０〜Ｓ２６０の処理が、送信禁止部としての処理に相当する。
【００９２】
一方、第３実施形態の内容は、第２実施形態に対しても同様に適用することができる。
［他の実施形態］
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００９３】
例えば、上記各実施形態において、ノード１は、他のノード２〜４が送信したフレームの監視を行う監視ノードとしてだけ機能するノードであったが、ノード１も、監視対象になるフレームを送信すると共に、図５，図６，図８の送信制限処理を更に行うようになっていても良い。つまり、ノード１は、監視ノードと監視対象ノードとの両方として機能するノードであっても良い。
【００９４】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換しても良い。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述した通信システムの他、当該通信システムを構成するノードや、そのノードとしてコンピュータを機能させるためのプログラムや、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体や、通信システムの制御方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００９５】
１〜４…ノード、１１…通信システム、１３…バス。
【図１】
0006485338.tif 000002
【図２】
0006485338.tif 000003
【図３】
0006485338.tif 000004
【図４】
0006485338.tif 000005
【図５】
0006485338.tif 000006
【図６】
0006485338.tif 000007
【図７】
0006485338.tif 000008
【図８】
0006485338.tif 000009