IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧

特許7597275時刻同期システム、時刻検証装置、及び時刻検証方法
<>
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図1
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図2
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図3
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図4
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図5
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図6
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図7
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図8
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図9
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図10
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図11
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図12
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図13
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図14
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図15
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図16
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図17
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図18
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図19
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図20
  • 特許-時刻同期システム、時刻検証装置、及び時刻検証方法 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】時刻同期システム、時刻検証装置、及び時刻検証方法
(51)【国際特許分類】
   H04L 7/00 20060101AFI20241203BHJP
【FI】
H04L7/00 990
【請求項の数】 15
(21)【出願番号】P 2024517356
(86)(22)【出願日】2023-04-25
(86)【国際出願番号】 JP2023016347
(87)【国際公開番号】W WO2023210659
(87)【国際公開日】2023-11-02
【審査請求日】2024-06-04
(31)【優先権主張番号】P 2022074975
(32)【優先日】2022-04-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】小谷 安弘
(72)【発明者】
【氏名】長谷川 孝夫
【審査官】阿部 弘
(56)【参考文献】
【文献】特表2020-526051(JP,A)
【文献】米国特許出願公開第2016/0020863(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)及び時刻検証装置(40)を備え、
前記マスタ装置は、
前記1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信するように構成された同期メッセージ送信部(S120,S150)と、
前記同期メッセージの送信時刻を含むマスタ検証用情報を前記時刻検証装置に送信するように構成されたマスタ情報送信部(S160)と、
を備え、
前記スレーブ装置は、
前記同期メッセージを受信することで得られる情報に基づいて、前記グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成されたように構成された同期実行部(S390)と、
前記同期実行部による時刻の同期に用いられた情報を含むスレーブ検証用情報を前記時刻検証装置に送信するように構成されたスレーブ情報送信部(S400)と、
を備え、
前記時刻検証装置は、
前記マスタ装置から受信する前記マスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信する前記スレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成するように構成された検証実行部(S530)と、
前記検証実行部で生成された前記検証情報を、前記マスタ装置及び前記1つ以上のスレーブ装置のそれぞれに送信するように構成された結果送信部(S550)と、
を備える時刻同期システム。
【請求項2】
請求項1に記載の時刻同期システムであって、
前記時刻検証装置は、
前記検証情報に基づいて前記同期状態の異常が検出された場合、前記結果送信部による前記検証情報の送信を禁止するように構成された送信禁止部(S542)を更に備え、
前記マスタ装置及び前記スレーブ装置は、
前記マスタ検証用情報又は前記スレーブ検証用情報の送信後、許容時間内に前記検証情報を受信しない場合、前記同期状態の異常があると判定するように構成された異常判定部(S220,S420)を更に備える
時刻同期システム。
【請求項3】
請求項1に記載の時刻同期システムであって、
前記時刻検証装置は、前記検証情報に基づいて前記時刻同期の状態が正常であるか否かを判定し、判定結果を示す付加情報を前記検証情報に付加する情報付加部(S542~S546)を更に備え、
前記マスタ装置及び前記スレーブ装置は、前記付加情報に従って、前記時刻同期を継続又は停止するように構成された
時刻同期システム。
【請求項4】
請求項1から請求項3までのいずれか1項に記載の時刻同期システムであって、
前記時刻検証装置での検証結果を読み取る外部診断ツール(60)が着脱される外部機器インタフェース(50)を更に備える
時刻同期システム。
【請求項5】
請求項1から請求項3までのいずれか1項に記載の時刻同期システムであって、
前記1つ以上のスレーブ装置は、複数のスレーブ装置であり、
前記複数のスレーブ装置の一つを、ブリッジ装置として、
前記ブリッジ装置以外の他のスレーブ装置及び前記マスタ装置は、前記ブリッジ装置を介して相互に接続された
時刻同期システム。
【請求項6】
請求項5に記載の時刻同期システムであって
前記時刻検証装置は、前記マスタ装置及び前記ブリッジ装置のいずれかと一体に構成された
時刻同期システム。
【請求項7】
請求項1から請求項3のいずれか1項に記載の時刻同期システムであって、
前記検証実行部は、前記検証情報として、時刻合わせを行った参照点での時刻を前記グローバル時間で示した参照グローバル時刻と、前記ローカル時間で示した参照ローカル時刻との差分を表す時間オフセット、及び前記参照点間の時間長を前記グローバル時間で示した値と、前記ローカル時間で示した値との差である時間偏差のうち、少なくとも一つを算出する
時刻同期システム。
【請求項8】
請求項1に記載の時刻同期システムであって、
前記マスタ装置は、
前記時刻検証装置から受信する前記検証情報に従って、前記同期状態が正常であるか否かを判定するように構成された同期状態判定部(S230)と、
前記同期状態判定部での判定結果に従い、前記同期状態が正常である状態の回数に応じて、前記同期メッセージ送信部による前記同期メッセージの送信間隔を変更するように構成された送信間隔制御部(S250~S260)と、
を更に備える
時刻同期システム。
【請求項9】
請求項1に記載の時刻同期システムであって、
前記マスタ情報送信部は、前記同期メッセージが1回又は複数回送信される毎に、前記マスタ検証用情報を送信するように構成された、
時刻同期システム。
【請求項10】
請求項1に記載の時刻同期システムであって、
前記マスタ装置は、
予め設定された検証用情報送信条件が成立したか否かを判定するように構成された成立判定部(S154)を備え、
前記マスタ情報送信部は、前記成立判定部にて、前記検証用情報送信条件が成立したと判定された場合に、前記マスタ検証用情報を送信するように構成された
時刻同期システム。
【請求項11】
請求項10に記載の時刻同期システムであって、
前記成立判定部は、前記同期メッセージが指定回数送信される毎に、前記検証用情報送信条件が成立したと判定するように構成された
時刻同期システム。
【請求項12】
請求項11に記載の時刻同期システムであって、
前記マスタ装置は、
前記マスタ検証用情報の送信回数が大きくなるほど、前記指定回数が増大するように、該指定回数を変更するように構成された指定回数変更部(S610~S620)を更に備える
時刻同期システム。
【請求項13】
請求項10に記載の時刻同期システムであって、
前記成立判定部は、車速が所定値以上であること、当該時刻同期システムに外部装置が接続されていること、自動運転を含む運転支援に関わる機能が作動状態であること、及び前記同期メッセージに前記同期状態の検証を要求する情報が付加されていることのうち、少なくとも一つを用いて、前記検証用情報送信条件が成立しているか否かを判定するように構成された、
時刻同期システム。
【請求項14】
時刻検証装置であって、
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)を備え、前記マスタ装置が有するクロックでカウントされるグローバル時間が示す時刻に、前記スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成された時刻同期システムにて用いられ、
前記マスタ装置から受信するマスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信するスレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成するように構成された検証実行部(S530)と、
前記検証実行部で生成された前記検証情報を、前記1つ以上のスレーブ装置のそれぞれに送信するように構成された結果送信部(S550)と、
を備え、
前記マスタ検証用情報は、前記グローバル時間で示された同期メッセージの送信時刻を含み、
前記スレーブ検証用情報は、前記同期メッセージを受信することで得られ、前記時刻同期に用いられる情報を含む、
時刻検証装置。
【請求項15】
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)及び時刻検証装置(40)を備える時刻同期システムにおける時刻検証方法であって、
前記マスタ装置は、
前記1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信し(S120,S150)、
前記同期メッセージの送信時刻を含むマスタ検証用情報を前記時刻検証装置に送信し(S160)、
前記スレーブ装置は、
前記同期メッセージを受信することで得られる情報に基づいて、前記グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行い(S390)、
前記時刻同期に用いられた情報を含むスレーブ検証用情報を前記時刻検証装置に送信し(S400)、
前記時刻検証装置は、
前記マスタ装置から受信する前記マスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信する前記スレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成し(S530)、
生成された前記検証情報を、前記1つ以上のスレーブ装置のそれぞれに送信する(S550)、
時刻検証方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本国際出願は、2022年4月28日に日本国特許庁に出願された日本国特許出願第2022-074975号に基づく優先権を主張するものであり、日本国特許出願第2022-074975号の全内容を本国際出願に参照により援用する。
【技術分野】
【0002】
本開示は、ネットワーク内の各ノードの時刻同期を検証する技術に関する。
【背景技術】
【0003】
イーサネットを用いた時刻同期プロトコルとして、マスタノードが自身の時刻を時刻同期システム内のスレーブノードに配信することで、スレーブノードの時刻をマスタノードの時刻に同期させる技術が知られている。イーサネットは登録商標である。
【0004】
時刻同期システムでは、時刻情報の化けや改ざんによって、スレーブノードが意図しない時刻に同期する可能性がある。このような異常を検出するために、例えば、非特許文献1には、時刻同期メッセージを複数回受信した後にメッセージ内容から時刻同期ネットワークの状態を推定して異常を検出する技術が記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】Avnu Automotive Technical Working Group、“Automotive Ethernet AVB Functional and Interoperability Specification Revision 1.6”、[online]、2019年11月7日、[令和4年4月20日検索]、インターネット<URL:https://avnu.org/wp-content/uploads/2014/05/Auto-Ethernet-AVB-Func-Interop-spec_v1.6.pdf>
【発明の概要】
【0006】
しかしながら、上記非特許文献1に記載された従来技術では、異常が発生した状態で送信される時刻同期メッセージを複数回受信しなければならず、異常が検出されるまでに時間を要するという問題が見出された。
【0007】
本開示の1つの局面は、時刻同期システムに属する各ノードの時刻同期の状態を速やかに検証する技術を提供する。
【0008】
本開示の一態様は、時刻同期システムであって、マスタ装置、1つ以上のスレーブ装置、及び時刻検証装置を備える。マスタ装置、1つ以上のスレーブ装置、時刻検証装置は、通信ネットワークを介して接続される。
【0009】
マスタ装置は、同期メッセージ送信部と、マスタ情報送信部と、を備える。同期メッセージ送信部は、1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信するように構成される。マスタ情報送信部は、同期メッセージの送信時刻を含むマスタ検証用情報を時刻検証装置に送信するように構成される。
【0010】
スレーブ装置は、同期実行部と、スレーブ情報送信部と、を備える。同期実行部は、同期メッセージを受信することで得られる情報に基づいて、グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成される。スレーブ情報送信部は、同期実行部による時刻の同期に用いられた情報を含むスレーブ検証用情報を時刻検証装置に送信するように構成される。
【0011】
時刻検証装置は、検証実行部と、結果送信部と、を備える。検証実行部は、マスタ装置から受信するマスタ検証用情報、及び1つ以上のスレーブ装置のそれぞれから受信するスレーブ検証用情報に基づいて、スレーブ装置毎に、ローカル時間とグローバル時間との同期状態を検証するための検証情報を生成するように構成される。結果送信部は、検証実行部で生成された検証情報を、1つ以上のスレーブ装置のそれぞれに送信するように構成される。
【0012】
このような構成によれば、1つ以上のスレーブ装置は、グローバル時間に対する自装置が有するローカル時間の時刻同期の状態を、検証情報を用いて速やかに判定できる。
【0013】
本開示の一態様による時刻検証装置は、時刻同期システムにて用いられる。時刻同期システムは、通信ネットワークを介して接続されたマスタ装置、1つ以上のスレーブ装置、を備える。時刻同期システムは、マスタ装置が有するクロックでカウントされるグローバル時間が示す時刻に、スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成される。
【0014】
時刻検証装置は、検証実行部と、結果送信部と、を備える。検証実行部は、マスタ装置から受信するマスタ検証用情報、及び1つ以上のスレーブ装置のそれぞれから受信するスレーブ検証用情報に基づいて、スレーブ装置毎に、ローカル時間とグローバル時間との同期状態を検証するための検証情報を生成するように構成される。結果送信部は、検証実行部で生成された検証情報を、1つ以上のスレーブ装置のそれぞれに送信するように構成される。マスタ検証用情報は、グローバル時間で示された同期メッセージの送信時刻を含む。スレーブ検証用情報は、同期メッセージを受信することで得られ、時刻同期に用いられる情報を含む。
【0015】
このような構成によれば、時刻同期システムにおける時刻同期の検証を速やかに行うことができる。
【0016】
本開示の一態様による時刻検証方法は、時刻同期システムに適用される。時刻同期システムは、通信ネットワークを介して接続されたマスタ装置、1つ以上のスレーブ装置、及び時刻検証装置を備える。
【0017】
マスタ装置は、1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信する。また、マスタ装置は、同期メッセージの送信時刻を含むマスタ検証用情報を時刻検証装置に送信する。
【0018】
スレーブ装置は、同期メッセージを受信することで得られる情報に基づいて、グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行う。また、スレーブ装置は、時刻同期に用いられた情報を含むスレーブ検証用情報を時刻検証装置に送信する。
【0019】
時刻検証装置は、マスタ装置から受信するマスタ検証用情報、及び1つ以上のスレーブ装置のそれぞれから受信するスレーブ検証用情報に基づいて、スレーブ装置毎に、ローカル時間とグローバル時間との同期状態を検証するための検証情報を生成する。また、時刻検証装置は、生成された検証情報を、1つ以上のスレーブ装置のそれぞれに送信する。
【0020】
このような方法によれば、時刻同期システムにおける時刻同期の検証を速やかに行うことができる。
【図面の簡単な説明】
【0021】
図1】時刻同期システムの構成を示すブロック図である。
図2】時刻同期及び時刻検証の概要を示すシーケンス図である。
図3】時刻同期の方法を示す説明図である。
図4】マスタECUが備えるTMTRテーブルの内容を示す一覧表である。
図5】ブリッジECU及びスレーブECUが備えるTSTRテーブルの内容を示す一覧表である。
図6】時刻同期及び時刻検証に用いるパラメータの説明図である。
図7】ブリッジECU及びスレーブECUが備えるSTBRテーブルの内容を示す一覧表である。
図8】時刻検証ECUが備えるVDテーブルの内容を示す一覧表である。
図9】マスタ時刻処理のフローチャートである。
図10】ブリッジ時刻処理のフローチャートである。
図11】スレーブ時刻処理のフローチャートである。
図12】時刻検証処理のフローチャートである。
図13】時刻検証処理の変形例のフローチャートである。
図14】時刻検証処理の変形例のフローチャートである。
図15】時刻同期システムの他の構成例を示すブロック図である。
図16】時刻同期システムの他の構成例を示すブロック図である。
図17】時刻同期及び時刻検証に使用されるメッセージに含まれる情報を示す説明図である。
図18】第1実施形態における検証確認処理のフローチャートである。
図19】第2実施形態における検証確認処理のフローチャートである。
図20】第3実施形態におけるマスタ時刻処理のフローチャートである。
図21】第3実施形態における成立判定処理のフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照しながら、本開示の実施形態を説明する。
【0023】
[1.第1実施形態]
[1-1.構成]
図1に示す時刻同期システム1は、車載機器による通信ネットワークであり、マスタ電子制御ユニット(以下、マスタECU)10と、ブリッジECU20と、複数のスレーブECU30と、時刻検証ECU40とを備える。ブリッジECU20はイーサネットスイッチやゲートウェイなどの中継装置を含む。
【0024】
時刻同期システム1は、外部診断ツール60を接続するための外部機器インタフェース50を備えてもよい。本実施形態では、外部機器インタフェース50は、ブリッジECU20に接続される。外部機器インタフェース50は、例えば、USBコネクタを用いてもよい。
【0025】
マスタECU10、複数のスレーブECU30、時刻検証ECU40は、それぞれ個別の信号線を介してブリッジECU20に接続される。つまり、マスタECU10、複数のスレーブECU30、時刻検証ECU40は、ブリッジECU20を中心にしてスター状のネットワークを形成する。信号線を介した各ECU10~40間の通信には、イーサネットの通信プロトコルが用いられる。イーサネットは登録商標である。なお、通信プロトコルはイーサネットに限定されず、Controller Area Network(以下、CAN)やFlexRayなどの通信プロトコルでもよい。CANおよびFlexRayは登録商標である。
【0026】
時刻同期システム1では、マスタECU10で使用されるグローバル時間に、ブリッジECU20及び複数のスレーブECU30のそれぞれで使用されるローカル時間を同期させる時刻同期が行われる。時刻同期には、例えば、IEEE1588 Precision Time Protocol(以下、PTP)が用いられてもよい。
【0027】
ブリッジECU20は、外部機器インタフェース50に接続された外部診断ツール60からの要求に応じて、時刻同期及び時刻検証のために各ECU10~40間で送受信される情報を、外部診断ツール60に提供する。
【0028】
マスタECU10は、CPU11及びROM,RAM等のメモリ12を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU11が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROMが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPUが実行する機能の一部又は全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。マスタECU10を構成するマイクロコンピュータの数は1つでも複数でもよい。ブリッジECU20、スレーブECU30、及び時刻検証ECU40も、マスタECU10と同様である。以下、マスタECU10、ブリッジECU20、スレーブECU30、及び時刻検証ECU40を総称する場合、各ECU10~40と表記する。
【0029】
[1-2.時刻同期の概要]
時刻同期システム1にて行われる時刻同期の概要について説明する。
【0030】
時刻同期の対象となる各ECU10~30は、それぞれ独立に動作するローカルクロックを有する。
【0031】
マスタECU10では、マスタローカル時間とグローバル時間とが用いられる。マスタローカル時間及びグローバル時間は、いずれもマスタECU10が有するローカルクロックに従って時を刻む。マスタローカル時間は、マスタECU10における固有の時刻を示し、時間間隔の測定等に用いられる。グローバル時間は、マスタローカル時間とは異なる時刻を示してもよい。
【0032】
ブリッジECU20及び複数のスレーブECU30では、それぞれ、スレーブローカル時間と同期ローカル時間とが用いられる。スレーブローカル時間及び同期ローカル時間は、いずれも各ECU20,30が有するローカルクロックに従って時を刻む。スレーブローカル時間は、ブリッジECU20及び複数のスレーブECU30のそれぞれにおける固有の時刻を示し、時間間隔の測定等に用いられる。同期ローカル時間は、スレーブローカル時間とは異なった時刻を示してもよい。
【0033】
時刻同期は、ブリッジECU20及び複数のスレーブECU30のそれぞれにおいて、同期ローカル時間が示す時刻を、マスタECU10のグローバル時間が示す時刻に合わせることを意味する。各ECU10~30にて実行される時刻を利用するアプリケーションは、グローバル時間又はグローバル時間に同期した同期ローカル時間が示す時刻を用いる。
【0034】
各ECU10~30は、マスタECU10とブリッジECU20との間の伝送遅延時間(以下、MB遅延時間)、及び各スレーブECU30とブリッジECU20との間の伝送遅延時間(以下、SB遅延時間)に基づいて設定される遅延情報PDを記憶する。遅延情報PDは、出荷時等に測定される値(すなわち、固定値)であってもよいし、システム起動時等の決められたタイミングで、決められた手順に従って測定される値(すなわち、可変値)であってもよい。
【0035】
図2及び図17に示すように、時刻同期では、第1同期メッセージSY及び第2同期メッセージFUが用いられる。また、時刻検証では、マスタレコード通知メッセージMM、ブリッジレコード通知メッセージBM、スレーブレコード通知メッセージSM、結果通知メッセージVMが用いられる。これらのメッセージSY,FU,MM,BM,SM,VMは、いずれも、TCP/IPモデルのアプリケーション層で扱われるメッセージであり、TCP又はUDPによって通信が行われる。
【0036】
マスタECU10は、ブリッジECU20に対して定期的に第1同期メッセージSYを送信する。また、マスタECU10は、第1同期メッセージSYに続けて、第2同期メッセージFUを送信する。第2同期メッセージFUには、フォローアップメッセージと呼ばれ、第1同期メッセージSYの送信時刻を、グローバル時間によりナノ秒単位で正確に表した時刻情報であるグローバル送信時刻OTが付加される。
【0037】
なお、マスタECU10は、予め設定された第1送信条件が成立するタイミングで、第1同期メッセージSYを、ブリッジECU20に対して送信し、以後、定期的に第1同期メッセージSYを送信してもよい。第1送信条件には、マスタECU10の起動、またはマスタECU10の起動から所定時間経過が含まれてもよい。第1送信条件には、車両の電源、イグニッション(以下、IG)又はアクセサリ(以下、ACC)のターンオン、並びに、電源、IG又はACCがターンオンしてから所定時間経過が含まれてもよい。更に、第1送信条件には、前述の第1送信条件に加えて、第1同期メッセージSYを受信するブリッジECU20及びスレーブECU30の起動をマスタECU10が確認することが含まれてもよい。
【0038】
マスタECU10は、ブリッジECU20及びスレーブECU30が起動しているか否かを、例えば、スレーブECU30からの所定フレームを、ブリッジECUを介して受信したか否かによって判定してもよい。なお、定期的に送信される第1同期メッセージSYの送信間隔は、永続的に一定である必要はなく、後述する時刻同期の検証結果に基づいて、マスタECU10が送信間隔を制御してもよい。
【0039】
ブリッジECU20は、第1同期メッセージSYを受信すると、複数のスレーブECU30のそれぞれに転送する。ここでは、スレーブECU30の数をm個とする。ブリッジECU20は、スレーブECU30に転送する第1同期メッセージSY-1~SY-mに、滞留遅延時間CFを付加する。滞留遅延時間CFは、ブリッジECU20がマスタECU10から第1同期メッセージSYを受信してから、各スレーブECU30に対して第1同期メッセージSY-1~SY-mを送信するまでに要する時間の測定値である。
【0040】
ブリッジECU20は、第2同期メッセージFUを受信すると、m個のスレーブECU30のそれぞれに転送する。
【0041】
図6に示すように、ブリッジECU20及び各スレーブECU30は、第1同期メッセージSYを受信すると、受信時刻を表すタイムスタンプである第1ローカル受信時刻LT1を取得する。また、第2同期メッセージFUを受信すると、受信時刻を表すタイムスタンプである第2ローカル受信時刻LT2を取得する。第1ローカル受信時刻LT1及び第2ローカル受信時刻LT2は、いずれも、受信時刻を、スレーブローカル時間によりナノ秒単位で正確に表した時刻情報である。
【0042】
ブリッジECU20及び各スレーブECU30は、それぞれ、第1同期メッセージSY及び第2同期メッセージFUを受信することによって得られる情報を用いて時刻同期を行う。
【0043】
図3に示すように、グローバル時間と同期スレーブ時間とは、使用するローカルクロックが異なるため、時刻を揃えて動作させても、時間の経過に従って時間偏差が増大する。そこで、時刻同期では、第1同期メッセージSY及び第2同期メッセージFUを受信することで得られる情報に従って、参照グローバル時刻GT0と、レート補正値Rateとを算出し、(1)式に従って、同期ローカル時間が表す時刻SLT(t)を算出する。
【0044】
【数1】
参照グローバル時刻GT0は、同期ローカル時間をグローバル時間に合わせたタイミングをグローバル時間で表した時刻であり、図3中では、グローバル時間と同期スレーブ時間とが一致している点の時刻である。
【0045】
レート補正値Rateは、グローバル時間が表す時刻と、同期スレーブ時間が表す時刻との偏差の単位時間当たりの増大量であり、図3中では、グローバル時間を表す線に対する同期スレーブ時間を表す線の傾きに相当する。
【0046】
LT(t)は、スレーブローカル時間で表した現時刻であり、LT0は、参照グローバル時刻TG0をスレーブローカル時間で表した時刻である。
【0047】
[1-3.時刻検証の概要]
時刻同期システム1にて行われる時刻検証の概要について説明する。
【0048】
時刻検証を行うために、各ECU10~30は、時刻同期に関わる情報をテーブルに記録する。図2に示すように、マスタECU10は、第2同期メッセージFUの送信後に、テーブルに記録されている情報(以下、時刻レコード情報)を含むマスタレコード通知メッセージMMを、ブリッジECU20を介して時刻検証ECU40に送信する。ブリッジECU20は、第2同期メッセージFUの転送後に、時刻レコード情報を含むブリッジレコード通知メッセージBMを、時刻検証ECU40に送信する。各スレーブECU30は、第2同期メッセージFUの受信後に、時刻レコード情報を含むスレーブレコード通知メッセージSM-1~SM-mを、ブリッジECU20を介して時刻検証ECU40に送信する。以下、スレーブレコード通知メッセージSM-1~SM-mに区別をつけずに説明する場合はスレーブレコード通知メッセージSMと記載する。
【0049】
マスタECU10は、予め設定された第2送信条件が成立するタイミングで、マスタレコード通知メッセージMMを時刻検証ECU40にブリッジECU20を介して送信する。第2送信条件には、第2同期メッセージFUの送信から所定時間経過が含まれてもよいし、第2同期メッセージFUを複数回送信してから所定時間経過が含まれてもよい。更に、第2送信条件には、後述する特定の条件が含まれてもよい。
【0050】
また、ブリッジECU20は、予め設定された第3送信条件が成立するタイミングで、ブリッジレコード通知メッセージBMを時刻検証ECU40に送信する。第3送信条件には、第2同期メッセージFUの転送から所定時間経過が含まれてもよいし、第2同期メッセージFUを複数回転送してから所定時間経過が含まれてもよい。更に第3送信条件には、後述する特定の条件が含まれてもよい。
【0051】
また、スレーブECU30は、予め設定された第4送信条件が成立するタイミングで、スレーブレコード通知メッセージSMを時刻検証ECU40にブリッジECU20を介して送信する。第4送信条件には、第2同期メッセージFUの受信から所定時間経過が含まれてもよいし、第2同期メッセージFUを複数回受信してから所定時間経過が含まれてもよい。更に、第4送信条件には、後述する特定の条件が含まれてもよい。
【0052】
マスタレコード通知メッセージMM、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMの送信タイミングについては、各ECU10~30で揃える必要がある。例えば、マスタECU10が、第2同期メッセージFUを2回送信してから所定時間経過後に、マスタレコード通知メッセージMMを送信する場合を想定する。この場合、ブリッジECU20は、第2同期メッセージFUを全てのスレーブECU30に転送する転送処理を2回実施してから所定時間経過後に、ブリッジレコード通知メッセージBMを時刻検証ECU40に送信する必要がある。また、スレーブECU30は、第2同期メッセージFUを2回受信してから所定時間経過後にスレーブレコード通知メッセージSMを送信する必要がある。
【0053】
マスタECU10が、時刻同期の検証を要求する情報を付加した第1同期メッセージSY又は第2同期メッセージFUを送信することで、各ECU10~30が、マスタレコード通知メッセージMM、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMの送信の要否を把握できるようにしてもよい。詳細については後述する。
【0054】
時刻検証ECU40は、各ECU10~30から受信した時刻レコード情報を用いて時刻を検証する処理を行い、検証結果を含む結果通知メッセージVMを各ECU10~30に送信する。具体的には、時刻検証ECU40がブリッジECU20に対して検証結果を含む結果通知メッセージVMを送信する。そして、当該結果通知メッセージVMを受信したブリッジECU20がマスタECU10及びスレーブECU30に結果通知メッセージVM-0~VM-mを送信する。
【0055】
[1-4.時刻レコード情報]
[1-4-1.TMTRテーブル]
マスタECU10が、時刻レコード情報を記録するTimesync Master Timing Record(以下、TMTR)テーブルについて説明する。
【0056】
図4に示すように、TMTRテーブルは、シーケンス識別子SIDと、送信元ポート識別子PIDと、ローカル送信時刻MLTと、グローバル送信時刻OTとが記録される。
【0057】
シーケンス識別子SIDは、マスタECU10が、時刻同期用メッセージの送信に用いるシーケンスの識別子であり、マスタECU10が第1同期メッセージSYを送信する毎に1つずつ値が増加する。
【0058】
送信元ポート識別子PIDは、マスタECU10が、時刻同期用メッセージの送信に用いるポートの識別子であり、固定値が用いられる。
【0059】
ローカル送信時刻MLTは、第1同期メッセージSYの送信時刻を表すタイムスタンプであり、マスタローカル時間によって表される時刻情報である。
【0060】
グローバル送信時刻OTは、第1同期メッセージSYの送信時刻を表すタイムスタンプであり、グローバル時間によって表される時刻情報である。グローバル送信時刻OTは、マスタローカル時間をグローバル時間に変換する式を用いて、ローカル送信時刻MLTに基づいて算出される。
【0061】
[1-4-2.TSTRテーブル]
ブリッジECU20及び各スレーブECU30が、時刻レコード情報を記録するTimesync Slave Timing Record(以下、TSTR)テーブルについて説明する。
【0062】
図5に示すように、TSTRテーブルは、シーケンス識別子SIDと、送信元ポート識別子PIDと、第1ローカル受信時刻LT1と、グローバル送信時刻OTと、滞留遅延時間CFと、伝送遅延時間PDと、第2ローカル受信時刻LT2と、参照グローバル時刻GT0とが記録される。
【0063】
シーケンス識別子SID、送信元ポート識別子PID、及び遅延滞留時間CFは、受信した第1同期メッセージSYから抽出される情報である。
【0064】
図6に示すように、第1ローカル受信時刻LT1は、第1同期メッセージSYの受信時刻を表すタイムスタンプであり、スレーブローカル時間で表される時刻情報である。
【0065】
第1ローカル受信時刻LT2は、第2同期メッセージFUの受信時刻を表すタイムスタンプであり、スレーブローカル時間で表される時刻情報である。
【0066】
グローバル送信時刻OTは、受信した第2同期メッセージFUから抽出される情報である。
【0067】
伝送遅延時間PDは、別途実行される測定によって得られた値である。但し、ブリッジECU20では、伝送遅延時間PDは、マスタECU10とブリッジECU20との間の伝送遅延時間であるMB遅延時間が用いられる。スレーブECU30では、伝送遅延時間PDは、ブリッジECU20と当該スレーブECU30との間の伝送遅延時間であるSB遅延時間と、MB遅延時間との合計値が用いられる。
【0068】
参照グローバル時刻GT0は、第2同期メッセージFUの受信タイミングを参照点として、参照点のグローバル時間を(2)式を用いて算出した時刻情報である。なお、パラメータに付属する(n)は、n番目のシーケンスで得られる値であることを示す。
【0069】
【数2】
[1-4-3.STBRテーブル]
ブリッジECU20及び各スレーブECU30が、TSTRテーブルの記録内容から算出する情報等を記録するSynchronized Time Base Record(以下、STBR)テーブルについて説明する。
【0070】
図7に示すように、STBRテーブルは、ドメイン識別子DIDと、クロック周波数Hwfと、クロック分周数Hwpと、参照グローバル時刻GT0と、時刻同期ステータスTBSと、ローカル時刻LT2nと、クロック偏差値RDと、同期前の参照同期ローカル時刻SLT0と、全経路遅延PDLとが記録される。
【0071】
ドメイン識別子DIDは、時刻同期システム1のネットワーク構造に従って付与される識別子であり固定値が用いられる。
【0072】
クロック周波数Hwfは、ローカルクロックの周波数であり、固定値が用いられる。
【0073】
クロック分周数Hwpは、スレーブローカル時間の単位時間を生成するのに必要な、ローカルクロックの分周数であり、固定値が用いられる。
【0074】
参照グローバル時刻GT0は、TSTRテーブルに記録されたものと同じである。但し、参照グローバル時刻GT0は、秒単位で表される上位32ビットをGT0s、ナノ秒単位で表される下位32ビットをGT0nとして、二つに分けて記録される。
【0075】
ローカル時刻LT2nは、第2ローカル受信時刻LT2のうち、ナノ秒単位で表される下位32ビットである。
【0076】
参照同期ローカル時刻SLT0は、参照点での同期ローカル時刻SLTを(3)式を用いて算した時刻情報である。参照点では、同期ローカル時刻SLTは、グローバル時刻GTに同期されるが、参照同期ローカル時刻SLT0(n)は同期化前の値であり、参照同期化ローカル時刻SLT(n-1)は、同期化後の値である。以下の(5)(6)式でも同様である。
【0077】
【数3】
参照同期ローカル時刻SLT0は、参照グローバル時刻TG0と同様に、秒単位で表される上位32ビットをSLT0s、ナノ秒単位で表される下位32ビットをSLT0nとして、二つに分けて記録される。
【0078】
クロック偏差RDは、(4)式で表される。クロック偏差RDは、(5)式で表される時間偏差TDを変形することで得られる。時間偏差TDは、前回のシーケンスにおける参照点から今回のシーケンスにおける参照点までに生じたグローバル時間と同期ローカル時間との時間差である。(4)式で表されるクロック偏差RDは、(5)式の右辺を、(5)式の右辺第2項(すなわち、参照点間の時間を同期ローカル時間で表した時間間隔)で除してPPM単位に変換した値である。つまり、Rateは、時刻同期で説明した(1)式で用いられるレート補正値であり、(6)式で表される。つまり、レート補正値Rateは、(5)式の右辺第1項(すなわち、参照点間の時間をグローバル時間で表した時間間隔)を、(5)式の右辺第2項で除した値である。
【0079】
【数4】
全経路遅延PDLは、マスタECU10でメッセージが送信されてから、ブリッジECU20又はスレーブECU30でメッセージが受信されるまでに要する遅延の合計であり、(7)式で表される。
【0080】
【数5】
時刻同期ステータスTBSには、タイムアウトフラグ、同期履歴フラグ、進み判定フラグ、遅れ判定フラグが含まれる。タイムアウトフラグは、第1同期メッセージSYの受信間隔が、許容時間以内空いた場合にオン設定されるフラグである。同期履歴フラグは、第1同期メッセージSY等を受信することによって、グローバル時間に同期したことがある場合にオン設定されるフラグである。
【0081】
進み判定フラグは、(8)式で算出される時刻オフセットOF(n)が、時間閾値THに対して、OF(n)<-THである場合、すなわち、グローバル時間に対する同期化ローカル時間の進み具合が許容値を超えている場合にオン設定されるフラグである。なお、GT0は、(2)式に従って算出され、SLT0は、(3)式に従って算出された値を用いる。
【0082】
【数6】
遅れ判定フラグは、時刻オフセットOF(n)が、時間閾値THに対してTD(n)>THである場合、すなわち、グローバル時間に対する同期化ローカル時間の遅れ具合が、許容値を超えている場合にオン設定されるフラグである。
【0083】
なお、進み判定フラグ及び遅れ判定フラグは、(5)式で算出される時間偏差TD(n)やレート補正値Rateに基づいて設定されてもよい。
【0084】
[1-4-4.VDテーブル]
時刻検証ECU40が、検証結果を記録するValidate data(以下、VD)テーブルについて説明する。VDテーブルは、ブリッジECU20及び複数のスレーブECU30のそれぞれに対して個別に生成される。
【0085】
図8に示すように、VDテーブルは、時刻オフセットOF、クロック偏差RD、滞留遅延時間CF、伝送遅延時間PD、スレーブ内遅延時間SDL、第1同期メッセージ受信間隔SYint、スレーブステータスSSが含まれる。
【0086】
以下では、マスタレコード通知メッセージMMに含まれる時刻レコード情報を、マスタレコード情報、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMに含まれる時刻レコード情報をスレーブレコード情報という。
【0087】
時刻オフセットOFは、(8)式に従って算出される。但し、GT0は、今回のシーケンスで取得されたマスタレコード情報に含まれるOTと、今回のシーケンスで取得されたスレーブレコード情報に含まれるCF,PD,RD,LT1,LT2を用いて、(9)式に従って算出される。但し、Rateは、RDを用いて(10)式に従って算出される。
【0088】
【数7】
SLT0は、前回のシーケンスで取得されたスレーブレコード情報に含まれるSLT0,LT2と、今回のシーケンスで取得したスレーブレコード情報に含まれるRD,LT2を用いて、(11)式に従って算出される。但し、Rateは、RDを用いて(10)式に従って算出される。
【0089】
【数8】
時間偏差TDは、(9)(11)式を用いて、今回のシーケンスで算出されたGT0、SLT0と、前回のシーケンスで算出されたGT0,SLT0とを用いて、(12)式に従って算出される。
【0090】
【数9】
滞留遅延時間CF、伝送遅延時間PDは、今回のシーケンスで取得されたスレーブレコード情報に含まれるCF,PDが記録される。
【0091】
スレーブ内遅延SDLは、今回のシーケンスで取得されたスレーブレコード情報に含まれるLT1,LT2を用いて(13)式に従って算出される。
【0092】
【数10】
メッセージ受信間隔SYintは、今回のシーケンスで取得されたスレーブレコード情報に含まれるLT1、前記のシーケンスで取得されたスレーブレコード情報に含まれるLT1を用いて(14)式に従って算出される。
【0093】
【数11】
なお、メッセージ受信間隔SYintは、過去複数回のシーケンスで算出された受信間隔の平均値であってもよい。
【0094】
スレーブステータスSSは、ブリッジECU20及びスレーブECUのそれぞれで判定される時刻同期ステータスTBSと同様であり、レコード情報に含まれる情報を用いて時刻同期ステータスTBSの場合と同様の判定処理を実行した結果が記録される。
【0095】
図17に示すように、TMTRテーブルに記録された時刻レコード情報は、マスタレコード通知メッセージMMによって、マスタECU10から時刻検証ECU40に送信される。TSTRテーブル及びSTBRテーブルに記録された時刻レコード情報は、ブリッジレコード通知メッセージBM又はスレーブレコード通知メッセージSMによって、ブリッジECU20又はスレーブECUから時刻検証ECU40に送信される。VDテーブルに記録された検証結果は、結果通知メッセージVMによって、時刻検証ECU40から各ECU10~30に送信される。
【0096】
[1-5.処理]
[1-5-1.マスタECU]
マスタECU10が、時刻同期及び時刻検証のために実行するマスタ時刻処理を、図9のフローチャートを用いて説明する。
【0097】
マスタ時刻処理は、システムが起動すると繰り返し実行される。
【0098】
ステップ(以下、S)110では、マスタECU10は、第1同期メッセージSYの送信タイミングであるか否かを判定し、送信タイミングであれば、処理をS120に移行し、送信タイミングでなければ、同ステップを繰り返すことで待機する。この第1同期メッセージSYの送信タイミングについては、後述する検証結果に基づいて、マスタECU10が制御してもよい。
【0099】
S120では、マスタECU10は、第1同期メッセージSYを生成して送信する。第1同期メッセージSYには、シーケンスID、送信元ポートIDが含まれる。シーケンスIDは、第1同期メッセージSYを送信する毎に値がインクリメントされる。
【0100】
続くS130では、マスタECU10は、第1同期メッセージSYの送信時刻をマスタローカル時間で表したローカル送信時刻MLTを取得する。また、マスタECU10は、取得したローカル送信時刻MLTを、第1同期メッセージSYに書き込まれるシーケンス識別子SID及び送信元ポート識別子PIDと共に、TMTRテーブルに記録する。
【0101】
続くS140では、マスタECU10は、ローカル送信時刻MLTをグローバル時間で表したグローバル送信時刻OTに変換して、TMTRテーブルに記録する。
【0102】
続くS150では、マスタECU10は、第2同期メッセージFUを生成して送信する。第2同期メッセージFUには、グローバル送信時刻OTが含まれる。
【0103】
続くS160では、マスタECU10は、マスタレコード通知メッセージMMを生成して、時刻検証ECU40に送信する。マスタレコード通知メッセージMMは、TMTRテーブルに記録された全ての情報を時刻レコード情報として含んでもよい。
【0104】
続くS170では、マスタECU10は、検証確認処理を実行して、マスタ時刻処理を終了する。
【0105】
ここで、マスタECU10が、S170にて実行する検証確認処理を、図18のフローチャートを用いて説明する。
【0106】
検証確認処理が開始されると、S210にて、マスタECU10は、結果通知メッセージVMを受信したか否かを判定し、受信していれば処理をS230に移行し、受信していなければ処理をS220に移行する。
【0107】
S220では、マスタECU10は、マスタレコード通知メッセージMMを送信してから返信許容時間が経過したか否かを判定し、経過していなければ処理をS210に戻し、経過していれば、処理をS240に移行する。
【0108】
S230では、マスタECU10は、結果通知メッセージVMの内容を確認し、同期状態が正常であるか否かを判定し、正常であれば処理を終了し、異常があれば処理をS240に移行する。結果通知メッセージVMは、時刻検証ECU40によりVDテーブルに記録された全ての情報を含んでもよい。
【0109】
S240では、マスタECU10は、異常に対処する処理を行って、処理を終了する。異常に対処する処理として、例えば、第1同期メッセージSY、第2同期メッセージFU、マスタレコード通知メッセージMMの送信を停止してもよい。
【0110】
[1-5-2.ブリッジECU]
ブリッジECU20が、時刻同期及び時刻検証のために実行するブリッジ時刻処理を、図10のフローチャートを用いて説明する。
【0111】
ブリッジ時刻処理は、システムが起動すると繰り返し実行される。
【0112】
S310では、ブリッジECU20は、第1同期メッセージSYを受信したか否かを判定し、受信していれば処理をS330に移行し、受信していなければ処理をS320に移行する。
【0113】
S320では、ブリッジECU20は、第1同期メッセージSYの前回の受信から許容上限時間を経過したか否かを判定し、許容上限時間を経過していれば処理をS450に移行し、許容上限時間を経過していなければ処理をS310に戻す。
【0114】
S330では、ブリッジECU20は、第1同期メッセージSYの受信時刻をスレーブローカル時間で表した第1ローカル受信時刻LT1を取得する。また、ブリッジECU20は、取得した第1ローカル受信時刻LT1を、第1同期メッセージSYから抽出したシーケンス識別子SID及び送信元ポート識別子PIDと共に、TSTRテーブルに記録する。
【0115】
続くS340では、ブリッジECU20は、当該ブリッジECU20での第1同期メッセージSYの滞留遅延時間CFを計測し、計測した滞留遅延時間CFを第1同期メッセージSYに付与して、各スレーブECU30に転送する。また、ブリッジECU20は、滞留遅延時間CFをTSTRテーブルに記録する。
【0116】
続くS350では、ブリッジECU20は、第2同期メッセージFUを受信したか否かを判定し、受信していれば処理をS370に移行し、受信していなければ処理をS360に移行する。
【0117】
S360では、ブリッジECU20は、第1同期メッセージSYを受信してから許容待機時間が経過したか否かを判定し、許容待機時間が経過していれば処理をS450に移行し、許容待機時間を経過していなければ処理をS350に戻す。
【0118】
S370では、ブリッジECU20は、第2同期メッセージFUの受信時刻をスレーブローカル時間で表した第2ローカル受信時刻LT2を取得する。また、ブリッジECU20は、取得した第2ローカル受信時刻LT2を、第2同期メッセージFUから抽出したグローバル送信時刻OTと共に、TSTRテーブルに記録する。
【0119】
続くS380では、ブリッジECU20は、第2同期メッセージFUを各スレーブECU30に転送する。
【0120】
続くS390では、ブリッジECU20は、TSTRテーブルに記録された内容に基づき、時刻同期及びSTBRテーブルへの記録を実行する。ブリッジECU20は、(1)式による同期ローカル時間の算出に用いる、参照グローバル時刻GT0及びレート補正値Rateを更新することで時刻同期を行う。また、ブリッジECU20は、参照グローバル時刻GT0、参照同期ローカル時刻SLT0、参照点のスレーブローカル時刻LT2n、クロック偏差RD、全経路遅延PDLを算出すると共に、時刻同期ステータスTBSを判定して、算出結果及び判定結果をSTBRテーブルに記録する。
【0121】
続くS400では、ブリッジECU20は、ブリッジレコード通知メッセージBMを生成して、時刻検証ECU40に送信する。ブリッジレコード通知メッセージBMは、TSTRテーブル及びSTBRテーブルに記録されたすべての情報を、時刻レコード情報として含んでもよい。
【0122】
続くS410では、ブリッジECU20は、結果通知メッセージVMを受信したか否かを判定し、受信していれば処理をS430に移行し、受信していなければ処理をS420に移行する。結果通知メッセージVMは、時刻検証ECU40によりVDテーブルに記録された全ての情報を含んでもよい。
【0123】
S420では、ブリッジECU20は、ブリッジレコード通知メッセージBMを送信してから返信許容時間が経過したか否かを判定し、経過していなければ処理をS410に戻し、経過していれば、処理をS440に移行する。
【0124】
S430では、ブリッジECU20は、結果通知メッセージVMの内容を確認し、同期状態が正常であるか否かを判定し、同期状態が正常であれば処理を終了し、同期状態が異常であれば処理をS440に移行する。
【0125】
S440では、ブリッジECU20は、時刻同期の異常に対処する処理を実行して、処理を終了する。異常に対処する処理として、例えば、時刻同期に関する処理を停止してもよい。
【0126】
S450では、ブリッジECU20は、マスタECU10に異常があると判定し、マスタECU10の代わりに、第1同期メッセージSY及び第2同期メッセージFUの送信を行う代行処理を実行する。代行処理では、ブリッジECU20が有する同期ローカル時間をグローバル時間とみなして、マスタECU10でのメイン時刻処理と同様の処理を実行する。
【0127】
[1-5-3.スレーブECU]
スレーブECU30が、時刻同期及び時刻検証のために実行するスレーブ時刻処理を、図11のフローチャートを用いて説明する。
【0128】
スレーブ時刻処理は、システムが起動すると繰り返し実行される。
【0129】
スレーブ時刻処理は、ブリッジ時刻処理から、S320、S340、S360、S380、S450が省略されている。
【0130】
なお、S310では、スレーブECU30は、第1同期メッセージSYを受信していない場合、同ステップを繰り返すことで待機する。スレーブECU30は、第1同期メッセージSYを受信した場合は処理をS330に移行する。S330の処理内容は前述のブリッジ時刻処理のS330と同様である。スレーブECU30は、S330の処理を実行後、処理をS350に移行する。
【0131】
S350では、スレーブECU30は、第2同期メッセージFUを受信していない場合、同ステップを繰り返すことで待機する。スレーブECU30は、第2同期メッセージFUを受信した場合、処理をS370に移行する。S370の処理内容は前述のブリッジ時刻処理のS330と同様である。スレーブECU30は、S370の処理を実行後、処理をS390に移行する。S390の処理内容は前述のブリッジ時刻処理のS390と同様である。スレーブECU30は、S390の処理を実行後、処理をS400に移行する。
【0132】
S400では、スレーブECU30は、ブリッジレコード通知メッセージBMではなく、スレーブレコード通知メッセージSMを送信する。ただし、スレーブレコード通知メッセージSMの内容は、ブリッジレコード通知メッセージBMと同様である。S400より後のステップであるS410、S420、S430及びS440の処理内容は前述のブリッジ時刻処理のS410、S420、S430及びS440と同様である。
【0133】
[1-5-4.時刻検証ECU]
時刻検証ECUが実行する時刻検証処理について、図12のフローチャートを用いて説明する。
【0134】
スレーブ時刻処理は、システムが起動すると繰り返し実行される。
【0135】
S510では、時刻検証ECU40は、マスタレコード通知メッセージMMを受信したか否かを判定し、受信していれば処理をS520に移行し、受信していなければ同ステップを繰り返すことで待機する。
【0136】
S520では、時刻検証ECU40は、ブリッジレコード通知メッセージBM又はスレーブレコード通知メッセージSMを受信したか否かを判定し、受信していれば処理をS530に移行し、受信していなければ、同ステップを繰り返すことで待機する。
【0137】
S530では、時刻検証ECU40は、受信したブリッジレコード通知メッセージBM又はスレーブレコード通知メッセージSMの送信元を検証対象ECUとして、検証対象ECUの時刻検証を実行し、検証結果をVDテーブルに記録する。つまり、マスタECU10から取得されるグローバル送信時刻OTと、検証対象となる各ECU20~30から取得される時刻レコード種情報とに基づき、グローバル時間に対する各ECU20~30の同期ローカル時間の同期状態を検証する。
【0138】
続くS540では、時刻検証ECU40は、ブリッジECU20及び複数のスレーブECU30のすべてについて時刻検証を終了したか否かを判定し、終了していれば処理をS550に移行し、終了していなければ処理をS520に戻す。
【0139】
S550では、時刻検証ECUは、結果通知メッセージVMを生成、送信して処理を終了する。結果通知メッセージVMは、ブリッジECU20及び複数のスレーブECU30のそれぞれについて用意されたVRテーブルに記録されたすべての情報が含まれてもよい。
【0140】
なお、ブリッジECU20は、時刻検証ECU40から受信した結果通知メッセージVMを、マスタECU10及び複数のスレーブECU30のそれぞれに転送する。
【0141】
[1-6.異常時動作例]
ブリッジECU20は、通常時には、許容上限時間内の間隔で、第1同期メッセージSYを繰り返し受信する。しかし、許容上限時間を超えて第1同期メッセージSYを受信できなかった場合(すなわち、S320-YESの場合)は、マスタECU10に異常が生じているとみなして、マスタ代行処理を実行する。マスタ代行処理は、マスタECU10の代わりに、ブリッジECU20が、第1同期メッセージSY及び第2同期メッセージFUを送信する処理である。なお、許容上限時間は、マスタECU10の送信タイミングの制御に基づいて変更されてもよい。
【0142】
また、ブリッジECU20は、第1同期メッセージSYの受信後、許容待機時間内に第2同期メッセージFUを受信できなかった場合(すなわち、S360-NOの場合)も、マスタECU10に異常が生じたと判定して、マスタ代行処理を実行する。
【0143】
ブリッジECU20がマスタ代行処理を実行することにより、マスタECU10に異常が生じた場合でも、時刻同期を必要とする処理を継続することが可能となる。
【0144】
時刻検証ECU40は、マスタレコード通知メッセージMMを受信できなかった場合は、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMを受信しても、時刻検証を行うことができないため、結果通知メッセージVMを送信しない。
【0145】
また、レコード通知メッセージMM,BM,SMを送信した各ECU10~30は、返信許容時間を結果しても結果通知メッセージVMを受信できない場合、何らかの異常が生じていることを認識でき、異常に対処することが可能となる。
【0146】
また、結果通知メッセージVMを受信した各ECU10~30は、結果通知メッセージVMに示された検証結果の内容から、時刻同期の状態を確認でき、時刻同期の状態に異常がある場合は、その異常に対処することが可能となる。
【0147】
[1-7.効果]
以上詳述した第1実施形態によれば、以下の効果を奏する。
【0148】
(1a)時刻同期システム1では、各ECU10~30が持つ時刻レコード情報を、時刻検証ECU40に送信する。時刻検証ECU40は、マスタECU10から受信した時刻レコード情報と、ブリッジECU20及び複数のスレーブECU30のそれぞれから受信した時刻レコード情報とに基づいて、時刻同期に関する検証情報を算出する。時刻検証ECU40は、算出された時刻同期に関する情報を結果通知メッセージVMによって、各ECU10~30に送信する。各ECU10~30は、結果通知メッセージVMに示された情報と、ECU10~30のそれぞれで算出される時刻同期に関する情報とを比較することで、各ECU10~30は、時刻同期の状態を速やかに判定できる。
【0149】
[1-8.用語の対応]
第1実施形態において、マスタECU10が本開示におけるマスタ装置に相当し、ブリッジECU20及び複数のスレーブECU30が本開示におけるスレーブ装置に相当し、時刻検証ECU40が本開示における時刻検証装置に相当する。TMTRテーブルに記録されマスタレコード通知メッセージMMで送信される時刻レコード情報が本開示におけるマスタ検証用情報に相当する。TSTRテーブル及びSTBRテーブルに記録され、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMで送信される時刻レコード情報がスレーブ検証用情報に相当する。VDテーブルに記録され結果通知メッセージVMで送信される情報が検証情報に相当する。S120,S150が本開示における同期メッセージ送信部に相当し、S160が本開示におけるマスタ情報送信部に相当する。S390が本開示における同期実行部に相当し、S400が本開示におけるスレーブ情報送信部に相当する。S530が本開示における検証実行部に相当し、S550が本開示における結果送信部に相当する。図18のS230、並びに図10及び図11のS430が本開示における異常判定部に相当する。
【0150】
[2.第2実施形態]
[2-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0151】
前述した第1実施形態では、マスタECU10がブリッジECU20に対して定期的に第1同期メッセージSYを送信するように構成されている。第2実施形態では、時刻同期の検証結果に基づいて、第1同期メッセージSYの送信間隔を変更することで送信タイミングを変化させる点で、第1実施形態と相違する。
【0152】
第2実施形態は、マスタ時刻処理のS170にて実行される、検証確認処理の内容が一部異なる以外は、第1実施形態と同様である。
【0153】
[2-2.処理]
第2実施形態のマスタECU10が実行する検証確認処理について、図19のフローチャートを用いて説明する。なお、S210~S230の処理は、第1実施形態の場合と同様である。
【0154】
但し、マスタECU10は、S230にて肯定判定した場合は、処理をS250に移行する。また、マスタECU10は、S220にて肯定判定した場合、又はS230にて否定判定した場合は、処理をS280に移行する。
【0155】
S250では、マスタECU10は、第1同期メッセージSYの送信間隔が上限値未満であるか否かを判定し、送信間隔が上限値未満であれば、処理をS260に移行し、送信間隔が所定値以上であれば、検証確認処理を終了する。
【0156】
S260では、マスタECU10は、第1同期メッセージSYの送信間隔を変更するための制御を行う。具体的には現在の第1同期メッセージSYの送信間隔より送信間隔が長くなるように変更を行う。
【0157】
続くS270では、マスタECU10は、第1同期メッセージSYの送信間隔を変更した旨をブリッジECU20に通知して、検証確認処理を終了する。
【0158】
S280では、マスタECU10は、第1同期メッセージSYの送信間隔を、初期化する。具体的には、選択可能な送信間隔の設定値の中で、最も短い値である初期値に設定する。
【0159】
続くS290では、マスタECU10は、第1同期メッセージSYの送信間隔を初期値に戻したことを、ブリッジECU20に通知して、検証確認処理を終了する。なお、S280及びS290の処理は、図18のS240に示された異常対処処理の一例である。
【0160】
先のS260において、マスタECU10は、第1同期メッセージSYの送信間隔を、例えば、S260が実行される毎に、送信間隔の現在値に所定値を加算することで変更してもよい。また、S260では、マスタECU10は、先のS230にて検証結果が正常であると連続して判定された回数(以下、正常回数)カウントし、正常回数に対して予め対応づけられた送信間隔に変更してもよい。具体的には、例えば、検証結果の正常回数が5回、15回及び30回になった際に第1同期メッセージSYの送信間隔を変更してもよい。この場合、検証結果の正常回数が30回以上の場合における送信間隔は、検証結果の正常回数が15~29回の場合における送信間隔より長く設定される。また、検証結果の正常回数が15~29回の場合における送信間隔は検証結果の正常回数が5~14回の送信間隔より長く設定される。検証結果の正常回数が5~14回の場合における送信間隔は検証結果の正常回数が0~4回の場合における送信間隔(すなわち、初期値)より長く設定される。第1同期メッセージSYの送信間隔を変更する際の閾値となる正常回数は上記の5回、15回及び30回に限定されることはない。また、第1同期メッセージSYの送信間隔の長さは、上記のように4パターンに限定されることはない。正常回数に応じて第1同期メッセージSYの送信間隔を変更する場合、S280で第1同期メッセージSYの送信間隔が初期化される毎に、正常回数も0にリセットする。
【0161】
[2-3.効果]
以上詳述した第2実施形態によれば、前述した第1実施形態の効果(1a)を奏し、さらに、以下の効果を奏する。
【0162】
(2a)本実施形態によれば、時刻検証の検証結果に従って、同期状態の異常が検出された場合には、速やかに異常に対処する処理を実行し、同期状態が正常である状態が長く続くほど、第1同期メッセージSYの送信間隔を長くしている。従って、同期状態の異常(すなわち、時刻のずれ)に速やかに対処できると共に、同期状態に応じて時刻同期の検証を実行する頻度が最適化されるため、時刻同期の検証に要する処理負荷及び通信負荷を抑制することができる。
【0163】
[2-4.用語の対応]
第2実施形態において、S230が本開示における同期状態判定部に相当し、S250~S260が本開示における送信間隔制御部に相当する。
【0164】
[3.第3実施形態]
[3-1.第1実施形態との相違点]
第2実施形態は、基本的な構成は第1実施形態と同様であるため、相違点について以下に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0165】
前述した第1実施形態では、マスタECU10は、ブリッジECU20に対して第1同期メッセージSY及び第2同期メッセージFUを送信する毎に、マスタレコード通知メッセージMMを送信するように構成されている。第3実施形態では、予め設定されたレコード送信条件が成立した場合に、マスタレコード通知メッセージMMを送信する点で、第1実施形態と相違する。
【0166】
第3実施形態は、マスタ時刻処理の内容が一部異なる以外は、第1実施形態と同様である。
【0167】
[3-2.処理]
第3実施形態のマスタECU10が実行するマスタ時刻処理について、図20のフローチャートを用いて説明する。なお、S125,S152,S154,S156,S165が追加されている以外は、第1実施形態の場合と同様である。
【0168】
すなわち、マスタECU10は、S120にて第1同期メッセージSYを送信すると、続くS125では、第1同期メッセージSYの送信回数をカウントする第1カウンタC1を1増加させて、処理をS130に進める。
【0169】
マスタECU10は、S150にて第2同期メッセージFUを送信すると、続くS152では、第2同期メッセージFUの送信回数をカウントする第2カウンタC2を1増加させる。
【0170】
続くS154では、マスタECU10は、レコード送信条件が成立しているか否かを判定する成立判定処理を実行する。
【0171】
続くS156では、マスタECU10は、成立判定処理の結果、レコード送信条件が成立していると判定されたか否かを判定し、成立していると判定されていれば、処理をS160に移行し、成立していないと判定されていれば、マスタ時刻処理を終了する。
【0172】
マスタECUは、S160にて、マスタレコード通知メッセージMMを送信すると、続くS165では、マスタレコード通知メッセージMMの送信回数をカウントする第3カウンタC3を1増加させて、処理をS170に進める。
【0173】
次に、マスタECU10が、S154で実行する成立判定処理について、図21のフローチャートを用いて説明する。
【0174】
成立判定処理が開始されると、マスタECU10は、S610にて、第3カウンタC3が、第1閾値TH1未満であるか否かを判定し、第1閾値所定値TH1未満であれば、処理をS620に移行し、第1閾値TH1以上であれば、処理をS630に移行する。
【0175】
S620では、マスタECU10は、第1カウンタC1又は第2カウンタC2が第2閾値TH2以上であるか否かを判定し、第2閾値TH2以上であれば処理をS640に移行し、第2閾値TH2未満であれば成立判定処理を終了する。
【0176】
S630では、マスタECU10は、第1カウンタC1又は第2カウンタC2が第3閾値TH3以上であるか否かを判定し、第3閾値TH3以上であれば処理をS640に移行し、第3閾値TH3未満であれば成立判定処理を終了する。
【0177】
S640では、マスタECU10は、レコード送信条件が成立したと判定する。
【0178】
続くS650では、マスタECU10は、第1カウンタC1及び第2カウンタC2を0に初期化して、成立判定処理を終了する。
【0179】
すなわち、マスタECU10は、マスタレコード通知メッセージMMの送信回数がTH1回未満の間、第1同期メッセージSY又は第2同期メッセージFUをTH2回送信する毎に、マスタレコード通知メッセージMMを1回送信する。マスタECU10は、マスタレコード通知メッセージMMの送信回数がTH1回に達した以降は、第1同期メッセージSY又は第2同期メッセージFUをTH3回送信する毎に、マスタレコード通知メッセージMMを1回送信する。
【0180】
例えばTH2<TH3である場合、システム起動後は、相対的に高い頻度で時刻検証が実施され、マスタレコード通知メッセージMMの送信回数がTH1に達した以降は、相対的に低い頻度で時刻検証が実施されることになる。
【0181】
ここでは、成立判定処理が、マスタECU10にて実行される場合について説明したが、成立判定処理は、ブリッジECU20やスレーブECU30に対して同様に適用されてもよい。但し、この場合、ブリッジECU20は、第1同期メッセージSY又は第2同期メッセージFUの転送回数、及びブリッジレコード通知メッセージBMの送信回数に従って、ブリッジレコード通知メッセージBMの送信タイミングを変更するように構成される。また、スレーブECU30は、第1同期メッセージSY又は第2同期メッセージFUの受信回数、及びスレーブレコード通知メッセージSMの送信回数に従って、スレーブレコード通知メッセージSMの送信タイミングを変更するように構成される。
【0182】
また、上述の成立判定処理では、S610で第3カウンタC3が、第1閾値TH1未満であるか否かを判定することでマスタレコード通知メッセージMMの送信間隔を2段階に制御したが、これに限定されることはない。例えば、S610での判定を複数段にするここと、すなわち、第3カウンタC3を複数の異なる閾値と比較することで、マスタレコード通知メッセージMMの送信間隔を3以上の段階に制御してもよい。
【0183】
[3-3.効果]
以上詳述した第3実施形態によれば、前述した第1実施形態の効果(1a)を奏し、さらに、以下の効果を奏する。
【0184】
(3a)本実施形態では、レコード送信条件が成立した場合に、マスタレコード通知メッセージMMを送信することで、マスタレコード通知メッセージMMの送信間隔、ひいては時刻検証処理を実行する頻度を制御している。従って、第2同期メッセージFUを送信する毎にマスタレコード通知メッセージMMを送信する場合と比較して、時刻同期の検証に要する処理負荷を軽減することができる。
【0185】
(3b)本実施形態では、マスタレコード通知メッセージMMの送信回数によって、レコード送信条件を制御している。従って、例えば、システム起動後、動作が安定するまでの間は、比較的高頻度で時刻検証処理を実行し、動作が安定すると時刻検証処理の実行頻度を低下させる等、時刻同期の検証頻度を適切に制御することができる。
【0186】
[3-4.変形例]
第3実施形態では、第1カウンタC1及び第2カウンタC2をいずれも備えているが、第1カウンタC1及び第2カウンタC2のうちいずれか一つを備えていてもよい。
【0187】
第3実施形態では、マスタECU10は、マスタレコード通知メッセージMMの送信回数(すなわち、第3カウンタC3)によって、マスタレコード通知メッセージMMの送信頻度を変化させるように構成されている。マスタECU10は、マスタレコード通知メッセージMMの送信回数に関わらず、常に、第1同期メッセージSY又は第2同期メッセージFUを複数回(例えば、2回)送信する毎に、マスタレコード通知メッセージMMを送信するようにしてもよい。この場合、図21に示す成立判定処理において、S610及びS630の処理を省略すればよい。
【0188】
第3実施形態では、レコード送信条件が成立した場合に、マスタレコード通知メッセージMMを送信するように構成されている。反対に、通常時は、マスタレコード通知メッセージMMを一定の検証実施タイミングで送信し、レコード停止条件が成立した場合に、マスタレコード通知メッセージMMの送信を停止するように構成されてもよい。この場合、例えば、送信停止の効果を、レコード停止条件が成立した検証実施タイミングに限定し、次の検証実施タイミングでは、マスタレコード通知メッセージMMの送信を再開してもよい。
【0189】
第3実施形態では、マスタECU10は、第1同期メッセージSY、第2同期メッセージFU、及びマスタレコード通知メッセージMMの送信回数に従って、時刻同期の検証を実施するタイミングを制御している。マスタECU10は、第1同期メッセージSY又は第2同期メッセージFUに、時刻同期の検証を実施することを要求する検証要求情報を付加することによって、時刻同期の検証を実施するタイミングを制御してもよい。具体的には、マスタECU10は、検証要求情報を付加した第1同期メッセージSY又は第2同期メッセージFUを送信した場合に、レコード送信条件が成立したと判定して、マスタレコード通知メッセージMMを送信してもよい。また、ブリッジECU20やスレーブECU30は、検証要求情報が付加された第1同期メッセージSY又は第2同期メッセージFUを受信した場合に、ブリッジレコード通知メッセージBM及びスレーブレコード通知メッセージSMを送信してもよい。なお、第1同期メッセージSY又は第2同期メッセージFUに1ビットのフィールド(以下、時刻同期検証用フィールド)を設け、「1」の場合に時刻同期の検証を実施することを要求しているとしてもよい。また、第1同期メッセージSY又は第2同期メッセージFUに時刻同期検証用フィールドが存在しない場合、又は、時刻同期検証フィールドが「0」の場合は時刻同期の検証を実施することを要求していないとしてもよい。
【0190】
第3実施形態では、マスタECU10は、レコード送信条件の成立を、第1同期メッセージSY又は第2同期メッセージFUの送信回数と第2閾値TH2又は第3閾値TH3との比較で判定している。マスタECU10は、以下に列挙する特定条件が成立する場合に、レコード送信条件が成立したと判定してもよい。
【0191】
<特定条件>
・車速が所定値(例えば、5km/h)以上であることを検知した場合。
・ECU10~30のいずれかに外部装置(例えば、診断ツールやリプロツールなど)が接続されたことを検出した場合。
・スレーブECU30としての自動運転を含めた運転支援を行なう運転支援系ECUにおいて、運転支援機能や自動運転機能(例えば、アダプティブクルーズコントロール及びレーンキープアシストシステムなど)がオンになっていることを検出した場合。
・特定のデータ(例えば、車両機能の更新データや時刻同期の検証を行うこと示す情報を含むデータ)を受信したことを検出した場合。
【0192】
なお、特定条件の判定に関わる各情報は、情報を収集するセンサ等からマスタECU10が直接的に受信してもよいし、センサ等からの情報を収集するスレーブECU30からブリッジECU20を介してマスタECU10が間接的に受信してもよい。特定条件の判定に関わる情報には、例えば、車速、外部装置の接続状態、運転支援機能や自動運転機能の作動状態、及び特定のデータ等が含まれてもよい。
【0193】
このような特定条件を用いることで、時刻同期の検証頻度を、より適切に制御することができ、各ECU10~40での処理負荷、各ECU10~40間での通信負荷を抑制することができる。
【0194】
[3-5.用語の対応]
第3実施形態において、S154が本開示における成立判定部に相当し、S610~S620が本開示における指定回数変更部に相当する。レコード送信条件が本開示における検証用情報送信条件に相当し、第2閾値TH2及び第3閾値TH3が本開示における指定回数に相当する。
【0195】
[4.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0196】
(4a)上述の実施形態では、時刻検証ECU40は、検証結果の内容に関わらず結果通知メッセージVMを返信するように構成されているが、検証結果から時刻同期の異常が検出された場合は、結果通知メッセージVMを送信しないように構成されてもよい。この場合、時刻検証処理は、図13のフローチャートに示すように変更してもよい。以下では、図12のフローチャートとの相違点について説明する。
【0197】
すなわち、S540で肯定判定された場合、S542では、時刻検証ECU40は、検証結果から時刻同期の状態が正常であるか否かを判定する。時刻検証ECU40は、時刻同期の状態が正常であると判定した場合は、処理をS550に移行して、結果通知メッセージVMを送信して処理を終了する。時刻検証ECU40は、時刻同期の状態に異常があると判定した場合は、結果通知メッセージVMを送信することなく処理を終了する。
【0198】
各ECU10~30は、レコード通知メッセージMM,BM,SMの送信後、応答許容時間内に結果通知メッセージVMの返信がなければ、時刻同期の状態に異常があると判定して、異常に対処する処理を実行できる。なお、図13のS542が本開示における送信禁止部に相当する。
【0199】
(4b)上述の実施形態では、時刻検証ECU40は、結果通知メッセージVMによって、VRテーブルに記録された情報を検証結果として送付しているが、更に、時刻同期の継続又は停止を要求する要求フラグを付加してもよい。この場合、時刻検証処理は、図14に示すフローチャートのように変更してもよい。以下では、図12のフローチャートとの相違点について説明する。
【0200】
すなわち、S540にて肯定判定された場合、S542では、時刻検証ECU40は、検証結果から時刻同期の状態が正常であるか否かを判定し、正常である場合は処理をS544に移行し、異常がある場合は処理をS546に移行する。
【0201】
S544では、時刻検証ECU40は、結果通知メッセージVMに時刻同期の継続を示す要求フラグを付加して、処理をS550に進める。
【0202】
S546では、時刻検証ECU40は、結果通知メッセージVMに時刻同期の停止を示す要求フラグを付加して、処理を550に進める。
【0203】
各ECU10~30は、結果通知メッセージVMに付加された要求フラグに従って、時刻同期の継続又は停止を行う。なお、図14のS542~S546が本開示の情報付加部に相当する。
【0204】
(4c)上述の実施形態では、各ECU20~30の検証結果を含む結果通知メッセージVMをブロードキャストで一斉に送信しているが、各ECU10~30に対して個別に送信してもよい。結果通知メッセージVMを個別に送信する場合は、送信先となるECUに関する検証結果のみを送信してもよい。
【0205】
(4d)上述の実施形態では、外部診断ツール60を接続する外部機器インタフェース50が、ブリッジECU20に接続されているが、外部機器インタフェース50は、マスタECU10又は時刻検証ECU40に接続されてもよい。また、外部診断ツール60は、無線の通信IFを介して、マスタECU10、ブリッジECU20、時刻検証ECU40のいずれかに接続されるように構成されてもよい。
【0206】
(4e)上述の実施形態では、時刻検証ECU40が独立したECUとして構成されているが、時刻検証ECU40としての機能を、図15に示すように、ブリッジECU20aが備えたり、図16に示すように、マスタECU10aが備えたりしてもよい。
【0207】
(4f)上述の実施形態では、同期ローカル時間をグローバル時間に合わせる参照点として、第2同期メッセージFUの受信タイミングを用いているが、参照点は任意に設定してもよい。
【0208】
(4g)本開示に記載の各ECU10~40及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の各ECU10~40及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の各ECU10~40及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。各ECU10~40に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0209】
(4h)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【0210】
(4i)上述した時刻同期システム1、時刻検証装置40の他、当該時刻検証装置40としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、時刻検証方法など、種々の形態で本開示を実現することもできる。
【0211】
[5.本明細書が開示する技術思想]
[項目1]
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)及び時刻検証装置(40)を備え、
前記マスタ装置は、
前記1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信するように構成された同期メッセージ送信部(S120,S150)と、
前記同期メッセージの送信時刻を含むマスタ検証用情報を前記時刻検証装置に送信するように構成されたマスタ情報送信部(S160)と、
を備え、
前記スレーブ装置は、
前記同期メッセージを受信することで得られる情報に基づいて、前記グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成されたように構成された同期実行部(S390)と、
前記同期実行部による時刻の同期に用いられた情報を含むスレーブ検証用情報を前記時刻検証装置に送信するように構成されたスレーブ情報送信部(S400)と、
を備え、
前記時刻検証装置は、
前記マスタ装置から受信する前記マスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信する前記スレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成する
ように構成された検証実行部(S530)と、
前記検証実行部で生成された前記検証情報を、前記1つ以上のスレーブ装置のそれぞれに送信するように構成された結果送信部(S550)と、
を備える時刻同期システム。
【0212】
[項目2]
項目1に記載の時刻同期システムであって、
前記時刻検証装置は、
前記検証情報に基づいて前記同期状態の異常が検出された場合、前記結果送信部による前記検証情報の送信を禁止するように構成された送信禁止部(S542)を更に備え、
前記マスタ装置及び前記スレーブ装置は、
前記マスタ検証用情報又は前記スレーブ検証用情報の送信後、許容時間内に検証情報を受信しない場合、前記同期状態の異常があると判定するように構成された異常判定部(S220,S420)を更に備える
時刻同期システム。
【0213】
[項目3]
項目1に記載の時刻同期システムであって、
前記時刻検証装置は、前記検証情報に基づいて前記時刻同期の状態が正常であるか否かを判定し、判定結果を示す付加情報を前記検証情報に付加する情報付加部(S542~S546)を更に備え、
前記マスタ装置及び前記スレーブ装置は、前記付加情報に従って、前記時刻同期を継続又は停止するように構成された
時刻同期システム。
【0214】
[項目4]
項目1から項目3までのいずれか1項に記載の時刻同期システムであって、
前記時刻検証装置での検証結果を読み取る外部診断ツール(60)が着脱される外部機器インタフェース(50)を更に備える
時刻同期システム。
【0215】
[項目5]
項目1から項目4までのいずれか1項に記載の時刻同期システムであって、
前記1つ以上のスレーブ装置は、複数のスレーブ装置であり、
前記複数のスレーブ装置の一つを、ブリッジ装置として、
前記ブリッジ装置以外の他のスレーブ装置及び前記マスタ装置は、前記ブリッジ装置を介して相互に接続された
時刻同期システム。
【0216】
[項目6]
項目5に記載の時刻同期システムであって
前記時刻検証装置は、前記マスタ装置及び前記ブリッジ装置のいずれかと一体に構成された
時刻同期システム。
【0217】
[項目7]
項目1から項目6のいずれか1項に記載の時刻同期システムであって、
前記検証実行部は、前記検証情報として、時刻合わせを行った参照点での時刻を前記グローバル時間で示した参照グローバル時刻と、前記ローカル時間で示した参照ローカル時刻との差分を表す時間オフセット、及び前記参照点間の時間長を前記グローバル時間で示した値と、前記ローカル時間で示した値との差である時間偏差のうち、少なくとも一つを算出する
時刻同期システム。
【0218】
[項目8]
項目1から項目7までのいずれか1項に記載の時刻同期システムであって、
前記マスタ装置は、
前記時刻検証装置から受信する前記検証情報に従って、前記同期状態が正常であるか否かを判定するように構成された同期状態判定部(S230)と、
前記同期状態判定部での判定結果に従い、前記同期状態が正常である状態の回数に応じて、前記同期メッセージ送信部による前記同期メッセージの送信間隔を変更するように構成された送信間隔制御部(S250~S260)と、
を更に備える
時刻同期システム。
【0219】
[項目9]
項目8に記載の時刻同期システムであって、
送信間隔制御部は、前記同期状態判定部での判定結果に従い、前記同期状態が正常である状態が継続するほど、前記同期メッセージ送信部による前記同期メッセージの送信間隔が長くなるように、該送信間隔を変更するように構成される
時刻同期システム。
【0220】
[項目10]
項目1から項目9までのいずれか1項に記載の時刻同期システムであって、
前記マスタ情報送信部は、前記同期メッセージが1回又は複数回送信される毎に、前記マスタ検証用情報を送信するように構成された、
時刻同期システム。
【0221】
[項目11]
項目1から項目9までのいずれか1項に記載の時刻同期システムであって、
前記マスタ情報送信部は、前記同期メッセージに時刻同期の検証を実施することを要求する情報を含めた場合に、前記マスタ検証用情報を送信するように構成された、
時刻同期システム。
【0222】
[項目12]
項目1から項目11までのいずれか1項に記載の時刻同期システムであって、
前記マスタ装置は、
予め設定された検証用情報送信条件が成立したか否かを判定するように構成された成立判定部(S154)を備え、
前記マスタ情報送信部は、前記成立判定部にて、前記検証用情報送信条件が成立したと判定された場合に、前記マスタ検証用情報を送信するように構成された
時刻同期システム。
【0223】
[項目13]
項目12に記載の時刻同期システムであって、
前記成立判定部は、前記同期メッセージが指定回数送信される毎に、前記検証用情報送信条件が成立したと判定するように構成された
時刻同期システム。
【0224】
[項目14]
項目13に記載の時刻同期システムであって、
前記マスタ装置は、
前記マスタ検証用情報の送信回数が大きくなるほど、前記指定回数が増大するように、該指定回数を変更するように構成された指定回数変更部(S610~S620)を更に備える
時刻同期システム。
【0225】
[項目15]
項目12から項目14までのいずれか1項に記載の時刻同期システムであって、
前記成立判定部は、車速が所定値以上であること、当該時刻同期システムに外部装置が接続されていること、自動運転を含む運転支援に関わる機能が作動状態であること、及び前記同期メッセージに前記同期状態の検証を要求する情報が付加されていることのうち、少なくとも一つを用いて、前記検証用情報送信条件が成立しているか否かを判定するように構成された、
時刻同期システム。
【0226】
[項目16]
時刻検証装置であって、
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)を備え、前記マスタ装置が有するクロックでカウントされるグローバル時間が示す時刻に、前記スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行うように構成された時刻同期システムにて用いられ、
前記マスタ装置から受信するマスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信するスレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成するように構成された検証実行部(S530)と、
前記検証実行部で生成された前記検証情報を、前記1つ以上のスレーブ装置のそれぞれに送信するように構成された結果送信部(S550)と、
を備え、
前記マスタ検証用情報は、前記グローバル時間で示された同期メッセージの送信時刻を含み、
前記スレーブ検証用情報は、前記同期メッセージを受信することで得られ、前記時刻同期に用いられる情報を含む、
時刻検証装置。
【0227】
[項目17]
通信ネットワークを介して接続されたマスタ装置(10)、1つ以上のスレーブ装置、(20,30)及び時刻検証装置(40)を備える時刻同期システムにおける時刻検証方法であって、
前記マスタ装置は、
前記1つ以上のスレーブ装置のそれぞれに対して、当該マスタ装置が有するクロックでカウントされるグローバル時間で示された送信時刻を含む同期メッセージを繰り返し送信し(S120,S150)、
前記同期メッセージの送信時刻を含むマスタ検証用情報を前記時刻検証装置に送信し(S160)、
前記スレーブ装置は、
前記同期メッセージを受信することで得られる情報に基づいて、前記グローバル時間が示す時刻に、当該スレーブ装置が有するクロックでカウントされるローカル時間が示す時刻を同期させる時刻同期を行い(S390)、
前記時刻同期に用いられた情報を含むスレーブ検証用情報を前記時刻検証装置に送信し(S400)、
前記時刻検証装置は、
前記マスタ装置から受信する前記マスタ検証用情報、及び前記1つ以上のスレーブ装置のそれぞれから受信する前記スレーブ検証用情報に基づいて、前記スレーブ装置毎に、前記ローカル時間と前記グローバル時間との同期状態を検証するための検証情報を生成し(S530)、
生成された前記検証情報を、前記1つ以上のスレーブ装置のそれぞれに送信する(S550)、
時刻検証方法。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21