(57)【要約】【課題】通信データの衝突による遅延を低減すると共に、バスの伝送効率を向上する通信装置及び通信システムを提供すること。【解決手段】ネットワーク１１が通信に使用されていない場合に通信データを送信する通信装置１０において、所定の定周期により定まる通信開始タイミングＴｎ毎に通信データを送信するデータ送信手段１２と、通信データをネットワーク１１に送信できたか否かを判定する送信判定手段１３と、送信判定手段１３により通信データが送信できなかったと判定された場合、通信開始タイミングＴｎを所定時間Tconstずらすタイミング変更手段１４と、を有することを特徴とする。【選択図】図３
2008294662.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークが通信に使用されていない場合に通信データを送信する通信装置において、
所定の定周期により定まる通信開始タイミング毎に通信データを送信するデータ送信手段と、
通信データを前記ネットワークに送信できたか否かを判定する送信判定手段と、
前記送信判定手段により通信データが送信できなかったと判定された場合、前記通信開始タイミングを所定時間ずらす、タイミング変更手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信開始タイミングの基準時データを受信する基準時データ取得手段と、
前記基準時データの受信時を基準に、前記所定時間ずらした後の前記通信開始タイミングをメモリに記憶させる通信開始タイミング記憶手段と、を有し、
前記データ送信手段は、起動後に前記通信開始タイミングを前記メモリから読み出し、前記基準時データの受信時を基準に、前記通信開始タイミング毎に通信データを送信する、
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記送信判定手段により通信データが送信できなかったと判定された場合、当該通信データと衝突した被衝突データが非定期通信データか否かを判定するデータ種別判定手段を有し、
前記タイミング変更手段は、被衝突データが非定期通信データでない場合にのみ前記通信開始タイミングを前記所定時間ずらす、
ことを特徴とする請求項２記載の通信装置。
【請求項４】
ネットワークが通信に使用されていない場合に第１の通信装置が通信データを前記ネットワークを介して送信する通信システムにおいて、
前記第１の通信装置は、
所定の定周期により定まる通信開始タイミングに通信データを送信するデータ送信手段と、
通信データを前記ネットワークに送信できたか否かを判定する送信判定手段と、
前記送信判定手段により通信データが送信できなかったと判定された場合、前記通信開始タイミングを所定時間ずらす、タイミング変更手段と、を有する、
ことを特徴とする通信システム。
【請求項５】
前記ネットワークに接続された第２の通信装置が、
前記通信開始タイミングの基準となる基準時データを前記第１の通信装置に送信する基準時データ送信手段を有し、
前記第１の通信装置は、
前記基準時データを受信する基準時データ取得手段と、
前記所定時間ずらした後の前記通信開始タイミングをメモリに記憶させる通信開始タイミング記憶手段と、を有し、
前記データ送信手段は、前記基準時データを基準にした前記通信開始タイミングに通信データを送信する、
ことを特徴とする請求項４記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＳＭＡ／ＣＡ等のように衝突回避して多重通信する通信装置及び通信システムに関する。
【背景技術】
【０００２】
バスに複数の情報処理装置が接続され各情報処理装置が同期をとらず必要に応じて通信データをバスに送信するネットワークでは、同時に１台の情報処理装置しかデータを送ることが出来ない。このようなネットワークでは通信データの送信権の調停のためＣＳＭＡ／ＣＡ（Carrier  Sense  Multiple  Access/Collision  Avoidance）等を採用し、情報処理装置はバスが空いている場合に通信データを送信する。バスに通信データが送信されていると検知した情報処理装置は、所定時間の経過を待って再度送信を試みる。
【０００３】
ところで、互いに衝突する通信データが定期的に送信されるものである場合、当該情報処理装置が送信する通信データの送信周期と、衝突する他方の被衝突データの送信周期との最小公倍数の時間毎に通信データが衝突を繰り返すことになる。ここでＣＳＭＡ／ＣＡでは優先度が低い通信データは再送信までの時間が長くなるため、低優先度の通信データは衝突の度に所定時間待機することになり遅延が生じてしまうおそれがある。
【０００４】
そこで、衝突が検知された場合には次回以降の通信開始時刻を一定時間ずらす方法が提案されている（例えば、特許文献１参照。）。特許文献１では、通信データが衝突した場合、衝突時を基準にして各情報処理装置毎に異なる待機時間を設定し、以降は共通の定周期で通信データを送信することで次回以降の衝突を回避している。
【０００５】
また、衝突が検知された場合には次回以降の通信開始時刻をランダムな時間ずらす方法が提案されている（例えば、特許文献２参照。）。特許文献２では、通信データが衝突した情報処理装置からの問い合わせに対し、ランダムに発生させたずらし時間で変更した通信開始時刻を情報処理装置に返送する送信衝突制御装置が記載されている。
【特許文献１】特開平１１−２９８５０７号公報
【特許文献２】特開２００１−１４４７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１記載の衝突回避方法では、衝突した２つの通信データと衝突しなかった通信データの送信間隔が不定になるため、通信開始時刻の調整により衝突しなかった通信データと衝突が発生するおそれがある。すなわち、通信開始時刻をずらしても衝突発生の可能性が大きく低下することはなく、安定した通信が可能な周期に収束することができない。
【０００７】
また、特許文献２では、通信開始時刻の基準となる基準時の収得方法が基準時刻生成装置から与えられている。この時刻生成装置と伝送システムを別途設定することは車両に搭載される車載ＬＡＮ上では搭載制約上困難な場合がある。
【０００８】
このため車載ＬＡＮでは、衝突による遅延が生じることを前提に、遅延が生じてもそれが設計値内に収まるように通信データの適切な送信頻度、送信間隔等を設計している。例えば、設計者は通信データの衝突が最大頻度で発生しても設計値内の遅延で通信できるように通信データの送信頻度、送信間隔等を設計する。
【０００９】
しかしながら、実際には通信データが最大頻度で衝突することは少なく、このような余裕を持たせた設計ではバスに通信データが流通しない時間帯が長くなり、伝送効率が低下してしまうという問題がある。
【００１０】
本発明は、上記課題に鑑み、通信データの衝突による遅延を低減すると共に、バスの伝送効率を向上する通信装置及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題に鑑み、本発明は、ネットワークが通信に使用されていない場合に通信データを送信する通信装置（例えば、ＥＣＵ１０）において、所定の定周期により定まる通信開始タイミング毎に通信データを送信するデータ送信手段と、通信データをネットワークに送信できたか否かを判定する送信判定手段と、送信判定手段により通信データが送信できなかったと判定された場合、通信開始タイミングを、ネットワークに接続された他の通信装置と共通の所定時間（例えば、Tconst）ずらすタイミング変更手段と、を有することを特徴とする。
【００１２】
本発明によれば、衝突の度に所定時間ずらすので、衝突しにくい通信開始タイミングに収束しやすくすることができる。
【００１３】
また、本発明の一形態において、通信開始タイミングの基準となる基準時データを取得する基準時データ取得手段と、基準時データの受信時を基準に、所定時間ずらした後の通信開始タイミングをメモリに記憶させる通信開始タイミング記憶手段と、を有し、データ送信手段は、基準時データの受信時を基準に、メモリから読み出した通信開始タイミング毎に通信データを送信する、ことを特徴とする。
【００１４】
本発明によれば、基準時を基準に学習した通信開始タイミングを記憶しておくので、次回の起動時には学習せずに、衝突しにくい通信開始タイミングで通信することができる。
【００１５】
また、本発明の一形態において、送信判定手段により通信データが送信できなかったと判定された場合、当該通信データと衝突した被衝突データが非定期通信データか否かを判定するデータ種別判定手段を有し、タイミング変更手段は、被衝突データが非定期通信データでない場合にのみ通信開始タイミングを所定時間ずらす、ことを特徴とする。
【００１６】
本発明によれば、非定期通信データでない場合にのみ通信開始タイミングを所定時間ずらすので、衝突しない通信開始タイミングに収束しやすくなる。
【発明の効果】
【００１７】
通信データの衝突による遅延を低減すると共に、バスの伝送効率を向上する通信装置及び通信システムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について図面を参照しながら実施例を挙げて説明する。
【実施例１】
【００１９】
図１（ａ）は、車載通信システム１００の構成図の一例を示す（特許請求の範囲の通信システムに相当する）。電子制御ユニットであるＥＣＵ（Electronic  Control  Unit）１０Ａ及びＥＣＵ１０Ｂ（区別する必要がない場合単にＥＣＵ１０という。ＥＣＵは特許請求の範囲の通信装置に相当する。）はＣＡＮバス１１に接続されている。ＥＣＵ１０は互いにセンサの検出信号や他のＥＣＵ１０が処理したデータ（以下、単に通信データという）を、ＣＡＮバス１１を介して送受信することで通信データを共有して車両の協調制御を実現している。各ＥＣＵ１０はそれぞれの機能に応じた通信データを、同期をとらずにＣＡＮバス１１に送信している。
【００２０】
図１（ｂ）は、ＣＡＮバス１１に送信される通信データの概略図を示す。本実施例では、通信データをＣＡＮバス１１に送信し始める時刻を通信開始タイミングＴso（電源投入後、初回の送信開始タイミング）と、通信データの長さによって定まるＣＡＮバス１１の使用時間を通信時間Ｔｍ（ｍ：０〜８）と称する。通信時間Ｔｍは通信データの長さにより定まるが、後述するようにＣＡＮプロトコルではデータフィールドは０〜８バイトであるので、それぞれの通信時間をTerm０〜Term８とする。
【００２１】
図１（ｃ）は、定期的に送信される通信データの送信間隔を示す図である。図１（ｃ）に示すように、
Ｔso：電源投入後の初回送信開始タイミング（各ECU毎に設定される一定値でおよそ１秒以内）
Ｔｎ  ：電源投入後２回目以降の送信開始タイミング（一定値）であり、送信周期となる。
【００２２】
通信データには、非定期に送信されるものと定期的に送信されるものがあるが、本実施例のＥＣＵ１０Ａは、定期的に送信される通信データが衝突した場合に、通信時刻を一定時間Tconstずらすことで、次回の通信データが衝突することを防止する。これから、Ｔｎはｎ（ｎ＝１、２、…）回衝突すると、Ｔｎ＋１＝Ｔｎ＋Tconst×ｎと学習されていく。
【００２３】
通信データが衝突したいずれか一方のＥＣＵ１０Ａ（又はＥＣＵ１０Ｂでもよい）が衝突の度に一定時間Tconstずつ通信時刻をずらすので、設計段階から通信開始タイミングＴｎ（電源投入後、２回目以降の送信開始タイミング＝定期通信周期）を分散化しておく必要がなく、各ＥＣＵ１０が動的に衝突の発生しない通信開始タイミングＴｎに収束することができるようになる。ＣＡＮバス１１に流通する通信データが多くなっても各ＥＣＵ１０の通信開始タイミングＴｎは自動的に収束するため、通信データの送信頻度を多くして伝送効率を向上させることができる。また、通信データの優先度に関わらず衝突が低減するので、低優先度の通信データであっても遅延が大きくなることはない。
【００２４】
ＥＣＵ１０Ａ及び１０Ｂは、それぞれ制御する車載装置及び機能が異なるが、いずれもプログラムを実行するＣＰＵ、プログラム実行の作業領域となりまた一時的にデータを記憶するメモリ（ＲＡＭ）、ブートプログラムやＢＩＯＳを記憶するＲＯＭ、及び、プログラムやファイルを記憶するメモリ及びＣＡＮバス１１を介して通信データを入出力する入出力部、が内部バスにより接続されたコンピュータである。
【００２５】
各ＥＣＵ１０は、例えばＣＰＵがプログラムを実行することで実現される、定周期により定まる通信開始タイミングＴｎ毎に通信データを送信するデータ送信手段１２、通信データを送信できたか否かを判定する送信判定手段１３、通信開始タイミングを一定時間Tconstずらすタイミング変更手段１４、一定時間Tconstずらした後の通信開始タイミングをメモリに記憶させる通信開始タイミング記憶手段１５、を有する。
【００２６】
ＣＡＮバス１１は、ＥＣＵ１０Ａ及び１０Ｂ（３以上であってもよい）を電気的に接続し、所定のプロトコル（例えば、ＣＡＮ（Controller  Area  Network）プロトコルに基づき通信データを送信する車載通信システム１００を構成する。
【００２７】
ＣＡＮプロトコルは、１Ｍｂｐｓまでの高速通信，マルチマスター方式によるバスアクセス制御，送信異常時のバスオフ機能などを有する通信プロトコルで、次のようなデータフォーマット「ＳＯＦ；調停フィールド；制御フィールド；データフィールド；ＣＲＣフィールド；ＡＣＫフィールド；ＥＯＦ」を１フレームにして通信データをＣＡＮバス１１に送信する。
【００２８】
ＳＯＦはフレームの開始を表すビットを格納する領域、調停フィールドはフレームを識別するためのＩＤ番号を格納する領域、制御フィールドはデータ長などを格納する領域、データフィールドはデータを格納する領域（０〜８バイト）、ＣＲＣフィールドはエラーチェック用の符号を格納する領域、ＡＣＫフィールドはデータ受信したＥＣＵ１０が受信したことを伝える領域、ＥＯＦはフレームの終了を表すビット列を格納する領域、である。
【００２９】
ＣＡＮバス１１に送信される通信データはユニークなＩＤ番号により識別され、通信データの優先度はＩＤ番号により決定され、また、ＥＣＵ１０はこのＩＤ番号を参照して受信するかどうかを判断する。
【００３０】
ＥＣＵ１０は、ＣＳＭＡ／ＣＡ（Carrier  Sense  Multiple  Access/Collision  Avoidance）により調停された送信権が得られると通信データをＣＡＮバス１１に送信する。すなわち、通信データを送信する直前にＣＡＮバス１１が使用されているか否かを検出し、使用されていない場合に、通信データをＣＡＮバス１１に送信する。また、通信データが衝突した場合、一般のＣＳＭＡ／ＣＡでは優先度の高い（ＩＤ番号の低い）通信データが優先的にＣＡＮバス１１を使用し、優先度の低い通信データを送信するＥＣＵ１０は所定時間の後、通信データを送信する。本実施例では定周期で送信される通信データの優先度が等しい場合は後から通信を開始した通信データの通信開始タイミングＴｎを一定時間Tconstずらし、通信データの優先度が異なる場合は低優先度の通信データの通信開始タイミングＴｎを一定時間Tconstずらし、以降は元の定周期の通信を行うものとする。
【００３１】
なお、このような定周期の通信データは、例えば、エンジンＥＣＵ１０が送信するエンジン回転数、トランスミッションＥＣＵ１０が送信するシフトポジション、エアコンＥＣＵ１０が送信する室内の温度等である。
【００３２】
以上の構成に基づき、本実施例のＥＣＵ１０Ａが通信開始タイミングＴｎを学習する手順を図２のフローチャート図に基づき説明する。図２のフローチャート図は、例えば、当該ＥＣＵ１０Ａに電源が供給され、ＲＡＭの初期化やＣＰＵが所定のクロックで安定作動するなど起動状態になるとスタートする。ＣＡＮバス１１に接続されたＥＣＵ１０Ｂは既に起動状態となっていてもよいしＥＣＵ１０Ａと同時に起動されてもよい。
【００３３】
起動状態になるとＥＣＵ１０Ａは所定の通信開始タイミングＴsoで通信データの送信を開始する（Ｓ１０）。本実施例で送信する通信データは定周期の通信データである。
【００３４】
送信に先立ち、ＥＣＵ１０ＡはＣＳＭＡ／ＣＡに従いＣＡＮバス１１が他のＥＣＵ１０Ｂ等により使用されていない場合に通信データを送信するので、ＣＡＮバス１１が使用されていた場合は、最長である通信時間Term８が経過しても送信バッファに通信データが残ったままとなる。
【００３５】
送信判定手段１３は、この送信バッファに通信データが残っているか否かに基づき衝突が発生したか否かを検知する（Ｓ２０）。送信バッファに通信データが残っているか否かは、例えば、通信データの送信完了によりオフ又はオンになる所定のレジスタを参照する。
【００３６】
衝突が生じていない場合（Ｓ３０のＮｏ）、データ送信手段１２は通信開始タイミングＴｎが経過するのを待ち（Ｓ３１）、ステップＳ１０にてデータを送信する。
【００３７】
衝突検知の結果、衝突が生じている場合（Ｓ３０のＹｅｓ）、タイミング変更手段１４は予め定められた一定時間Tconst分だけ次回の通信開始タイミングＴｎをずらす（Ｓ４０）。一定時間Tconstは、再度送信した場合に衝突が生じない時間が好ましいが、通信時間Term８ずらせば被衝突データとの再度の衝突は回避できるので、ここでは一定時間Tconst＝Term８＋α  だけずらす。αは誤差を考慮したＴerm１より短い時間である。なお、Tconstは定周期の時間間隔と比較して十分に短いので、衝突しない通信開始タイミングＴｎを必ず決定できるようになっている。
【００３８】
ついで、通信開始タイミング記憶手段１５はずらした後の通信開始オフセット「Tconst×ｎ（ｎ：１，２…）」を不揮発のメモリに記憶する（Ｓ５０）。不揮発のメモリに通信開始オフセット「Tconst×ｎ」を記憶することで、次回、ＥＣＵ１０Ａが起動した場合に、この通信開始タイミング「Ｔso＋Tconst×ｎ」により通信データを送信することができる。
【００３９】
そして、データ送信手段１２は、一定時間「Tconst×ｎ＋Ｔｏ」が経過するまで待機し（Ｓ６０）、一定時間「Tconst×ｎ＋Ｔｏ」が経過すると通信データを送信する（Ｓ１０）。
【００４０】
ＥＣＵ１０Ａは電源が供給されている間、図２の処理を繰り返すので、衝突が生じる度に通信開始タイミングＴｎを一定時間「Tconst×ｎ」ずらす。したがって、初期の通信開始タイミングＴｎに関わらず、定周期の通信データの送信を繰り返しながら動的に、他のＥＣＵ１０Ｂが送信する通信データと衝突しない通信開始タイミングＴｎに収束することができる。
【００４１】
図３（ａ）は通信データの衝突により通信開始タイミングＴｎが収束する様子を説明する図である。図３（ａ）ではＥＣＵ１０Ａと１０Ｂは同じ定周期で通信データを送信している。例えば通信データＡ１が通信データＢ１と衝突すると、ＥＣＵ１０Ａは一定時間Tconstだけ通信開始タイミングＴｎをずらす。
【００４２】
図３（ａ）では衝突時の通信開始タイミングＴｎをＴ０（ｎ＝０）とし、Ｔconstずらした後の通信開始タイミングをＴ１（ｎ＝１）とした。一定時間Tconstは通信データＡ１の幅分程度である。通信開始タイミングＴｎをずらすことで、通信データＡ１を送信でき、以降は通信データＡ２、Ａ３と通信データＢ２、Ｂ３が衝突することもない。
【００４３】
図３（ｂ）はＥＣＵ１０Ａと１０Ｂが異なる定周期で通信データを送信する場合に、通信データの衝突により通信開始タイミングＴｎが収束する様子を説明する図である。図３（ｂ）ではＥＣＵ１０Ａの定周期がＥＣＵ１０Ｂよりも短く、それぞれの定周期の最小公倍数毎に通信データが衝突する（図３（ｂ）では通信データＢ１とＡ１、通信データＢ３とＡ４）。
【００４４】
例えば通信データＡ１が通信データＢ１と衝突すると、ＥＣＵ１０Ａは一定時間Tconstだけ通信開始タイミングＴｎ（ｎ＝０）をずらしＴ１とする。通信開始タイミングＴｎをずらすことで、通信データＡ１を送信でき、以降は通信データＡ２、Ａ３、Ａ４と通信データＢ２、Ｂ３が衝突することもない。
【００４５】
図３（ｃ）は３つのＥＣＵ１０Ａ、１０Ｂ、１０Ｃの通信データが衝突しないように、ＥＣＵ１０Ａが通信開始タイミングＴｎを収束させる様子を示す。図３（ｃ）では、ＥＣＵ１０Ｃと１０Ａの定周期は等しく、ＥＣＵ１０ＢはＥＣＵ１０Ａ、１０Ｃよりも短い定周期で通信データを送信する。このため、ＥＣＵ１０ＡとＥＣＵ１０Ｃは送信毎に、ＥＣＵ１０ＡとＥＣＵ１０Ｂは定周期の最小公倍数毎に通信データが衝突する。
【００４６】
例えば、ＥＣＵ１０ＣがＥＣＵ１０Ａよりも先に通信開始タイミングＴｎを一定時間「Tconst」ずらした場合、図３（ｂ）と同様に、ＥＣＵ１０Ｃは通信データＣ１を送信でき、以降は通信データＣ２、Ｃ３、Ｃ４が通信データＢ１、Ｂ２、Ｂ３と衝突することもない。
【００４７】
一方で、ＥＣＵ１０Ａの通信データＡ１はＥＣＵ１０Ｂの通信データＢ１と衝突したままであるので、ＥＣＵ１０ＡもＥＣＵ１０Ｃと同様に、一定時間「Tconst」だけ通信開始タイミングＴｎ（ｎ＝０）をずらしＴ１とする。ずらした後のＥＣＵ１０Ａの状態を（ｉ）ＥＣＵ１０Ａに示した。
【００４８】
しかしながら、（ｉ）ＥＣＵ１０Ａの通信データの通信開始タイミングＴ１は、通信開始タイミングＴｎ（ｎ＝０）を「Tconst」ずらしてＴ１としたＥＣＵ１０Ｃと衝突する。このため、ＥＣＵ１０Ａは、再度、一定時間「Tconst」だけ通信開始タイミングＴ１をずらしＴ２とする。ずらした後のＥＣＵ１０Ａの状態を（ｉｉ）ＥＣＵ１０Ａに示した。
【００４９】
図３（ｃ）に示すように、ＥＣＵ１０Ａは通信データが衝突しなくなるまで通信開始タイミングＴｎを一定時間「Tconst×ｎ」づつずらしていくので、ＥＣＵ１０Ａの通信開始タイミングＴｎは、他のＥＣＵ１０Ｂ等が定期送信する通信データと衝突しないタイミングに収束することができる。
【００５０】
本実施例のＥＣＵ１０Ａは、通信データが衝突しないよう通信開始タイミングＴｎを動的に変更していくので、各ＥＣＵ１０毎にオフセットした通信開始タイミングを設定しておくなどの設計的配慮が不要となる。また、計算上は単位時間当たりに、最も短い定周期を一定時間Tconstで除算した数の通信データを送信可能となるので、伝送効率を向上させ多くの通信データを送信することができる。
【００５１】
また、全てのＥＣＵ１０が共通の一定時間「Tconst×ｎ」ずらすので、ＥＣＵ毎に異なる時間ずらすよりも衝突しない通信開始タイミングＴｎに収束しやすくすることができる。すなわち、ランダムにずらすと所定の確率で衝突が再発するし、ＥＣＵ毎に異なる一定時間ずらすと衝突しなかった通信データや定周期が異なる通信データと衝突しやすくなるため、伝送効率を向上させることが困難になる。
【実施例２】
【００５２】
実施例１により各ＥＣＵ１０が通信データの衝突が全くないか少ない通信開始タイミングＴｎを学習したことになる。しかしながら、各ＥＣＵ１０は共通となる基準時を有さないので、次回電源が供給されて起動した場合、通信開始タイミングＴｎを記憶していてもどの時刻を基準に通信を開始すればよいか分からず、再度学習を繰り返す必要がある。各ＥＣＵ１０はそれぞれが時計を備えるが、伝送時間を調整するには各ＥＣＵ１０間の時計の精度が十分でない。
【００５３】
そこで、本実施例では、所定のＥＣＵ（以下、基準時提供ＥＣＵ２０という）が各ＥＣＵ１０に一斉に基準時を提供し、基準時を受信したＥＣＵ１０は基準時を基準に各ＥＣＵ１０が記憶している通信開始タイミングＴsoにて定周期の送信を開始する。２回目は学習したＴｎで送信する。したがって、本実施例では、既に学習した衝突のない通信開始タイミングＴｎにて通信データの送信を開始することができる。
【００５４】
図４は、本実施例の車載通信システム１００の構成図の一例を示す。なお、図４において図１と同一構成部分には同一の符号を付しその説明は省略する。図４の車載通信システム１００ではＣＡＮバス１１に基準時提供ＥＣＵ２０が接続されている。基準時提供ＥＣＵ２０は、他のＥＣＵ１０と同様、ＣＰＵやＲＡＭ等からなるコンピュータであって、ＣＰＵがプログラムを実行することで基準時データ送信手段１８が実現される。
【００５５】
基準時提供ＥＣＵ２０は基準時を提供するための専用のＥＣＵであってもよいが、エンジンＥＣＵ１０等、汎用的に車載されるＥＣＵ１０が兼用することでコスト増を抑制できる。基準時提供ＥＣＵ２０は絶対時刻を他のＥＣＵ１０に通知するものではないので、どのようなＥＣＵ１０が兼用してもよい。また、基準時提供ＥＣＵ２０が起動していない場合や故障したような場合は、他のＥＣＵ１０が代替的に基準時を提供でき、また、電源が供給されてから所定時間各ＥＣＵ１０が基準時データを受信しない場合には、各ＥＣＵ１０はランダムに送信を開始すればよいので、ロバスト性にも優れている。
【００５６】
基準時データ送信手段１８は、例えば、定期的に全てのＥＣＵ１０に基準時データを送信する。基準時データは、他のＥＣＵ１０にとって単に受信されたことが明らかな通信データであればよく、例えば、特殊なＩＤ番号が設定されているか、データフレームに特殊なデータを格納しておければよい。
【００５７】
各ＥＣＵ１０はこの基準時データを受信して、基準時を取得する基準時データ取得手段１６を有する。したがって、基準時データを受信したＥＣＵ１０は受信した時刻が基準時であることを検出できる。
【００５８】
図５は基準時と通信開始タイミングＴｎの関係を示す。ＥＣＵ１０Ａは電源投入後、基準時を基準に学習したＴso-Aに定周期の通信を開始し、以降はＴｎA毎に通信データを送信する。また、ＥＣＵ１０Ｂは電源投入後、基準時を基準に学習したＴso-Bに定周期の通信を開始し、以降はＴｎB毎に通信データを送信する。図５に示すように、各ＥＣＵは基準時を基準に学習した通信開始オフセットにて通信するので、学習しなくても衝突の生じにくい通信開始タイミングＴｎにて通信できる。
【００５９】
図６は、本実施例のＥＣＵ１０Ａが基準時を基準に通信開始タイミングＴｎを学習する手順を示すフローチャート図である。なお、図６において、図２と同一ステップには同一の符号を付しその説明は簡単に行う。
【００６０】
本実施例のＥＣＵ１０Ａは、起動状態になると基準時データを受信する（Ｓ５）。例えば、基準時データ送信手段１８は起動直後の所定時間の間、定期的に基準時データをＣＡＮバス１１に送信するので、ＥＣＵ１０Ａは通信データを送信する前に基準時データを受信することができる。
【００６１】
起動状態になるとＥＣＵ１０Ａのデータ送信手段１２は所定の通信開始タイミングＴｎで通信データの送信を開始する（Ｓ１０）。本実施例で送信する通信データは定周期の通信データである。
【００６２】
ついで、送信判定手段１３は、この送信バッファに通信データが残っているか否かに基づき衝突が発生したか否かを検知する（Ｓ２０）。送信バッファに通信データが残っているか否かは、例えば、通信データの送信によりオフ又はオンになる所定のレジスタを参照する。
【００６３】
衝突が生じていない場合（Ｓ３０のＮｏ）、データ送信手段１２は通信開始タイミングＴｎが経過するのを待ち（Ｓ３１）、ステップＳ１０にてデータを送信する。
【００６４】
衝突検知の結果、衝突が生じている場合（Ｓ３０のＹｅｓ）、タイミング変更手段１４は予め定められた一定時間Tconst分だけ次の通信開始タイミングＴｎをずらす（Ｓ４０）。
【００６５】
ついで、通信開始タイミング記憶手段１５はずらした後の通信開始オフセットTconst×ｎを不揮発のメモリに記憶する（Ｓ５１）。
【００６６】
そして、データ送信手段１２は、一定時間「Tconst×ｎ＋Ｔ０」が経過するまで待機し（Ｓ６０）、一定時間「Tconst×ｎ＋Ｔ０」が経過すると通信データを送信する（Ｓ１０）。以上の処理により、ＥＣＵ１０Ａは通信データが衝突しない通信開始タイミングＴｎを学習した。
【００６７】
続いて、通信開始タイミングＴｎにＥＣＵ１０Ａが通信データを送信する手順を図７のフローチャート図に基づき説明する。
【００６８】
起動状態になるとＥＣＵ１０Ａは基準時データを受信する（Ｓ１００）。基準時データ送信手段１８は起動直後の所定時間の間、定期的に基準時データをＣＡＮバス１１に送信するので、基準時データ取得手段１６は通信データを送信する前に基準時データを受信することができる。
【００６９】
起動状態になると、ＥＣＵ１０Ａはメモリに記憶した通信開始「オフセットTconst×ｎ」をメモリから抽出する（Ｓ１１０）。
【００７０】
ついで、データ送信手段１２は、基準時からＴｎが経過するまで待機し（Ｓ１２０）、Tｎが経過すると通信データを送信する（Ｓ１３０）。以降は、図７の処理により通信データが衝突した場合には通信開始タイミングＴｎの学習を繰り返す。
【００７１】
本実施例によれば、基準時を基準に通信開始タイミングＴｎを学習することで、次回、電源が供給され起動状態になった時、学習することなく通信データの衝突のない通信開始タイミングＴｎで通信データの送信を開始することができる。
【実施例３】
【００７２】
実施例１、２では、他のＥＣＵ１０が送信した通信データと衝突した場合に通信開始タイミングＴｎを学習するＥＣＵ１０Ａについて説明したが、衝突した被衝突データが定周期に送信される通信データでない場合（以下、非定期通信データという）、ＥＣＵ１０Ａが通信開始タイミングＴｎをずらさなくても次回の送信時は衝突しないと考えてよい。非定期通信データはそもそも定期的に発生しないため、同じ通信データ同士が次回の送信時に衝突する確率はかなり小さいと考えられる。
【００７３】
また、非定期通信データと衝突した場合に、通信開始タイミングＴｎを一定時間「Tconst×ｎ」ずらすと、今度は定周期の通信データと衝突するおそれが生じることになるため、非定期通信データとの衝突時には通信開始タイミングＴｎを学習すべきでない。
【００７４】
そこで、本実施例では、非定期通信データと衝突した場合には通信開始タイミングＴｎを学習しないＥＣＵ１０について説明する。
【００７５】
図８は、本実施例の車載通信システム１００の構成図の一例を示す。なお、図８において図４と同一構成部分には同一の符号を付しその説明は省略する。図８のＥＣＵ１０Ａ、１０ＢはＣＰＵがプログラムを実行することで実現されるデータ種別判定手段１７を有する。
【００７６】
データ種別判定手段１７は、他のＥＣＵ１０が送信した通信データが定周期の通信データか非定期通信データかを判定する。この判定は、通信データの衝突が生じた場合にのみ行えばよい。非定期通信データか否かの判定はどのように判定してもよいが、例えば、各ＥＣＵ１０が通信データを生成する時に、非定期通信データか否かを示すフラグをデータフィールドの所定ビットに設定してもよいし、ＩＤ番号により識別できるようにしてもよい。
【００７７】
図９は、定周期の通信データと衝突した場合にのみ、ＥＣＵ１０Ａが通信開始タイミングＴｎを学習する手順のフローチャート図を示す。
【００７８】
ＥＣＵ１０Ａは、起動状態になると基準時データを受信する（Ｓ５）。例えば、基準時データ送信手段１８は起動直後の所定時間の間、定期的に基準時データをＣＡＮバス１１に送信するので、ＥＣＵ１０Ａは通信データを送信する前に基準時データを受信することができる。
【００７９】
起動状態になるとＥＣＵ１０Ａのデータ送信手段１２は所定の通信開始タイミングＴｎで通信データの送信を開始する（Ｓ１０）。本実施例で送信する通信データは定周期の通信データである。
【００８０】
ついで、送信判定手段１３は、この送信バッファに通信データが残っているか否かに基づき衝突が発生したか否かを検知する（Ｓ２０）。送信バッファに通信データが残っているか否かは、例えば、通信データの送信完了によりオフになる所定のレジスタを参照する。
【００８１】
衝突が生じていない場合（Ｓ３０のＮｏ）、データ送信手段１２は通信開始タイミングＴｎが経過するのを待ち（Ｓ３１）、ステップＳ１０にてデータを送信する。
【００８２】
衝突検知の結果、衝突が生じている場合（Ｓ３０のＹｅｓ）、データ種別判定手段１７は被衝突データが非定期通信データか否かを判定する（Ｓ３５）。非定期通信データの場合（Ｓ３５のＹｅｓ）、通信開始タイミングＴｎを学習すべきでないので、ステップＳ１０から通信データの送信を繰り返す。
【００８３】
非定期通信データでない場合（Ｓ３５のＮｏ）、タイミング変更手段１４は予め定められた一定時間Tconst分だけ次の通信開始タイミングＴｎをずらす（Ｓ４０）。
【００８４】
ついで、通信開始タイミング記憶手段１５はずらした後の通信開始オフセット「Tconst×ｎ」を不揮発メモリに記憶する（Ｓ５１）。
【００８５】
そして、データ送信手段１２は、一定時間「Tconst×ｎ＋Ｔ０」が経過するまで待機し（Ｓ６０）、一定時間「Tconst×ｎ＋Ｔ０」が経過すると新たな通信開始タイミングＴｎにて定周期に通信データを送信する（Ｓ１０）。以上の処理により、ＥＣＵ１０Ａは被衝突データが非定期通信データでない場合（定周期の通信データの場合）にのみ、通信データが衝突しない通信開始タイミングＴｎを学習することができる。
【００８６】
本実施例のＥＣＵは、定周期の通信データと衝突した場合にのみ通信開始タイミングＴｎを学習するので、実施例１又は２よりも早期に通信データが衝突しない通信開始タイミングＴｎを学習できる。
【図面の簡単な説明】
【００８７】
【図１】通信システムの構成図の一例である。
【図２】ＥＣＵが通信開始タイミングＴｎを学習する手順を示すフローチャート図である。
【図３】通信データの衝突により通信開始タイミングＴｎが収束する様子を説明する図である。
【図４】通信システムの構成図の一例である（実施例２）。
【図５】基準時と通信開始タイミングＴｎの関係を示す図である。
【図６】ＥＣＵが基準時を基準に通信開始タイミングＴｎを学習する手順を示すフローチャート図である
【図７】通信開始タイミングＴｎにＥＣＵが通信データを送信する手順を示すフローチャート図である。
【図８】通信システムの構成図の一例である（実施例３）。
【図９】定周期の通信データと衝突した場合にのみ、ＥＣＵが通信開始タイミングＴｎを学習する手順のフローチャート図である。
【符号の説明】
【００８８】
１０、１０Ａ、１０Ｂ    ＥＣＵ
１１        ＣＡＮバス
１２        データ送信手段
１３        送信判定手段
１４        タイミング変更手段
１５        通信開始タイミング記憶手段
１６        基準時データ取得手段
１７        データ種別判定手段
１８        基準時データ送信手段
２０        基準時提供ＥＣＵ
１００      車載通信システム
【図１】
2008294662.tif 000003
【図２】
2008294662.tif 000004
【図３】
2008294662.tif 000005
【図４】
2008294662.tif 000006
【図５】
2008294662.tif 000007
【図６】
2008294662.tif 000008
【図７】
2008294662.tif 000009
【図８】
2008294662.tif 000010
【図９】
2008294662.tif 000011