(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】車載中継装置、中継方法、及びコンピュータプログラム
(51)【国際特許分類】
H04L 12/46 20060101AFI20241111BHJP
H04L 12/28 20060101ALI20241111BHJP
【FI】
H04L12/46 E
H04L12/46 100C
H04L12/28 100A
(21)【出願番号】P 2023017346
(22)【出願日】2023-02-08
【審査請求日】2024-02-15
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000280
【氏名又は名称】弁理士法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】中島 達也
(72)【発明者】
【氏名】宮下 之宏
(72)【発明者】
【氏名】小林 直人
(72)【発明者】
【氏名】浦山 博史
(72)【発明者】
【氏名】松本 真
(72)【発明者】
【氏名】中條 充
(72)【発明者】
【氏名】大武 生祥
(72)【発明者】
【氏名】山崎 康広
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2011-142508(JP,A)
【文献】特開2022-74352(JP,A)
【文献】特開2022-156299(JP,A)
【文献】特開2019-16247(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-69/00
(57)【特許請求の範囲】
【請求項1】
通信フレームの中継処理を実行可能な車載中継装置であって、
前記中継処理に必要な中継テーブルが複数格納される記憶部と、
複数の通信ポートを含み、前記複数の通信ポートにおいてそれぞれ第1通信プロトコルに準拠する第1フレームを送受信する第1通信部と、
第2通信プロトコルに準拠する第2フレームを送受信する第2通信部と、
前記第1フレームと前記第2フレームとに関する前記中継処理を実行する制御部と、を備え、
前記制御部は、
前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行する、車載中継装置。
【請求項2】
前記識別情報は、
前記拡張機器の識別情報であり、
前記制御部は、
前記拡張機器に対する認証処理を実行可能であり、
前記選択処理に用いられる前記拡張機器の識別情報は、
前記認証処理により正規と認められた前記拡張機器の識別情報である、請求項1に記載の車載中継装置。
【請求項3】
前記車載中継装置は、
車両に標準的に構築される既存ネットワークと、前記車両に追加的に構築される拡張ネットワークとを含む車載通信システムにおける、前記拡張ネットワークに属し、
前記制御部は、
前記認証処理により正規と認められた前記拡張機器の識別情報を、前記既存ネットワークに属する他の車載中継装置に通知する、請求項2に記載の車載中継装置。
【請求項4】
前記識別情報は、
所定の拡張対象範囲に含まれる情報であり、
前記制御部は、
前記拡張対象範囲内ではない前記識別情報を含む前記第1フレームを前記中継処理の対象から外す、請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項5】
前記複数の中継テーブルは、
1又は複数の前記拡張機器を所定のトポロジーにて前記車載中継装置に接続する場合の複数種類の追加パターンと一対一で対応するように定義される、請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項6】
前記第1通信プロトコルと前記第2通信プロトコルとが異なる場合には、
前記制御部は、
プロトコル変換を伴う前記中継処理を実行する、請求項1から請求項3のいずれか1項に記載の車載中継装置。
【請求項7】
前記第1通信プロトコルは、
CAN又はCAN-FDであり、
前記第2通信プロトコルは、
イーサネットである、請求項6に記載の車載中継装置。
【請求項8】
前記拡張機器の識別情報は、
CANIDである、請求項7に記載の車載中継装置。
【請求項9】
通信フレームの中継処理を実行可能であり、前記中継処理に必要な中継テーブルが複数格納される記憶部を有する車載中継装置が実行する中継方法であって、
複数の通信ポートのうちの少なくとも1つにおいて、第1通信プロトコルに準拠する第1フレームを送受信するステップと、
第2通信プロトコルに準拠する第2フレームを送受信するステップと、
前記第1フレームと前記第2フレームとに関する前記中継処理を実行するステップと、
前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行するステップと、を含む、中継方法。
【請求項10】
通信フレームの中継処理を実行可能な車載中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記コンピュータを、
前記中継処理に必要な中継テーブルが複数格納される記憶部、
複数の通信ポートを含み、前記複数の通信ポートにおいてそれぞれ第1通信プロトコルに準拠する第1フレームを送受信する第1通信部、
第2通信プロトコルに準拠する第2フレームを送受信する第2通信部、及び、
前記第1フレームと前記第2フレームとに関する前記中継処理を実行する制御部、として機能させ、
前記制御部は、
前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載中継装置、中継方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
特許文献1には、CAN(Control Area Network:登録商標)とイーサネット(登録商標)とのプロトコル変換を伴う通信フレームの中継処理を実行可能な車載中継装置において、通信プロトコルの種別数に効率的に対応するための技術が記載されている。
特許文献2には、CANとイーサネットとのプロトコル変換を伴う通信フレームの中継処理を行う車載中継装置において、CANバスに接続されたECU(Electronic Control Unit)への情報伝達に適した通信フレームを生成するための技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-138263号公報
【文献】特開2021-119724号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の車載中継装置では、CANの通信ポートに対して拡張機器の増設、削減又は接続位置の変更を行う場合、中継テーブルの更新を整備担当者が手動で更新せねばならない。このため、ネットワーク構成の変更に手間がかかるという問題がある。
本開示は、ネットワーク構成の変更を容易に行える車載中継装置等を提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の一態様に係る装置は、通信フレームの中継処理を実行可能な車載中継装置であって、前記中継処理に必要な中継テーブルが複数格納される記憶部と、複数の通信ポートを含み、前記複数の通信ポートにおいてそれぞれ第1通信プロトコルに準拠する第1フレームを送受信する第1通信部と、第2通信プロトコルに準拠する第2フレームを送受信する第2通信部と、前記第1フレームと前記第2フレームとに関する前記中継処理を実行する制御部と、を備え、前記制御部は、前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行する。
【0006】
本開示の一態様に係る方法は、通信フレームの中継処理を実行可能であり、前記中継処理に必要な中継テーブルが複数格納される記憶部を有する車載中継装置が実行する中継方法であって、複数の通信ポートのうちの少なくとも1つにおいて、第1通信プロトコルに準拠する第1フレームを送受信するステップと、第2通信プロトコルに準拠する第2フレームを送受信するステップと、前記第1フレームと前記第2フレームとに関する前記中継処理を実行するステップと、前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行するステップと、を含む。
【0007】
本開示の一態様に係るコンピュータプログラムは、通信フレームの中継処理を実行可能な車載中継装置として、コンピュータを機能させるためのコンピュータプログラムであって、前記コンピュータプログラムは、前記コンピュータを、前記中継処理に必要な中継テーブルが複数格納される記憶部、複数の通信ポートを含み、前記複数の通信ポートにおいてそれぞれ第1通信プロトコルに準拠する第1フレームを送受信する第1通信部、第2通信プロトコルに準拠する第2フレームを送受信する第2通信部、及び、前記第1フレームと前記第2フレームとに関する前記中継処理を実行する制御部、として機能させ、前記制御部は、前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行する。
【発明の効果】
【0008】
本開示によれば、ネットワーク構成の変更を容易に行うことができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、車載通信システムの構成例を示すネットワーク構成図である。
【
図2】
図2は、既存側のゲートウェイの内部構成の一例を示すブロック図である。
【
図3】
図3は、拡張側のゲートウェイの内部構成の一例を示すブロック図である。
【
図4】
図4は、通信フレームの変換処理の一例を示す説明図である。
【
図5】
図5は、既存側の中継テーブルの一例を示す説明図である。
【
図6】
図6は、拡張側の中継テーブルの一例を示す説明図である。
【
図7】
図7は、中継テーブルの格納及び更新方法の従来例を示す説明図である。
【
図8】
図8は、中継テーブルの格納及び更新方法の実施例を示す説明図である。
【
図9】
図9は、既存側における通信フレームの中継処理の一例を示すフローチャートである。
【
図10】
図10は、拡張側における通信フレームの中継処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
<本開示の実施形態の概要>
以下、本開示の実施形態の概要を列記して説明する。
【0011】
(1) 本実施形態に係る装置は、通信フレームの中継処理を実行可能な車載中継装置であって、前記中継処理に必要な中継テーブルが複数格納される記憶部と、複数の通信ポートを含み、前記複数の通信ポートにおいてそれぞれ第1通信プロトコルに準拠する第1フレームを送受信する第1通信部と、第2通信プロトコルに準拠する第2フレームを送受信する第2通信部と、前記第1フレームと前記第2フレームとに関する前記中継処理を実行する制御部と、を備え、前記制御部は、前記複数の通信ポートのうちのいずれかに接続される拡張機器が送信した前記第1フレームに含まれる識別情報に基づいて、前記記憶部に格納される前記複数の中継テーブルの中から、1つの前記中継テーブルを選択する選択処理を実行する。
【0012】
なお、第1フレームと第2フレームとに関する中継処理は、第1フレームと第2フレームとの相互中継を含む。
本実施形態の車載中継装置によれば、制御部が、複数の通信ポートのうちのいずれかに接続される拡張機器が送信した第1フレームに含まれる識別情報に基づいて、記憶部に格納される複数の中継テーブルの中から、1つの中継テーブルを選択する選択処理を実行する。
従って、中継テーブルを手動で更新しなくても、拡張機器の増設、削減又は接続位置の変更に応じた中継テーブルに自動的に更新でき、ネットワーク構成の変更を容易に行うことができる。
【0013】
(2) 本実施形態の車載中継装置において、前記識別情報が、前記拡張機器の識別情報であり、前記制御部が、前記拡張機器に対する認証処理を実行可能である場合には、前記選択処理に用いられる前記拡張機器の識別情報は、前記認証処理により正規と認められた前記拡張機器の識別情報であってもよい。
このようにすれば、不正な拡張機器の識別情報を用いた選択処理が実行されなくなるので、不正な拡張機器による車載通信システムへの侵入を未然に防止することができる。
【0014】
(3) 本実施形態の車載中継装置において、当該車載中継装置が、車両に標準的に構築される既存ネットワークと、前記車両に追加的に構築される拡張ネットワークとを含む車載通信システムにおける、前記拡張ネットワークに属する場合は、前記制御部は、前記認証処理により正規と認められた前記拡張機器の識別情報を、前記既存ネットワークに属する他の車載中継装置に通知してもよい。
このようにすれば、既存ネットワークに属する他の車載中継装置が、通知された拡張機器の識別情報を用いて、中継テーブルの選択処理を実行できるようになる。
【0015】
(4) 本実施形態の車載中継装置において、前記識別情報が、所定の拡張対象範囲に含まれる情報である場合には、前記制御部は、前記拡張対象範囲内ではない識別情報を含む前記第1フレームを前記中継処理の対象から外してもよい。
その理由は、識別情報が拡張対象範囲内ではない第1フレームの送信元は、予め拡張が想定された拡張機器ではないので、記憶部に格納された複数の中継テーブルのうちのどれを使用しても中継処理を行えないからである。
【0016】
(5) 本実施形態の車載中継装置において、前記複数の中継テーブルは、1又は複数の前記拡張機器を所定のトポロジーにて前記車載中継装置に接続する場合の複数種類の追加パターンと一対一で対応するように定義されていてもよい。
このようにすれば、第1通信プロトコルで通信する1又は複数の拡張機器を構成要素とする接続形態(トポロジー)の追加パターンを、車両メーカーなどが所望するパターンに限定することができる。
【0017】
(6) 本実施形態の車載中継装置において、前記第1通信プロトコルと前記第2通信プロトコルとが異なる場合には、前記制御部は、プロトコル変換を伴う前記中継処理を実行してもよい。
この場合、第1通信プロトコルと第2通信プロトコルが異なる場合であっても、第1フレームと第2フレームを適切に相互中継することができる。
【0018】
(7) 本実施形態の車載中継装置において、前記第1通信プロトコルは、CAN又はCAN-FDであり、前記第2通信プロトコルは、イーサネットであってもよい。
この場合、CAN又はCAN-FDの第1フレームとイーサネットの第2フレームについて、プロトコル変換を伴う中継処理を行うことができる。
【0019】
(8) 本実施形態の車載中継装置において、前記拡張機器の識別情報は、CANIDであってもよい。
その理由は、CANIDは既存機器の識別情報として使用されることが多いので、拡張機器の識別情報についてもCANIDを採用して情報を整合させるべきだからである。
【0020】
(9) 本実施形態に係る方法は、上述の(1)~(8)の車載中継装置が実行する中継方法である。従って、本実施形態の中継装置は、上述の(1)~(8)の車載中継装置と同様の作用効果を奏する。
【0021】
(10) 本実施形態に係るコンピュータプログラムは、上述の(1)~(8)の車載中継装置としてコンピュータを機能させるためのコンピュータプログラムである。従って、本実施形態のコンピュータプログラムは、上述の(1)~(8)の車載中継装置と同様の作用効果を奏する。
【0022】
<本発明の実施形態の詳細>
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0023】
〔車載通信システムの構成例〕
図1は、車載通信システム100の構成例を示すネットワーク構成図である。
図1に示すように、本実施形態に係る車載通信システム100は、車両1の内部に構築された車載LAN(Local Area Network)である。車載通信システム100は、ネットワークを構成する通信ノードとして、それぞれ複数のゲートウェイ10,20、スイッチングハブ30、及びECU40,50などを備える。
【0024】
ECU40,50は、車両1内のセンサ又はアクチュエータなどの各種の車載機器を制御する車両用の電子制御ユニットである。
また、ECU40,50は、車載通信システム100を構成する通信ノードであり、通信の観点からは「車載通信装置」の一種であると言える。
【0025】
制御対象に着目すると、ECU40,50の種類には、エンジン制御ECU、トランスミッション制御ECU、パワーステアリング制御ECU、エアコン制御ECU、及びAV(Audio/Visual)系制御ECUなどが含まれる。
ECU40,50は、自身に接続されるセンサ(速度センサ、加速度センサ、温度センサ、及び圧力センサなど)の計測情報をシステムに取り込んだり、計測情報に基づいて、自身に接続される各種のアクチュエータ(電動モータなど)を制御したりする。
【0026】
通信プロトコルに着目すると、車載通信システム100は、「第1通信プロトコル」に準拠する通信を行うECU40と、「第2通信プロトコル」に準拠する通信を行うECU50とが混在するネットワークである。
第1通信プロトコルとしては、例えば、CAN(Control Area Network:登録商標)、CAN-FD(CAN with flexible data rate)、LIN(Local Interconnect Network)、或いはFlexRay(登録商標)などを採用し得る。本実施形態では、第1通信プロトコルは「CAN」であるとする。
【0027】
第2通信プロトコルとしては、第1通信プロトコルと相違する通信プロトコルであれば種類は特に限定されない。
もっとも、本実施形態では、第2通信プロトコルは、第1通信プロトコルよりも伝送速度が高い「イーサネット」であるとする。以下において、イーサネットを「ETH」と略記する場合がある。
【0028】
ECU40は、CAN(第1通信プロトコル)に準拠する通信を行うECUである。
本実施形態では、CANに準拠する通信フレームを「CANフレーム」又は「第1フレーム」といい、CAN通信を行うECUを「C-ECU」という。
ECU50は、ETH(第2通信プロトコル)に準拠する通信を行うECUである。
本実施形態では、ETHに準拠する通信フレームを「イーサネット(ETH)フレーム」又は「第2フレーム」といい、ETH通信を行うECUを「E-ECU」という。
【0029】
C-ECU40は、CANバス60によりゲートウェイ10,20に接続される。CANバス60は、ハイ側とロー側の配線により構成される通信線である。1本のCANバス60には、複数のC-ECU40をライン型で接続できる。
E-ECU50は、LANケーブル70によりゲートウェイ10,20又はスイッチングハブ30に接続される。LANケーブル70は、例えば、100Mbps又は1Gbpsの通信速度を確保できるCAT5以上のカテゴリに対応する通信線である。
【0030】
ゲートウェイ10,20は、異なるCANバス60間のCAN通信の中継機能と、異なる通信プロトコルを採用するECU40,50(本実施形態では「C-ECU40」と「E-ECU50」)間の通信の中継機能とを有する車載中継装置である。
スイッチングハブ30は、例えばイーサネットフレームのL2又はL3レイヤでの中継が可能な車載中継装置である。すなわち、スイッチングハブ30は、第1通信プロトコルのみに準拠する車載中継装置である。
【0031】
図1に示すように、車載通信システム100は、既存ネットワーク110と拡張ネットワーク120を含む。既存ネットワーク110は、車両1に標準的に構築されるネットワークであり、拡張ネットワーク120は、車両1にオプション的に構築されるネットワークである。拡張ネットワーク120は、車両1の整備の際などに増設され得る。
増設のニーズとしては、例えば、車両1に対する安全機能の強化、及び車両1のユーザが所望する新機能の追加などが想定される。
【0032】
図1の例では、既存ネットワーク110は、構成要素となる通信ノードとして、1つの既存側のゲートウェイ10、2つのC-ECU40(40C)、1つのスイッチングハブ30、及び1つのE-ECU50を含む。
もっとも、上記の通信ノードの種類と個数は一例であり、実際の既存ネットワーク110は、図例よりも多数のゲートウェイ10、スイッチングハブ30、及びECU40,50を含み得る。
【0033】
図1の例では、拡張ネットワーク120は、構成要素となる通信ノードとして、1つの拡張側のゲートウェイ20、2つのスイッチングハブ30、2つのC-ECU40(40E)、及び1つのE-ECU50を含む。
上記の通信ノードの種類と個数も一例であり、例えば、スイッチングハブ30を経由せずに、ゲートウェイ20をゲートウェイ10にLANケーブル70で接続したり、拡張側のE-ECU40をゲートウェイ10にLANケーブル70で接続したりしてもよい。
【0034】
上述の通り、車載通信システム100のC-ECU40には、既存ネットワーク110に既に含まれるC-ECU40Cと、拡張ネットワーク120の通信ノードとして今後採用され得るC-ECU40Eが含まれる。
従って、以下の説明において、既存ネットワーク110の構成要素であるC-ECU40Cを「既存機器40C」という場合があり、拡張ネットワーク120の構成要素となり得るC-ECU40Eを「拡張機器40E」という場合がある。
【0035】
〔既存側のゲートウェイの構成例〕
図2は、既存側のゲートウェイ10の内部構成の一例を示すブロック図である。
図2に示すように、既存側のゲートウェイ10は、ETH通信用のフレーム処理部11、マイコン12、及びCAN通信用のトランシーバ13を備える。また、既存側のゲートウェイ10は、CAN用の複数の通信ポートPXi(i=1,2……I)と、ETH用の1つの通信ポートPEとを有する。
【0036】
フレーム処理部11は、第2通信プロトコルに準拠するETHフレーム(第2フレーム)を送受信する「第2通信部」に相当する。
フレーム処理部11は、イーサネットに則った信号処理を実行する1又は複数の集積回路で構成されており、PHY部11AとMAC部11Bを含む。PHY部11Aは、イーサネットに則った信号の変復及び復調を行う集積回路であり、イーサネットの通信ポートPEに対応して設けられる。
【0037】
MAC部11Bは、イーサネットのMAC(Media Access Control)層に関する信号処理を実行する集積回路である。
MAC部11Bは、例えばFPGA(Field Programmable Gate Array)などで構成され、マイコン12及びPHY部11Aにそれぞれ電気的に接続される。
【0038】
マイコン12は、制御部14と記憶部15を備えるマイクロコンピュータである。
制御部14は、1又は複数のCPU(Central Processing Unit)及びRAM(Random Access Memory)を含む演算処理装置である。制御部14は、FPGAなどの他の集積回路が含まれていてもよい。
制御部14は、記憶部15に格納されたコンピュータプログラム16をメインメモリ(RAM)に読み出し、読み出したプログラム16に従って通信の中継に必要となる情報処理を実行する。この情報処理の詳細は後述する。
【0039】
記憶部15は、EEPROM(Electrically Erasable Programmable ROM)及びフラッシュROM(Read Only Memory)などの不揮発性メモリを含む補助記憶装置である。
記憶部15には、コンピュータプログラム16の他、プロトコル変換を伴う通信フレームの中継を行う場合に必要となる、複数の中継テーブルTm(m=1,2……M)を含む中継テーブル群TG1が格納される。中継テーブル群TG1の詳細は後述する。
【0040】
トランシーバ13は、第1通信プロトコルに準拠するCANフレーム(第1フレーム)を送受信する「第1通信部」に相当する。
トランシーバ13は、CANに則った物理層の信号処理を行う送受信機であり、複数のPHY部13Aを含む。PHY部13Aは、CANの通信ポートPXi(j=1,2……N)ごとに設けられた、CANのL1レベルの信号変換を行う集積回路である。
具体的には、PHY部13Aは、CANバス60の差動信号をデジタル信号に復号して制御部14に出力する。逆に、PHY部13Aは、制御部14から入力されたデジタル信号からCANの差動信号を生成して通信ポートPXi(CANバス60)に送出する。
【0041】
マイコン12の制御部14が実行する情報処理には、少なくとも以下の3つの処理が含まれる。
S11:拡張機器40Eの識別情報の取得処理
S12:中継テーブルの選択処理
S13:プロトコルの変換処理
【0042】
取得処理S11は、拡張側のゲートウェイ20に新たに追加された拡張機器(C-ECU)40Eの識別情報(例えばCANID)を取得する処理である。
取得処理S11としては、認証済みの拡張機器40Eの識別情報を含む制御フレームを、外部装置である拡張側のゲートウェイ20から受信する処理が採用される。この場合、受信した制御フレームから識別情報を取り出すことで拡張機器40Eの識別情報を取得できる。上記の制御フレームとしては、例えば、イーサネットOAM(Operations,Administration, and Maintenance)フレームなどを採用し得る。
【0043】
選択処理S12は、記憶部15に格納された中継テーブル群TG1を構成する複数の中継テーブルTm(m=1,2……M)の中から、プロトコル変換を伴う通信フレームの中継処理に用いる1つの中継テーブルTmを選択する処理である。
選択処理S12は、例えば、現時点までにゲートウェイ20から通知されたすべての拡張機器40Eの識別情報(例えばCANID)に基づいて実行される。
【0044】
変換処理S13は、選択処理S12により選択した1つの中継テーブルTmを参照して、CANとETHのプロトコル変換を双方向で実行する処理である。
具体的には、制御部21は、フレーム処理部21から入力されるETHフレームをCANフレームに変換する「第1変換」を行い、変換したCANフレームをトランシーバ13に出力する。
【0045】
この場合、制御部14は、変換後のCANフレームをトランシーバ13に含まれるどのPHY部13Aに出力するか(どの通信ポートPxiに出力するか)を、選択した1つの中継テーブルTmにより決定する。
逆に、制御部14は、いずれかのPHY部23Aから入力されたCANフレームをETHフレームに変換する「第2変換」を行い、変換後のETHフレームをフレーム処理部11に出力する。
【0046】
図4は、マイコン12の制御部14が行う、通信フレームの変換処理S13の一例を示す説明図である。
図4に示すように、ここでは、ETHフレームのペイロードにCANフレームのすべてのデータを格納する手法を採用するものとする。
【0047】
この場合、制御部14は、フレーム処理部11から入力されるETHフレームのペイロードからCANフレームを取り出すことにより、ETHフレームからCANフレームへの「第1変換」を実行する。
また、制御部14は、トランシーバ13から入力されるCANフレームをペイロードに格納したETHフレームを生成することにより、CANフレームからETHフレームへの「第2変換」を実行する。
【0048】
マイコン12の制御部14は、変換後の通信フレームの送信処理を実行する。制御部14による送信処理には、以下の処理が含まれる。
ETH送信:変換後のETHフレームをフレーム処理部11に出力する処理である。
CAN送信:変換後のCANフレームをトランシーバ13に出力する処理である。この場合、CANフレームの出力先(送信ポートPXi)は中継テーブルTmの規定に従う。
【0049】
〔拡張側のゲートウェイの構成例〕
図3は、拡張側のゲートウェイ20の内部構成の一例を示すブロック図である。
図3に示すように、拡張側のゲートウェイ20は、ETH通信用のフレーム処理部21、マイコン22、及びCAN通信用のトランシーバ23を備える。また、拡張側のゲートウェイ20は、CAN用の複数の通信ポートPYj(j=1,2……J)と、ETH用の1つの通信ポートPEとを有する。
【0050】
フレーム処理部21は、第2通信プロトコルに準拠するETHフレーム(第2フレーム)を送受信する「第2通信部」に相当する。
フレーム処理部21は、イーサネットに則った信号処理を実行する1又は複数の集積回路で構成されており、PHY部21AとMAC部21Bを含む。PHY部21Aは、イーサネットに則った信号の変復及び復調を行う集積回路であり、イーサネットの通信ポートPEに対応して設けられる。
【0051】
MAC部21Bは、イーサネットのMAC(Media Access Control)層に関する信号処理を実行する集積回路である。
MAC部21Bは、例えばFPGA(Field Programmable Gate Array)などで構成され、マイコン22及びPHY部21Aにそれぞれ電気的に接続される。
【0052】
マイコン22は、制御部24と記憶部25を備えるマイクロコンピュータである。
制御部24は、1又は複数のCPU(Central Processing Unit)及びRAM(Random Access Memory)を含む演算処理装置である。制御部24は、FPGAなどの他の集積回路が含まれていてもよい。
制御部24は、記憶部25に格納されたコンピュータプログラム26をメインメモリ(RAM)に読み出し、読み出したプログラム26に従って通信の中継に必要となる情報処理を実行する。この情報処理の詳細は後述する。
【0053】
記憶部25は、EEPROM(Electrically Erasable Programmable ROM)及びフラッシュROM(Read Only Memory)などの不揮発性メモリを含む補助記憶装置である。
記憶部25には、コンピュータプログラム26の他、プロトコル変換を伴う通信フレームの中継を行う場合に必要となる、複数の中継テーブルTn(n=1,2……N)を含むが中継テーブル群TG2が格納される。中継テーブル群TG2の詳細は後述する。
【0054】
トランシーバ23は、第1通信プロトコルに準拠するCANフレーム(第1フレーム)を送受信する「第1通信部」に相当する。
トランシーバ23は、CANに則った物理層の信号処理を行う送受信機であり、複数のPHY部23Aを含む。PHY部23Aは、CANの通信ポートPYj(j=1,2……N)ごとに設けられた、CANのL1レベルの信号変換を行う集積回路である。
具体的には、PHY部23Aは、CANバス60の差動信号をデジタル信号に復号して制御部24に出力する。逆に、PHY部23Aは、制御部24から入力されたデジタル信号からCANの差動信号を生成して通信ポートPYj(CANバス60)に送出する。
【0055】
マイコン22の制御部24が実行する情報処理には、少なくとも以下の3つの処理が含まれる。
S21:拡張機器40Eの認証処理
S22:中継テーブルの選択処理
S23:プロトコルの変換処理
【0056】
認証処理S21は、自装置に新たに接続された拡張機器(C-ECU)40Eが正規の通信ノードであるか否かを判定する処理である。
認証処理S21としては、例えば、通信ポートPYjに接続中のCANバス60に新たに追加された拡張機器40Eとの間で行われる、メッセージ認証コードを用いた鍵交換、或いはデジタル署名などを採用し得る。
【0057】
選択処理S22は、記憶部25に格納された中継テーブル群TG2を構成する複数の中継テーブルTn(n=1,2……N)の中から、プロトコル変換を伴う通信フレームの中継処理に用いる1つの中継テーブルTnを選択する処理である。
選択処理S22は、例えば、認証処理S1により正規と認められたすべての拡張機器40Eの識別情報(例えばCANID)に基づいて実行される。
【0058】
変換処理S23は、選択処理S22により選択した1つの中継テーブルTnを参照して、CANとETHのプロトコル変換を双方向で実行する処理である。
具体的には、制御部21は、フレーム処理部21から入力されるETHフレームをCANフレームに変換する「第1変換」を行い、変換したCANフレームをトランシーバ23に出力する。
【0059】
この場合、制御部24は、変換後のCANフレームをトランシーバ23に含まれるどのPHY部23Aに出力するか(どのCANバス60に出力するか)を、選択した1つの中継テーブルTnにより決定する。
逆に、制御部21は、トランシーバ23に含まれるいずれかのPHY部23Aから入力されたCANフレームをETHフレームに変換する「第2変換」を行い、変換後のETHフレームをフレーム処理部21に出力する。
【0060】
図4の変換処理は、制御部24の変換処理S23としても採用され得る。
この場合、制御部24は、フレーム処理部21から入力されるETHフレームのペイロードからCANフレームを取り出すことにより、ETHフレームからCANフレームへの「第1変換」を実行する。
また、制御部24は、トランシーバ23から入力されるCANフレームをペイロードに格納したETHフレームを生成することにより、CANフレームからETHフレームへの「第2変換」を実行する。
【0061】
マイコン22の制御部24は、変換後の通信フレームの送信処理を実行する。制御部24による送信処理には、以下の処理が含まれる。
ETH送信:変換後のETHフレームをフレーム処理部21に出力する処理である。
CAN送信:変換後のCANフレームをトランシーバ23に出力する処理である。この場合、CANフレームの出力先(送信ポートPYj)は中継テーブルTnの規定に従う。
【0062】
〔既存側の中継テーブル群の具体例〕
図5は、既存側の中継テーブル群TG1の一例を示す説明図である。
図5に示すように、既存側の中継テーブルTm(m=1,2……M)は、エントリごとに「中継元」、「中継先」、及び「送信ノード」が定義されるマトリックス形式のデータである。中継元は、通信フレームの受信ポートの種別を意味し、中継先は、通信フレームの送信ポートの種別を意味する。送信ノードは、送信元の識別情報を意味する。
【0063】
本実施形態では、拡張側における拡張機器40Eの増加又は減少を想定して、例えば、以下の複数の規約を含む「情報伝達規約」を採用するものとする。
規約1:既存機器の識別情報(CANID)は、下から3桁目の値を「1」とする。
規約2:拡張機器の識別情報(CANID)は、下から3桁目の値を「2」とする。
規約3:識別情報(CANID)の下から2桁目の値が同値である通信ノード同士が情報交換する。
【0064】
本実施形態では、既存側のゲートウェイ10において、PX1に1つの既存機器(ID=0x110)が接続され、PX2に1つの既存機器(ID=0x120)が接続されているとする。更に、この既存状態から、拡張側のゲートウェイ20に対する拡張機器の追加パターンとして、次の3種類のパターンのトポロジーを想定するものとする。
パターン1:1つの拡張機器(ID=0x210)をPY1に接続する。
パターン2:1つの拡張機器(ID=0x220)をPY2に接続する。
パターン3:1つの拡張機器(ID=0x210)をPY1に接続し、1つの拡張機器(ID=0x220)をPY2に接続する。
【0065】
図5の中継テーブル群TG1のうち、中継テーブルT1は、パターン1に使用されるテーブルである。パターン1の場合、規約3により、ID=0x110の既存機器とID=0x210の拡張機器との間の中継経路(
図5中の破線矢印)を規定できればよい。
このため、中継テーブルT1には、ID=0x110の既存機器からID=0x210の拡張機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ2が含まれる。
【0066】
図5の中継テーブル群TG1のうち、中継テーブルT2は、パターン2に使用されるテーブルである。パターン2の場合、規約3により、ID=0x120の既存機器とID=0x220の拡張機器との間の中継経路(
図5中の破線矢印)を規定できればよい。
このため、中継テーブルT2には、ID=0x120の既存機器からID=0x220の拡張機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ2が含まれる。
【0067】
図5の中継テーブル群TG1のうち、中継テーブルT3は、パターン3に使用されるテーブルである。パターン3の場合、規約3により、ID=0x110の既存機器とID=0x210の拡張機器との間の中継経路(
図5中の破線矢印)と、ID=0x120の既存機器とID=0x220の拡張機器との間の中継経路(
図5中の破線矢印)と、を規定できればよい。
【0068】
このため、中継テーブルT3には、ID=0x110の既存機器からID=0x210の拡張機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ3が含まれる。
また、中継テーブルT3には、ID=0x120の既存機器からID=0x220の拡張機器への通信フレームを中継する場合の送受信ポートを規定するエントリ2と、逆の場合の送受信ポートを規定するエントリ4が含まれる。
【0069】
中継テーブル群TG1に含める中継テーブルTmは、予め想定され得る追加パターンごとに個別に規定され、
図5に例示する3種類には限定されない。
例えば、拡張側において、ID=0x210の拡張機器をPY1ではなくPY2に接続するパターン4を想定する場合は、当該パターン4に対応する中継テーブルT4も中継テーブル群TG1に含められる。
【0070】
追加対象の拡張機器がK(Kは3以上の自然数)個の場合は、k(k=3,4……K)個の拡張機器をPYj(j=1,2……J)に繋げる場合の追加パターンのトポロジーを複数特定し、特定した追加パターンごとに中継テーブルTmを定義すればよい。
このように、複数の中継テーブルTmは、例えば車両メーカーなどのユーザが、1又は複数の拡張機器を所定のトポロジーにてゲートウェイ20の通信ポートPYjに追加する場合の複数種類の追加パターンと一対一で対応するように定義される。
【0071】
〔拡張側の中継テーブル群の具体例〕
図6は、拡張側の中継テーブル群TG2の一例を示す説明図である。
図6の拡張側の中継テーブルTn(n=1,2……N)も、エントリごとに「中継元」、「中継先」、及び「送信ノード」が定義されるマトリックス形式のデータである。中継元は、通信フレームの受信ポートの種別を意味し、中継先は、通信フレームの送信ポートの種別を意味する。送信ノードは、送信元の識別情報を意味する。
【0072】
図6の中継テーブルTnについても、上述の「情報伝達規約」に準拠しており、拡張側の追加パターンとして次の3種類のパターンのトポロジーを想定するものとする。
パターン1:1つの拡張機器(ID=0x210)をPY1に接続する。
パターン2:1つの拡張機器(ID=0x220)をPY2に接続する。
パターン3:1つの拡張機器(ID=0x210)をPY1に接続し、1つの拡張機器(ID=0x220)をPY2に接続する。
【0073】
図6の中継テーブル群TG2のうち、中継テーブルT1は、パターン1に使用されるテーブルである。パターン1の場合、規約3により、ID=0x210の拡張機器とID=0x110の既存機器との間の中継経路(
図6中の破線矢印)を規定できればよい。
このため、中継テーブルT1には、ID=0x210の拡張機器からID=0x110の既存機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ2が含まれる。
【0074】
図6の中継テーブル群TG2のうち、中継テーブルT2は、パターン2に使用されるテーブルである。パターン2の場合、規約3により、ID=0x220の拡張機器とID=0x120の既存機器との間の中継経路(
図6中の破線矢印)を規定できればよい。
このため、中継テーブルT2には、ID=0x220の拡張機器からID=0x120の既存機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ2が含まれる。
【0075】
図6の中継テーブル群TG2のうち、中継テーブルT3は、パターン3に使用されるテーブルである。パターン3の場合、規約3により、ID=0x210の拡張機器とID=0x110の既存機器との間の中継経路(
図6中の破線矢印)と、ID=0x220の拡張機器とID=0x120の既存機器との間の中継経路(
図6中の破線矢印)と、を規定できればよい。
【0076】
このため、中継テーブルT3には、ID=0x210の拡張機器からID=0x110の既存機器への通信フレームを中継する場合の送受信ポートを規定するエントリ1と、逆の場合の送受信ポートを規定するエントリ3が含まれる。
また、中継テーブルT3には、ID=0x220の拡張機器からID=0x120の既存機器への通信フレームを中継する場合の送受信ポートを規定するエントリ2と、逆の場合の送受信ポートを規定するエントリ4が含まれる。
【0077】
中継テーブル群TG2に含める中継テーブルTnも、予め想定され得る追加パターンごとに個別に規定され、
図6に例示する3種類には限定されない。
例えば、拡張側において、ID=0x210の拡張機器をPY1ではなくPY2に接続するパターン4を想定する場合は、当該パターン4に対応する中継テーブルT4も中継テーブル群TG2に含められる。
【0078】
追加対象の拡張機器がK(Kは3以上の自然数)個の場合は、k(k=3,4……K)個の拡張機器をPYj(j=1,2……J)に繋げる場合の追加パターンのトポロジーを複数特定し、特定した追加パターンごとに中継テーブルTnを定義すればよい。
このように、複数の中継テーブルTnも、例えば車両メーカーなどのユーザが、1又は複数の拡張機器を所定のトポロジーにてゲートウェイ20の通信ポートPYjに追加する場合の複数種類の追加パターンと一対一で対応するように定義される。
【0079】
〔従来のゲートウェイの問題点とその解決方法〕
図7は、中継テーブルX,Yの格納及び更新方法の従来例を示す説明図である。
図7に示すように、中継テーブルXは、拡張機器Aのみを中継対象とするように定義されたテーブルであり、中継テーブルYは、拡張機器A及び拡張機器Bを中継対象とするように定義されたテーブルである。
【0080】
社内LANや家庭内LANなどの建物内のLANと異なり、車載LANでは、C-ECUなどの通信ノードの増設、削減又は接続位置の変更が行われる頻度は比較的少ない。
このため、プロトコル変換を伴う中継処理を行う従来のゲートウェイでは、マイコンのメモリには中継テーブルX,Yを1つだけ記憶させる仕様となっている。
【0081】
従って、
図7に示すように、CANバス1に拡張機器Aが接続される「第1形態」から、CANバス2に拡張機器Bが追加的に接続される「第2形態」にする場合、中継テーブルAから中継テーブルBに書き換える処理が必要となる。
かかる中継テーブルA,Bの書き換えは、例えば車両1の整備担当者が、ゲートウェイに管理用端末(例えばノートPC)を接続してコマンドラインなどの監視ツールにより手動で行う必要があり、手間がかかるという問題がある。
【0082】
図8は、中継テーブルX,Y,Zの格納及び更新方法の実施例を示す説明図である。
図8に示すように、中継テーブルXは、拡張機器Aのみを中継対象とするように定義されたテーブルであり、中継テーブルYは、拡張機器A及び拡張機器Bを中継対象とするように定義されたテーブルである。
上述の通り、本実施形態では、中継テーブルX,Yは、他の中継テーブルZとともに中継テーブル群TG1,TG2としてマイコンのメモリに記憶される。
【0083】
従って、
図8に示すように、CANバス1に拡張機器Aが接続される「第1形態」から、CANバス2に拡張機器Bが追加的に接続される「第2形態」にする場合、中継テーブル群TG1,TG2から必要な中継テーブルYを選択すれば足りる。
かかる中継テーブルX,Yの選択処理は、例えば新たに接続された拡張機器Bの識別情報などに基づいてマイコンが自動的に実行できる。
【0084】
このように、本実施形態によれば、想定し得る追加パターンごとの中継テーブルX,Y,Zの集合体である中継テーブル群TG1,TG2がマイコンのメモリに格納され、拡張機器A,Bの識別情報などに応じてマイコンが必要な中継テーブルYを選択するので、中継テーブルX,Y,Zの更新をプラグアンドプレイで自動的に行うことができる。
【0085】
このため、中継テーブルX,Y,Zの書き換えを人手で行わなくても、拡張機器A,Bの増設、削減又は接続位置の変更を行うことができ、ネットワーク構成の変更が容易になるという利点がある。
また、中継テーブルX,Y,Zに従ってCAN送信を行うことにより、ブロードキャストではなく拡張機器A,Bが接続されたCANバスにのみCANフレームを中継するので、バス負荷の低減及びセキュリティの向上に繋がるという利点もある。
【0086】
〔既存側における通信フレームの中継処理〕
図9は、既存側のゲートウェイ10の制御部14が実行する、既存側における通信フレームの中継処理の一例を示すフローチャートである。
図9の中継処理は、中継テーブル群TG1(
図5)を用いて行われる、既存機器(C-ECU)40Cと拡張機器(C-ECU)40Eの間の情報交換に用いる通信フレームの中継処理であり、プロトコル変換が不要なCANバス60間の中継は対象外である。
【0087】
図9に示すように、ゲートウェイ10の制御部14は、受信フレームの有無を監視しており(ステップST11)、受信フレームを検出した場合は、当該受信フレームがCANフレーム又はETHフレームのいずれであるかを判定する(ステップST12)。
【0088】
ステップST12の判定結果が「CAN」である場合は、制御部24は、CANフレームに含まれるCANIDの値が拡張対象範囲内か否かを判定する(ステップST13)。
拡張対象範囲とは、拡張機器40Eにために予め割り当てられたCANIDの数値範囲(例えば、0x100~0x400など)のことである。
【0089】
ステップST13の判定結果が否定的である場合は、制御部14は、ステップST14からステップST18をスキップして、処理をステップST11の前に戻す。
その理由は、CANIDの値が拡張対象範囲外であるCANフレームの送信元は、予め拡張が想定された拡張機器40Eではないので、中継テーブル群TG1に含まれるどの中継テーブルTmを使用しても中継処理を行えないからである。
【0090】
ステップST13の判定結果が肯定的である場合は、制御部24は、CANフレームに含まれるCANIDが、拡張側のゲートウェイ20から既に通知されたIDであるか否かを判定する(ステップST14)。
ステップST14の判定結果が肯定的である場合は、制御部24は、CANフレームがCANからETHへの中継対象フレームであるか否かを判定する(ステップST15)。中継対象フレームとは、現時点で選択中の中継テーブルTmに含まれるCANIDを含むCANフレームのことである。
【0091】
ステップST15の判定結果が否定的である場合は、制御部14は、ステップST16及びステップST17をスキップして、処理をステップST11の前に戻す。
その理由は、現時点の中継テーブルTmに存在しないCANIDの送信元は、不正な送信元からの通信フレームの可能性があるので、中継テーブルTmによる中継処理を行うべきではないからである。
【0092】
ステップST15の判定結果が肯定的である場合は、制御部24は、受信したCANフレームに対してCANからETHへの変換処理を行う(ステップST16)。
上記の変換処理は、受信したCANフレームをETHフレームのペイロードに格納する第2変換(
図4参照)に相当する。
【0093】
次に、制御部14は、変換後のETHフレームの送信処理を実行したあと(ステップST17)、処理をステップST11の前に戻す。上記の送信処理は、変換後のETHフレームをフレーム処理部21に出力する処理である。
ステップST14の判定結果が否定的である場合は、認証済みの新たな拡張機器40EのCANIDが通知された状態であるから、制御部14は、通知されたCANIDに基づいて、中継テーブルTnの選択処理を行う(ステップST18)。
【0094】
上記の選択処理は、これまでに通知されたすべてのCANIDに基づいて行われる。具体的には、ステップST18の選択処理は、例えば次の工程を含む。
工程1:今回通知分を含めて、ゲートウェイ20から通知されたすべての拡張側のCANIDと、下から2桁目の値が共通する既存側のCANIDをメモリから読み出す。
工程2:中継テーブル群TG1の中から、工程1で読み出したCANIDが送信ノードの欄に含まれる中継テーブルTmを、少なくとも1つ抽出する。
【0095】
工程3:工程2により抽出された中継テーブルTmが1つの場合は、抽出した中継テーブルTmを、選択対象の中継テーブルTmと決定する。
工程4:工程2により抽出された中継テーブルTnが複数の場合は、現在動作中の複数のPXiのポート番号が、送信ノードの欄に含まれる複数のポート番号と一致する中継テーブルTmを、選択対象の中継テーブルTmと決定する。
【0096】
ステップST12の判定結果が「ETH」である場合は、制御部24は、現時点の中継テーブルTmを参照して(ステップST19)、受信したETHフレームに対してETHからCANへの変換処理を行う(ステップST20)。
上記の変換処理は、受信したETHフレームのペイロードからCANフレームを取り出す第1変換(
図4参照)に相当する。
【0097】
次に、制御部24は、変換後のCANフレームの送信処理を実行したあと(ステップST21)、処理をステップST11の前に戻す。上記の送信処理には、例えば次の手順が含まれる。
手順1:変換後のCANフレームから読み出したCANIDの値が送信ノードの欄に記されたエントリを、中継テーブルTmから抽出する。
手順2:抽出したエントリの中継先の欄からPXiのポート番号を読み取り、このポート番号に相当するCAN-PHY部13Aに変換後のCANフレームを出力する。
【0098】
〔拡張側における通信フレームの中継処理〕
図10は、拡張側のゲートウェイ20の制御部24が実行する、拡張側における通信フレームの中継処理の一例を示すフローチャートである。
図10の中継処理は、中継テーブル群TG2(
図6)を用いて行われる、既存機器(C-ECU)40Cと拡張機器(C-ECU)40Eとの間の情報交換に用いる通信フレームの中継処理であり、プロトコル変換が不要なCANバス60間の中継は対象外である。
【0099】
図10に示すように、ゲートウェイ20の制御部24は、受信フレームの有無を監視しており(ステップST31)、受信フレームを検出した場合は、当該受信フレームがCANフレーム又はETHフレームのいずれであるかを判定する(ステップST32)。
【0100】
ステップST32の判定結果が「CAN」である場合は、制御部24は、CANフレームに含まれるCANIDの値が拡張対象範囲内か否かを判定する(ステップST33)。
拡張対象範囲とは、拡張機器40Eのために予め割り当てられたCANIDの数値範囲(例えば、0x100~0x400など)のことである。
【0101】
ステップST33の判定結果が否定的である場合は、制御部24は、ステップST34からステップST40をスキップして、処理をステップST31の前に戻す。
その理由は、CANIDの値が拡張対象範囲外であるCANフレームの送信元は、予め拡張が想定された拡張機器40Eではないので、中継テーブル群TG2に含まれるどの中継テーブルTnを使用しても中継処理を行えないからである。
【0102】
ステップST33の判定結果が肯定的である場合は、制御部24は、CANフレームに含まれるCANIDが認証済みか否かを判定する(ステップST34)。
ステップST34の判定結果が肯定的である場合は、制御部24は、CANフレームがCANからETHへの中継対象フレームであるか否かを判定する(ステップST35)。中継対象フレームとは、現時点で選択中の中継テーブルTnに含まれるCANIDを含むCANフレームのことである。
【0103】
ステップST35の判定結果が否定的である場合は、制御部24は、ステップST36及びステップST37をスキップして、処理をステップST31の前に戻す。
その理由は、現時点の中継テーブルTnに存在しないCANIDの送信元は、不正な送信元からの通信フレームの可能性があるので、中継テーブルTnによる中継処理を行うべきではないからである。
【0104】
ステップST35の判定結果が肯定的である場合は、制御部24は、受信したCANフレームに対してCANからETHへの変換処理を行う(ステップST36)。
上記の変換処理は、受信したCANフレームをETHフレームのペイロードに格納する第2変換(
図4参照)に相当する。
【0105】
次に、制御部24は、変換後のETHフレームの送信処理を実行したあと(ステップST37)、処理をステップST31の前に戻す。上記の送信処理は、変換後のETHフレームをフレーム処理部21に出力する処理である。
ステップST34の判定結果が否定的である場合は、制御部24は、未認証である拡張機器40Eとの間で認証処理を実行する(ステップST38)。かかる認証処理の際の情報交換により、制御部24は、新たな拡張機器40EのCANIDを取得する。
【0106】
次に、制御部24は、認証が完了した拡張機器40EのCANIDを用いて、中継テーブルTnの選択処理を行う(ステップST39)。
上記の選択処理は、これまでに認証が完了したすべてのCANIDの値に基づいて行われる。具体的には、ステップST39の選択処理は、例えば次の工程を含む。
【0107】
工程1:今回認証済みの分を含めて、認証が完了したすべてのCANIDをメモリから読み出す。
工程2:中継テーブル群TG2の中から、工程1で読み出したCANIDが送信ノードの欄に含まれる中継テーブルTnを、少なくとも1つ抽出する。
【0108】
工程3:工程2により抽出された中継テーブルTnが1つの場合は、抽出した中継テーブルTnを、選択対象の中継テーブルTnと決定する。
工程4:工程2により抽出された中継テーブルTnが複数の場合は、現在動作中の複数のPYjのポート番号が、送信ノードの欄に含まれる複数のポート番号と一致する中継テーブルTnを、選択対象の中継テーブルTnと決定する。
【0109】
次に、制御部24は、今回認証したCANIDを既存側のゲートウェイ10に通知したあと(ステップST40)、処理をステップST31の前に戻す。
具体的には、制御部24は、認証済みのCANIDを含むゲートウェイ10宛てのイーサネットの制御部フレーム(例えば、イーサネットOAMフレーム)を生成し、生成した制御フレームをフレーム処理部21に出力する。
【0110】
ステップST32の判定結果が「ETH」である場合は、制御部24は、現時点の中継テーブルTnを参照して(ステップST41)、受信したETHフレームに対してETHからCANへの変換処理を行う(ステップST42)。
上記の変換処理は、受信したETHフレームのペイロードからCANフレームを取り出す第1変換(
図4参照)に相当する。
【0111】
次に、制御部24は、変換後のCANフレームの送信処理を実行したあと(ステップST43)、処理をステップST31の前に戻す。上記の送信処理には、例えば次の手順が含まれる。
手順1:変換後のCANフレームから読み出したCANIDの値が送信ノードの欄に記されたエントリを、中継テーブルTnから抽出する。
手順2:抽出したエントリの中継先の欄からPYjのポート番号を読み取り、このポート番号に相当するCAN-PHY部23Aに変換後のCANフレームを出力する。
【0112】
〔第1の変形例〕
上述の実施形態では、中継テーブルTm,Tnの「送信ノード」に用いる識別情報として、CANID(すなわちCANのベースID)を使用しているが、送信ノードの識別情報はこれ以外の識別子であってもよい。
例えば、送信ノードの識別情報は、メーカーによりECUに割り当てられたプロダクトID、メーカーにより製品に割り当てられた通し番号であるシリアル番号など、装置を個別に識別できる情報であればよい。
【0113】
また、プロダクトIDやシリアル番号などを送信ノードの識別情報として採用する場合には、例えばCANの制御領域又は拡張IDを定義領域として採用し得る。
もっとも、既存ネットワーク110においてCANIDが既存機器40Cの識別情報として使用されることが多い。このため、既存側と拡張側とで整合を図る観点から、既存機器40Cと拡張機器40Eの双方の識別情報をCANIDに揃えることが好ましい。
【0114】
〔第2の変形例〕
上述の実施形態において、CANIDを送信ノード(送信元)の識別情報と定義するのではなく、送信対象のデータ種別の識別情報として定義してもよい。
この場合、中継テーブルTm,Tnを「中継元」、「中継先」及び「データ種別」の欄を含むフォーマットとしてもよい。このようにすれば、中継テーブルTm,Tnは、送信対象のデータを中継先のどのCANバス60に送信するかを定義したテーブルとなる。
【0115】
〔第3の変形例〕
上述の実施形態において、第1通信プロトコルと第2通信プロトコルの種別は、CANとETHの組み合わせだけでなく、以下の組み合わせ例であってもよい。
組み合わせ例1:CANとUSB(Universal Serial Bus:USBは登録商標である。)との組み合わせ。この場合、第1通信プロトコルをCANとし第2通信プロトコルをUSBとしてもよいし、その逆であってもよい。
組み合わせ例2:USBとETHの組み合わせ。この場合、第1通信プロトコルをUSBとし第2通信プロトコルをETHとしてもよいし、その逆であってもよい。
【0116】
〔第4の変形例〕
上述の実施形態において、第1通信プロトコルと第2通信プロトコルは、必ずしもCANとETHのような異なる種別である必要はなく、例えば、双方ともCAN、双方ともUSB、及び双方ともETHのように同種のプロトコルであってもよい。
この場合、ゲートウェイ10,20の制御部14,24は、通信フレームの中継に際して通信フレームのプロトコルの変換処理(例えば
図4)を行う必要がなくなる。
【0117】
〔その他の変形例〕
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
【0118】
上述の実施形態において、車載中継装置は、ゲートウェイ10,20と1又は複数のスイッチングハブ30を1つの筐体に収容することによって構成された、複数のイーサネットポートを有する中継装置であってもよい。
【0119】
上述の実施形態では、ゲートウェイ10,20のマイコン22が、プロトコル変換を伴わないCANバス60間の中継処理と、CANとETHとのプロトコル変換を伴う中継処理との双方を実行するが、これらの中継処理を異なるマイコン(集積回路)が分担して実行する構成としてもよい。
【0120】
上述の実施形態において、既存機器40Cと拡張機器40Eは、必ずしもECUである必要はなく、例えば、CAN通信の機能を有するセンサ又はアクチュエータなど、独自にCAN通信を行えるECU以外の車載機器であってもよい。
【符号の説明】
【0121】
1 車両
10 既存側のゲートウェイ(車載中継装置)
11 フレーム処理部(第2通信部)
12 マイコン
13 トランシーバ(第1通信部)
13A PHY部
14 制御部
15 記憶部
16 コンピュータプログラム
20 拡張側のゲートウェイ(車載中継装置)
21 フレーム処理部(第2通信部)
21A PHY部
21B MAC部
22 マイコン
23 トランシーバ(第1通信部)
24 制御部
25 記憶部
26 コンピュータプログラム
30 スイッチングハブ
40 C-ECU(車載通信装置)
40C 既存側のC-ECU(既存機器)
40E 拡張側のC-ECU(拡張機器)
50 E-ECU(車載通信装置)
60 CANバス
70 イーサネットケーブル
100 車載通信システム
110 既存ネットワーク
120 拡張ネットワーク
TG1 中継テーブル群(既存側)
Tm 中継テーブル(既存側)
TG2 中継テーブル群(拡張側)
Tn 中継テーブル(拡張側)
PXi CANの通信ポート(既存側)
PYj CANの通信ポート(拡張側)
PE ETHの通信ポート