(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-07
(45)【発行日】2025-07-15
(54)【発明の名称】車両制御システム、及び異常診断方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20250708BHJP
【FI】
H04L7/00 990
(21)【出願番号】P 2022196320
(22)【出願日】2022-12-08
【審査請求日】2024-07-24
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】太田 宙志
(72)【発明者】
【氏名】山崎 康広
(72)【発明者】
【氏名】林 健一郎
【審査官】北村 智彦
(56)【参考文献】
【文献】特表2020-526051(JP,A)
【文献】特開2021-106328(JP,A)
【文献】特開2016-034065(JP,A)
【文献】特許第7123228(JP,B1)
【文献】国際公開第2021/204342(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
基準になる第1時刻情報を出力するマスタ電子制御ユニットと、前記マスタ電子制御ユニットとネットワークを介して接続された複数のスレーブ電子制御ユニットと、を備え、前記マスタ電子制御ユニット及び前記複数のスレーブ電子制御ユニットを連携させて車両を制御する車両制御システムであり、
前記第1時刻情報と、前記スレーブ電子制御ユニットにおける時刻情報である第2時刻情報との同期異常が生じているか否かを判定する異常診断部を備え、
前記スレーブ電子制御ユニットが、
前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間で信号を送受信させて、前記マスタ電子制御ユニットから第1信号を前記スレーブ電子制御ユニットに送信したときの前記第1時刻情報である第1時刻と、前記第1信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第2時刻と、前記第1信号を受信したことに応じて前記スレーブ電子制御ユニットから前記マスタ電子制御ユニットに第2信号を送信したときの前記第2時刻情報である第3時刻と、前記第2信号を前記マスタ電子制御ユニットが受信したときの前記第1時刻情報である第4時刻と、前記第2信号を受信したことに応じて前記マスタ電子制御ユニットから前記スレーブ電子制御ユニットに第3信号を送信したときの前記第1時刻情報である第5時刻と、前記第3信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第6時刻と、を取得することと、
前記第3時刻と、前記第4時刻と、前記第5時刻と、前記第6時刻と、に基づいて前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間での伝送の遅延時間を算出することと、を実行し、
前記異常診断部が、
前記第1時刻から前回取得した前記第1時刻を引いた差である前記マスタ電子制御ユニットにおける処理の周期と、前記第2時刻から前回取得した前記第2時刻を引いた差である前記スレーブ電子制御ユニットにおける処理の周期と、に基づいて、前記マスタ電子制御ユニットにおけるクロック周期と前記スレーブ電子制御ユニットにおけるクロック周期との乖離である周期ずれの有無を判定することと、
前記周期ずれが無いと判定した場合に
のみ、前記第2時刻から前記遅延時間を引いた差と、前記第1時刻と、に基づいて、オフセットずれの有無を判定することと、
前記周期ずれが有ると判定した場合又は前記オフセットずれが有ると判定した場合に、前記同期異常が生じていると判定することと、を実行する
車両制御システム。
【請求項2】
前記スレーブ電子制御ユニットが、前記第6時刻から前記第3時刻を引いた第1の差から前記第5時刻から前記第4時刻を引いた第2の差を引いた差を2で割った商を前記遅延時間として算出する
請求項1に記載の車両制御システム。
【請求項3】
前記異常診断部が、前記第1時刻から前回取得した前記第1時刻を引いた差である前記マスタ電子制御ユニットにおける処理の周期と、前記第2時刻から前回取得した前記第2時刻を引いた差である前記スレーブ電子制御ユニットにおける処理の周期との乖離が既定水準以上である場合に、前記周期ずれが有ると判定する
請求項1に記載の車両制御システム。
【請求項4】
前記異常診断部が、前記第2時刻から前記遅延時間を引いた差と、前記第1時刻との乖離が既定水準以上であるときに前記オフセットずれが有ると判定する
請求項1に記載の車両制御システム。
【請求項5】
基準になる第1時刻情報を出力するマスタ電子制御ユニットと、前記マスタ電子制御ユニットとネットワークを介して接続された複数のスレーブ電子制御ユニットと、異常診断部と、を備え、前記マスタ電子制御ユニット及び前記複数のスレーブ電子制御ユニットを連携させて車両を制御する車両制御システムにおいて、前記第1時刻情報と、前記スレーブ電子制御ユニットにおける時刻情報である第2時刻情報との同期異常が生じているか否かを、前記異常診断部が判定する異常診断方法であり、
前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間で信号を送受信させて、前記マスタ電子制御ユニットから第1信号を前記スレーブ電子制御ユニットに送信したときの前記第1時刻情報である第1時刻と、前記第1信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第2時刻と、前記第1信号を受信したことに応じて前記スレーブ電子制御ユニットから前記マスタ電子制御ユニットに第2信号を送信したときの前記第2時刻情報である第3時刻と、前記第2信号を前記マスタ電子制御ユニットが受信したときの前記第1時刻情報である第4時刻と、前記第2信号を受信したことに応じて前記マスタ電子制御ユニットから前記スレーブ電子制御ユニットに第3信号を送信したときの前記第1時刻情報である第5時刻と、前記第3信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第6時刻と、を
、前記スレーブ電子制御ユニットが取得するステップと、
前記第3時刻と、前記第4時刻と、前記第5時刻と、前記第6時刻と、に基づいて前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間での伝送の遅延時間を前記スレーブ電子制御ユニットが算出するステップと、
前記第1時刻から前回取得した前記第1時刻を引いた差である前記マスタ電子制御ユニットにおける処理の周期と、前記第2時刻から前回取得した前記第2時刻を引いた差である前記スレーブ電子制御ユニットにおける処理の周期と、に基づいて、前記マスタ電子制御ユニットにおけるクロック周期と前記スレーブ電子制御ユニットにおけるクロック周期との乖離である前記周期ずれの有無を、前記異常診断部が判定するステップと、
前記周期ずれが無いと判定した場合に
のみ、前記第2時刻から前記遅延時間を引いた差と、前記第1時刻と、に基づいて、オフセットずれの有無を、前記異常診断部が判定するステップと、
前記周期ずれが有ると判定した場合又は前記オフセットずれが有ると判定した場合に、前記同期異常が生じていると、前記異常診断部が判定するステップと、を含む
異常診断方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は車両制御システム、及び異常診断方法に関するものである。
【背景技術】
【0002】
特許文献1には、ネットワークを介して接続された複数の機器における時刻情報のずれを検出する異常検出装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車両制御システムでは、複数の電子制御ユニットが、ネットワークにより相互に接続されている。車両制御システムにおいては、各電子制御ユニットを連携させることによって高度な車両制御が実現されている。そのため、車両制御システムは、各電子制御ユニット間の時刻情報の同期に異常が生じていないかを監視する必要がある。こうした同期異常を判定するための処理は、車両制御の処理と並行して繰り返し実行される。そのため、処理負荷をできるだけ低くすることが望まれている。
【課題を解決するための手段】
【0005】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するための車両制御システムは、基準になる第1時刻情報を出力するマスタ電子制御ユニットと、前記マスタ電子制御ユニットとネットワークを介して接続された複数のスレーブ電子制御ユニットと、を備えている。この車両制御システムは、前記マスタ電子制御ユニット及び前記複数のスレーブ電子制御ユニットを連携させて車両を制御する。この車両制御システムは、前記第1時刻情報と、前記スレーブ電子制御ユニットにおける時刻情報である第2時刻情報との同期異常が生じているか否かを判定する異常診断部を備えている。車両制御システムは、前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間で信号を送受信させて、前記マスタ電子制御ユニットから第1信号を前記スレーブ電子制御ユニットに送信したときの前記第1時刻情報である第1時刻と、前記第1信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第2時刻と、前記第1信号を受信したことに応じて前記スレーブ電子制御ユニットから前記マスタ電子制御ユニットに第2信号を送信したときの前記第2時刻情報である第3時刻と、前記第2信号を前記マスタ電子制御ユニットが受信したときの前記第1時刻情報である第4時刻と、前記第2信号を受信したことに応じて前記マスタ電子制御ユニットから前記スレーブ電子制御ユニットに第3信号を送信したときの前記第1時刻情報である第5時刻と、前記第3信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第6時刻と、を取得すること、を実行する。また、車両制御システムは、前記第3時刻と、前記第4時刻と、前記第5時刻と、前記第6時刻と、に基づいて前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間での伝送の遅延時間を算出すること、を実行する。また、異常診断部は、前記第1時刻から前回取得した前記第1時刻を引いた差である前記マスタ電子制御ユニットにおける処理の周期と、前記第2時刻から前回取得した前記第2時刻を引いた差である前記スレーブ電子制御ユニットにおける処理の周期と、に基づいて、前記マスタ電子制御ユニットにおけるクロック周期と前記スレーブ電子制御ユニットにおけるクロック周期との乖離である周期ずれの有無を判定すること、を実行する。また、異常診断部は、前記周期ずれが無いと判定した場合に、前記第2時刻から前記遅延時間を引いた差と、前記第1時刻と、に基づいて、オフセットずれの有無を判定すること、を実行する。また、異常診断部は、前記周期ずれが有ると判定した場合又は前記オフセットずれが有ると判定した場合に、前記同期異常が生じていると判定すること、を実行する。
【0006】
また、上記課題を解決するための異常診断方法は、基準になる第1時刻情報を出力するマスタ電子制御ユニットと、前記マスタ電子制御ユニットとネットワークを介して接続された複数のスレーブ電子制御ユニットと、異常診断部と、を備え、前記マスタ電子制御ユニット及び前記複数のスレーブ電子制御ユニットを連携させて車両を制御する車両制御システムにおいて、前記第1時刻情報と、前記スレーブ電子制御ユニットにおける時刻情報である第2時刻情報との同期異常が生じているか否かを、前記異常診断部が判定する異常診断方法である。
【0007】
この異常診断方法は、前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間で信号を送受信させて、前記マスタ電子制御ユニットから第1信号を前記スレーブ電子制御ユニットに送信したときの前記第1時刻情報である第1時刻と、前記第1信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第2時刻と、前記第1信号を受信したことに応じて前記スレーブ電子制御ユニットから前記マスタ電子制御ユニットに第2信号を送信したときの前記第2時刻情報である第3時刻と、前記第2信号を前記マスタ電子制御ユニットが受信したときの前記第1時刻情報である第4時刻と、前記第2信号を受信したことに応じて前記マスタ電子制御ユニットから前記スレーブ電子制御ユニットに第3信号を送信したときの前記第1時刻情報である第5時刻と、前記第3信号を前記スレーブ電子制御ユニットが受信したときの前記第2時刻情報である第6時刻と、を取得するステップを含んでいる。また、この異常診断方法は、前記第3時刻と、前記第4時刻と、前記第5時刻と、前記第6時刻と、に基づいて前記マスタ電子制御ユニットと前記スレーブ電子制御ユニットとの間での伝送の遅延時間を、前記スレーブ電子制御ユニットが算出するステップを含む。また、この異常診断方法は、前記第1時刻から前回取得した前記第1時刻を引いた差である前記マスタ電子制御ユニットにおける処理の周期と、前記第2時刻から前回取得した前記第2時刻を引いた差である前記スレーブ電子制御ユニットにおける処理の周期と、に基づいて、前記マスタ電子制御ユニットにおけるクロック周期と前記スレーブ電子制御ユニットにおけるクロック周期との乖離である周期ずれの有無を、前記異常診断部が判定するステップを含む。また、この異常診断方法は、前記周期ずれが無いと判定した場合に、前記第2時刻から前記遅延時間を引いた差と、前記第1時刻と、に基づいて、オフセットずれの有無を、前記異常診断部が判定するステップを含む。また、この異常診断方法は、前記周期ずれが有ると判定した場合又は前記オフセットずれが有ると判定した場合に、前記同期異常が生じていると、前記異常診断部が判定するステップを含む。
【0008】
上記の車両制御システムは、周期ずれの影響を考慮せずにオフセットずれの判定を行うことができる。したがって、演算が容易になる。そのため、上記の車両制御システムによれば、同期異常が生じているか否かを判定するための処理負荷を抑制できる。
【0009】
また、上記の異常診断方法によれば、同期異常が生じているか否かを判定するための処理負荷を同様に抑制できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、車両制御システムの一実施形態についてその概略構成を示すブロック図である。
【
図2】
図2は、バリデータECUが実行する異常診断にかかる信号のやり取りを示すシーケンス図である。
【
図3】
図3は、バリデータECUが実行する異常診断ルーチンにおける処理の流れを示すフローチャートである。
【
図4】
図4は、マスタECU及び各スレーブECUと、バリデータECUとの間での通信に用いるフレームフォーマットを示す模式図である。
【
図5】
図5は、車両制御システムの変更例を示すブロック図である。
【
図6】
図6は、車両制御システムの別の変更例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、車両制御システムの一実施形態について、
図1~
図4を参照して説明する。
図1は、自動車などの車両に搭載される車両制御システム100の構成を概略的に示している。
【0012】
<車両制御システム100の構成>
図1に示すように、車両制御システム100は、複数の電子制御ユニットをネットワークにより相互に接続して構成されている。なお、以下では、電子制御ユニットをECUと称する。車両制御システム100におけるネットワークは、例えば、イーサネット(登録商標)である。
【0013】
図1では、複数のECUとして、マスタECU10と、複数のスレーブECU20と、バリデータECU30と、を示している。各ECUは、それぞれプロセッサと、メモリとを備えている。メモリは、プロセッサが実行するプログラムを格納したメモリと、データを一時的に記憶するメモリと、を含んでいる。車両制御システム100は、ネットワークを介して接続されたこれらの複数のECUを連携させて高度な車両制御を実現する。そのため、車両制御システム100は、各ECU間の時刻情報の同期に異常が生じていないかを監視する必要がある。こうした同期異常を判定するための処理は、車両制御の処理と並行して繰り返し実行される。
【0014】
図1に示すように、車両制御システム100におけるネットワークは、スイッチECU40とバス50によって構成されている。マスタECU10、各スレーブECU20、及びバリデータECU30は、バス50を介してそれぞれがスイッチECU40に接続されている。
【0015】
マスタECU10は、基準となる第1時刻情報を出力する。各スレーブECU20は、バス50を介してスイッチECU40に接続されている。各スレーブECU20は、マスタECU10との信号のやり取りを通じて時刻情報を取得してネットワークにおける伝送の遅延時間pDelayを算出する。そして、遅延時間pDelayを用いて時刻同期を行った第2時刻情報を出力する。なお、遅延時間pDelayの算出については、後述する。
【0016】
各スレーブECU20は、車両の各種の機能を実現するECUである。例えば、スレーブECU20は、エンジンを制御するエンジンECUである。スレーブECU20は、モータジェネレータを制御するモータジェネレータECUである。スレーブECU20はブレーキを制御するブレーキECUである。スレーブECU20はカーナビゲーションシステムを制御するマルチメディアECUである。スレーブECU20は先進運転支援を実現する運転支援ECUである。スレーブECU20はドライブレコーダを制御するドライブレコーダECUである。
【0017】
バリデータECU30は、マスタECU10における第1時刻情報とスレーブECU20における第2時刻情報との同期異常が生じているか否かを判定する異常診断部として機能する。
【0018】
<同期異常の診断>
車両制御システム100では、マスタECU10とスレーブECU20との間で定期的に信号のやり取りを行って、それぞれが、信号を送信したときと、信号を受信したときの時刻情報を取得する。そして、バリデータECU30が定期的に第1時刻情報と第2時刻情報との同期異常が生じているか否かを判定する。
【0019】
<異常診断にかかる信号のやり取りの流れ>
図2は、同期異常が生じているか否かを判定する異常診断にかかる各ECUの間での信号のやり取りの流れを示すシーケンス図である。車両制御システム100は、稼働中に、車両の制御にかかる処理と並行して、定期的にこのシーケンスを実行して同期異常の有無を判定する異常診断を実行する。なお、このシーケンスは、バリデータECU30及びマスタECU10と、複数のスレーブECU20の各々と、によって実行される。
【0020】
図2に示すように、このシーケンスでは、まず、マスタECU10が第1信号SyncをスレーブECU20に送信する。マスタECU10は、第1信号Syncを送信したときの第1時刻情報を第1時刻t_1として取得する。上述したように第1時刻情報は、車両制御及び時刻同期における基準となる時刻情報である。そして、第1時刻情報は、マスタECU10が計時している時刻情報である。第1信号Syncを受信したスレーブECU20は、第1信号Syncを受信したときの第2時刻情報を第2時刻t_2として取得する。なお、第2時刻情報は、スレーブECU20で計時している時刻情報である。
【0021】
また、マスタECU10は、第1信号SyncをスレーブECU20に送信すると、第4信号FoUpをスレーブECU20に送信する。ここでは、第1時刻t_1のタイムスタンプが、第4信号FoUpとして送信される。第4信号FoUpを受信することにより、スレーブECU20は第1時刻t_1の情報を取得する。
【0022】
第1信号Syncを受信すると、スレーブECU20は、第2信号ReqをマスタECU10に送信する。スレーブECU20は、第2信号Reqを送信したときの第2時刻情報を第3時刻t_3として取得する。第2信号Reqを受信したマスタECU10は、第2信号Reqを受信したときの第1時刻情報を第4時刻t_4として取得する。
【0023】
第2信号Reqを受信すると、マスタECU10は、第3信号RespをスレーブECU20に送信する。マスタECU10は、第3信号Respを送信したときの第1時刻情報を第5時刻t_5として取得する。第3信号Respを受信したスレーブECU20は、第3信号Respを受信したときの第2時刻情報を第6時刻として取得する。
【0024】
第3信号RespをスレーブECU20に送信すると、マスタECU10はスレーブECU20に第5信号RespFoUpを送信する。ここでは、第4時刻t_4のタイムスタンプ及び第5時刻t_5のタイムスタンプが、第5信号RespFoUpとして送信される。第5信号RespFoUpを受信することにより、スレーブECU20は第4時刻t_4の情報及び第5時刻t_5の情報を取得する。
【0025】
第6時刻t_6を取得するとともに、第5信号RespFoUpを受信したスレーブECU20は、遅延時間pDelayを算出する。遅延時間pDelayは、マスタECU10とスレーブECU20との間での信号の伝送遅延の時間である。スレーブECU20は、第3時刻t_3と、第4時刻t_4と、第5時刻t_5と、第6時刻t_6と、に基づいて遅延時間pDelayを算出する。具体的には、遅延時間pDelayの算出処理において、スレーブECU20は、第6時刻t_6から第3時刻t_3を引いた差である第1の差を算出する。また、スレーブECU20は、第5時刻t_5から第4時刻t_4を引いた差である第2の差を算出する。そして、スレーブECU20は、第1の差から第2の差を引いた差を2で割った商を算出する。この商が、遅延時間pDelayである。
【0026】
第5信号RespFoUpをスレーブECU20に送信したマスタECU10は、バリデータECU30にマスタタイミングレコードメッセージMTRMを送信する。マスタタイミングレコードメッセージMTRMには、送信した第1信号SyncのシーケンスID、第1時刻t_1のタイムスタンプ、第4時刻t_4のタイムスタンプ、及び第5時刻t_5のタイムスタンプが含まれている。また、マスタタイミングレコードメッセージMTRMには、マスタECU10が正常に稼働しているか否かを示す自己診断ステータスも含まれている。
【0027】
遅延時間pDelayを算出したスレーブECU20は、バリデータECU30にスレーブタイミングレコードメッセージSTRMを送信する。スレーブタイミングレコードメッセージSTRMには、スレーブECU20のID、受信した第1信号SyncのシーケンスID、受信した第4信号FoUpのシーケンスID、及び受信した第5信号RespFoUpのシーケンスIDが含まれている。また、スレーブタイミングレコードメッセージSTRMには、第2時刻t_2のタイムスタンプ、第3時刻t_3のタイムスタンプ、及び第6時刻t_6のタイムスタンプが含まれている。さらに、スレーブタイミングレコードメッセージSTRMには、遅延時間pDelayの値と、スレーブECU20が正常に稼働しているか否かを示す自己診断ステータスと、が含まれている。
【0028】
マスタタイミングレコードメッセージMTRM、及びスレーブタイミングレコードメッセージSTRMを受信したバリデータECU30は、異常診断ルーチンR10を実行する。
【0029】
<異常診断ルーチン>
図3に示すように、異常診断ルーチンR10を開始すると、バリデータECU30は、まず、ステップS100の処理において、周期ずれを算出する。具体的には、バリデータECU30は、今回実行しているシーケンスにおいて取得した第1時刻t_1から前回実行したシーケンスにおいて取得した第1時刻t_1を引いた第3の差を算出する。この第3の差は、マスタECU10における処理の周期に相当する。また、バリデータECU30は、今回実行しているシーケンスにおいて取得した第2時刻t_2から前回実行したシーケンスにおいて取得した第2時刻t_2を引いた第4の差を算出する。この第4の差はスレーブECU20における処理の周期に相当する。そして、バリデータECU30は、第3の差から第4の差を引いた差の絶対値を算出する。この絶対値が周期ずれに相当する値である。
【0030】
こうして周期ずれを算出すると、バリデータECU30は、処理をステップS110へと進める。そして、ステップS110の処理において、バリデータECU30は、周期ずれの有無を判定する。具体的には、バリデータECU30は、算出した絶対値の値が閾値以上である場合に周期ずれがあると判定する。この閾値は、絶対値の値がこの閾値以上であることに基づいて周期ずれが有ると判定するための値である。この閾値の大きさは周期ずれの大きさとして許容できる範囲に基づいて設定する。
【0031】
バリデータECU30は、周期ずれが有ると判定した場合、すなわち、周期ずれ診断の結果が異常であることを示すものである場合(ステップS110:NO)には、処理をステップS160へと進める。この場合には、バリデータECU30は、同期異常が生じていると判定して、ステップS160の処理において、マスタECU10及び各スレーブECU20に同期異常が生じていることを通知する。バリデータECU30は、
図2に示すように、この異常診断ルーチンR10においてマスタECU10及び各スレーブECU20に通知メッセージNMを送信する。通知メッセージNMは、バリデータECU30による異常診断の結果を通知するメッセージである。通知メッセージNMには、マスタECU10の状態を示す情報、各スレーブECU20との間の同期異常の有無の情報が含まれている。すなわち、ステップS160の処理において、バリデータECU30は、マスタECU10と当該スレーブECU20との間に同期異常が生じていることを示す情報を含めた通知メッセージNMをマスタECU10及び各スレーブECU20に送信する。
【0032】
一方で、バリデータECU30は、周期ずれが無いと判定した場合、すなわち、周期ずれ診断の結果が正常であることを示すものである場合(ステップS110:YES)には、処理をステップS130へと進める。そして、バリデータECU30は、ステップS130の処理において、第1時刻情報と第2時刻情報とのオフセットを算出する。具体的には、バリデータECU30は、第2時刻t_2から遅延時間pDelayを引いた第5の差を算出する。そして、バリデータECU30は、第1時刻t_1からこの第5の差を引いた差の絶対値を算出する。この絶対値がオフセットである。
【0033】
こうしてオフセットを算出すると、バリデータECU30は、処理をステップS140へと進める。そして、ステップS140の処理において、バリデータECU30は、オフセットずれの有無を判定する。具体的には、バリデータECU30は、算出したオフセットの値が閾値以上である場合にオフセットずれが有ると判定する。この閾値は、オフセットの値がこの閾値以上であることに基づいてオフセットずれが有ると判定するための値である。この閾値の大きさはオフセットずれの大きさとして許容できる範囲に基づいて設定する。
【0034】
バリデータECU30は、オフセットずれが有ると判定した場合、すなわち、オフセットずれ診断の結果が異常であることを示すものである場合(ステップS140:NO)には、処理をステップS160へと進める。この場合にも、バリデータECU30は、同期異常が生じていると判定して、ステップS160の処理において、マスタECU10及び各スレーブECU20に同期異常が生じていることを通知する。すなわち、バリデータECU30は、マスタECU10と当該スレーブECU20との間に同期異常が生じていることを示す情報を含めた通知メッセージNMをマスタECU10及び各スレーブECU20に送信する。
【0035】
一方で、バリデータECU30は、オフセットずれが無いと判定した場合、すなわち、オフセットずれ診断の結果が正常であることを示すものである場合(ステップS140:YES)には、処理をステップS150へと進める。この場合には、バリデータECU30は、同期異常が生じていないと判定して、ステップS150の処理において、マスタECU10及び各スレーブECU20に同期異常が生じていないことを通知する。すなわち、バリデータECU30は、マスタECU10と当該スレーブECU20との間に同期異常が生じていないことを示す情報を含めた通知メッセージNMをマスタECU10及び各スレーブECU20に送信する。
【0036】
こうしてステップS150の処理又はステップS160の処理を通じて通知メッセージNMをマスタECU10及び各スレーブECU20に送信すると、バリデータECU30はこのルーチンを一旦終了させる。
【0037】
車両制御システム100では、このように、
図2に示したシーケンスを繰り返し実行することによって同期異常の有無を監視している。
<フレームフォーマット>
図4は、バリデータECU30とマスタECU10との間でのデータ通信、及びバリデータECU30と各スレーブECU20との間でのデータ通信、に用いられるフレーム200のフォーマットを模式的に示している。マスタタイミングレコードメッセージMTRM、スレーブタイミングレコードメッセージSTRM、及び通知メッセージNMは、このフォーマットに従ったフレーム200によって送信される。
【0038】
図4に示すように、フレーム200は、第1フィールド60と、第2フィールド70とを含んでいる。第1フィールド60には、IPアドレス、UDPヘッダなどの情報が格納される。第2フィールド70は、PDUヘッダ71とPDUペイロード75に分けられる。さらに、PDUペイロード75は、共通フィールド76と、個別フィールド77に分けられる。
【0039】
マスタタイミングレコードメッセージMTRMは、個別フィールド77に、送信した第1信号SyncのシーケンスID、第1時刻t_1のタイムスタンプ、第4時刻t_4のタイムスタンプ、及び第5時刻t_5のタイムスタンプを格納したフレーム200である。
【0040】
スレーブタイミングレコードメッセージSTRMは、個別フィールド77に、以下の情報を格納したフレーム200である。
・スレーブECU20のID、受信した第1信号SyncのシーケンスID、第4信号FoUpのシーケンスID、及び第5信号RespFoUpのシーケンスID。
【0041】
・第2時刻t_2のタイムスタンプ、第3時刻t_3のタイムスタンプ、及び第6時刻t_6のタイムスタンプ。
・遅延時間pDelayの値と、スレーブECU20が正常に稼働しているか否かを示す自己診断ステータス。
【0042】
そして、通知メッセージNMは、個別フィールド77に、マスタECU10の状態を示す情報、各スレーブECU20との間の同期異常の有無の情報を格納したフレーム200である。
【0043】
<本実施形態の作用>
同期異常は、周期ずれとオフセットずれが重なって生じることがある。なお、周期ずれはマスタECU10におけるクロック周期とスレーブECU20におけるクロック周期との乖離である。そして、オフセットずれは、クロック周期が揃っていても生じる第1時刻情報と第2時刻情報とのオフセットである。すなわち、オフセットずれは、クロック周期のずれを除いた、マスタECU10における処理の実行タイミングと、スレーブECU20における処理の実行タイミングとのずれである。
【0044】
上記の車両制御システム100では、バリデータECU30は、周期ずれが無いと判定した上で、第2時刻t_2から遅延時間pDelayを引いた第5の差を用いてオフセットずれの有無を判定している。第2時刻t_2から遅延時間pDelayを引いた第5差は、周期ずれ及びオフセットずれのいずれもが無く同期異常が生じていない場合には、第1時刻t_1と等しい値になるはずである。
【0045】
バリデータECU30は、周期ずれが無いと判定した上で、第5の差と、第1時刻t_1とに基づいてオフセットずれの有無を判定する。すなわち、この演算方法であれば、オフセットずれの有無の判定において、周期ずれの影響を考慮する必要がない。
【0046】
このように、車両制御システム100は、周期ずれの有無の判定を先に実行し、周期ずれが無いことを判定した上で、オフセットずれの有無を判定する。そして、バリデータECU30は、周期ずれが有ると判定した場合又はオフセットずれが有ると判定した場合に、同期異常が生じていると判定する。
【0047】
<本実施形態の効果>
(1)車両制御システム100は、周期ずれの影響を考慮せずにオフセットずれの判定を行うことができる。したがって、演算が容易になる。そのため、車両制御システム100によれば、同期異常が生じているか否かを判定するための処理負荷を抑制できる。
【0048】
(2)
図2に示したように、車両制御システム100は、マスタECU10とスレーブECU20との間で信号を送受信させて、第1時刻t_1~第6時刻t_6を取得するステップを実行する。そして、スレーブECU20は、第3時刻t_3と、第4時刻t_4と、第5時刻t_5と、第6時刻t_6と、に基づいてマスタECU10とスレーブECU20との間での伝送の遅延時間pDelayを算出するステップを実行する。
【0049】
バリデータECU30は、第3の差と、第4の差と、に基づいて、マスタECU10におけるクロック周期とスレーブECU20におけるクロック周期との乖離である周期ずれの有無を、判定するステップを実行する(ステップS110)。
【0050】
そして、バリデータECU30は、周期ずれが無いと判定した場合(ステップS120:YES)に、第5の差と、第1時刻t_1と、に基づいて、オフセットずれの有無を判定するステップを実行する(ステップS140)。
【0051】
そして、バリデータECU30は、周期ずれが有ると判定した場合(ステップS110:NO)又はオフセットずれが有ると判定した場合(ステップS140:NO)に、同期異常が生じていると判定するステップを実行する(ステップS160)。
【0052】
こうした異常診断方法によれば、(1)に記載したように同期異常が生じているか否かを判定するための処理負荷を抑制できる。
(3)スレーブECU20は、第6時刻t_6から第3時刻t_3を引いた第1の差と、第5時刻t_5から第4時刻t_4を引いた第2の差と、を算出する。そして、スレーブECU20は、第1の差から第2の差を引いた差を2で割った商を遅延時間pDelayとして算出している。車両制御システム100は、こうして遅延時間pDelayを算出できる。
【0053】
(4)バリデータECU30は、第3の差から第4の差を引いた差の絶対値が閾値以上である場合に周期ずれが有ると判定する。これにより、バリデータECU30は、第1時刻t_1から前回取得した第1時刻t_1を引いた第3の差と、第2時刻t_2から前回取得した第2時刻t_2を引いた第4の差との乖離が既定水準以上である場合に、周期ずれが有ると判定できる。
【0054】
(5)スレーブECU20が、第1時刻t_1から第5の差を引いた差の絶対値が閾値以上である場合にオフセットずれが有ると判定する。これにより、バリデータECU30は、第2時刻t_2から遅延時間pDelayを引いた第5の差と、第1時刻t_1との乖離が既定水準以上であるときにオフセットずれが有ると判定できる。
【0055】
<変更例>
本実施形態は、以下のように変更して実施できる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施できる。
【0056】
・上記の実施形態では、マスタECU10、各スレーブECU20、及びバリデータECU30がバス50を介してスイッチECU40に接続されている例を示した。車両制御システム100の構成は、こうした構成に限らない。
【0057】
例えば、
図5に示すように、車両制御システム100は、マスタECU10が、タイムマスタ部11と、スイッチ部14とを備えている構成であってもよい。タイムマスタ部11は、例えば、マスタECU10上に構成された仮想マシンであり、上記の実施形態におけるマスタECU10と同様に機能する機能部である。また、スイッチ部14は、マスタECU10上に構成された仮想マシンであり、上記の実施形態におけるスイッチECU40と同様に機能する機能部である。
【0058】
また、
図6に示すように、車両制御システム100は、マスタECU10が、タイムマスタ部11と、スイッチ部14と、バリデータ部13とを備えている構成であってもよい。バリデータ部13は、例えば、マスタECU10上に構成された仮想マシンであり、上記の実施形態におけるバリデータECU30と同様に機能する機能部である。
【0059】
これらの構成を採用した場合にも、上記実施形態と同様の効果を得ることができる。
・上記の実施形態では、第3の差から第4の差を引いた差の絶対値が閾値以上であることに基づいて周期ずれが有ると判定する例を示した。これに対して周期ずれの判定方法は、マスタECU10における処理の周期と、スレーブECU20における処理の周期との乖離が既定水準以上である場合に、周期ずれが有ると判定するものであればよい。そのため、周期ずれの判定方法は、上記の実施形態において例示した方法に限定されない。例えば、第3の差と第4の差との比の値が、1.0を中心にした許容範囲に収まっていないことに基づいて周期ずれが有ると判定する方法を採用することもできる。
【0060】
・上記の実施形態では、第1時刻t_1から第5の差を引いた差の絶対値が閾値以上である事に基づいてオフセットずれが有ると判定する例を示した。これに対してオフセットずれの判定方法は、第2時刻t_2から遅延時間pDelayを引いた第5の差と、第1時刻t_1との乖離が既定水準以上であるときにオフセットずれが有ると判定するものであればよい。そのため、オフセットずれの判定方法は、上記の実施形態において例示した方法に限定されない。例えば、第1時刻t_1と第5の差との比の値が1.0を中心にした許容範囲に収まっていないことに基づいてオフセットずれが有ると判定する方法を採用することもできる。
【符号の説明】
【0061】
10…マスタECU、11…タイムマスタ部、13…バリデータ部、14…スイッチ部、20…スレーブECU、30…バリデータECU、60…第1フィールド、70…第2フィールド、71…PDUヘッダ、75…PDUペイロード、76…共通フィールド、77…個別フィールド、100…車両制御システム、200…フレーム