(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023038577
(43)【公開日】2023-03-17
(54)【発明の名称】車載中継装置、車載中継方法および車載中継プログラム
(51)【国際特許分類】
H04L 12/28 20060101AFI20230310BHJP
【FI】
H04L12/28 200M
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021145380
(22)【出願日】2021-09-07
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】小林 拓也
(72)【発明者】
【氏名】宮下 之宏
(72)【発明者】
【氏名】小林 直人
(72)【発明者】
【氏名】中島 伸広
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA08
5K033BA06
5K033DA01
5K033DB19
5K033DB20
(57)【要約】
【課題】車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させる。
【解決手段】車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、前記受信部により受信された前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のICとを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
車載装置からフレームを受信する受信部と、
前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、
前記受信部により受信された前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のICとを備える、車載中継装置。
【請求項2】
前記第2のICは、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知し、
前記第1のICは、前記第2のICから通知された前記検知結果に基づいて、前記不正フレームの前記中継処理を停止する、請求項1に記載の車載中継装置。
【請求項3】
前記第1のICは、プロセッサであり、
前記第2のICは、PLD(Programmable Logic Device)から構成される回路を有する、請求項1または請求項2に記載の車載中継装置。
【請求項4】
前記第2のICは、FPGA(Field Programmable Gate Array)から構成される回路を有する、請求項3に記載の車載中継装置。
【請求項5】
前記第1のICは、前記受信部により受信された前記フレームを取得して前記中継処理を行い、
前記第2のICは、前記第1のICによる前記フレームの取得が完了する前に前記検知処理を行う、請求項1から請求項4のいずれか1項に記載の車載中継装置。
【請求項6】
前記車載中継装置は、さらに、
複数の通信ポートを備え、
前記第1のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された複数の前記フレームの前記中継処理を行い、
前記第2のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された前記複数のフレームを監視する、請求項1から請求項5のいずれか1項に記載の車載中継装置。
【請求項7】
前記第2のICは、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知した場合、前記第1のICにおいて前記不正フレームの前記中継処理が停止されたか否かを確認する、請求項2に記載の車載中継装置。
【請求項8】
前記受信部は、CAN(Controller Area Network)またはCAN FD(CAN with Flexible Data rate)の規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、
前記第2のICは、前記受信部から受ける前記フレームのID(Identifier)を取得した時点において、前記検知処理を開始する、請求項1から請求項7のいずれか1項に記載の車載中継装置。
【請求項9】
前記受信部は、CANまたはCAN FDの規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、
前記第2のICは、前記受信部から受ける前記フレームのDLC(Data Length Code)を取得した時点において、前記検知処理を開始する、請求項1から請求項7のいずれか1項に記載の車載中継装置。
【請求項10】
第1のICおよび第2のICを備える車載中継装置における車載中継方法であって、
車載装置からフレームを受信するステップと、
前記第1のICが、前記フレームの中継処理を行うステップと、
前記第2のICが、前記フレームを監視することにより不正フレームを検知するステップとを含む、車載中継方法。
【請求項11】
車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、
コンピュータを、
受信した前記フレームの中継処理を行う第1のICと、
受信した前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のIC、
として機能させるための、車載中継プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載中継装置、車載中継方法および車載中継プログラムに関する。
【背景技術】
【0002】
従来、車載ネットワークにおいて中継処理を行う中継装置が開発されている。たとえば、特許文献1(特開2007-166302号公報)には、以下のような車載ネットワーク中継装置が開示されている。すなわち、車載ネットワーク中継装置は、複数のネットワークを備えると共に、通信フレームの最初の情報領域に該通信フレームの送信先を特定可能なIDが配置される通信プロトコルに従って、前記各ネットワークに接続された電子装置が通信を行う車載通信システムに用いられ、異なるネットワーク間で転送されるべき通信フレームを中継する車載ネットワーク中継装置であって、中継元のネットワークに接続された電子装置から該ネットワークへ送出された通信フレームを受信して、その通信フレームの各ビットを順次出力する受信手段と、前記受信手段から出力される通信フレームの各ビットを順次格納するバッファと、前記バッファと並行して動作し、前記受信手段から出力される通信フレームにおける前記IDに基づいて、当該通信フレームを中継すべき中継先のネットワーク(以下、中継先ネットワークという)を決定する中継先決定手段と、前記中継先決定手段により中継先ネットワークが決定されると、その決定された中継先ネットワークにデータを送信するための送信手段へ、送信対象として、前記バッファに格納されている各ビットを先頭のビットから順に供給する中継転送手段と、を備えている。
【0003】
また、車載ネットワークのセキュリティ性を向上させるために、車載ネットワークにおいて送信された不正フレームを検知する技術が開発されている。たとえば、特許文献2(特開2017-123639号公報)には、以下のような監視電子制御ユニットが開示されている。すなわち、監視電子制御ユニットは、バスを介して通信を行う複数の電子制御ユニットを備える車載ネットワークシステムにおいて前記バスに接続された監視電子制御ユニットであって、第1識別子を有するフレームと、第1識別子とは異なる識別子を有するフレームとの内容の関係についての条件である第1条件を示す不正検知ルール情報を保持する不正検知ルール保持部と、前記バスからフレームを逐次受信する受信部と、前記受信部により前記バスから受信されたフレームの集合が、前記不正検知ルール情報が示す前記第1条件を満たすか否かを判定する不正判定部とを備える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-166302号公報
【特許文献2】特開2017-123639号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、車載中継装置において不正フレームを検知する処理および中継処理を行う場合、車載中継装置における処理負荷が増大し、通信遅延が生じる場合がある。
【0006】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることが可能な車載中継装置、車載中継方法および車載中継プログラムを提供することである。
【課題を解決するための手段】
【0007】
本開示の車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のIC(Integrated Circuit)と、前記受信部により受信された前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のICとを備える。
【0008】
本開示の車載中継方法は、第1のICおよび第2のICを備える車載中継装置における車載中継方法であって、車載装置からフレームを受信するステップと、前記第1のICが、前記フレームの中継処理を行うステップと、前記第2のICが、前記フレームを監視することにより不正フレームを検知するステップとを含む。
【0009】
本開示の車載中継プログラムは、車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、受信した前記フレームの中継処理を行う第1のICと、受信した前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のIC、として機能させるためのプログラムである。
【0010】
本開示の一態様は、このような特徴的な処理部を備える車載中継装置として実現され得るだけでなく、車載中継装置の一部または全部を実現する半導体集積回路として実現され得たり、車載中継装置を含む車載通信システムとして実現され得る。
【発明の効果】
【0011】
本開示によれば、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
【
図2】
図2は、本開示の実施の形態に係る車載通信システムにおける車載ECUにより送信されるCANフレームの一例を示す図である。
【
図3】
図3は、本開示の実施の形態に係る車載中継装置の構成を示す図である。
【
図4】
図4は、比較例に係る車載通信システムにおける中継処理のタイミングチャートを示す図である。
【
図5】
図5は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
【
図6】
図6は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
【
図7】
図7は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
【
図8】
図8は、本開示の実施の形態に係る車載中継装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
【
図9】
図9は、本開示の実施の形態に係る車載中継装置が不正フレームの中継処理の停止の確認を行う際の動作手順の一例を定めたフローチャートである。
【
図10】
図10は、本開示の実施の形態に係る車載中継装置が中継処理を行う際の動作手順の一例を定めたフローチャートである。
【
図11】
図11は、本開示の実施の形態の変形例に係る車載通信システムの構成を示す図である。
【
図12】
図12は、本開示の実施の形態の変形例に係る車載中継装置の構成を示す図である。
【
図13】
図13は、本開示の実施の形態の変形例に係る車載通信システムの構成を示す図である。
【
図14】
図14は、本開示の実施の形態の変形例に係る車載中継装置の構成を示す図である。
【発明を実施するための形態】
【0013】
最初に、本開示の実施形態の内容を列記して説明する。
【0014】
(1)本開示の実施の形態に係る車載中継装置は、車載装置からフレームを受信する受信部と、前記受信部により受信された前記フレームの中継処理を行う第1のICと、前記受信部により受信された前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のICとを備える。
【0015】
このように、本開示の車載中継装置は、中継処理を行う第1のICとは別に、検知処理を行う第2のICを備える構成により、第1のICにおいて中継処理および検知処理を行う構成と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。したがって、本開示の車載中継装置は、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0016】
(2)前記第2のICは、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知し、前記第1のICは、前記第2のICから通知された前記検知結果に基づいて、前記不正フレームの前記中継処理を停止する構成であってもよい。
【0017】
このような構成により、本開示の車載中継装置は、中継先の車載装置による不正フレームの受信を防止することができるので、セキュリティ性をより向上させることができる。
【0018】
(3)前記第1のICは、プロセッサであり、前記第2のICは、PLD(Programmable Logic Device)から構成される回路を有してもよい。
【0019】
このような構成により、本開示の車載中継装置の製造者またはユーザは、中継処理を行う既存のプロセッサにより構成される車載中継装置に当該PLDを加えることより、高性能なプロセッサにアップグレードすることなく、セキュリティ性を向上させた車載中継装置を実現することができる。
【0020】
(4)前記第2のICは、FPGA(Field Programmable Gate Array)から構成される回路を有してもよい。
【0021】
このような構成により、本開示の車載中継装置の製造者またはユーザは、第2のICにより行われる検知処理の内容をより柔軟に変更することができる。
【0022】
(5)前記第1のICは、前記受信部により受信された前記フレームを取得して前記中継処理を行い、前記第2のICは、前記第1のICによる前記フレームの取得が完了する前に前記検知処理を行う構成であってもよい。
【0023】
このような構成により、本開示の車載中継装置は、検知処理を行うことに起因して発生する中継遅延時間をより短くすることができる。
【0024】
(6)前記車載中継装置は、さらに、複数の通信ポートを備え、前記第1のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された複数の前記フレームの前記中継処理を行い、前記第2のICは、前記受信部により前記複数の通信ポート経由でそれぞれ受信された前記複数のフレームを監視する構成であってもよい。
【0025】
このような構成により、本開示の車載中継装置は、中継処理の対象が広範で中継処理の処理負荷が大きい場合においても、通信遅延を許容可能なレベルに抑制しながらセキュリティ性を向上させることができる。
【0026】
(7)前記第2のICは、前記不正フレームを検知したことを示す検知結果を前記第1のICへ通知した場合、前記第1のICにおいて前記不正フレームの前記中継処理が停止されたか否かを確認する構成であってもよい。
【0027】
このような構成により、本開示の車載中継装置は、何らかの要因により不正フレームの中継処理が停止されなかった場合において、不正フレームの中継処理が行われたことを検知し、たとえば、不正フレームの中継処理が行われたことをログとして記録したり、車載中継装置の外部の装置にアラートを送信したりすることができる。
【0028】
(8)前記受信部は、CAN(Controller Area Network)またはCAN FD(CAN with Flexible Data rate)の規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、前記第2のICは、前記受信部から受ける前記フレームのIDを取得した時点において、前記検知処理を開始してもよい
【0029】
このような構成により、本開示の車載中継装置は、フレームのEOF(End Of Frame)を受信する前に検知処理を開始することができるので、検知処理を行うことに起因して発生する中継遅延時間をより短くすることができる。また、たとえば第1のICが第2のICから検知結果を受信する場合において第1のICが当該検知結果の受信処理に要する時間は、検知処理に要する時間よりも短い。したがって、本開示の車載中継装置は、第1のICにおいて検知処理を行う構成と比べて、中継遅延時間の発生を抑制しながら、第1のICにおいて、検知結果に基づいて不正フレームの破棄等を行うことができる。
【0030】
(9)前記受信部は、CANまたはCAN FDの規格に従う前記フレームを受信し、受信した前記フレームを前記第2のICへ出力し、前記第2のICは、前記受信部から受ける前記フレームのDLC(Data Length Code)を取得した時点において、前記検知処理を開始してもよい。
【0031】
このような構成により、本開示の車載中継装置は、フレームのEOFを受信する前に検知処理を開始することができるので、検知処理を行うことに起因して発生する中継遅延時間をより短くすることができる。また、たとえば第1のICが第2のICから検知結果を受信する場合において第1のICが当該検知結果の受信処理に要する時間は、検知処理に要する時間よりも短い。したがって、本開示の車載中継装置は、第1のICにおいて検知処理を行う構成と比べて、中継遅延時間の発生を抑制しながら、第1のICにおいて、検知結果に基づいて不正フレームの破棄等を行うことができる。
【0032】
(10)本開示の実施の形態に係る車載中継方法は、第1のICおよび第2のICを備える車載中継装置における車載中継方法であって、車載装置からフレームを受信するステップと、前記第1のICが、前記フレームの中継処理を行うステップと、前記第2のICが、前記フレームを監視することにより不正フレームを検知するステップとを含む。
【0033】
このように、本開示の車載中継方法は、中継処理を行う第1のICとは別に、検知処理を行う第2のICを用いる車載中継方法により、第1のICにおいて中継処理および検知処理を行う車載中継方法と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。したがって、本開示の車載中継方法は、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0034】
(11)本開示の実施の形態に係る車載中継プログラムは、車載装置からフレームを受信する車載中継装置において用いられる車載中継プログラムであって、受信した前記フレームの中継処理を行う第1のICと、受信した前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のIC、として機能させるためのプログラムである。
【0035】
このように、本開示の車載中継プログラムは、中継処理を行う第1のICとは別に、検知処理を行う第2のICを備える構成により、第1のICにおいて中継処理および検知処理を行う構成と比べて、車載中継装置における処理負荷を分散し、第1のICの処理負荷を低減することができる。したがって、本開示の車載中継プログラムは、車載ネットワークにおける通信遅延を抑制しながらセキュリティ性を向上させることができる。
【0036】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0037】
[構成および基本動作]
<車載通信システム>
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
図1を参照して、車載通信システム301は、車載中継装置101と、複数の車載ECU(Electronic Control Unit)111Aと、複数の車載ECU111Bとを備える。車載ECU111A,111Bは、車載装置の一例である。
【0038】
複数の車載ECU111Aは、CAN(登録商標)の規格に従うバス1Aを介して車載中継装置101に接続される。複数の車載ECU111Bは、CANの規格に従うバス1Bを介して車載中継装置101に接続される。
【0039】
車載ECU111A,111Bは、CANの規格に従うフレームであるCANフレームの送受信を行う。
【0040】
図2は、本開示の実施の形態に係る車載通信システムにおける車載ECUにより送信されるCANフレームの一例を示す図である。
図2を参照して、CANフレームは、SOF(Start Of Frame)フィールドと、IDフィールドと、DLCフィールドと、データフィールド(以下、DATフィールドとも称する)と、CRC(Cyclic Redundancy Check)フィールドと、ACKフィールドと、EOFフィールドとをこの順に有する。
【0041】
車載ECU111Aは、定期的または不定期に、他の車載ECU111Aおよび車載ECU111Bへ送信すべきデータがDATフィールドに格納されたCANフレームを生成し、生成したCANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0042】
また、車載ECU111Bは、定期的または不定期に、車載ECU111Aおよび他の車載ECU111Bへ送信すべきデータがDATフィールドに格納されたCANフレームを生成し、生成したCANフレームをバス1B経由で他の車載ECU111Bおよび車載中継装置101へ送信する。
【0043】
車載中継装置101は、バス1A経由で車載ECU111Aから受信したCANフレームを車載ECU111Bへ中継することが可能である。また、車載中継装置101は、バス1B経由で車載ECU111Bから受信したCANフレームを車載ECU111Aへ中継することが可能である。
【0044】
[車載中継装置]
図3は、本開示の実施の形態に係る車載中継装置の構成を示す図である。
図3を参照して、車載中継装置101は、複数の通信ポート10と、通信部20と、中継用IC30と、検知用IC40とを備える。通信部20は、受信部の一例である。中継用IC30は、第1のICの一例である。検知用IC40は、第2のICの一例である。たとえば、通信部20、中継用IC30および検知用IC40は、基板の導電パターンを介して互いに接続されている。
【0045】
一例として、車載中継装置101は、通信ポート10である通信ポート10A,10Bを備える。通信ポート10Aには、バス1Aが接続されている。通信ポート10Bには、バス1Bが接続されている。
【0046】
通信部20は、CANトランシーバ21A,21Bを含む。以下、CANトランシーバ21A,21Bの各々をCANトランシーバ21とも称する。
【0047】
中継用IC30は、CANコントローラ31A,31Bと、中継部32と、記憶部33とを含む。記憶部33は、たとえば不揮発性メモリである。以下、CANコントローラ31A,31Bの各々をCANコントローラ31とも称する。CANコントローラ31は、汎用のCANコントローラであり、CANフレームの先頭のSOFフィールドから末尾のEOFフィールドまでの各フィールドのデータを受信してから当該CANフレームを中継部32へ出力する。たとえば、中継用IC30は、プロセッサである。一例として、中継用IC30は、マイクロコントローラである。
【0048】
検知用IC40は、CANコントローラ41A,41Bと、検知部42と、確認部43と、記憶部44とを含む。記憶部44は、たとえば不揮発性メモリである。以下、CANコントローラ41A,41Bの各々をCANコントローラ41とも称する。CANコントローラ41は、カスタム品であり、CANフレームの受信途中までで取得した、当該CANフレームに格納されている情報を取得して検知部42へ出力することが可能である。たとえば、検知用IC40は、PLDから構成される回路を有する。より詳細には、検知用IC40は、FPGA、ASIC(Application Specific Integrated Circuit)またはCPLD(Complex Programmable Logic Device)から構成される回路を有する。
【0049】
通信部20は、車載ECU111A,111BからCANフレームを受信する。より詳細には、CANトランシーバ21Aは、通信ポート10A経由で車載ECU111AからCANフレームを受信する。CANトランシーバ21Aは、受信したCANフレームを中継用IC30および検知用IC40へ出力する。また、CANトランシーバ21Bは、通信ポート10B経由で車載ECU111BからCANフレームを受信する。CANトランシーバ21Bは、受信したCANフレームを中継用IC30および検知用IC40へ出力する。
【0050】
たとえば、CANトランシーバ21は、受信したCANフレームを中継用IC30および検知用IC40へ出力する。すなわち、CANフレームは、CANトランシーバ21から中継用IC30および検知用IC40へ並行して出力される。
【0051】
(中継処理)
中継用IC30は、通信部20により受信されたCANフレームの中継処理を行う。たとえば、中継用IC30は、通信部20により複数の通信ポート10経由でそれぞれ受信された複数のCANフレームの中継処理を行う。より詳細には、中継用IC30は、通信部20により通信ポート10A経由で受信されたCANフレームの中継処理と、通信部20により通信ポート10B経由で受信されたCANフレームの中継処理とを行う。
【0052】
中継用IC30は、通信部20により受信されたCANフレームを取得して中継処理を行う。
【0053】
より詳細には、CANコントローラ31Aは、通信部20におけるCANトランシーバ21Aにより受信されたCANフレームを取得する。具体的には、CANコントローラ31Aは、CANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、CANコントローラ31Aは、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0054】
中継部32は、CANコントローラ31AからCANフレームを受けて、受けたCANフレームの内容を確認する受信確認処理を行う。具体的には、中継部32は、受信確認処理において、たとえばCRCフィールドに格納された情報を用いて、中継対象のCANフレームが正常に受信されたか否かを確認する。
【0055】
そして、中継部32は、受信確認処理が完了すると、中継対象のCANフレームの中継処理を行う。具体的には、中継部32は、CANコントローラ31Aから受けた中継対象のCANフレームをCANコントローラ31Bへ出力する。
【0056】
CANコントローラ31Bは、中継部32からCANフレームを受けて、受けたCANフレームを通信部20および検知用IC40へ出力する。
【0057】
通信部20におけるCANトランシーバ21Bは、CANコントローラ31BからCANフレームを受けて、受けたCANフレームを通信ポート10Bおよびバス1B経由で車載ECU111Bへ送信する。
【0058】
また、CANコントローラ31Bは、通信部20におけるCANトランシーバ21Bにより受信されたCANフレームを取得する。具体的には、CANコントローラ31Bは、CANトランシーバ21Bから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、CANコントローラ31Bは、CANトランシーバ21Bから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0059】
中継部32は、CANコントローラ31BからCANフレームを受けて、受けたCANフレームの内容を確認する受信確認処理を行う。
【0060】
そして、中継部32は、受信確認処理が完了すると、中継対象のCANフレームの中継処理を行う。具体的には、中継部32は、CANコントローラ31Bから受けた中継対象のCANフレームをCANコントローラ31Aへ出力する。
【0061】
CANコントローラ31Aは、中継部32からCANフレームを受けて、受けたCANフレームを通信部20および検知用IC40へ出力する。
【0062】
通信部20におけるCANトランシーバ21Aは、CANコントローラ31AからCANフレームを受けて、受けたCANフレームを通信ポート10Aおよびバス1A経由で車載ECU111Aへ送信する。
【0063】
(検知処理)
検知用IC40は、通信部20により受信されたCANフレームを監視することにより不正フレームを検知する検知処理を行う。たとえば、検知用IC40は、通信部20により複数の通信ポート10経由でそれぞれ受信された複数のCANフレームを監視する。詳細には、検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視と、通信部20により通信ポート10B経由で受信されたCANフレームの監視とを行う。
【0064】
より詳細には、検知用IC40におけるCANコントローラ41Aは、通信部20におけるCANトランシーバ21により受信されたCANフレームに格納された情報を取得する。たとえば、CANコントローラ41Aは、CANトランシーバ21から受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、当該CANフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を検知部42へ出力する。
【0065】
(検知処理の具体例1)
たとえば、検知用IC40は、CANフレームのIDフィールドに格納されたIDに基づいて検知処理を行う。
【0066】
より詳細には、CANコントローラ41Aは、CANトランシーバ21から受けるCANフレームにおけるIDフィールドに格納された、当該CANフレームのIDを取得し、取得したIDを示す受信フレーム情報を検知部42へ出力する。
【0067】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報に基づいて、検知処理を行う。より詳細には、検知部42は、受けた受信フレーム情報に基づいて、通信部20により受信されたCANフレームが不正フレームであるか否かを判断する。
【0068】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるIDの一覧を示すIDリストを記憶している。
【0069】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すIDと、記憶部44におけるIDリストとを照合する。検知部42は、当該受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断する。一方、検知部42は、当該受信フレーム情報が示すIDと一致するIDが当該IDリストに含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断する。
【0070】
(検知処理の具体例2)
たとえば、検知用IC40は、CANフレームのDLCフィールドに格納されたDLCに基づいて検知処理を行う。
【0071】
より詳細には、CANコントローラ41Aは、CANトランシーバ21から受けるCANフレームにおけるIDフィールドおよびDLCフィールドにそれぞれ格納された、当該CANフレームのIDおよびDLCを取得し、取得したIDおよびDLCを示す受信フレーム情報を検知部42へ出力する。
【0072】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるDLCの一覧を示すDLCリストを記憶している。
【0073】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すDLCと、記憶部44におけるDLCリストとを照合する。検知部42は、当該受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断する。一方、検知部42は、当該受信フレーム情報が示すDLCと一致するDLCが当該DLCリストに含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断する。
【0074】
(検知処理の具体例3)
たとえば、検知用IC40は、CANフレームのDATフィールドに格納されたデータに基づいて検知処理を行う。
【0075】
より詳細には、CANコントローラ41Aは、CANトランシーバ21から受けるCANフレームにおけるIDフィールドおよびDATフィールドにそれぞれ格納された、当該CANフレームのIDおよびデータを取得し、取得したIDおよびデータを示す受信フレーム情報を検知部42へ出力する。
【0076】
たとえば、記憶部44は、車載中継装置101における中継処理の対象となる正当なCANフレームに格納されるデータの適正な数値範囲を示す数値リストを記憶している。
【0077】
検知部42は、CANコントローラ41Aから受けた受信フレーム情報が示すデータの値と、記憶部44における数値リストが示す数値範囲とを照合する。検知部42は、当該受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれる場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断する。一方、検知部42は、当該受信フレーム情報が示すデータの値が、当該数値リストが示す数値範囲に含まれない場合、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断する。
【0078】
なお、検知用IC40は、CANフレームのCRC、ACKまたはEOFに基づいて検知処理を行う構成であってもよい。また、検知用IC40は、ID、DLC、DATフィールドに格納されたデータ、CRC、ACKおよびEOFのうちの複数の情報を用いて検知処理を行う構成であってもよい。
【0079】
(中継処理の停止)
検知部42は、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断した場合、CANコントローラ41Aから受けた受信フレーム情報が示すIDを不正フレームのIDとして記憶部44に保存する。
【0080】
たとえば、検知用IC40は、不正フレームを検知したことを示す検知結果を中継用IC30へ通知する。より詳細には、検知部42は、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームであると判断した場合、当該不正フレームのIDを示す不正検知情報を、たとえばUART(Universal Asynchronous Receiver Transmitter)を用いた通信により中継用IC30へ出力する。一方、検知部42は、CANコントローラ41AがCANトランシーバ21から受けたCANフレームは不正フレームではないと判断した場合、正常検知情報を、UARTを用いた通信により中継用IC30へ出力する。
【0081】
たとえば、中継用IC30は、検知用IC40から通知された検知結果に基づいて、不正フレームの中継処理を停止する。より詳細には、中継用IC30における中継部32は、検知部42から不正検知情報を受けた場合、受けた不正検知情報が示すIDを不正フレームのIDとして記憶部33に保存する。一方、中継部32は、検知部42から正常検知情報を受けた場合、記憶部33へのIDの保存を行わない。
【0082】
中継部32は、CANコントローラ31AからCANフレームを受けて、受けたCANフレームの受信確認処理を完了すると、受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致するか否かを確認する。
【0083】
中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないか、または記憶部33に不正フレームのIDが保存されていない場合、CANコントローラ31Aから受けたCANフレームは正当なCANフレームであると判断し、当該CANフレームの中継処理を行う。
【0084】
一方、中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDが記憶部33における不正フレームのIDと一致する場合、CANコントローラ31Aから受けたCANフレームは不正フレームであると判断し、当該CANフレームの中継処理を行うことなく、当該CANフレームを破棄する。
【0085】
たとえば、検知用IC40は、不正フレームを検知したことを示す検知結果を中継用IC30へ通知した場合、中継用IC30において当該不正フレームの中継処理が停止されたか否かを確認する。
【0086】
より詳細には、検知用IC40におけるCANコントローラ41Bは、中継用IC30におけるCANコントローラ31から出力されたCANフレームに格納された情報を取得する。たとえば、CANコントローラ41Bは、CANコントローラ31から受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、当該CANフレームにおけるIDフィールドに格納された、当該CANフレームのIDを取得し、取得したIDを示す送信フレーム情報を確認部43へ出力する。
【0087】
確認部43は、CANコントローラ41Bから送信フレーム情報を受けて、受けた送信フレーム情報が示すIDと、記憶部44における不正フレームのIDとを照合する。
【0088】
確認部43は、当該送信フレーム情報が示すIDと、記憶部44における不正フレームのIDとが一致する場合、中継用IC30において不正フレームの中継処理が停止されていないと判断する。この場合、たとえば、確認部43は、当該送信フレーム情報が示すIDを示す異常ログ情報を作成して記憶部44に保存する。また、たとえば、確認部43は、不正フレームが中継されたことを示すアラート情報を車載中継装置101の外部の装置へ送信する。
【0089】
(中継遅延)
図4は、比較例に係る車載通信システムにおける中継処理のタイミングチャートを示す図である。
図4は、中継用IC30が中継処理および検知処理を行う場合における中継処理のタイミングチャートを示している。
【0090】
図4を参照して、たとえば、車載ECU111Aは、時刻t11において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0091】
中継用IC30におけるCANコントローラ31Aは、時刻t11において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。そして、CANコントローラ31Aは、時刻t11の後の時刻t12において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0092】
中継用IC30における中継部32は、CANコントローラ31AからCANフレームを受けて、受信確認処理、検知処理および中継処理をこの順に行う。
【0093】
そして、車載ECU111Aは、時刻t12の後の時刻t13において、CANトランシーバ21B、通信ポート10Bおよびバス1B経由で中継用IC30からCANフレームを受信する。
【0094】
したがって、比較例に係る車載通信システムにおける中継処理では、時刻t12から時刻t13までの長さの中継遅延時間が生じる。
【0095】
図5は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
図5は、検知用IC40が上述した検知処理の具体例1を行う場合のタイミングチャートを示している。
【0096】
図5を参照して、たとえば、車載ECU111Aは、時刻t21において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0097】
中継用IC30におけるCANコントローラ31Aは、時刻t21において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。
【0098】
また、検知用IC40におけるCANコントローラ41Aは、時刻t21において、CANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知する。
【0099】
たとえば、検知用IC40は、中継用IC30によるCANフレームの取得が完了する前に検知処理を行う。たとえば、検知用IC40は、CANトランシーバ21Aから受けるCANフレームのIDを取得した時点において、検知処理を開始する。より詳細には、CANコントローラ41Aは、時刻t21の後の時刻t22において、当該CANフレームにおけるIDフィールドに格納された、当該CANフレームのIDを取得し、取得したIDを示す受信フレーム情報を検知部42へ出力する。検知部42は、CANコントローラ41Aから受けた受信フレーム情報に基づいて検知処理を開始し、時刻t22の後の時刻t23において検知処理を終了し、たとえば正常検知情報を中継用IC30へ出力する。
【0100】
そして、中継用IC30における中継部32は、時刻t23の後の時刻t24において、検知部42から正常検知情報を受ける。
【0101】
中継用IC30におけるCANコントローラ31Aは、時刻t24の後の時刻t25において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0102】
中継用IC30における中継部32は、CANコントローラ31AからCANフレームを受けて、受信確認処理および中継処理をこの順に行う。たとえば、中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないので、CANコントローラ31Aから受けたCANフレームの中継処理を行う。
【0103】
そして、車載ECU111Aは、時刻t25の後の時刻t26において、CANトランシーバ21B、通信ポート10Bおよびバス1B経由で中継用IC30からCANフレームを受信する。
【0104】
したがって、車載通信システム301における中継処理では、時刻t25から時刻t26までの長さの中継遅延時間が生じる。
【0105】
図6は、本開示の実施の形態に係る車載通信システムにおける中継処理のタイミングチャートの一例を示す図である。
図6は、検知用IC40が上述した検知処理の具体例2を行う場合のタイミングチャートを示している。
【0106】
図6を参照して、たとえば、車載ECU111Aは、時刻t31において、CANフレームをバス1A経由で他の車載ECU111Aおよび車載中継装置101へ送信する。
【0107】
中継用IC30におけるCANコントローラ31Aは、時刻t31において、通信部20におけるCANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知し、CANフレームの取得処理を開始する。
【0108】
また、検知用IC40におけるCANコントローラ41Aは、時刻t31において、CANトランシーバ21Aから受けるCANフレームにおけるSOFを受信することにより当該CANフレームの先頭を検知する。
【0109】
たとえば、検知用IC40は、中継用IC30によるCANフレームの取得が完了する前に検知処理を行う。たとえば、検知用IC40は、CANトランシーバ21Aから受けるCANフレームのDLCを取得した時点において、検知処理を開始する。より詳細には、CANコントローラ41Aは、時刻t31の後の時刻t32において、当該CANフレームにおけるDLCフィールドに格納された、当該CANフレームのDLCを取得し、取得したDLCを示す受信フレーム情報を検知部42へ出力する。検知部42は、CANコントローラ41Aから受けた受信フレーム情報に基づいて検知処理を開始し、時刻t32の後の時刻t33において検知処理を終了し、たとえば正常検知情報を中継用IC30へ出力する。
【0110】
そして、中継用IC30における中継部32は、時刻t33の後の時刻t34において、検知部42から正常検知情報を受ける。
【0111】
中継用IC30におけるCANコントローラ31Aは、時刻t34の後の時刻t35において、CANトランシーバ21Aから受けるCANフレームにおけるEOFを受信して、当該CANフレームの取得処理が完了したと判断し、取得したCANフレームを中継部32へ出力する。
【0112】
中継用IC30における中継部32は、CANコントローラ31AからCANフレームを受けて、受信確認処理および中継処理をこの順に行う。たとえば、中継部32は、CANコントローラ31Aから受けたCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないので、CANコントローラ31Aから受けたCANフレームの中継処理を行う。
【0113】
そして、車載ECU111Aは、時刻t35の後の時刻t36において、CANトランシーバ21B、通信ポート10Bおよびバス1B経由で中継用IC30からCANフレームを受信する。
【0114】
したがって、車載通信システム301における中継処理では、時刻t35から時刻t36までの長さの中継遅延時間が生じる。
【0115】
図4~
図6を参照して、比較例に係る車載通信システムにおける中継処理では、中継用IC30における受信確認処理、検知処理および中継処理に要する時間に対応する中継遅延時間が発生する。
【0116】
これに対して、車載通信システム301における中継処理では、検知用IC40による検知処理が中継用IC30によるCANフレームの取得処理と並行して行われるので、発生する中継遅延時間は、中継用IC30における受信確認処理および中継処理に要する時間に抑えることができる。
【0117】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態でまたは通信回線を介して流通する。
【0118】
図7は、本開示の実施の形態に係る車載中継装置が中継処理および検知処理を行う際の動作手順の一例を定めたフローチャートである。
【0119】
図7を参照して、まず、車載中継装置101における通信部20は、車載ECU111Aまたは車載ECU111BからのCANフレームを待ち受け(ステップS102でNO)、たとえば通信ポート10A経由で車載ECU111AからCANフレームを受信すると(ステップS102でYES)、受信したCANフレームを中継用IC30および検知用IC40へ出力する(ステップS104)。
【0120】
次に、検知用IC40は、通信部20により受信されたCANフレームを監視することにより不正フレームを検知する検知処理を行う(ステップS106)。
【0121】
次に、中継用IC30は、通信部20により受信されたCANフレームの中継処理を行う(ステップS108)。
【0122】
次に、通信部20は、車載ECU111Aまたは車載ECU111Bからの新たなCANフレームを待ち受ける(ステップS102でNO)。
【0123】
図8は、本開示の実施の形態に係る車載中継装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図8は、検知用IC40が上述した検知処理の具体例1を行う場合の、
図7におけるステップS106の詳細を示している。
【0124】
図8を参照して、まず、車載中継装置101における検知用IC40は、通信部20から受けるCANフレームの先頭を待ち受け(ステップS202でNO)、SOFを受信することによりCANフレームの先頭を検知すると(ステップS202でYES)、たとえば当該CANフレームにおけるIDフィールドに格納された、当該CANフレームのIDを取得する(ステップS204)。
【0125】
次に、検知用IC40は、取得したIDに基づいて検知処理を行う。具体的には、検知用IC40は、取得したIDに基づいて、当該CANフレームが不正フレームであるか否かを判断する(ステップS206)。
【0126】
次に、検知用IC40は、当該CANフレームが不正フレームではないと判断した場合(ステップS208でNO)、正常検知情報を中継用IC30へ出力する(ステップS210)。
【0127】
次に、検知用IC40は、新たに通信部20から受けるCANフレームの先頭を待ち受ける(ステップS202でNO)。
【0128】
一方、検知用IC40は、当該CANフレームが不正フレームであると判断した場合(ステップS208でYES)、当該CANフレームのIDを不正フレームのIDとして記憶部44に保存し、不正検知情報を中継用IC30へ出力する(ステップS212)。
【0129】
次に、検知用IC40は、新たに通信部20から受けるCANフレームの先頭を待ち受ける(ステップS202でNO)。
【0130】
図9は、本開示の実施の形態に係る車載中継装置が不正フレームの中継処理の停止の確認を行う際の動作手順の一例を定めたフローチャートである。
【0131】
図9を参照して、まず、車載中継装置101における検知用IC40は、中継用IC30からのCANフレームを待ち受け(ステップS222でNO)、中継用IC30からCANフレームを受信すると(ステップS222でYES)、中継用IC30において不正フレームの中継処理が停止されたか否かを確認する。より詳細には、検知用IC40は、受信したCANフレームのIDが、不正フレームのIDと一致するか否かを確認する(ステップS224)。
【0132】
検知用IC40は、受信したCANフレームのIDが、不正フレームのIDと一致する場合、受信したCANフレームは不正フレームであり、不正フレームの中継処理が停止されていないと判断し(ステップS226でYES)、異常ログ情報を作成して記憶部44に保存する(ステップS228)。
【0133】
次に、検知用IC40は、中継用IC30からの新たなCANフレームを待ち受ける(ステップS222でNO)。
【0134】
一方、検知用IC40は、受信したCANフレームのIDが、不正フレームのIDと一致しない場合、受信したCANフレームは不正フレームではないと判断し(ステップS226でNO)、中継用IC30からの新たなCANフレームを待ち受ける(ステップS222でNO)。
【0135】
図10は、本開示の実施の形態に係る車載中継装置が中継処理を行う際の動作手順の一例を定めたフローチャートである。
図10は、
図7におけるステップS108の詳細を示している。
【0136】
図10を参照して、まず、車載中継装置101における中継用IC30は、通信部20から受けるCANフレームの先頭を待ち受け(ステップS302でNO)、SOFを受信することによりCANフレームの先頭を検知すると(ステップS302でYES)、当該CANフレームを取得する(ステップS304)。
【0137】
次に、中継用IC30は、取得したCANフレームの内容を確認する受信確認処理を行う(ステップS306)。
【0138】
次に、中継用IC30は、取得したCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致する場合(ステップS308でYES)、当該CANフレームは不正フレームであると判断し、当該CANフレームを破棄する(ステップS310)。
【0139】
次に、中継用IC30は、新たに通信部20から受けるCANフレームの先頭を待ち受ける(ステップS302でNO)。
【0140】
一方、中継用IC30は、取得したCANフレームのIDフィールドに含まれるIDが記憶部33における不正フレームのIDと一致しないか、または記憶部33に不正フレームのIDが保存されていない場合(ステップS308でNO)、当該CANフレームは正当なCANフレームであると判断し、当該CANフレームの中継処理を行う(ステップS312)。
【0141】
次に、中継用IC30は、新たに通信部20から受けるCANフレームの先頭を待ち受ける(ステップS302でNO)。
【0142】
なお、本開示の実施の形態に係る車載中継装置101では、検知用IC40は、不正フレームを検知したことを示す検知結果を中継用IC30へ通知する構成であるとしたが、これに限定するものではない。検知用IC40は、中継用IC30への検知結果の通知を行わない構成であってもよい。この場合、たとえば、検知用IC40は、不正フレームのIDを示す不正検知情報を車載中継装置101の外部における装置へ送信する。
【0143】
また、本開示の実施の形態に係る車載中継装置101では、中継用IC30はプロセッサであり、検知用IC40はPLDであるとしたが、これ限定するものではない。たとえば、中継用IC30は、PLDであってもよい。また、たとえば、検知用IC40は、プロセッサであってもよい。
【0144】
また、本開示の実施の形態に係る車載中継装置101では、検知用IC40は、中継用IC30によるCANフレームの取得が完了する前に検知処理を行う構成であるとしたが、これに限定するものではない。各ICの処理能力等に起因して、検知用IC40が、中継用IC30によるCANフレームの取得が完了する前に検知処理を開始し、中継用IC30によるCANフレームの取得が完了した後に検知処理を終了するタイミング関係であってもよい。また、検知用IC40が、中継用IC30によるCANフレームの取得が完了した後に検知処理を開始するタイミング関係であってもよい。
【0145】
また、本開示の実施の形態に係る車載中継装置101では、中継用IC30は、通信部20により通信ポート10A経由で受信されたCANフレームの中継処理と、通信部20により通信ポート10B経由で受信されたCANフレームの中継処理とを行う構成であるとしたが、これに限定するものではない。中継用IC30は、通信部20により通信ポート10A経由で受信されたCANフレームの中継処理、および通信部20により通信ポート10B経由で受信されたCANフレームの中継処理のいずれか一方を行わない構成であってもよい。
【0146】
また、本開示の実施の形態に係る車載中継装置101では、検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視と、通信部20により通信ポート10B経由で受信されたCANフレームの監視とを行う構成であるとしたが、これに限定するものではない。検知用IC40は、通信部20により通信ポート10A経由で受信されたCANフレームの監視、および通信部20により通信ポート10B経由で受信されたCANフレームの監視のいずれか一方を行わない構成であってもよい。
【0147】
また、本開示の実施の形態に係る車載中継装置101では、検知用IC40は、確認部43を含む構成であるとしたが、これに限定するものではない。検知用IC40は、確認部43を含まない構成であってもよい。
【0148】
また、本開示の実施の形態に係る車載通信システム301では、車載ECU111A,111Bが、CANの規格に従うバス1A,1Bを介して車載中継装置101にそれぞれ接続される構成であるとしたが、これに限定するものではない。車載ECU111Aおよび車載ECU111Bは、CAN以外の他の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。
【0149】
たとえば、車載ECU111Aおよび車載ECU111Bは、CAN FDの規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにCAN FDトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにCAN FDコントローラを含み、検知用IC40は、CANコントローラ41の代わりにCAN FDコントローラを含む。
【0150】
また、たとえば、車載ECU111Aおよび車載ECU111Bは、LIN(Local Interconnect Network)の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにLINトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにLINコントローラを含み、検知用IC40は、CANコントローラ41の代わりにLINコントローラを含む。
【0151】
また、たとえば、車載ECU111Aおよび車載ECU111Bは、CXPI(Clock Extension Peripheral Interface)の規格に従うバスを介して車載中継装置101にそれぞれ接続される構成であってもよい。この場合、車載中継装置101における通信部20は、CANトランシーバ21の代わりにCXPIトランシーバを含み、中継用IC30は、CANコントローラ31の代わりにCXPIコントローラを含み、検知用IC40は、CANコントローラ41の代わりにCXPIコントローラを含む。
【0152】
また、本開示の実施の形態に係る車載通信システム301は、互いに異なる規格に従うバスを介して車載中継装置101にそれぞれ接続される車載ECUを備える構成であってもよい。
【0153】
図11は、本開示の実施の形態の変形例に係る車載通信システムの構成を示す図である。
図11を参照して、車載通信システム302は、車載通信システム301と比べて、車載中継装置101の代わりに車載中継装置102を備え、車載ECU111Bの代わりに車載ECU111Cを備える。車載ECU111Cは、車載装置の一例である。
【0154】
複数の車載ECU111Cは、LINの規格に従うバス1Cを介して車載中継装置101に接続される。車載ECU111Cは、定期的または不定期に、車載ECU111Aおよび他の車載ECU111Cへ送信すべきデータが格納されたLINフレームを生成し、生成したLINフレームをバス1C経由で他の車載ECU111Cおよび車載中継装置102へ送信する。
【0155】
図12は、本開示の実施の形態の変形例に係る車載中継装置の構成を示す図である。
図12を参照して、車載中継装置102は、車載中継装置101と比べて、通信ポート10Bの代わりに通信ポート10Cを備え、通信部20の代わりに通信部120を備え、中継用IC30の代わりに中継用IC130を備え、検知用IC40の代わりに検知用IC140を備える。通信ポート10Cには、バス1Cが接続されている。
【0156】
通信部120は、通信部20と比べて、CANトランシーバ21Bの代わりにLINトランシーバ21Cを含む。中継用IC130は、中継用IC30と比べて、CANコントローラ31Bの代わりにLINコントローラ31Cを含み、中継部32の代わりに中継部132を含む。検知用IC140は、検知用IC40と比べて、検知部42の代わりに検知部142を含み、確認部43の代わりに確認部143を含み、LINコントローラ141A,141Bをさらに含む。
【0157】
通信部120におけるLINトランシーバ21Cは、通信ポート10C経由で車載ECU111CからLINフレームを受信し、受信したLINフレームを中継用IC130および検知用IC140へ出力する。
【0158】
中継用IC130におけるLINコントローラ31Cは、通信部120におけるLINトランシーバ21Cにより受信されたLINフレームを取得し、取得したLINフレームを中継部132へ出力する。
【0159】
中継部132は、LINコントローラ31CからLINフレームを受けて、受けたLINフレームの内容を確認する受信確認処理を行い、受信確認処理が完了すると、中継対象のLINフレームの中継処理を行う。具体的には、中継部132は、LINコントローラ31Cから受けた中継対象のLINフレームをCANフレームに変換し、CANコントローラ31Aへ出力する。
【0160】
また、中継部132は、CANコントローラ31AからCANフレームを受けて、受けたCANフレームの内容を確認する受信確認処理を行い、受信確認処理が完了すると、中継対象のCANフレームをLINフレームに変換してLINコントローラ31Cへ出力する。
【0161】
LINコントローラ31Cは、中継部132からLINフレームを受けて、受けたLINフレームを通信部120および検知用IC140へ出力する。
【0162】
通信部120におけるLINトランシーバ21Cは、LINコントローラ31CからLINフレームを受けて、受けたLINフレームを通信ポート10Cおよびバス1C経由で車載ECU111Cへ送信する。
【0163】
検知用IC140におけるLINコントローラ141Aは、通信部120におけるLINトランシーバ21Cにより受信されたLINフレームに格納された情報を取得する。たとえば、LINコントローラ141Aは、LINトランシーバ21Cから受けるLINフレームにおけるヘッダを受信することにより当該LINフレームの先頭を検知し、当該LINフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を検知部142へ出力する。
【0164】
検知部142は、LINコントローラ141Aから受けた当該情報に基づいて、検知処理を行う。より詳細には、検知部142は、受けた情報に基づいて、通信部120により受信されたLINフレームが不正フレームであるか否かを判断する。
【0165】
検知用IC140におけるLINコントローラ141Bは、中継用IC130におけるLINコントローラ31Cから出力されたLINフレームに格納された情報を取得する。たとえば、LINコントローラ141Bは、LINコントローラ31Cから受けるLINフレームにおけるヘッダを受信することにより当該LINフレームの先頭を検知し、当該LINフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を確認部143へ出力する。
【0166】
確認部143は、LINコントローラ141Bから当該情報に基づいて、中継用IC130において不正フレームの中継処理が停止されたか否かを確認する。
【0167】
図13は、本開示の実施の形態の変形例に係る車載通信システムの構成を示す図である。
図13を参照して、車載通信システム303は、車載通信システム301と比べて、車載中継装置101の代わりに車載中継装置103を備え、複数の車載ECU111Aおよび複数の車載ECU111Bの代わりに車載ECU111D,111Eを備える。車載ECU111D,111Eは、車載装置の一例である。
【0168】
車載ECU111D,111Eは、イーサネット(登録商標)ケーブル(以下、Ethケーブルとも称する)1D,1Eを介して車載中継装置103にそれぞれ接続される。車載ECU111Dは、定期的または不定期に、車載ECU111Eへ送信すべきデータが格納されたイーサネットフレーム(以下、Ethフレームとも称する)を生成し、生成したEthフレームをEthケーブル1D経由で車載中継装置103へ送信する。車載ECU111Eは、定期的または不定期に、車載ECU111Dへ送信すべきデータが格納されたEthフレームを生成し、生成したEthフレームをEthケーブル1E経由で車載中継装置103へ送信する。
【0169】
なお、車載通信システム303は、Ethケーブルを介して車載中継装置103に接続される3つ以上の車載ECUを備える構成であってもよいし、イーサネット以外の他の規格に従うバスまたはケーブルを介して車載中継装置103に接続される車載ECUをさらに備える構成であってもよい。
【0170】
図14は、本開示の実施の形態の変形例に係る車載中継装置の構成を示す図である。
図14を参照して、車載中継装置103は、車載中継装置101と比べて、通信ポート10A,10Bの代わりに通信ポート10D,10Eを備え、通信部20の代わりにスイッチ部220を備え、中継用IC30の代わりに中継用IC230を備え、検知用IC40の代わりに検知用IC240を備える。通信ポート10Dには、Ethケーブル1Dが接続されている。通信ポート10Eには、Ethケーブル1Eが接続されている。
【0171】
中継用IC230は、中継用IC30と比べて、CANコントローラ31A,31Bの代わりにイーサネットコントローラ(以下、Ethコントローラとも称する)31D,31Eを含み、中継部32の代わりに中継部232を含む。検知用IC240は、検知用IC40と比べて、CANコントローラ41A,41Bの代わりにEthコントローラ241A,241Bを含み、検知部42の代わりに検知部242を含み、確認部43の代わりに確認部243を含む。
【0172】
スイッチ部220は、車載ECU111Dから対応の通信ポート10D経由でEthフレームを受信し、受信したEthフレームを中継用IC230および検知用IC240へ出力する。
【0173】
中継用IC230におけるEthコントローラ31Dは、スイッチ部220により受信されたEthフレームを取得し、取得したEthフレームを中継部232へ出力する。
【0174】
中継部232は、Ethコントローラ31DからEthフレームを受けて、受けたEthフレームの内容を確認する受信確認処理を行い、受信確認処理が完了すると、中継対象のEthフレームの中継処理を行う。具体的には、中継部232は、Ethコントローラ31Dから受けた中継対象のEthフレームをEthコントローラ31Eへ出力する。
【0175】
Ethコントローラ31Eは、中継部232からEthフレームを受けて、受けたEthフレームをスイッチ部220へ出力する。
【0176】
スイッチ部220は、Ethコントローラ31EからEthフレームを受けて、受けたEthフレームを宛先の車載ECU111Eへ対応の通信ポート10EおよびEthケーブル1E経由で送信する。また、スイッチ部220は、Ethコントローラ31Eから受けたEthフレームを検知用IC240へ出力する。
【0177】
検知用IC240におけるEthコントローラ241Aは、スイッチ部220により受信されたEthフレームに格納された情報を取得する。たとえば、Ethコントローラ241Aは、スイッチ部220から受けるEthフレームにおけるヘッダたとえばプリアンブルを受信することにより当該Ethフレームの先頭を検知し、当該Ethフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。一例として、Ethコントローラ241Aは、Ethフレームにおける長さフィールドに格納された情報を取得し、取得した情報を検知部242へ出力する。
【0178】
検知部242は、Ethコントローラ241Aから受けた当該情報に基づいて、検知処理を行う。より詳細には、検知部242は、受けた情報に基づいて、スイッチ部220により受信されたEthフレームが不正フレームであるか否かを判断する。
【0179】
検知用IC240におけるEthコントローラ241Bは、スイッチ部220から出力されたEthフレームに格納された情報を取得する。たとえば、Ethコントローラ241Bは、スイッチ部220から受けるEthフレームにおけるヘッダたとえばプリアンブルを受信することにより当該Ethフレームの先頭を検知し、当該Ethフレームにおける少なくともいずれか1つのフィールドに格納された情報を取得し、取得した情報を確認部243へ出力する。
【0180】
確認部243は、Ethコントローラ241Bから受けた当該情報に基づいて、中継用IC230において当該不正フレームの中継処理が停止されたか否かを確認する。
【0181】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0182】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車載装置からフレームを受信する受信部と、
前記受信部により受信された前記フレームの中継処理を行う第1のICと、
前記受信部により受信された前記フレームを監視することにより不正フレームを検知する検知処理を行う第2のICとを備え、
前記第1のICは、前記受信部により受信された前記フレームを取得して前記中継処理を行い、
前記第2のICは、前記第1のICによる前記フレームの取得処理と並行して前記検知処理を行う、車載中継装置。
【符号の説明】
【0183】
1A,1B,1C バス
1D,1E イーサネットケーブル
10A,10B,10C,10D,10E,10 通信ポート
20,120 通信部
21A,21B,21 CANトランシーバ
21C LINトランシーバ
30,130,230 中継用IC
31A,31B,31 CANコントローラ
31C LINコントローラ
31D,31E イーサネットコントローラ
32,132,232 中継部
33 記憶部
40,140,240 検知用IC
41A,41B,41 CANコントローラ
42,142,242 検知部
43,143,243 確認部
44 記憶部
101,102,103 車載中継システム
111A,111B,111C 車載ECU
141A,141B LINコントローラ
220 スイッチ部
241A,241B イーサネットコントローラ
301,302,303 車載通信システム