(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-04
(45)【発行日】2022-04-12
(54)【発明の名称】車載通信装置、通信プログラム及びメッセージ送信方法
(51)【国際特許分類】
H04L 12/46 20060101AFI20220405BHJP
B60R 16/023 20060101ALI20220405BHJP
【FI】
H04L12/46 100C
B60R16/023 P
(21)【出願番号】P 2018151264
(22)【出願日】2018-08-10
【審査請求日】2020-11-30
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】佐野 佑樹
(72)【発明者】
【氏名】生田 勝也
(72)【発明者】
【氏名】紺谷 剛史
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2006-180205(JP,A)
【文献】特開2016-088242(JP,A)
【文献】特開2014-053741(JP,A)
【文献】特開2018-037974(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/46
B60R 16/023
(57)【特許請求の範囲】
【請求項1】
他の装置へ送信すべきメッセージを、
前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納する処理を行う分類処理部と、
所定順序で
前記送信バッファを選択して、選択した
前記送信バッファに格納されたメッセージを前記他の装置へ送信するメッセージ送信部と
、
前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する更新部と
を備える車載通信装置。
【請求項2】
前記他の装置と複数の通信線を介して接続され、
前記メッセージ送信部は、各通信線について、所定順序で
前記送信バッファを選択してメッセージを送信する、請求項1に記載の車載通信装置。
【請求項3】
前記分類処理部は、他の装置へ送信すべきメッセージを、第1群の送信バッファ又は第2群の送信バッファに格納し、
前記メッセージ送信部は、前記第1群の送信バッファに格納されたメッセージ及び前記第2群の送信バッファに格納されたメッセージを交互に前記他の装置へ送信する、請求項1又は請求項2に記載の車載通信装置。
【請求項4】
前記メッセージは優先度情報を含み、
前記分類処理部は、所定の優先度のメッセージを、前記複数の群に対応付けられていない所定の送信バッファに格納し、
前記メッセージ送信部は、
前記所定の送信バッファを優先して選択し、前記複数の群の分類に関わらず、所定の優先度のメッセージを優先して送信する、請求項1
から請求項
3までのいずれか1つに記載の車載通信装置。
【請求項5】
車載通信装置に、
他の装置へ送信すべきメッセージを、
前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納し、
所定順序で
前記送信バッファを選択して、選択した
前記送信バッファに格納されたメッセージを前記他の装置へ送信
し、
前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する
処理を行わせる通信プログラム。
【請求項6】
他の装置へ送信すべきメッセージを、
前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納し、
所定順序で
前記送信バッファを選択して、選択した
前記送信バッファに格納されたメッセージを前記他の装置へ送信
し、
前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する
メッセージ送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両において通信を行う車載通信装置、この車載通信装置が実行する通信プログラム、及び、この車載通信装置によるメッセージ送信方法に関する。
【背景技術】
【0002】
近年、車両に搭載されるECU(Electronic Control Unit)は増加する傾向にある。各ECUは、他のECUとの間で通信を行って情報を交換し、各々の処理を行っている。このため、車両内のECUの増加に伴って、ECUが通信を行うために設けられる車両内の通信線の量が増加し、車両の重量の増加及び車両内の通信線を配するスペースの減少等が懸念される。
【0003】
特許文献1においては、車両内を複数の領域に分け、領域毎に複数の機能ECUを第1ネットワークにて中継ECUに接続し、複数の中継ECUを第2ネットワークにて接続した構成の車両制御システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら特許文献1に記載の車両制御システムにおいては、異なる領域に設けられた複数の機能ECU間での通信量が増大した場合に、これらの通信を中継する中継ECU間の通信帯域が逼迫し、通信遅延が発生する虞がある。
【0006】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、通信帯域の有効利用又は通信遅延の低減等が期待できる車載通信装置、通信プログラム及びメッセージ送信方法を提供することにある。
【課題を解決するための手段】
【0007】
本態様に係る車載通信装置は、他の装置へ送信すべきメッセージを、前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納する処理を行う分類処理部と、所定順序で前記送信バッファを選択して、選択した前記送信バッファに格納されたメッセージを前記他の装置へ送信するメッセージ送信部と、前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する更新部とを備える。
【0008】
本態様に係る通信プログラムは、車載通信装置に、他の装置へ送信すべきメッセージを、前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納し、所定順序で前記送信バッファを選択して、選択した前記送信バッファに格納されたメッセージを前記他の装置へ送信し、前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する処理を行わせる。
【0009】
本態様に係るメッセージ送信方法は、他の装置へ送信すべきメッセージを、前記メッセージに含まれる識別情報及び前記メッセージの通信負荷の対応情報に基づき、当該通信負荷の大小に応じて複数の群に分類し、分類したメッセージを群に対応する送信バッファに格納し、所定順序で前記送信バッファを選択して、選択した前記送信バッファに格納されたメッセージを前記他の装置へ送信し、前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する。
【0010】
なお、本願は、このような特徴的な処理部を備える車載通信装置として実現することができるだけでなく、かかる特徴的な処理をステップとするメッセージ送信方法として実現したり、かかるステップをコンピュータに実行させるための通信プログラムとして実現したりすることができる。また、車載通信装置の一部又は全部を実現する半導体集積回路として実現したり、車載通信装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【0011】
上記によれば、通信帯域の有効利用又は通信遅延の低減等が期待できる。
【図面の簡単な説明】
【0012】
【
図1】本実施の形態に係る車載通信システムの構成を示すブロック図である。
【
図2】本実施の形態に係るGWの構成を示すブロック図である。
【
図3】負荷テーブルの一構成例を示す模式図である。
【
図4】メッセージの通信負荷の判断基準の一例を説明するための模式図である。
【
図5】本実施の形態に係るGWが行う他のGWへのメッセージ送信処理を説明するための模式図である。
【
図6】本実施の形態に係るGWが行うメッセージの分類処理の手順を示すフローチャートである。
【
図7】本実施の形態に係るGWが行うメッセージの送信処理の手順を示すフローチャートである。
【
図8】変形例1に係るGWが行う負荷テーブルの更新処理の手順を示すフローチャートである。
【
図9】変形例2に係るGWが行う他のGWへのメッセージ送信処理を説明するための模式図である。
【
図10】変形例2に係るGWが行うメッセージの分類処理の手順を示すフローチャートである。
【
図11】変形例2に係るGWが行うメッセージの送信処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
[本発明の実施の形態の説明]
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0014】
(1)本態様に係る車載通信装置は、他の装置へ送信すべきメッセージを、複数の群に分類する処理を行う分類処理部と、所定順序で群を選択して、選択した群に分類されたメッセージを前記他の装置へ送信するメッセージ送信部とを備える。
【0015】
本態様にあっては、車載通信装置が他の装置へ送信すべきメッセージを複数の群に分類する。車載通信装置は、複数の群から所定の順序で1つの群を選択し、選択した群に分類されたメッセージを他の装置へ送信する。メッセージの複数の群への分類を適切に行うことによって、通信帯域の有効利用又は通信遅延の低減等が期待できる。
【0016】
(2)前記他の装置と複数の通信線を介して接続され、前記メッセージ送信部は、各通信線について、所定順序で群を選択してメッセージを送信することが好ましい。
【0017】
本態様にあっては、車載通信装置と1つの他の装置とを複数の通信線を介して接続する。これにより車載通信装置及び他の装置の間の通信帯域を広げることができる。また複数の群に分類されたメッセージについて、群の選択及びメッセージの送信は、各通信線について行う。これにより、広がった通信帯域を有効利用することができる。
【0018】
(3)前記分類処理部は、他の装置へ送信すべきメッセージを、第1群及び第2群に分類し、前記メッセージ送信部は、前記第1群に分類されたメッセージ及び前記第2群に分類されたメッセージを交互に前記他の装置へ送信することが好ましい。
【0019】
本態様にあっては、メッセージを第1群及び第2群の2つに分類する。車載通信装置は、第1群に分類されたメッセージと第2群に分類されたメッセージとを交互に送信する。メッセージの分類を第1群及び第2群の2群とすることで、分類を容易化できる。
【0020】
(4)前記分類処理部は、メッセージの通信負荷の大小に応じて分類を行うことが好ましい。
【0021】
本態様にあっては、他の送信すべきメッセージを、各メッセージの通信負荷の大小に応じて分類する。通信負荷の大小は、例えばメッセージのデータ長及び送信周期等に基づいて判断することができる。これにより車載通信装置は、通信負荷に応じて分類されたメッセージを所定順序で送信することとなり、通信帯域の有効利用が期待できる。
【0022】
(5)前記メッセージは識別情報を含み、前記分類処理部は、前記メッセージの識別情報と通信負荷との対応情報に基づいて分類を行い、前記他の装置へのメッセージの送信履歴に基づいて、前記対応情報を更新する更新部を備えることが好ましい。
【0023】
本態様にあっては、車載通信装置が送受信するメッセージには、メッセージに含まれる情報の種別又はメッセージの送信元等を示す識別情報を含む。車載通信装置は、メッセージの識別情報とこのメッセージに係る通信負荷との対応情報を記憶しておき、この対応情報に基づいて送信すべきメッセージを複数の群に分類する。また車載通信装置は、メッセージ送信の履歴に基づいてこの対応情報を更新する。これにより車載通信装置は、通信状況の変化などに対応して分類を行うことができる。
【0024】
(6)前記メッセージは優先度情報を含み、前記メッセージ送信部は、前記複数の群の分類に関わらず、所定の優先度のメッセージを優先して送信することが好ましい。
【0025】
本態様にあっては、車載通信装置が送受信するメッセージには、このメッセージの優先度を示す優先度情報を含む。なお優先度情報は、上記の識別情報と兼ねたものであってもよい。車載通信装置は、複数の群の分類に関わらず、所定の優先度のメッセージを優先して送信する。これにより、優先して送信すべきメッセージが遅延することを防止できる。
【0026】
(7)本態様に係る通信プログラムは、車載通信装置に、他の装置へ送信すべきメッセージを、複数の群に分類し、所定順序で群を選択して、選択した群に分類されたメッセージを前記他の装置へ送信する処理を行わせる。
【0027】
本態様にあっては、態様(1)と同様に、通信帯域の有効利用又は通信遅延の低減等が期待できる。
【0028】
(8)本態様に係るメッセージ送信方法は、他の装置へ送信すべきメッセージを、複数の群に分類し、所定順序で群を選択して、選択した群に分類されたメッセージを前記他の装置へ送信する。
【0029】
本態様にあっては、態様(1)と同様に、通信帯域の有効利用又は通信遅延の低減等が期待できる。
【0030】
[本発明の実施形態の詳細]
本発明の実施形態に係る車載通信装置の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【0031】
<システム構成>
図1は、本実施の形態に係る車載通信システムの構成を示すブロック図である。実施の形態1に係る車載通信システム1は、車両100に複数のECU3と、複数のGW(GateWay)10とを備え、複数のECU3及びGW10が通信線5,6を介してメッセージの送受信を行うシステムである。一例として
図1には、車両100にGW10が2つ搭載され、2つのGW10が3つの通信線6を介して接続され、各GW10に3つの通信線5が接続され、各通信線に3つのECU3が接続された車載通信システム1の構成が示されている。以下の説明において2つのGW10を区別する必要がある場合には、
図1に示すように一方をGW10aとし、他方をGW10bとして、異なる符号を付して区別する。3つの通信線6についても同様に、必要に応じて各通信線を6a,6b,6cとして区別する。なお車載通信システム1に含まれるECU3の数、GCW10の数、通信線5,6の数、装置の接続態様及びネットワーク構成等は、図示のものに限らない。
【0032】
車両100に搭載されたECU3は、例えば車両100のエンジンの動作を制御するECU、ドアのロック/アンロックを制御するECU、ライトの点灯/消灯を制御するECU、エアバッグの動作を制御するECU、及び、ABS(Antilock Brake System)の動作を制御するECU等の種々のECUが含まれ得る。各ECU3は、車両100に配された通信線5のいずれかに接続され、通信線5及びGW10を介して他のECU3との間でメッセージの送受信を行うことができる。
【0033】
各GW10は、複数の通信線5が接続されており、通信線5を介して複数のECU3との間でメッセージの送受信を行うことができる。ECU3が送信したメッセージを受信したGW10は、受信したメッセージに付されたIDに基づいて中継の要否を判断し、中継が必要なメッセージを受信元とは異なる通信線5から送信する。このためGW10は、メッセージに付されるIDと、このメッセージの送信先となる通信線5との対応関係を記憶した送信先マップを有している。
【0034】
車載通信システム1では、一方のGW10aに接続されたECU3から他方のGW10bに接続されたECU3へメッセージを送信することが可能である。この場合、ECU3からのメッセージを受信したGW10aは、このメッセージに付されたIDに基づいて他方のGW10bへ中継すべきと判断し、このメッセージを通信線6から出力することでGW10bへ送信する。通信線6を介してGW10aからのメッセージを受信したGW10bは、受信したメッセージに付されたIDに基づいて中継先の通信線5がいずれであるかを判断し、このメッセージを中継先の通信線5から送信する。GW10bからGW10aへメッセージを送信する場合も同様である。
【0035】
また実施の形態1に係る車載通信システム1では、2つのGW10が3つの通信線6を介して接続されている。3つの通信線6は同じ通信規格に従うものであり、例えばCAN(Controller Area Network)、イーサネット(登録商標)又はFlexRay等の通信規格が採用され得る。また本実施の形態においては、いずれの通信線6を用いてGW10が通信を行った場合であっても、その通信速度は同じであるものとする。
【0036】
GW10が他のGW10へメッセージを送信する場合には、3つの通信線6の中からいずれか1つの通信線6が選択され、選択された通信線6からこのメッセージが送信される。本実施の形態に係るGW10は、他のGW10へ送信すべきメッセージを、そのメッセージの通信負荷に応じて、通信負荷が大きい第1群と通信負荷が小さい第2群とに分類する。GW10は、各通信線6について、通信負荷が大きいメッセージと通信負荷が小さいメッセージとを交互に送信する。
【0037】
<装置構成>
図2は、本実施の形態に係るGW10の構成を示すブロック図である。なお、本実施の形態に係る車載通信システム1が備える2つのGW10は、略同じ構成であるため、
図2には一方のGW10aのみ詳細な構成を図示し、他方のGW10bは詳細な構成の図示を省略している。本実施の形態に係るGW10は、処理部(プロセッサ)11、記憶部(ストレージ)12、通信部(トランシーバ)13,14、接続部(コネクタ)15,16及び通信バッファ17等を備えて構成されている。
【0038】
処理部11は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部11は、記憶部12に記憶されたプログラムを読み出して実行することにより、種々の処理を行うことができる。本実施の形態において処理部11は、記憶部12に記憶された通信プログラム12aを読み出して実行することにより、通信線5間のメッセージを中継する処理、他のGW10へ送信すべきメッセージを分類する処理、及び、分類したメッセージを他のGW10へ送信する処理等を行う。
【0039】
記憶部12は、例えばフラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部12は、処理部11が実行する各種のプログラム、及び、処理部11の処理に必要な各種のデータを記憶する。本実施の形態において記憶部12は、処理部11が実行する通信プログラム12aと、処理部11が他のGW10への送信メッセージを分類する際に用いる負荷テーブル12bとを記憶している。なお通信プログラム12aは、例えばGW10の製造段階において記憶部12に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをGW10が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体99に記録されたプログラムをGW10が読み出して記憶部12に記憶してもよく、また例えば記録媒体99に記録されたものを書込装置が読み出してGW10の記憶部12に書き込んでもよい。通信プログラム12aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
【0040】
図3は、負荷テーブル12bの一構成例を示す模式図である。本実施の形態に係るGW10が記憶部12に記憶する負荷テーブル12bは、GW10が送受信し得るメッセージに付されるIDと、このメッセージの通信負荷とが対応付けられたテーブルである。本実施の形態においてメッセージの通信負荷は、”大”、”中”及び”小”の3段階で示されるものとするが、これに限るものではなく、例えば”大”及び”小”の2段階であってもよく、4段階以上であってもよい。また、負荷テーブル12bは後述のメッセージの分類処理に用いられるものであり、この分類処理では通信負荷に応じてメッセージを第1群及び第2群の2つに分類する。このため、負荷テーブル12bには、メッセージのIDに対する通信負荷を記憶するのではなく、メッセージのIDに対する分類先(即ち、第1群又は第2群)を記憶してもよい。負荷テーブル12bは、例えばGW10、車載通信システム1又は車両100等の設計段階において予め作成され、GW10の製造工程において記憶部12に書き込まれる。
【0041】
図4は、メッセージの通信負荷の判断基準の一例を説明するための模式図である。負荷テーブル12bは、
図4に示す判断基準に基づいて、GW10又は車載通信システム1の設計者などが予め作成したものである。本実施の形態においては、メッセージのデータ長と、メッセージの送信周期とに基づいて、このメッセージの通信負荷を3段階で判断する。メッセージのデータ長については、例えば予め定められたXバイトなどの閾値と比較することによって、”長”又は”短”のいずれかに判断される。メッセージの送信周期については、例えば予め定められたYミリ秒などの閾値と比較することによって、”長”又は”短”のいずれかに判断される。本実施の形態においては、データ長が短く且つ送信周期が長いメッセージは通信負荷が小さいと判断され、データ長が長く且つ送信周期が短いメッセージは通信負荷が大きいと判断される。これ以外、即ちデータ長が短く且つ送信周期が短いメッセージと、データ長が長く且つ送信周期が長いメッセージとは、通信負荷が中程度と判断される。
【0042】
接続部15,16は、通信線5,6を着脱可能に接続するためのものであり、いわゆるコネクタである。接続部15,16は、接続される通信線5,6の形状及び規格等に適した構成とされる。なお
図2においては、ECU3との通信を行う通信線5を接続するための3つの接続部15と、他のGW10との通信を行うための通信線6を接続するための3つの接続部16とを別符号を付して図示している。しかしGW10及びECU3の通信と、2つのGW10の間の通信とが同じ通信規格であり、通信線5,6が同じ規格のものである場合には、実質的に接続部15,16は同じものであってよい。
【0043】
通信部13,14は、接続部15,16に接続された通信線5,6を介したメッセージの送受信に関する処理を行う。通信部13,14は、例えば通信ICを用いて構成され得る。通信部13,14は、接続部15,16に接続された通信線5,6の電位を周期的にサンプリングして取得することにより、通信線5,6上の電気信号をデジタルデータに変換し、このデジタルデータを受信メッセージとして処理部11へ与える。また通信部13,14は、処理部11からデジタルデータとして与えられたメッセージを電気信号に変換し、変換した電気信号を接続部15,16に接続された通信線5,6へ出力することによって、メッセージを送信する。なお
図2においては、ECU3との通信を行う3つの通信部13と、他のGW10との通信を行う3つの通信部14とを別符号を付して図示している。しかし、GW10とECU3間の通信と、2つのGW10の間の通信とが同じ通信規格である場合には、実質的に通信部13,14は同じものであってよい。
【0044】
通信バッファ17は、例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等のデータ書換可能なメモリ素子を用いて構成されている。通信バッファ17は、ECU3又は他のGW10から受信したメッセージを一時的に記憶する。本実施の形態に係るGW10においては、通信バッファ17に第1バッファ及び第2バッファの2つのバッファが設けられ、他のGW10へ送信するメッセージは分類結果に応じていずれかのバッファに格納される。
【0045】
また本実施の形態に係るGW10は、記憶部12に記憶された通信プログラム12aを処理部11が読み出して実行することにより、中継処理部11a、分類処理部11b及び送信処理部11c等が処理部11にソフトウェア的な機能ブロックとして実現される。中継処理部11aは、通信部13が受信したECU3からのメッセージを、他のECU3へ中継する処理を行う。中継処理部11aは、通信部13にて受信されたメッセージに付されたIDを取得して送信先マップを参照し、送信先マップにてIDに対応付けられた送信先を調べる。中継処理部11aは、送信先マップにて指定された送信先の通信部13へメッセージを与え、通信部13に通信線5へのメッセージ送信を行わせる。また中継処理部11aは、送信先マップにて指定された送信先が他のGW10である場合、他のGW10へ送信すべきメッセージを分類処理部11bへ与える。
【0046】
分類処理部11bは、中継処理部11aから他のGW10へ送信すべきメッセージを与えられた場合に、メッセージに付されたIDと、記憶部12に記憶された負荷テーブル12bとに基づいて、このメッセージを通信負荷が大きい第1群又は通信負荷が小さい第2群のいずれかに分類する処理を行う。分類処理部11bは、通信負荷が大きいメッセージを第1群に分類し、通信負荷が小さいメッセージを第2群に分類する。また分類処理部11bは、通信負荷が中程度のメッセージについては、第1群又は第2群に対して適宜に分類すればよい。分類処理部11bは、例えば通信負荷が中程度のメッセージを交互に第1群又は第2群に分類してもよく、また例えば通信負荷が中程度のメッセージをランダムに第1群又は第2群に分類してもよく、これ以外の方法で分類してもよい。分類処理部11bは、第1群に分類したメッセージを通信バッファ17の第1バッファに格納し、第2群に分類したメッセージを通信バッファ17の第2バッファに格納する。なお、第1バッファ及び第2バッファは、FIFO(First In First Out)のバッファである。
【0047】
送信処理部11cは、分類処理部11bにより分類された他のGW10へ送信すべきメッセージを、通信バッファ17の第1バッファ及び第2バッファから取得して通信部14へ与えることにより、メッセージを送信する処理を行う。本実施の形態において送信処理部11cは、第1バッファ及び第2バッファからメッセージを交互に取得して、通信部14へ与える。通信部14は、処理部11から与えられたメッセージを、自身に対応する接続部16に接続された通信線6へ出力することによって、他のGW10へメッセージを送信する。
【0048】
なお
図2においては、送信処理部11cが1つ図示されているが、GW10の処理部11には他のGW10との通信を行う通信部14と同じ数の送信処理部11cが設けられる。即ち、本実施の形態においては3つの送信処理部11cが処理部11に設けられる。3つの送信処理部11cは、互いに独立して並列的に上記の処理を行う。各送信処理部11cは、第1バッファ及び第2バッファからメッセージを取得し、自身に対応付けられた通信部14へ取得したメッセージを与えることによりメッセージを送信する。
【0049】
<メッセージ送信処理>
図5は、本実施の形態に係るGW10が行う他のGW10へのメッセージ送信処理を説明するための模式図である。本実施の形態に係るGW10は、通信線5を介して接続されたECU3からのメッセージを受信し、このメッセージを他のECU3へ中継する。このときにGW10は、メッセージを中継すべきECU3が他のGW10に接続されている場合、このメッセージを他のGW10へ送信する。GW10の分類処理部11bは、他のGW10へ送信すべきメッセージに付されたIDと、記憶部12に記憶された負荷テーブル12bとに基づいて、このメッセージを通信負荷が大きい第1群又は通信負荷が小さい第2群のいずれかに分類する。分類処理部11bは、第1群に分類したメッセージを通信バッファ17の第1バッファ17aに格納し、第2群に分類したメッセージを第2バッファ17bに格納する。
【0050】
GW10の3つの通信部14に対応付けて設けられた3つの送信処理部11cは、第1バッファ17a及び第2バッファ17bに格納されたメッセージを取得して対応する通信部14へそれぞれ与えることにより、他のGW10へのメッセージ送信を行う。このときに各送信処理部11cは、第1バッファ17a及び第2バッファ17bから交互にメッセージを取得する。3つの送信処理部11cによる第1バッファ17a及び第2バッファ17bからのメッセージの取得は、非同期に、並列的に且つ排他的に行われる。なお、第1バッファ17a及び第2バッファ17bのいずれか一方にメッセージが全く格納されていない場合には、送信処理部11cは、メッセージが格納されたバッファから連続的にメッセージを取得してよい。
【0051】
これにより各通信部14は、第1バッファ17aに格納された通信負荷が大きい第1群のメッセージと、第2バッファ17bに格納された通信負荷が小さい第2群のメッセージとを交互に他のGW10へ送信することとなる。
【0052】
図6は、本実施の形態に係るGW10が行うメッセージの分類処理の手順を示すフローチャートである。本実施の形態に係るGW10の処理部11の分類処理部11bは、他のGW10へ送信すべきメッセージの有無を判定する(ステップS1)。他のGW10へ送信すべきメッセージが存在しない場合(S1:NO)、分類処理部11bは、他のGW10へ送信すべきメッセージが与えられるまで待機する。他のGW10へ送信すべきメッセージが存在する場合(S1:YES)、分類処理部11bは、このメッセージに含まれるIDを取得する(ステップS2)。分類処理部11bは、取得したIDを基に、記憶部12に記憶された負荷テーブル12bを参照する(ステップS3)。
【0053】
分類処理部11bは、負荷テーブル12bの参照結果に基づいて、このメッセージの通信負荷が大きいか否かを判定する(ステップS4)。通信負荷が大きい場合(S4:YES)、分類処理部11bは、このメッセージを第1群に分類し、第1群に対応する第1バッファ17aに格納して(ステップS5)、ステップS1へ処理を戻す。通信負荷が大きくない場合(S4:NO)、分類処理部11bは、このメッセージの通信負荷が小さいか否かを判定する(ステップS6)。通信負荷が小さい場合(S6:YES)、分類処理部11bは、このメッセージを第2群に分類し、第2群に対応する第2バッファ17bに格納して(ステップS7)、ステップS1へ処理を戻す。
【0054】
このメッセージの通信負荷が小さくない場合(S6:NO)、即ち通信負荷が中程度の場合、分類処理部11bは、このメッセージを第1バッファ17a又は第2バッファ17bのいずれかに、交互に格納して(ステップS8)、ステップS1へ処理を戻す。ステップS8において分類処理部11bは、1つ前に扱ったメッセージを第1バッファ17aに格納していた場合には今回のメッセージを第2バッファ17bに格納し、1つ前に扱ったメッセージを第2バッファ17bに格納していた場合には今回のメッセージを第1バッファ17aに格納する。ここで”1つ前に扱ったメッセージ”は、通信負荷が中程度のメッセージのみでなく、通信負荷が大きいメッセージ及び小さいメッセージを含む。ただし、”1つ前に扱ったメッセージ”を、通信負荷が中程度のメッセージのみとしてもよい。
【0055】
図7は、本実施の形態に係るGW10が行うメッセージの送信処理の手順を示すフローチャートである。なお本フローチャートは、GW10の3つの通信部14に対応して設けられる3つの送信処理部11cがそれぞれ個別に行う処理である。3つの送信処理部11cは、本処理を並列的に実行する。本実施の形態に係るGW10の送信処理部11cは、第1バッファ17aにメッセージが格納されているか否かを判定する(ステップS11)。第1バッファ17aにメッセージが格納されている場合(S11:YES)、送信処理部11cは、第1バッファ17aからこのメッセージを取得する(ステップS12)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS13)、ステップS14へ処理を進める。また第1バッファ17aにメッセージが格納されていない場合(S11:NO)、送信処理部11cは、ステップS14へ処理を進める。
【0056】
次いで送信処理部11cは、第2バッファ17bにメッセージが格納されているか否かを判定する(ステップS14)。第2バッファ17bにメッセージが格納されている場合(S14:YES)、送信処理部11cは、第2バッファ17bからこのメッセージを取得する(ステップS15)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS16)、ステップS11へ処理を戻す。また第2バッファ17bにメッセージが格納されていない場合(S14:NO)、送信処理部11cは、ステップS11へ処理を戻す。
【0057】
<まとめ>
以上の構成の本実施の形態に係るGW10は、他のGW10へ送信すべきメッセージを第1群及び第2群の2つに分類する。GW10は、第1群に分類されたメッセージと、第2群に分類されたメッセージとを交互に他のGW10へ送信する。第1群及び第2群の分類を適切に行うことによって、2つのGW10間の通信帯域の有効利用又は通信遅延の低減等が期待できる。
【0058】
また本実施の形態に係る車載通信システム1では、2つのGW10を3つの通信線6を介して接続する。これにより2つのGW10間の通信帯域を広げることができる。また第1群に分類されたメッセージ及び第2群に分類されたメッセージの交互送信は、各通信線について行う。これにより、通信負荷を分散することができ、通信帯域を有効利用することができる。
【0059】
また本実施の形態に係る車載通信システム1にて送受信されるメッセージには、メッセージに含まれる情報の種別又はメッセージの送信元等を示す識別情報が含まれている。本実施の形態に係るGW10は、メッセージのIDとこのメッセージに係る通信負荷との対応情報を記憶部12に負荷テーブル12bとして記憶している。GW10は、メッセージのIDと記憶部12の負荷テーブル12bとに基づいて、他のGW10へ送信すべきメッセージを第1群及び第2群に分類する。これにより、GW10によるメッセージの分類を、負荷テーブル12bにより容易に設定することができる。
【0060】
なお本実施の形態においては、車載通信装置として車両100に搭載されるGW10を例に説明を行ったが、車載通信装置はGW10に限らない。例えばECU3に同様のメッセージの分類及び送信の機能を搭載してもよい。車載通信装置はGW10及びECU3以外の装置であってもよい。また、2つのGW10を3つの通信線6を介して接続する構成としたが、これに限るものではなく、2つのGW10を2つ以下又は4つ以上の通信線6を介して接続してもよい。また車両100に2つのGW10を搭載する構成としたが、これに限るものではなく、車両100に1つ又は3つ以上のGW10を搭載してもよい。
【0061】
また負荷テーブル12bには、メッセージの通信負荷を大中小の3段階で設定する構成としたが、これに限るものではない。負荷テーブル12bには、メッセージの通信負荷を大小の2段階で設定してもよく、4段階以上で設定してもよい。またGW10はメッセージを第1群及び第2群の2つに分類する構成としたが、3つ以上に分類する構成であってもよい。例えば、GW10はメッセージを通信負荷の大中小に応じて第1群~第3群に分類して第1バッファ~第3バッファへ格納し、第1バッファ→第2バッファ→第3バッファ→第1バッファ…のような所定の順番でメッセージを取得して送信する構成とすることができる。更には、GW10がメッセージを第1群~第n群のn個に分類して第1バッファ~第nバッファへ格納してもよい。GW10は、例えば第1バッファ→第2バッファ→…→第nバッファ→第1バッファ…のように、n個の群から所定順序で1つの群を選択し、選択した群に分類されたメッセージをバッファから取得して送信する構成とすることができる。
【0062】
(変形例1)
変形例1に係るGW10は、記憶部12に記憶された負荷テーブル12bを定期的に更新する処理を行う。変形例1に係るGW10は、メッセージを送信する都度、このメッセージのIDとメッセージ長及び送信周期とを対応付けて履歴情報として記憶部12に記憶して蓄積する。なおメッセージの送信周期は、例えば処理部11の計時機能を用いて、同じIDを有するメッセージの前回の送信から今回の送信までの時間を計時することによって取得できる。メッセージのメッセージ長は、例えばバイト数又はビット数等として記憶される。
【0063】
変形例1に係るGW10は、所定の更新タイミングに至った場合、記憶部12に蓄積した履歴情報に基づいて、負荷テーブル12bを更新する処理を行う。GW10は更新処理を、例えば1日又は1ヶ月等の所定の期間毎に行ってもよく、また例えば車両100のイグニッションスイッチがオン状態に切り替えられた場合などに行ってもよく、また例えば履歴情報の蓄積量が閾値を超えた場合などに行ってもよく、これら以外のタイミングで行ってもよい。GW10は、蓄積された履歴情報に基づいて、メッセージのID毎にメッセージ長及び送信周期を算出し、
図4に示した判定基準に従ってメッセージの通信負荷を判断する。GW10は、この判断結果に応じて負荷テーブル12bの各IDに対する通信負荷の設定を更新する。このため変形例1に係るGW10は、
図4の判定基準を記憶部12に記憶している。
【0064】
図8は、変形例1に係るGW10が行う負荷テーブルの更新処理の手順を示すフローチャートである。変形例1に係るGW10の処理部11は、いずれかの通信部14にてメッセージの送信が行われたか否かを判定する(ステップS21)。いずれかの通信部14にてメッセージの送信が行われた場合(S21:YES)、処理部11は、送信されたメッセージのID、メッセージ長及び送信周期を履歴情報として記憶部12に記憶し(ステップS22)、ステップS21へ処理を戻す。
【0065】
いずれの通信部14でもメッセージの送信が行われていない場合(S21:NO)、処理部11は、負荷テーブル12bを更新するタイミングに至ったか否かを判定する(ステップS23)。更新タイミングに至っていない場合(S23:NO)、処理部11は、ステップS21へ処理を戻す。更新タイミングに至った場合(S23:YES)、処理部11は、記憶部12に記憶された履歴情報を読み出す(ステップS24)。処理部11は、読み出した履歴情報に基づいて、メッセージのID毎にメッセージ長及び送信周期の平均値を算出する(ステップS25)。なおID毎にメッセージ長が不変に定められている場合には、メッセージ長の平均値を算出しなくてもよい。
【0066】
次いで処理部11は、ステップS25にて算出したメッセージ長及び送信周期と、記憶部12に記憶した判定基準とに基づいて、メッセージのID毎に通信負荷を判定する(ステップS26)。処理部11は、各IDについて判定した通信負荷に応じて、記憶部12に記憶された負荷テーブル12bを更新する(ステップS27)。その後、処理部11は、記憶部12に記憶された履歴情報を消去して(ステップS28)、ステップS21へ処理を戻す。
【0067】
以上の構成の変形例1に係るGW10は、メッセージ送信の履歴情報を蓄積し、所定の更新タイミングで履歴情報に基づく負荷テーブル12bの更新処理を行う。これによりGW10は、車載通信システム1に新たなECU3が追加された場合など、通信状況の変化が発生した場合にこの変化に対応したメッセージの分類を行うことが可能となる。
【0068】
(変形例2)
変形例2に係るGW10は、優先度を考慮したメッセージ送信を行う。例えば変形例2に係るGW10は、メッセージに付されるIDを、このメッセージの優先度を示す情報として扱う。変形例2に係るメッセージに付されるIDは、その値が小さいほど優先度が高く、値が大きいほど優先度が低いことを示すものとする。変形例2に係るGW10は、優先度が所定の閾値より高いメッセージを優先的に他のGW10へ送信する。
【0069】
図9は、変形例2に係るGW10が行う他のGW10へのメッセージ送信処理を説明するための模式図である。なお
図9においては、簡略化のための通信部14を1つのみ図示しているが、GW10は複数の通信部14を備えていてよい。変形例2に係るGW10の分類処理部11bは、他のGW10へ送信すべきメッセージについて、まず閾値より優先度が高いメッセージを優先メッセージと分類し、これ以外のメッセージを通信負荷に応じて第1群及び第2群に分類する。また変形例2に係るGW10の通信バッファ17には、第1バッファ17a及び第2バッファ17bの他に、優先メッセージを格納するための優先バッファ17cが設けられている。分類処理部11bは、優先メッセージに分類したメッセージを優先バッファ17cに格納する。また分類処理部11bは、優先メッセージ以外のメッセージについては、分類結果に基づいて第1バッファ17a又は第2バッファ17bに格納する。
【0070】
変形例2に係るGW10の送信処理部11cは、まず優先バッファ17cにメッセージが格納されているか否かを調べ、メッセージが格納されていればこのメッセージを取得して通信部14へ与え、優先メッセージを他のGW10へ送信する。優先バッファ17cにメッセージが格納されていない場合、送信処理部11cは、第1バッファ17a又は第2バッファ17bからメッセージを取得して通信部14へ与える。このときに送信処理部11cは、第1バッファ17a及び第2バッファ17bから交互にメッセージを取得する。
【0071】
これにより通信部14は、優先バッファ17cに格納された優先度が高いメッセージを、優先的に他のGW10へ送信することとなる。また通信部14は、優先度が低いメッセージについては、第1バッファ17aに格納された通信負荷が大きい第1群のメッセージと、第2バッファ17bに格納された通信負荷が小さい第2群のメッセージとを交互に他のGW10へ送信することとなる。
【0072】
図10は、変形例2に係るGW10が行うメッセージの分類処理の手順を示すフローチャートである。変形例2に係るGW10の処理部11の分類処理部11bは、他のGW10へ送信すべきメッセージの有無を判定する(ステップS31)。他のGW10へ送信すべきメッセージが存在しない場合(S31:NO)、分類処理部11bは、他のGW10へ送信すべきメッセージが与えられるまで待機する。他のGW10へ送信すべきメッセージが存在する場合(S31:YES)、分類処理部11bは、このメッセージに含まれるIDを取得する(ステップS32)。
【0073】
分類処理部11bは、ステップS32にて取得したID、即ち優先度と所定の閾値とを比較することによって、このメッセージが高優先度のメッセージであるか否かを判定する(ステップS33)。高優先度のメッセージである場合(S33:YES)、分類処理部11bは、このメッセージを優先メッセージに分類し、優先バッファ17cに格納して(ステップS34)、ステップS31へ処理を戻す。
【0074】
このメッセージが高優先度のメッセージではない場合(S33:NO)、分類処理部11bは、ステップS32にて取得したIDを基に、記憶部12に記憶された負荷テーブル12bを参照する(ステップS35)。分類処理部11bは、負荷テーブル12bの参照結果に基づいて、このメッセージの通信負荷が大きいか否かを判定する(ステップS36)。通信負荷が大きい場合(S36:YES)、分類処理部11bは、このメッセージを第1群に分類し、第1群に対応する第1バッファ17aに格納して(ステップS37)、ステップS31へ処理を戻す。通信負荷が大きくない場合(S36:NO)、分類処理部11bは、このメッセージの通信負荷が小さいか否かを判定する(ステップS38)。通信負荷が小さい場合(S38:YES)、分類処理部11bは、このメッセージを第2群に分類し、第2群に対応する第2バッファ17bに格納して(ステップS39)、ステップS31へ処理を戻す。このメッセージの通信負荷が小さくない場合(S38:NO)、即ち通信負荷が中程度の場合、分類処理部11bは、このメッセージを第1バッファ17a又は第2バッファ17bのいずれかに、交互に格納して(ステップS40)、ステップS31へ処理を戻す。
【0075】
図11は、変形例2に係るGW10が行うメッセージの送信処理の手順を示すフローチャートである。変形例2に係るGW10の送信処理部11cは、優先バッファ17cにメッセージが格納されているか否かを判定する(ステップS51)。優先バッファ17cにメッセージが格納されている場合(S51:YES)、送信処理部11cは、優先バッファ17cからこのメッセージを取得する(ステップS52)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS53)、ステップS51へ処理を戻す。優先バッファ17cにメッセージが格納されていない場合(S51:NO)、送信処理部11cは、ステップS54へ処理を進める。
【0076】
次いで送信処理部11cは、第1バッファ17aにメッセージが格納されているか否かを判定する(ステップS54)。第1バッファ17aにメッセージが格納されている場合(S54:YES)、送信処理部11cは、第1バッファ17aからこのメッセージを取得する(ステップS55)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS56)、ステップS57へ処理を進める。また第1バッファ17aにメッセージが格納されていない場合(S54:NO)、送信処理部11cは、ステップS57へ処理を進める。
【0077】
次いで送信処理部11cは、優先バッファ17cにメッセージが格納されているか否かを判定する(ステップS57)。優先バッファ17cにメッセージが格納されている場合(S57:YES)、送信処理部11cは、優先バッファ17cからこのメッセージを取得する(ステップS58)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS59)、ステップS57へ処理を戻す。優先バッファ17cにメッセージが格納されていない場合(S57:NO)、送信処理部11cは、ステップS60へ処理を進める。
【0078】
次いで送信処理部11cは、第2バッファ17bにメッセージが格納されているか否かを判定する(ステップS60)。第2バッファ17bにメッセージが格納されている場合(S60:YES)、送信処理部11cは、第2バッファ17bからこのメッセージを取得する(ステップS61)。送信処理部11cは、取得したメッセージを通信部14へ与えることにより、このメッセージを他のGW10へ送信して(ステップS62)、ステップS51へ処理を戻す。また第2バッファ17bにメッセージが格納されていない場合(S60:NO)、送信処理部11cは、ステップS51へ処理を戻す。
【0079】
以上の構成の変形例2に係る車載通信システム1で送受信されるメッセージには、このメッセージの優先度を示すIDが付されている。変形例2に係るGW10は、優先度が所定の閾値より高いメッセージを、第1群及び第2群に分類したメッセージよりも優先して他のGW10へ送信する。これにより、優先して送信すべきメッセージに遅延が生じることを防止することができる。
【0080】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0081】
1 車載通信システム
3 ECU
5 通信線
6,6a,6b,6c 通信線
10,10a,10b GW
11 処理部(更新部)
11a 中継処理部
11b 分類処理部
11c 送信処理部(メッセージ送信部)
12 記憶部
12a 通信プログラム
12b 負荷テーブル
13 通信部
14 通信部
15 接続部
16 接続部
17 通信バッファ
17a 第1バッファ
17b 第2バッファ
17c 優先バッファ
99 記録媒体
100 車両