(57)【要約】【課題】  ゲートウェイ通信の際にメッセージの遅延が発生する問題に鑑みて、IDによる優先度に関わらず、遅延を防止する必要があり、本発明は係る問題に際して発明されたものである【解決手段】  メッセージの送信順序を制御するために、送信するメッセージに優先順位を付加する。そして、全ての送信するメッセージのIDを比較し、IDが重複する複数のメッセージを検知した場合、送信遅延が発生していると判断し、前記複数のメッセージのうち、時系列において長時間保持している方のメッセージを優先的に送信するように、前記メッセージの優先順位を変更する。【選択図】図4
2015053568.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークに、データの通信先を特定する識別子を含むメッセージの送信処理を行うメッセージ送信手段と、
前記メッセージ送信手段による送信前の複数のメッセージに対して優先順位を付与して格納する記憶手段と、
前記記憶手段に格納されたメッセージの中から付与された優先順位に基づいて前記メッセージ送信手段による送信対象を選択する送信メッセージ選択手段と、を備える通信制御装置において、
前記記憶手段に格納されたメッセージの中から前記メッセージ送信手段による送信の遅延が発生しているメッセージを判定する遅延判定手段と、
前記送信検知手段により遅延が発生していると判定されたメッセージの優先順位を遅延が発生していないメッセージよりも上げる優先順位変更手段と、を備える通信制御装置。
【請求項２】
車載ネットワークに、データの通信先を特定する識別子を含むメッセージの送信処理を行うメッセージ送信手段と、
ある車載ネットワーク上で受信したメッセージを他の車載ネットワーク上に送信するゲートウェイ通信手段と、
前記メッセージ送信手段による送信前の複数のメッセージに対して優先順位を付与して格納する記憶手段と、
前記記憶手段に格納されたメッセージの中から付与された優先順位に基づいて前記メッセージ送信手段による送信対象を選択する送信メッセージ選択手段と、を備える通信制御装置において、
前記ある車載ネットワーク上で受信したメッセージと前記記憶手段に格納されたメッセージとの比較に基づき、前記メッセージ送信手段による送信の遅延が発生しているメッセージを判定する遅延判定手段と、
前記送信検知手段により遅延が発生していると判定されたメッセージの優先順位を遅延が発生していないメッセージよりも上げる優先順位変更手段と、を備える通信制御装置。
【請求項３】
請求項１または２いずれか一項に記載の通信制御装置において、
前記遅延判定手段は、前記記憶手段によって格納されたメッセージまたは前記ある車載ネットワーク上で受信したメッセージの中から、重複した識別子を検出することにより、遅延が発生しているメッセージを判定することを特徴とする通信制御装置。
【請求項４】
請求項１または２いずれか一項に記載の通信制御装置において、  前記通信制御装置は、前記送信メッセージ選択手段によって選択されたメッセージを、前記メッセージ送信手段によって送信処理される前に一時的に格納する送信バッファ手段を備え、
前記記憶手段は、前記送信バッファ手段にメッセージを格納した後も当該メッセージを保持し、
前記優先順位変更手段は、前記記憶手段に格納されたメッセージの優先順位を上げたメッセージを前記送信バッファ手段に格納することを特徴とする通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車載用の通信制御装置に関し、特に識別子に応じた優先順位に従ってメッセージを送受信する通信方式を用いる車載用ネットワークに接続され、優先順位の異なる複数のメッセージを送信する通信制御装置に関する。
【背景技術】
【０００２】
車載用ネットワークにおける通信方式としては、CAN通信やLIN通信が一般的である。これらの車載用ネットワークでは、送受信を行う電子コントロールユニット(ECU)は、バスにより電気的に接続されている。CAN通信においては、通信データにIDという識別子を付加してメッセージを構成し、前記IDの数値に応じて優先順位を決定する。IDおよび、送信するECUと受信するECUは、車載用ネットワークの設計時に決定し、各ECUに実装されている。
【０００３】
ECUはメッセージを電気信号に変換してバス上に送信する。各ECUはバス上の電気信号を監視して、通信中のIDを取得し、受信すべきメッセージを特定する。
【０００４】
複数のECUが同一バス上に同時に送信を行う場合は、各ECUから同時にIDを送信するとともに、バス上のIDを判断し、最も優先順位の高いIDのメッセージが送信権利を得るため、そのECUが通信データの送信を行い、その他のユニットは、この優先順位の高いメッセージの通信完了まで待機する。このため、優先順位の高い通信が多い場合、優先順位の低いIDの送信機会は減少する。特に、優先順位が高いメッセージが優先順位が低いメッセージに比較して多く送信されている状況では、優先順位が低いメッセージの送信遅延が起こり、送信遅延が長時間続くとECUが通信不能と判定し、ネットワークの故障と誤判定する可能性がある。
【０００５】
一方、車両上に複数の車載ネットワークが存在する場合、ネットワークを跨いで、直接接続されていないECU間の通信を可能とするために、両方のネットワークに接続されたゲートウェイECUを用いる。ゲートウェイECUは、一方の車載ネットワークから受信したデータを他方の車載ネットワークへ送信する。
【０００６】
特にゲートウェイECUの場合、受信側ネットワークの負荷に比較して送信側ネットワークの負荷が高い状態においては、受信側のネットワークからメッセージを受信する頻度と送信側のネットワークへのメッセージの送信頻度とが均衡せず、メッセージの送信が遅延する可能性がある。設計時に複数の車載用ネットワークおよびゲートウェイについて負荷を動的に考慮することは難しい。
【０００７】
そこで、ECUがゲートウェイ通信を行う際に、通信の遅れを軽減する技術として、特許文献１では、CANネットワークのバス負荷を監視し、ゲートウェイECUの中継処理を調整することが開示されている。
【０００８】
また、特許文献２では、CANネットワークを介したメッセージの送信に失敗した場合に、該メッセージの送信を停止し、高い優先順位の別のメッセージの送信を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2006-287738号公報
【特許文献２】特開2003-115852号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ゲートウェイECUがゲートウェイ通信する際、送信先ネットワーク上で他のECUと送信タイミングが競合すると、送信予定のメッセージの送信可否は、他のECUのメッセージのIDとゲートウェイECUの送信予定メッセージのIDとの優先度で決まる。
【００１１】
ゲートウェイECUが送信予定メッセージが送信できない場合、バスが送信可能状態となるまで待機して、再度送信処理を行う。この間、受信元ネットワークから受信したデータは、ゲートウェイECUの内部メモリに記憶しておき、送信可能となった後に内部メモリから順次読み出して送信する。
【００１２】
送信を待機する状態が続くと、内部メモリに記憶したメッセージがゲートウェイECUから送信されるまでの所要時間が長くなり、メッセージの遅延あるいは間引きが起こる可能性がある。
【００１３】
特許文献1記載の技術を用いる場合、バス負荷を監視するために、バス負荷監視手段は、ネットワーク上の全IDのメッセージについて、通信情報をあらかじめ把握する必要がある。このため、ゲートウェイECUの不揮発性メモリの資源を消費する。また、バス負荷監視手段は、ネットワーク上のメッセージを全て受信して判定を行うため、CPU資源を消費する。
【００１４】
特許文献２記載の技術を用いる場合、高い優先順位のメッセージの遅延を防止することが可能であるが、低い優先順位のメッセージが送信権を得られず、低い優先順位のメッセージの遅延は解消されない。
【００１５】
メッセージの遅延が発生する問題に際しては、IDによる優先度に関わらず、遅延を防止する必要があり、本発明は係る問題に鑑みて発明されたものである
【課題を解決するための手段】
【００１６】
上記課題を解決するため本発明の通信制御装置は、車載ネットワークに、データの通信先を特定する識別子を含むメッセージの送信処理を行うメッセージ送信手段と、前記メッセージ送信手段による送信前の複数のメッセージに対して優先順位を付与して格納する記憶手段と、前記記憶手段に格納されたメッセージの中から付与された優先順位に基づいて前記メッセージ送信手段による送信対象を選択する送信メッセージ選択手段と、を備える通信制御装置において、前記記憶手段に格納されたメッセージの中から前記メッセージ送信手段による送信の遅延が発生しているメッセージを判定する遅延判定手段と、前記送信検知手段により遅延が発生していると判定されたメッセージの優先順位を遅延が発生していないメッセージよりも上げる優先順位変更手段と、を備える。
【発明の効果】
【００１７】
本発明によれば、送信遅延が発生していると判断した場合に、ECUに長時間保持しているメッセージから優先的に送信するため、優先順位を低く設定したメッセージについても、送信遅延を軽減可能である。
【００１８】
また、本発明によれば、バス上の送信権が得られずに待機中の状態で、送信予定のメッセージの優先順位が変更となった場合においても、直ちに最も優先順位の高いメッセージの送信に着手することが可能である。
【図面の簡単な説明】
【００１９】
【図１】車載用ネットワークの構成図である。
【図２】ゲートウェイECUの構成図である。
【図３】送信キューの更新ソフトウェアの手順を表す図である。
【図４】送信キューの更新を表す図である。
【図５】実施例2に関する送信待ちテーブルの更新処理のソフトウェアの手順を表す図である。
【図６】実施例2に関する送信待ちテーブルの更新を表す図である。
【発明を実施するための形態】
【００２０】
以下、図面を用いて本発明の実施例について説明する。
【実施例１】
【００２１】
図１に本発明の一つの実施例を適用する車両構成を示す。車両はネットワーク110とネットワーク120の二つのネットワークを有する。ネットワーク110とネットワーク120はそれぞれ電気的に独立したバス113およびバス123でネットワークのノードである車載ECU111,112,121,122を接続している。
【００２２】
ネットワークプロトコルとしては、CAN通信やLIN通信あるいはFlexRay通信が用いられる。CAN通信においては、通信データにIDという識別子を付加してメッセージを構成し、前記IDの数値に応じて優先順位を決定する。各メッセージの優先順位であるID、送信するECUと受信するECUは、車載用ネットワークの設計時に決定し、各ECUのメモリに格納されている。各ECUはバス上の電気信号を監視して、通信中のIDを取得し、受信すべきメッセージを特定する。
【００２３】
ネットワーク上で複数のECUから同時にメッセージの送信が行われる場合、優先順位が最も高いIDのECUが送信を行い、他のECUはバスが空くまで待機する。すなわち、優先順位の高いIDのデータほど遅延なく通信可能であり、優先順位の低いIDのデータは遅延を起こしやすい。
【００２４】
車載ECU111および車載ECU112はバス113と電気的に接続されており、バス123とは電気的には接続されていない。一方、車載ECU121および車載ECU122はバス123と電気的に接続されており、バス113とは電気的には接続されていない。
【００２５】
ゲートウェイECU100は、バス113およびバス123の両方と電気的に接続されている。このため、ゲートウェイECU100は、たとえばバス113のデータを受信し、バス123に送信することで、車載ECU111から車載ECU122へのデータ通信を可能とする。これが、ゲートウェイECU100が行う、車載ネットワーク110と車載ネットワーク120の間のゲートウェイ通信である。
【００２６】
ゲートウェイ通信を行うためのゲートウェイECU100の構成を図２に示す。図２においては、車載ネットワーク110から車載ネットワーク120へのゲートウェイ通信について示すが、ゲートウェイECU100に車載ネットワーク120から車載ネットワーク110への構成を追加することで、双方向のゲートウェイ通信が可能である。
【００２７】
バス113を介して車載ネットワーク110上のECUから受信したメッセージ220は、受信器205により受信バッファ200へ格納される。メッセージ220は、メッセージ228としてバス123へ送信されるが、車載ネットワーク110と車載ネットワーク120は独立しており、車載ネットワーク120にて設計された送信用IDにメッセージ220のIDを変更する。
【００２８】
ゲートウェイECU100は、各メッセージの車載ネットワーク110のIDと車載ネットワーク120のIDとの関係をROMあるいはRAM上のID変換テーブル210として保有している。ID変換処理202は、受信バッファ202のメッセージ221のIDを、ID変換テーブル210を用いてネットワーク120上の該当IDに変換し、メッセージ222として出力する。たとえば、メッセージ221のIDがID11である場合、変換されてメッセージ222はID23になる。
【００２９】
メッセージ222は、送信待ちテーブル更新処理203のアルゴリズムによって通常送信キュー211に登録され、遅延と判断された場合、通常送信キュー211の遅延しているメッセージが、遅延送信キュー212に登録される。
【００３０】
送信処理204は、送信バッファ201が空の状態の場合に、遅延送信キュー212の先頭のメッセージを送信バッファ201に格納する。遅延送信キュー212が空の場合、通常送信キュー211の先頭のメッセージを送信バッファ201に格納する。
【００３１】
送信器206はバス123に送信バッファ201のIDで送信を試み、他のECUとの優先順位により送信権を取得した場合、送信バッファ201のメッセージを送信して、送信バッファ201をクリアする。
【００３２】
送信完了により、送信処理204は、遅延送信キュー212あるいは通常送信キュー211の該当メッセージを削除する。これにより、該当キューのメッセージの優先順位が一つずつ繰り上げられる。
【００３３】
送信バッファ201が空となっているので、送信処理204が次のメッセージの送信を繰り返す。
【００３４】
遅延が発生していない状態で、送信予定のメッセージ227が送信権を取得できず、バス123への送信を待機している状態で、バス113より新たな受信があり、遅延送信キューが更新された場合、送信処理204は現在の送信をキャンセルし、送信バッファ201を遅延送信キューのメッセージで更新してもよい。この処理により、遅延が発生した場合に直ちに遅延を軽減する動作へ移行し、遅延を軽減することが可能である。
【００３５】
次に、送信待ちテーブル更新処理203のアルゴリズムについて図3に示す。 
処理301は、メッセージ222の送信IDを取得し、処理302にて、メッセージ222の送信IDをキーとして、通常送信キュー211内を検索し、同一IDのメッセージの取得を試みる。
【００３６】
処理303にて同一IDのメッセージの取得可否判定を行い、取得した場合は、処理304へ進む。一方、同一IDのメッセージを取得できない場合、処理306へ進む。
【００３７】
処理304および処理305では、同一IDで既存のメッセージが検出されたため、このゲートウェイECU100にデータが停滞しているため通信の遅延が発生する可能性があると判断して、遅延軽減のための処理を行う。
【００３８】
処理304では通常送信キュー211から同一IDで既存のメッセージを削除し、通常送信キュー211を更新する。そして処理305において、同一IDで既存のメッセージを遅延送信キュー212の末尾に追加する。
【００３９】
処理306では、メッセージ222を通常送信キュー211へ追加する。本実施例においては、受信元ネットワークから受信したメッセージは受信順に送信先ネットワークに送信するため、テーブルとしては、メッセージをテーブルの末尾に追加するキューを採用している。通常送信キュー211と遅延送信キュー212として、IDによる優先順位を採用したテーブルとしても構わない。
【００４０】
図3の送信待ちテーブル更新処理203のアルゴリズムを適用した結果の送信待ちテーブルを時系列で説明した図を図4に示す。
【００４１】
時刻t1において、通常送信キュー211にはメッセージ401、 メッセージ410およびメッセージ411が格納されており、通常送信キュー211の先頭にあるメッセージ401が送信バッファ201にコピーされている。
【００４２】
時刻t2において、メッセージ401が送信される前に、ID変換処理202よりメッセージ402の送信要求が発生した。メッセージ402のIDであるID45を通常送信キュー211から検索する。その結果、メッセージ410が同一IDのため、同一IDが存在すると判定する。メッセージ410の送信動作を優先するために、メッセージ410を通常送信キュー211から削除して遅延送信キュー212へ移動する。一方、メッセージ402は、通常送信キュー211の末尾に追加する。
【００４３】
遅延送信キュー212の先頭が更新されたので、メッセージ401の送信をキャンセルし、送信バッファ201をメッセージ410で更新する。これにより、メッセージ410の送信動作を開始し、バスへの送信権が得られた場合に、メッセージ410を送信する。
【００４４】
次に、時刻t3において、メッセージ410が送信される前に、ID変換処理202よりメッセージ403の送信要求が発生した。メッセージ403のIDであるID28を通常送信キュー211から検索する。その結果、メッセージ411が同一IDのため、同一IDが存在すると判定する。メッセージ411の送信動作を優先するために、メッセージ411を通常送信キュー211から削除して遅延送信キュー212の末尾へ移動する。遅延送信キュー212には既にメッセージ410が登録されており、遅延送信キュー212においては先着順で遅延時間が長いと考慮することができるので、通常送信キュー211からのメッセージの登録は遅延送信キュー212の末尾へ行う。
【００４５】
この場合、遅延送信キュー212の先頭は更新されていないので、送信バッファ201は更新しない。
【００４６】
このように、優先順位の低いIDのメッセージがボトルネックとなり、ゲートウェイ送信が滞り、ゲートウェイECU内で送信待ちメッセージが増加したとしても、本実施例の装置により、遅延が発生したメッセージが優先されるため、遅延を軽減することが可能である。
【００４７】
また、周期が一定ではない通信に対しても、ゲートウェイECU内で送信待ちのメッセージが重複した時点で送信の優先順位が変更されるため、メッセージの遅延を解消することが可能である。
【実施例２】
【００４８】
次に、本発明の第二の実施例を示す。対象とするネットワークは第一の実施例と同様である。第二の実施例のゲートウェイECU100の構成を図5に示す。
第一の実施例との差異は、メッセージの優先順位の管理方法である。
第二の実施例においては、メモリ上のテーブルである送信待ちテーブル511を用いて、メッセージ送信の優先順位を管理する。
送信待ちテーブル511は、送信予定のメッセージについて優先順位、送信IDとメッセージのデータを保持している。
【００４９】
送信待ちテーブル更新処理503は、バス113から新たにメッセージを受信して、メッセージ222を送信する場合に、送信待ちテーブル511を更新する。送信待ちテーブル更新処理503は、まず、メッセージ222と同一のIDのメッセージが送信待ちテーブル511に存在するかを検索する。同一のIDのメッセージがない場合、メッセージ222に最も低い優先順位を付加して、送信待ちテーブル511に格納する。同一のIDのメッセージが存在する場合、例えば送信ID45であるメッセージ2113とすると、メッセージ2113の優先順位を遅延数505の次の優先に設定し、遅延数505をインクリメントする。詳細は図６に示す。
【００５０】
送信処理504は、送信待ちテーブル511のメッセージのうち、優先順位の高い順にメッセージを送信バッファ201にコピーすることで、送信待ち状態とする。送信待ち状態のメッセージは、バス123の送信権を得られた場合に、バス123に送信される。送信が完了し、送信バッファ201が空となったことを検知して、送信処理504は、遅延数505がゼロ以上の場合に、遅延数505をデクリメントする。
【００５１】
次に第二の実施例の送信処理を時系列で示した図が図６である。
【００５２】
時刻t1において、送信の遅延が発生していないとする。送信待ちテーブル511において、優先順位の最も高い優先順位1はメッセージ601であり、優先順位2はメッセージ602、この時点で最も優先順位の低いメッセージは、メッセージ603の状態である。優先順位1のメッセージ601が送信バッファ201に格納され、バス上の送信権が得られると、バス上に送信される。
【００５３】
時刻t2において、ID変換処理202からメッセージ604の送信依頼がある場合、送信待ちテーブル511から、メッセージ604と同一のIDのメッセージを検索する。この場合、メッセージ603が該当する。そこで、メッセージ603の優先順位を優先順位１に設定し、メッセージ601および602の優先順位は順次落として更新する。そして、メッセージ604を最も優先順位の低い優先順位４として、送信待ちテーブル511に格納する。メッセージ603と、メッセージ604が同一のIDであるため、送信遅延と判断し、送信遅延数505をインクリメントする。
【００５４】
送信待ちテーブル511の優先順位１のメッセージが変更となったため、送信バッファは、メッセージ603で更新する。これにより、メッセージ603が優先的に送信されることになる。
【００５５】
次に時刻t3において、ID変換処理202からメッセージ605の送信依頼がある場合、送信待ちテーブル511から、メッセージ605と同一のIDのメッセージを検索する。この場合、メッセージ602が該当する。このとき、送信遅延数505が1なので、メッセージ602の優先順位は優先順位２とする。これにより、最も遅延しているメッセージ603の送信は継続される。
【００５６】
次に時刻t4において、メッセージ603の送信に完了した場合、送信バッファ201が空となり、送信待ちテーブル511からもメッセージ603を削除し、その他のメッセージの優先順位を一つずつ優先的にするように更新する。送信遅延数505が1以上なので、送信完了したメッセージの遅延が解消したことになり、送信遅延数505をデクリメントする。一方、優先順位１のメッセージがメッセージ602に変更となるので、送信バッファ201にはメッセージ602が格納され、送信待機状態となる。
【００５７】
以上の第二の実施例により、送信が遅延しているメッセージについて、ECU内で送信待ちのメッセージが重複した時点で送信の優先順位が変更されるため、送信遅延の解消に効果がある。
【符号の説明】
【００５８】
１１０・・・ネットワーク、１２０・・・ネットワーク、１１１・・・車載ECU、１１２・・・車載ECU、１１３・・・車載ECU、１１４・・・車載ECU、１１３・・・バス、１２３・・・バス、２０３・・・送信待ちテーブル更新処理、２１１・・・通常送信キュー、２１２・・・遅延送信キュー
【図１】
2015053568.tif 000003
【図２】
2015053568.tif 000004
【図３】
2015053568.tif 000005
【図４】
2015053568.tif 000006
【図５】
2015053568.tif 000007
【図６】
2015053568.tif 000008