JP2010074211A - クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 - Google Patents
クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 Download PDFInfo
- Publication number
- JP2010074211A JP2010074211A JP2008235965A JP2008235965A JP2010074211A JP 2010074211 A JP2010074211 A JP 2010074211A JP 2008235965 A JP2008235965 A JP 2008235965A JP 2008235965 A JP2008235965 A JP 2008235965A JP 2010074211 A JP2010074211 A JP 2010074211A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- correction value
- received
- clock synchronization
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】 syncフレーム未受信時においてもクロック補正を行えるようにして、syncノードとの周期のずれを軽減する。
【解決手段】 クロックの補正値を計算するクロック補正値計算部243と、補正値を所定期間分保存するクロック補正値保存部244と、受信信号を分析してsyncフレームを受信しているか否かを判断する分析部(デコーダ241)と、syncフレームを受信していないと判断されたときに、クロック補正値保存部244から補正値を取り出す選択回路242と、選択回路242で取り出された補正値を用いて、クロックの補正を行うクロック同期補正部245とを備えた。
【選択図】 図4
【解決手段】 クロックの補正値を計算するクロック補正値計算部243と、補正値を所定期間分保存するクロック補正値保存部244と、受信信号を分析してsyncフレームを受信しているか否かを判断する分析部(デコーダ241)と、syncフレームを受信していないと判断されたときに、クロック補正値保存部244から補正値を取り出す選択回路242と、選択回路242で取り出された補正値を用いて、クロックの補正を行うクロック同期補正部245とを備えた。
【選択図】 図4
Description
本発明は、クロックの同期や補正を行うクロック同期回路、このクロック同期回路を備えた電子制御ユニット、この電子制御ユニットを備えた車載ネットワークシステム、及び、クロック同期の手順を示すクロック同期方法に関し、特に、車載LANプロトコルによりクロック同期を行うクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法に関する。
自動車に搭載される電子機器の技術的進歩やその搭載数の増大にともなって、制御アーキテクチャは、集中型から分散型に移行してきた。
分散制御アーキテクチャは、車載LAN(Local Area Network)などのネットワーク技術を採用するものであり、このための車載LANプロトコルが開発され、規格化されている。
その一つに、CAN(Controller Area Network)がある。
CANは、ボディ系/パワートレイン系の制御用ネットワークとして、現在広く利用されている。
分散制御アーキテクチャは、車載LAN(Local Area Network)などのネットワーク技術を採用するものであり、このための車載LANプロトコルが開発され、規格化されている。
その一つに、CAN(Controller Area Network)がある。
CANは、ボディ系/パワートレイン系の制御用ネットワークとして、現在広く利用されている。
ところが、自動車が装備する機能が増加し、ネットワーク上を流れるフレームの数が増えると、CANでは対応しきれないとの見方が出てきた。
そこで、新たな車載ネットワークプロトコルとして、FlexRay(フレックスレイ、登録商標)が注目されている。
そこで、新たな車載ネットワークプロトコルとして、FlexRay(フレックスレイ、登録商標)が注目されている。
FlexRayは、FlexRay Consortiumにより開発された車載LAN規格である。
このFlexRayでは、メディア・アクセス方式を4階層に分けている。このうち、コミュニケーション・サイクル・レベルは、最大のアクセス単位であって、次のデータを送信するためのスロットを得るまでの時間を決めている。アービトレーション・グリッド・レベルは、静的スロットとミニスロットを構成要素とし、各スロットごとにフレームを送信する。
このFlexRayでは、メディア・アクセス方式を4階層に分けている。このうち、コミュニケーション・サイクル・レベルは、最大のアクセス単位であって、次のデータを送信するためのスロットを得るまでの時間を決めている。アービトレーション・グリッド・レベルは、静的スロットとミニスロットを構成要素とし、各スロットごとにフレームを送信する。
ここで、スロットやフレームなどの長さ(時間)は、コミュニケーション・サイクルの長さで決まる。そして、ネットワークの最大通信速度である10Mbpsを使用するために、コミュニケーション・サイクルの長さを決めることも可能となっている。
このため、FlexRayは、CANに比べて高速なデータ伝送速度を実現している。また、データ伝送方式にタイム・トリガ型を採用したことで、遅延が生じにくいなど、様々な利点を有している。
このFlexRayについては、改良技術が種々提案されている(例えば、特許文献1参照。)。
特開2008−022078号公報
このため、FlexRayは、CANに比べて高速なデータ伝送速度を実現している。また、データ伝送方式にタイム・トリガ型を採用したことで、遅延が生じにくいなど、様々な利点を有している。
このFlexRayについては、改良技術が種々提案されている(例えば、特許文献1参照。)。
以上のように、現在のFlexRayプロトコルは、アクセルバイワイヤ、ブレーキバイワイヤ等を想定し、高速通信が求められる領域に適用するために定められている。
そのため、syncフレーム(同期フレーム)の未受信状態が長い期間(数十サイクル以上)継続してからの同期の復旧には対応できない。
なお、syncフレームとは、各ノードがクロック同期を行うために、syncノードが各ノードに送信するフレームをいう。
そのため、syncフレーム(同期フレーム)の未受信状態が長い期間(数十サイクル以上)継続してからの同期の復旧には対応できない。
なお、syncフレームとは、各ノードがクロック同期を行うために、syncノードが各ノードに送信するフレームをいう。
一方、FlexRayプロトコルの採用は、CANの置き換えも想定しており、その場合は、現在のFlexRayプロトコル程の高速伝送は必要なく、CANと同程度の伝送速度を有していればよい。
そこで、CANからFlexRayプロトコルへの置き換えを容易にするために、同期を維持する条件を緩和する方法が求められていた。
そこで、CANからFlexRayプロトコルへの置き換えを容易にするために、同期を維持する条件を緩和する方法が求められていた。
また、上述したように、FlexRayでは、データ伝送方式にタイム・トリガ方式を採用している。このため、ノードどうしのデータのやりとりは、時間で管理している。
この時間については、クラスタ全体で絶対的な時間が定められているわけではなく、各ノードが、クロック同期を用いて、クラスタに対しその時間を合わせている。しかも、温度変化や電圧変動、クロック発生器の製造上のばらつき、経年変化などによって徐々にタイミングが揃わなくなってしまう。そこで、クロックの再同期のメカニズムが必要となる。
この時間については、クラスタ全体で絶対的な時間が定められているわけではなく、各ノードが、クロック同期を用いて、クラスタに対しその時間を合わせている。しかも、温度変化や電圧変動、クロック発生器の製造上のばらつき、経年変化などによって徐々にタイミングが揃わなくなってしまう。そこで、クロックの再同期のメカニズムが必要となる。
現在のFlexRayプロトコルでのクロック同期方法は、レート補正(Rate Correction、周波数補正)とオフセット補正(Offset Correction、位相補正)の両方を行って同期を維持する方法である。
これにより、最大誤差を基準値から±1500ppm以内に収めている。
これにより、最大誤差を基準値から±1500ppm以内に収めている。
すなわち、レート補正とオフセット補正を行ってsyncノードとの周期のずれを極力少なくするようにしている。ただし、syncフレームを受信していてもレート補正した結果がpRateCorrectionOutより大きければ、また、オフセット補正した結果がpOffsetCorrectionOutより大きければ補正は行えない。
レート補正で補えなかったsyncフレームとの誤差を2サイクルに1回オフセット補正で行っている。
非同期状態でも再びsyncフレームを受信できればクロック同期が行える。
ただし、レート補正した結果がpRateCorrectionOutより小さいこと、また、オフセット補正した結果がpOffsetCorrectionOutより小さいことが条件となる。
非同期状態でも再びsyncフレームを受信できればクロック同期が行える。
ただし、レート補正した結果がpRateCorrectionOutより小さいこと、また、オフセット補正した結果がpOffsetCorrectionOutより小さいことが条件となる。
syncフレーム未受信時は、クロック補正を行えなくなった時点で保持しているレート補正値を使用してクロック補正を行うが、オフセット補正値は、“0”を使用する。つまり、オフセット補正は行わなくなる。また、レート補正値は、syncフレーム受信時は、変動しているのに対し、syncフレーム未受信時は、固定値となる。これらは、FlexRayでは、syncフレーム未受信時が長時間に及ぶことを想定していないからである。
このため、syncフレーム未受信からの時間が長くなるほどレート補正値の積算値の誤差が大きくなっていた。また、オフセット補正も行わないので、レート補正で補えない時間が積み重なり、syncノードとの周期のずれが大きくなっていた。
よって、syncフレーム未受信からの時間が長くなるほど、再びsyncフレームを受信できた場合の再同期が困難になっていた。
このため、syncフレーム未受信からの時間が長くなるほどレート補正値の積算値の誤差が大きくなっていた。また、オフセット補正も行わないので、レート補正で補えない時間が積み重なり、syncノードとの周期のずれが大きくなっていた。
よって、syncフレーム未受信からの時間が長くなるほど、再びsyncフレームを受信できた場合の再同期が困難になっていた。
本発明は、上記の事情にかんがみなされたものであり、syncフレーム未受信からの時間が長くなってもクロック補正(オフセット補正)を行えるようにして、syncフレームとの再同期を可能とするクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法の提供を目的とする。
この目的を達成するため、本発明のクロック同期回路は、外部から受信した所定のフレームの時刻情報にもとづいてクロックの補正値を計算するクロック補正値計算部と、補正値を所定期間分保存するクロック補正値保存部と、受信信号を分析して所定のフレームを受信しているか否かを判断する分析部と、所定のフレームを受信していないと判断されたときに、クロック補正値保存部から補正値を取り出す選択回路と、選択回路で取り出された補正値を用いて、クロックの補正を行うクロック同期補正部とを備えた構成としてある。
また、本発明の電子制御ユニットは、クロック同期を行うクロック同期回路として、特許請求の範囲の請求項1〜3のいずれかに記載のクロック同期回路を備えた構成としてある。
また、本発明の車載ネットワークシステムは、ネットワークのノードとして、特許請求の範囲の請求項4又は5記載の電子制御ユニットを備えた構成としてある。
また、本発明のクロック同期方法は、外部から受信した所定のフレームの時刻情報にもとづいてクロックの補正値を計算する処理と、補正値を所定期間分保存する処理と、受信信号を分析して所定のフレームを受信しているか否かを判断する処理と、所定のフレームを受信していないと判断されたときに、保存された補正値を用いてクロックの補正を行う処理とを有した方法としてある。
本発明のクロック同期回路、電子制御ユニット、車載ネットワークシステム、及びクロック同期方法によれば、syncフレーム未受信時においてもクロック補正を行えるようにしたので、syncフレーム未受信からの時間が長くなった場合でもクロック補正(オフセット補正)を行うことができ、syncフレームとの再同期が可能となる。
また、syncフレームの未受信時においてもクロック補正を行うこととしたので、同期を維持する条件が緩和され、CANからFlexRayへの置き換えが容易となる。
また、syncフレームの未受信時においてもクロック補正を行うこととしたので、同期を維持する条件が緩和され、CANからFlexRayへの置き換えが容易となる。
以下、本発明に係るクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法の好ましい実施形態について、図面を参照して説明する。
[クロック同期回路、電子制御ユニット、車載ネットワークシステム]
まず、本発明のクロック同期回路、電子制御ユニット、車載ネットワークシステムの実施形態について、図1〜図4を参照して説明する。
図1は、本実施形態の車載ネットワークシステムの構成を示すブロック図である。図2は、電子制御ユニット(ECU:Electronic Control Unit)の構成を示すブロック図である。図3は、コミュニケーション・コントローラの構成を示すブロック図である。図4は、クロック同期回路の構成を示すブロック図である。
まず、本発明のクロック同期回路、電子制御ユニット、車載ネットワークシステムの実施形態について、図1〜図4を参照して説明する。
図1は、本実施形態の車載ネットワークシステムの構成を示すブロック図である。図2は、電子制御ユニット(ECU:Electronic Control Unit)の構成を示すブロック図である。図3は、コミュニケーション・コントローラの構成を示すブロック図である。図4は、クロック同期回路の構成を示すブロック図である。
図1に示すように、車載ネットワークシステムAは、複数のECU1がネットワークのノードとしてバス2に接続されている。
それら複数のECU1の間では、車載用プロトコル(例えば、FlexRay)にしたがった通信を行っている。これにより、情報を共有する車載用のネットワークシステムを構成する。
それらECU1は、ホストCPU10のアプリケーションレベルでの機能はそれぞれ異なるものの、通信に関しては、基本的に共通の構成、機能を有している。
それら複数のECU1の間では、車載用プロトコル(例えば、FlexRay)にしたがった通信を行っている。これにより、情報を共有する車載用のネットワークシステムを構成する。
それらECU1は、ホストCPU10のアプリケーションレベルでの機能はそれぞれ異なるものの、通信に関しては、基本的に共通の構成、機能を有している。
ECU1のハードウエア的な構成は、図2に示すように、ホストCPU10と、コミュニケーション・コントローラ20と、バス・ドライバ30と、フィルタ40と、コネクタ50とを有している。
ホストCPU10は、ECU1の全体を制御するコントローラである。
コミュニケーション・コントローラ20は、ECU1の通信を制御するコントローラである。
バス・ドライバ30は、バス2とコミュニケーション・コントローラ20との間での物理的信号と論理的信号との信号変換を行う。
ホストCPU10は、ECU1の全体を制御するコントローラである。
コミュニケーション・コントローラ20は、ECU1の通信を制御するコントローラである。
バス・ドライバ30は、バス2とコミュニケーション・コントローラ20との間での物理的信号と論理的信号との信号変換を行う。
また、コミュニケーション・コントローラ20は、ソフトウエアで実現される機能として、図3に示すように、インタフェース回路(CHI:Controller Host Interface)21と、プロトコル・エンジン(POC:Protocol Operation Control)22と、マクロティック生成回路23と、クロック同期回路24と、スタートアップ回路25と、バッファ処理回路26と、フレームエンコード/デコード回路27と、ビットコーディング/ビットデコーディング回路28とを有している。
インタフェース回路21は、ホストCPU10とのデータ送受信を行う。
プロトコル・エンジン22は、コミュニケーション・コントローラ20の状態遷移を制御する。
マクロティック生成回路23は、クロックを生成する。また、マクロティック生成回路23は、サイクルとマクロティックのカウンタを制御して、レート補正やオフセット補正に適用する(マクロティック生成プロセス)。
クロック同期回路24は、クロック同期を行う。すなわち、サイクル開始の際の初期化、偏差の測定と保存、オフセット補正値やレート補正値の計算を行う。
プロトコル・エンジン22は、コミュニケーション・コントローラ20の状態遷移を制御する。
マクロティック生成回路23は、クロックを生成する。また、マクロティック生成回路23は、サイクルとマクロティックのカウンタを制御して、レート補正やオフセット補正に適用する(マクロティック生成プロセス)。
クロック同期回路24は、クロック同期を行う。すなわち、サイクル開始の際の初期化、偏差の測定と保存、オフセット補正値やレート補正値の計算を行う。
スタートアップ回路25は、通信起動時のシーケンス制御を行って、スタートアップを実行する。
バッファ処理回路26は、メモリ管理を行う。
フレームエンコード/デコード回路27は、syncフレームをエンコード又はデコードする。
ビットコーディング/ビットデコーディング回路28は、ビット単位のコーディング又はデコーディングを行う。
バッファ処理回路26は、メモリ管理を行う。
フレームエンコード/デコード回路27は、syncフレームをエンコード又はデコードする。
ビットコーディング/ビットデコーディング回路28は、ビット単位のコーディング又はデコーディングを行う。
本実施形態の通信ネットワークシステムAは、ネットワークのノードとして接続されている各ECU1のコミュニケーション・コントローラ20における上述した各機能のうちで、特に、クロック同期回路24で実行される同期補正の機能に大きな特徴を有している。
本実施形態の通信ネットワークシステムAは、通信プロトコルとしてタイム・トリガ方式のFlexRayを採用することができる。そして、ネットワークのノードとして接続される各ECU1は、ネットワーク内での共通の時間認識であるグローバルタイムにしたがって、コミュニケーション・サイクルのスタティック・セグメントやダイナミック・セグメントの中で自ECU1に割り当てられたスロットを認識して、当該スロット内でフレームの送信を行う必要がある。
そのため、各ECU1のコミュニケーション・コントローラ20は、スタートアップ回路25でのスタートアップ処理の際に、自ECU1固有のクロックに依存するローカルタイムとグローバルタイムとの差を認識し、クロック同期によりその差を補正するようにしている。
そのため、各ECU1のコミュニケーション・コントローラ20は、スタートアップ回路25でのスタートアップ処理の際に、自ECU1固有のクロックに依存するローカルタイムとグローバルタイムとの差を認識し、クロック同期によりその差を補正するようにしている。
各ECU1のクロック同期は、このようにコミュニケーション・コントローラ20のスタートアップ回路25でスタートアップ処理を行う際に実施されるが、その後の稼動に伴う温度変化や電圧変動、クロック発生器の製造上のばらつき、経時劣化などにより、各ECU1間での同期は徐々にずれていく場合がある。
そのため、各ECU1のコミュニケーション・コントローラ20は、クロック同期回路24で同期補正処理を定期的に行うことで、自ECU1の時間認識のずれを許容範囲内に抑えて、他のECU1との間で適切なデータ転送を継続的に行えるようにしている。
そのため、各ECU1のコミュニケーション・コントローラ20は、クロック同期回路24で同期補正処理を定期的に行うことで、自ECU1の時間認識のずれを許容範囲内に抑えて、他のECU1との間で適切なデータ転送を継続的に行えるようにしている。
各ECU1の内部で扱われる時間単位には、マクロティック(MT)とマイクロティック(μT)とがある。
マイクロティックは、各ECU1のコミュニケーション・コントローラ20のクロックによって決まる時間単位であり、各ECU1ごとのローカルな時間の最小単位である。
マクロティックは、ネットワーク全体にわたって共通の時間単位であり、マイクロティックの整数倍の長さに設定される。ただし、1マクロティックあたりのマイクロティックの数は、ECU1間で異なる場合もある。
上述したデータ転送の周期であるコミュニケーション・サイクルや、その下位レベルのスタティック・スロット、ダイナミック・スロットは、全てこのマクロティックを単位として、その長さがマクロティックの整数倍に設定されている。
また、ECU1のコミュニケーション・コントローラ20による同期補正は、このマクロティックをもとに実行される。
マイクロティックは、各ECU1のコミュニケーション・コントローラ20のクロックによって決まる時間単位であり、各ECU1ごとのローカルな時間の最小単位である。
マクロティックは、ネットワーク全体にわたって共通の時間単位であり、マイクロティックの整数倍の長さに設定される。ただし、1マクロティックあたりのマイクロティックの数は、ECU1間で異なる場合もある。
上述したデータ転送の周期であるコミュニケーション・サイクルや、その下位レベルのスタティック・スロット、ダイナミック・スロットは、全てこのマクロティックを単位として、その長さがマクロティックの整数倍に設定されている。
また、ECU1のコミュニケーション・コントローラ20による同期補正は、このマクロティックをもとに実行される。
クロック同期回路24は、図4に示すように、デコーダ241と、選択回路242と、クロック補正値計算部243と、クロック補正値保存部244と、クロック同期補正部245とを有している。
デコーダ(分析部)241は、受信したフレームを分析する機能と、受信したフレームの時刻を計測する機能とを有している。
また、デコーダ241は、syncノードからsyncフレームを受信しているか否かを検出する。この検出の結果は、選択回路242へ送られる。
デコーダ(分析部)241は、受信したフレームを分析する機能と、受信したフレームの時刻を計測する機能とを有している。
また、デコーダ241は、syncノードからsyncフレームを受信しているか否かを検出する。この検出の結果は、選択回路242へ送られる。
選択回路242は、デコーダ241から送られてきた検出結果にもとづいて、クロック補正値計算部243又はクロック補正値保存部244のいずれか一方を選択し、この選択した方から補正値を取り出して、クロック同期補正部245へ出力する。
例えば、デコーダ241でsyncフレーム受信が検出されたときは、クロック補正値計算部243からの補正値を選択する。一方、syncフレーム受信が検出されなかったときは、クロック補正値保存部244からの補正値を選択する。
例えば、デコーダ241でsyncフレーム受信が検出されたときは、クロック補正値計算部243からの補正値を選択する。一方、syncフレーム受信が検出されなかったときは、クロック補正値保存部244からの補正値を選択する。
クロック補正値計算部243は、クロック補正値を計算する。
クロック補正値保存部244は、クロック補正値計算部243で算出された補正値を所定期間分(例えば、64サイクル分)保存する。
クロック同期補正部245は、選択回路242からの補正値を使用して、実際にクロック補正(レート補正及びオフセット補正)を行う。
このように、syncフレーム未受信時にも適性なクロック補正が行えることにより、syncノードとの周期のずれを軽減できる。
クロック補正値保存部244は、クロック補正値計算部243で算出された補正値を所定期間分(例えば、64サイクル分)保存する。
クロック同期補正部245は、選択回路242からの補正値を使用して、実際にクロック補正(レート補正及びオフセット補正)を行う。
このように、syncフレーム未受信時にも適性なクロック補正が行えることにより、syncノードとの周期のずれを軽減できる。
クロック同期回路24におけるクロック補正は、次のように行われる。
オフセット補正値の算出は、コミュニケーション・サイクルごとに行われるが、実際に補正がかかるのは奇数サイクルのネットワーク・アイドル時間内のみとなっている。
このオフセット補正は、次のコミュニケーション・サイクルが開始される前に終了しておかなければならない。なお、オフセット補正は、マイクロティック単位で行われる。オフセット補正値に応じてネットワーク・アイドル時間が増減する。
一方、レート補正は、2サイクル(奇数、偶数サイクル)に1回、補正値が算出され、マイクロティック単位で補正される。この補正は、ネットワーク・アイドル時間では行われず、次のサイクル静的セグメントで実行される。
オフセット補正値の算出は、コミュニケーション・サイクルごとに行われるが、実際に補正がかかるのは奇数サイクルのネットワーク・アイドル時間内のみとなっている。
このオフセット補正は、次のコミュニケーション・サイクルが開始される前に終了しておかなければならない。なお、オフセット補正は、マイクロティック単位で行われる。オフセット補正値に応じてネットワーク・アイドル時間が増減する。
一方、レート補正は、2サイクル(奇数、偶数サイクル)に1回、補正値が算出され、マイクロティック単位で補正される。この補正は、ネットワーク・アイドル時間では行われず、次のサイクル静的セグメントで実行される。
補正を行うための時間の測定は、次の手順で行われる。
まず、各ノードがチャネルごとに静的セグメント内で受信したすべてのsyncフレームについて、予期した到着時間と実測した到着時間の差をマイクロティック単位で測定して、その値を保存する。
フレームの予期した到着時間は、「アクション・ポイント(または、静的スロット・アクション・ポイント)」と呼ばれる。
このアクション・ポイントに到達したとき、通信コントローラでは、MAC(Media Access Control)処理が行われる。このMAC処理で生成された信号をもとに、クロック同期プロセス内でタイム・スタンプがとられ、それが保存される。
フレーム受信中に補助的な時間基準点が検出されると、デコーダ241がその時点でのタイム・スタンプをとる。
まず、各ノードがチャネルごとに静的セグメント内で受信したすべてのsyncフレームについて、予期した到着時間と実測した到着時間の差をマイクロティック単位で測定して、その値を保存する。
フレームの予期した到着時間は、「アクション・ポイント(または、静的スロット・アクション・ポイント)」と呼ばれる。
このアクション・ポイントに到達したとき、通信コントローラでは、MAC(Media Access Control)処理が行われる。このMAC処理で生成された信号をもとに、クロック同期プロセス内でタイム・スタンプがとられ、それが保存される。
フレーム受信中に補助的な時間基準点が検出されると、デコーダ241がその時点でのタイム・スタンプをとる。
続いて、このデコーダ241が、補助的な時間基準点のタイム・スタンプをもとにオフセット値を設定し、それをアクション・ポイントにおけるタイム・スタンプから差し引くことで本来の時間基準点を求める。この時間測定は、静的セグメントの終了とともに終了する。
補正値の計算は、通信コントローラによって、次のような手順で行われる。
まず、測定したデータ数に応じたパラメータkを決める。このkは、測定値の最大値および最小値から削除するデータの個数を表す。
例えば、次のように決めたとする。
測定値の数=1〜2のときはk=0
測定値の数=3〜7のときはk=1
測定値の数>7のときはk=2
まず、測定したデータ数に応じたパラメータkを決める。このkは、測定値の最大値および最小値から削除するデータの個数を表す。
例えば、次のように決めたとする。
測定値の数=1〜2のときはk=0
測定値の数=3〜7のときはk=1
測定値の数>7のときはk=2
このときの測定値がかりに{−5,−3,6,8,9,11,13,15}であったとすると、測定データの個数が7以上となることから、最大値から2個(この場合は、15と13)、最小値から2個(この場合は、−5と−3)を削除する。
そして、残ったデータの最大値と最小値の平均をとる。
この例では、(11+7)÷2→8となる(小数点以下は切り捨て)。
この値は、グローバル時間に対するノードのローカル時間のずれ(偏差)の平均値を表している。
レート補正の場合は、この計算結果をvRateCorrection、オフセット補正の場合はvOffsetCorrectionとする。これらの値が仕様で決められている範囲を超えている場合は、補正をかける。一方、範囲内であれば、補正をおこなわない。
そして、残ったデータの最大値と最小値の平均をとる。
この例では、(11+7)÷2→8となる(小数点以下は切り捨て)。
この値は、グローバル時間に対するノードのローカル時間のずれ(偏差)の平均値を表している。
レート補正の場合は、この計算結果をvRateCorrection、オフセット補正の場合はvOffsetCorrectionとする。これらの値が仕様で決められている範囲を超えている場合は、補正をかける。一方、範囲内であれば、補正をおこなわない。
ここで、クロックの補正を行う理由と、補正値の保存について説明する。
クロックを生成するのは物理的な発振子(図示せず)である。この発振子は、設定した周期のクロックを生成しようとするが、必ずしも設定した周期を生成するものではない。設定した周期を軸として、周期が短くなったり長くなったりする。このクロックの揺らぎを補正するのがクロック補正値計算部243である。
このようにクロックは揺らぐため、ある時点では設定した周期より短くなり、ある時点では長くなる。ここで、クロック補正値を固定にしてしまうと、その時点の周期に対する補正値をその後も使用し続けることとなり、クロックの揺らぎに対応できなくなる。
クロックを生成するのは物理的な発振子(図示せず)である。この発振子は、設定した周期のクロックを生成しようとするが、必ずしも設定した周期を生成するものではない。設定した周期を軸として、周期が短くなったり長くなったりする。このクロックの揺らぎを補正するのがクロック補正値計算部243である。
このようにクロックは揺らぐため、ある時点では設定した周期より短くなり、ある時点では長くなる。ここで、クロック補正値を固定にしてしまうと、その時点の周期に対する補正値をその後も使用し続けることとなり、クロックの揺らぎに対応できなくなる。
そこで、本実施形態の車載ネットワークシステムAは、クロック同期回路24にクロック補正値保存部244を備えて、ある期間(例えば、64サイクル分)で発生した補正値を保存しておき、これを使用することで、クロックの揺らぎに一定程度対応することができる。
保存する期間は、物理的なクロックの揺らぎに合わせて、長くしたり短くしたりすることができる。また、クロック補正値保存部244の容量を大きくすれば、その分だけ長期間の保存が可能となる。
保存する期間は、物理的なクロックの揺らぎに合わせて、長くしたり短くしたりすることができる。また、クロック補正値保存部244の容量を大きくすれば、その分だけ長期間の保存が可能となる。
[クロック同期方法]
次に、本実施形態のクロック同期回路の動作(クロック同期方法)について、図5を参照して説明する。
同図は、クロック同期方法の手順を示すフローチャートである。
次に、本実施形態のクロック同期回路の動作(クロック同期方法)について、図5を参照して説明する。
同図は、クロック同期方法の手順を示すフローチャートである。
(syncフレーム受信時)
クロック同期回路24のデコーダ241は、受信信号をデコードして、syncフレームを受信しているか否かを判断する(ステップ10、ステップ11)。
判断の結果、syncフレームを受信している場合には、デコーダ241は、syncフレーム受信の信号を、選択回路242とクロック補正値計算部243とクロック補正値保存部244へ出力する。また、受信した時刻をクロック補正値計算部243へ出力する。
クロック同期回路24のデコーダ241は、受信信号をデコードして、syncフレームを受信しているか否かを判断する(ステップ10、ステップ11)。
判断の結果、syncフレームを受信している場合には、デコーダ241は、syncフレーム受信の信号を、選択回路242とクロック補正値計算部243とクロック補正値保存部244へ出力する。また、受信した時刻をクロック補正値計算部243へ出力する。
クロック補正値計算部243は、デコーダ241からsyncフレーム受信を示す信号を受けると、デコーダ241からのsyncフレーム受信時刻と内部クロックにもとづいて、レート補正値とオフセット補正値を計算し、選択回路242とクロック補正値保存部244へ出力する。
クロック補正値保存部244は、デコーダ241からsyncフレーム受信を示す信号を受けると、クロック補正値計算部243からの補正値をクロック同期補正部245からのサイクルカウント値毎に内部レジスタ(図示せず)に格納する。
クロック補正値保存部244は、デコーダ241からsyncフレーム受信を示す信号を受けると、クロック補正値計算部243からの補正値をクロック同期補正部245からのサイクルカウント値毎に内部レジスタ(図示せず)に格納する。
選択回路242は、デコーダ241からsyncフレーム受信を示す信号を受けると、クロック補正値計算部243からの補正値をクロック同期補正部245へ出力する。
クロック同期補正部245は、レート補正を行うとともに、選択回路242からの補正値と内部クロックにもとづいて、クロック同期(オフセット補正)を行い、サイクルカウントを計算する(ステップ12)。
クロック同期補正部245は、レート補正を行うとともに、選択回路242からの補正値と内部クロックにもとづいて、クロック同期(オフセット補正)を行い、サイクルカウントを計算する(ステップ12)。
(syncフレーム未受信時)
クロック同期回路24のデコーダ241は、受信信号をデコードして、syncフレームを受信しているか否かを判断する(ステップ10、ステップ11)。
判断の結果、syncフレームを受信していない場合には、デコーダ241は、syncフレーム未受信の信号を、選択回路242とクロック補正値計算部243とクロック補正値保存部244へ出力する。
クロック同期回路24のデコーダ241は、受信信号をデコードして、syncフレームを受信しているか否かを判断する(ステップ10、ステップ11)。
判断の結果、syncフレームを受信していない場合には、デコーダ241は、syncフレーム未受信の信号を、選択回路242とクロック補正値計算部243とクロック補正値保存部244へ出力する。
クロック補正値計算部243は、デコーダ241からsyncフレーム未受信を示す信号を受けた場合、何も行わない。
クロック補正値保存部244は、デコーダ241からsyncフレーム未受信を示す信号を受けると、クロック同期補正部245からのサイクルカウント値に保存してある補正値をレジスタから選択回路242へ出力する。
クロック補正値保存部244は、デコーダ241からsyncフレーム未受信を示す信号を受けると、クロック同期補正部245からのサイクルカウント値に保存してある補正値をレジスタから選択回路242へ出力する。
選択回路242は、デコーダ241からsyncフレーム未受信を示す信号を受けると、クロック補正値保存部244からの補正値をクロック同期補正部245へ出力する。
クロック同期補正部245は、レート補正を行うとともに、選択回路242からの補正値と内部クロックにもとづいて、クロック同期(オフセット補正)を行い、サイクルカウントを計算する(ステップ13)。
クロック同期補正部245は、レート補正を行うとともに、選択回路242からの補正値と内部クロックにもとづいて、クロック同期(オフセット補正)を行い、サイクルカウントを計算する(ステップ13)。
このように、受信した信号をデコードし、結果がsyncフレーム受信と判断されれば、クロック補正値計算部243の補正値を使用してクロック補正を実施する。
一方、syncフレーム未受信と判断されれば、クロック補正値保存部244の補正値を使用してクロック補正を実施する。
一方、syncフレーム未受信と判断されれば、クロック補正値保存部244の補正値を使用してクロック補正を実施する。
[比較例]
以上説明したように、本願発明によれば、syncフレームを受信していない場合でも適切なクロック同期を行えるため、syncノードとの周期のずれが大きくなる割合を小さくでき、再びsyncフレームを受信して同期状態に遷移するまでの時間を長時間確保できる。
下記に従来のFlexRayプロトコルの場合と本発明を適用した場合とを比較した例を示す。
以上説明したように、本願発明によれば、syncフレームを受信していない場合でも適切なクロック同期を行えるため、syncノードとの周期のずれが大きくなる割合を小さくでき、再びsyncフレームを受信して同期状態に遷移するまでの時間を長時間確保できる。
下記に従来のFlexRayプロトコルの場合と本発明を適用した場合とを比較した例を示す。
(i)条件
(1) syncフレーム未受信になる前の64サイクル分の積算値が、オフセット補正値は28マイクロティック、レート補正値は0マイクロティック
(2) syncフレーム未受信になる直前のレート補正値が0マイクロティック
(3) syncフレーム未受信中に必要な補正の64サイクル分の積算値が、オフセットは30マイクロティック、レートは2マイクロティック
(4) syncフレーム未受信中の64サイクル以降も64サイクル単位では多少増減があるが、平均すると条件3の値になると仮定する。
(1) syncフレーム未受信になる前の64サイクル分の積算値が、オフセット補正値は28マイクロティック、レート補正値は0マイクロティック
(2) syncフレーム未受信になる直前のレート補正値が0マイクロティック
(3) syncフレーム未受信中に必要な補正の64サイクル分の積算値が、オフセットは30マイクロティック、レートは2マイクロティック
(4) syncフレーム未受信中の64サイクル以降も64サイクル単位では多少増減があるが、平均すると条件3の値になると仮定する。
(ii)各パラメータ値
gdActionPointOffset=10マクロティック
gdMacrotick=1マイクロセック
pdMicrotick=0.025マイクロセック
gdCycle=5000マイクロセック
gdActionPointOffset=10マクロティック
gdMacrotick=1マイクロセック
pdMicrotick=0.025マイクロセック
gdCycle=5000マイクロセック
復旧可能時間の計算値は、下記となるが、下記式では周波数偏差の最大値(gAssumedPricision)を使用しているので、この値を設定条件による偏差に置き換えることで条件下における復旧可能時間となる。
復旧可能時間=gdActionPointOffset×gdMicrotick÷gAssumedPricision×2×gdCycle
(iii)計算
(1)gAssumedPricisionの条件下での偏差への置き換え
gAssumedPricisionは、2サイクル分の偏差なので、64サイクル分のオフセット補正値とレート補正値の積算値を32で割った値となる。
(1)gAssumedPricisionの条件下での偏差への置き換え
gAssumedPricisionは、2サイクル分の偏差なので、64サイクル分のオフセット補正値とレート補正値の積算値を32で割った値となる。
(1−1)現在のFlexRayプロトコルの偏差
偏差=(必要オフセット補正積算値−実施オフセット補正積算値+必要レート補正積算値−実施レート補正積算値)÷32×pdMicrotick
=(30+2)÷32×0.025
=0.025
偏差=(必要オフセット補正積算値−実施オフセット補正積算値+必要レート補正積算値−実施レート補正積算値)÷32×pdMicrotick
=(30+2)÷32×0.025
=0.025
(1−2)本発明を適用した場合の偏差
偏差=(2+2)÷32×0025
=0.015625
偏差=(2+2)÷32×0025
=0.015625
(2)復旧可能時間
(2−1)現在のFlexRayプロトコルの復旧可能時間
復旧可能時間=gdActionPointOffset×gdMicrotick÷gAssumedPricision×2×gdCycle
=10×1÷0.025×2×5000
=4000000マイクロセック
=4秒
(2−1)現在のFlexRayプロトコルの復旧可能時間
復旧可能時間=gdActionPointOffset×gdMicrotick÷gAssumedPricision×2×gdCycle
=10×1÷0.025×2×5000
=4000000マイクロセック
=4秒
(2−2)本発明を適用した場合の復旧可能時間
復旧可能時間=10×1÷0.015625×2×5000
=32000000マイクロセック
=32秒
復旧可能時間=10×1÷0.015625×2×5000
=32000000マイクロセック
=32秒
つまり、本条件下では、本発明を適用した場合、現在のFlexRayプロトコルに比べて8倍の復旧可能時間を確保できることとなる。
条件では、計算を容易にするためにわざとsyncフレーム未受信中とsyncフレーム未受信前で補正値の積算値に差が付き続けるとしたが、実際には差が付き続ける可能性は低く、平均すると、ほぼ同じ積算値になる可能性が高い。
その場合は、極端な偏差が一定期間続くようなことが発生しない限り、永久に復旧可能時間を確保できることとなる。
条件では、計算を容易にするためにわざとsyncフレーム未受信中とsyncフレーム未受信前で補正値の積算値に差が付き続けるとしたが、実際には差が付き続ける可能性は低く、平均すると、ほぼ同じ積算値になる可能性が高い。
その場合は、極端な偏差が一定期間続くようなことが発生しない限り、永久に復旧可能時間を確保できることとなる。
以上説明したように、本実施形態のクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法によれば、syncフレームが受信されていない場合に、クロック補正値保存部244から補正値を取り出してクロック同期補正部245へ送る選択回路242を備えたため、syncフレーム未受信からの時間が長くなった場合でもクロック補正(オフセット補正)を行うことができ、syncフレームとの再同期が可能となる。
また、syncフレームの未受信時においてもクロック補正(オフセット補正)を行えるようにしたので、FlexRayにおける条件、すなわち、syncフレームの未受信状態が長時間続くとクロック同期を行わないという条件が緩和される。このように、同期を維持する条件が緩和されるため、CANからFlexRayへの置き換えが容易となる。
以上、本発明のクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法の好ましい実施形態について説明したが、本発明に係るクロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法は上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、車載ネットワークシステムのトポロジーをバス型としたが、バス型に限るものではなく、スター型や、バス型とスター型との組み合わせとすることもできる。
また、上述した実施形態では、自動車の機能制御に用いられるFlexRayについて説明したが、FlexRayは、自動車用に限るものではなく、例えば、精密機器、ロボット、航空機、建設機械などに用いることもできる。
また、上述した実施形態では、自動車の機能制御に用いられるFlexRayについて説明したが、FlexRayは、自動車用に限るものではなく、例えば、精密機器、ロボット、航空機、建設機械などに用いることもできる。
本発明は、クロックの同期制御に関する発明であるため、クロックの同期制御を行う装置や機器に利用可能である。
A 車載ネットワークシステム
1 電子制御ユニット(ECU)
20 コミュニケーション・コントローラ
24 クロック同期回路
241 デコーダ
242 選択回路
243 クロック補正値計算部
244 クロック補正値保存部
245 クロック同期補正部
1 電子制御ユニット(ECU)
20 コミュニケーション・コントローラ
24 クロック同期回路
241 デコーダ
242 選択回路
243 クロック補正値計算部
244 クロック補正値保存部
245 クロック同期補正部
Claims (10)
- 外部から受信した所定のフレームの時刻情報にもとづいてクロックの補正値を計算するクロック補正値計算部と、
前記補正値を所定期間分保存するクロック補正値保存部と、
受信信号を分析して前記所定のフレームを受信しているか否かを判断する分析部と、
前記所定のフレームを受信していないと判断されたときに、前記クロック補正値保存部から前記補正値を取り出す選択回路と、
前記選択回路で取り出された補正値を用いて、前記クロックの補正を行うクロック同期補正部とを備えた
ことを特徴とするクロック同期回路。 - 前記選択回路は、前記所定のフレームを受信していると判断されたときに、前記クロック補正値計算部から前記補正値を受け取り、
前記クロック同期補正部は、前記選択回路からの前記補正値を用いて、前記クロックの補正を行う
ことを特徴とする請求項1記載のクロック同期回路。 - 前記クロック同期補正部は、前記選択回路からの前記補正値を用いて、前記クロックのレート補正とオフセット補正を行う
ことを特徴とする請求項1又は2記載のクロック同期回路。 - 前記分析部は、前記受信信号をデコードして、前記所定のフレームを受信しているか否かを判断する
ことを特徴とする請求項1〜3のいずれかに記載のクロック同期回路。 - クロックの同期を行うクロック同期回路として、前記請求項1〜4のいずれかに記載のクロック同期回路を備えた
ことを特徴とする電子制御ユニット。 - 前記クロックの生成を行うクロック生成回路を備え、
前記クロック同期回路が、前記生成されたクロックの同期を行う
ことを特徴とする請求項5記載の電子制御ユニット。 - ネットワークのノードとして、前記請求項5又は6記載の電子制御ユニットを備えた
ことを特徴とする車載ネットワークシステム。 - 複数の前記電子制御ユニットが、バスにより接続された
ことを特徴とする請求項7記載の車載ネットワークシステム。 - 外部から受信した所定のフレームの時刻情報にもとづいてクロックの補正値を計算する処理と、
前記補正値を所定期間分保存する処理と、
受信信号を分析して前記所定のフレームを受信しているか否かを判断する処理と、
前記所定のフレームを受信していないと判断されたときに、前記保存された前記補正値を用いて前記クロックの補正を行う処理とを有した
ことを特徴とするクロック同期方法。 - 前記所定のフレームを受信していると判断されたときに、前記計算された補正値を用いて前記クロックの補正を行う処理を有した
ことを特徴とする請求項9記載のクロック同期方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008235965A JP2010074211A (ja) | 2008-09-16 | 2008-09-16 | クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008235965A JP2010074211A (ja) | 2008-09-16 | 2008-09-16 | クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010074211A true JP2010074211A (ja) | 2010-04-02 |
Family
ID=42205640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008235965A Pending JP2010074211A (ja) | 2008-09-16 | 2008-09-16 | クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010074211A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150061779A (ko) * | 2013-11-28 | 2015-06-05 | 현대모비스 주식회사 | 통신 클럭 동기화 방법 및 그 장치 |
WO2015163359A1 (ja) * | 2014-04-24 | 2015-10-29 | シャープ株式会社 | 電動粉挽き機 |
JP2017005418A (ja) * | 2015-06-08 | 2017-01-05 | 株式会社デンソー | 通信システム |
WO2017006537A1 (ja) * | 2015-07-03 | 2017-01-12 | パナソニックIpマネジメント株式会社 | 通信方法、プログラムおよびそれを利用した通信装置 |
-
2008
- 2008-09-16 JP JP2008235965A patent/JP2010074211A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150061779A (ko) * | 2013-11-28 | 2015-06-05 | 현대모비스 주식회사 | 통신 클럭 동기화 방법 및 그 장치 |
KR102097386B1 (ko) * | 2013-11-28 | 2020-04-06 | 현대모비스 주식회사 | 통신 클럭 동기화 방법 및 그 장치 |
WO2015163359A1 (ja) * | 2014-04-24 | 2015-10-29 | シャープ株式会社 | 電動粉挽き機 |
JP2015208394A (ja) * | 2014-04-24 | 2015-11-24 | シャープ株式会社 | 電動粉挽き機 |
CN105980061A (zh) * | 2014-04-24 | 2016-09-28 | 夏普株式会社 | 电动磨粉机 |
JP2017005418A (ja) * | 2015-06-08 | 2017-01-05 | 株式会社デンソー | 通信システム |
WO2017006537A1 (ja) * | 2015-07-03 | 2017-01-12 | パナソニックIpマネジメント株式会社 | 通信方法、プログラムおよびそれを利用した通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7620075B2 (en) | Serial communication system with baud rate generator | |
US9331838B2 (en) | Method for synchronizing clocks in nodes of a vehicle network and node designed to perform the method | |
US8675689B2 (en) | Method of time synchronization of free running nodes in an avionics network | |
JP5050057B2 (ja) | タイムトリガ型ネットワーク、及びこのネットワーク内のクラスタのクロック同期方法 | |
US8566632B2 (en) | Multi-rate sampling for network receiving nodes using distributed clock synchronization | |
US11165718B2 (en) | Asymmetrical ethernet physical layer device | |
KR20110126641A (ko) | 노드들 사이의 양방향 포인트 투 포인트 통신 링크를 이용한 오류 내성 네트워크 | |
US20060203748A1 (en) | Method and device for the exchange of data between at least two users connected to a bus system | |
KR20200109931A (ko) | 차량 네트워크에서 웨이크업 신호의 송수신을 위한 방법 및 장치 | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
US20140169419A1 (en) | Transceiver and communication apparatus transmitting and receiving data encoded by transmission code | |
KR20140056240A (ko) | 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치 | |
US20160087737A1 (en) | A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network | |
JP2013030932A (ja) | 通信システム及び、当該通信システムに用いられるサブマスタノード | |
US7848361B2 (en) | Time-triggered communication system and method for the synchronization of a dual-channel network | |
JP2010074211A (ja) | クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 | |
JP2008306648A (ja) | データ中継装置及びデータ中継方法並びに通信ネットワークシステム | |
JP2006527938A (ja) | バスシステムを介してデータを交換する方法,装置およびシステム | |
US8897289B2 (en) | Node system and supervisory node | |
JP4419867B2 (ja) | データ処理装置 | |
KR20140058517A (ko) | 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치 | |
IT202000013222A1 (it) | Procedimento di clock recovery, circuito e sistema corrispondenti | |
US20240126629A1 (en) | Semiconductor device and serial communication interface control method | |
JP2008022066A (ja) | 通信ネットワークシステム及びノード同期補正機能の故障診断方法 | |
Chen et al. | Research on FlexRay Bus Software Testing Technology Based on Data Acquisition and Analysis |