JP6379230B2 - クロックのタイムスタンプ補償方法及び装置 - Google Patents

クロックのタイムスタンプ補償方法及び装置 Download PDF

Info

Publication number
JP6379230B2
JP6379230B2 JP2016575784A JP2016575784A JP6379230B2 JP 6379230 B2 JP6379230 B2 JP 6379230B2 JP 2016575784 A JP2016575784 A JP 2016575784A JP 2016575784 A JP2016575784 A JP 2016575784A JP 6379230 B2 JP6379230 B2 JP 6379230B2
Authority
JP
Japan
Prior art keywords
counter
value
time
integer
nanosecond
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.)
Active
Application number
JP2016575784A
Other languages
English (en)
Other versions
JP2017521941A (ja
Inventor
シャン,ション
シャオ,クン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Publication of JP2017521941A publication Critical patent/JP2017521941A/ja
Application granted granted Critical
Publication of JP6379230B2 publication Critical patent/JP6379230B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/067Details of the timestamp structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Measurement Of Unknown Time Intervals (AREA)
  • Electric Clocks (AREA)

Description

本発明は通信分野に関し、特にクロックのタイムスタンプ補償方法及び装置に関する。
現代のモバイル通信ネットワークにおいて、各通信機器の間に時間同期を保持する必要があり、ユーザが移動する過程に基地局の切り替えにより切断される等の故障を発生しないように確保し、従来、全地球測位システム(GPS)と電気電子技術者協会(IEEE)1588とはこの需要を満たすことができる。GPSはシステムコスト及び安全性の制限のため全面的に推し広めるのに不便である。IEEE 1588は一般的に精密クロック同期プロトコル(Precision Time Protocol、PTPと略称する)であり、その全称は、ネットワーク測定及び制御システムの精密クロック同期プロトコル標準(a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems)である。IEEE 1588システムは高精度クロックソースをベアラネットワークに入力するのみで、各基地局のクロック時間情報がクロック品質、システム主従関係等に基づき、自動的にネットワーク全体のサブマイクロ秒時間精度の時間同期を実現し、システムコストを低減させ、通信ネットワークの安全性と安定性を強化させる。これらの考えに基づいて、従来、IEEE 1588技術は伝送分野において幅広く使用される。
IEEE 1588システムの時間精度は主に主従ノードの時間精度によって決められる。主従ノードの中で時刻同期メッセージの処理はローカル時間カウンターに基づいていて、該カウンターの精度は直接にシステム全体の時刻同期精度に影響を及ぼす。
従来のシステム時間カウンターの実現方法は以下の通りであり、システムクロックは125Mの精密クロックの場合、1秒の時間は125MHzクロックカウンターが125000000個のクロック周期をカウントするものであり、1つの125Mクロック周期は8nsであり、1588プロトコルに基づき、タイムスタンプは80ビットの時間偏差値であり、1970年1月1日0時間0分0秒を基準時間として、現在時間と基準時間の時間偏差を与える。80ビットのカウンターにおいて、上48ビットは秒の整数部分であり、下32ビットはナノ秒の整数部分である。このため、各周期の固定加算によって、現在のローカル時間を取得する。
しかし、システム全体の時間精度は時間カウンター周波数の制限を受け、最高の精度は8nsのみであり、時間同期システムは異なる伝送機器を経由した後に、誤差も持続的に累加し、ただローカルタイムスタンプの精度を高めてだけ、システム誤差を減少できる。
本発明の実施例はクロックのタイムスタンプ補償方法及び装置を提供して、ローカルシステムのタイムスタンプ精度を向上させることができる。
上記技術問題を解決するために、本発明の実施例はクロックのタイムスタンプ補償方法を提供し、
異なるソースのクロックを利用してそれぞれ第1時間カウンターと第2時間カウンターを設定するステップ、
プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値と前記第2時間カウンターから読み取った第2タイムスタンプ値を取得するステップ、
前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するステップ、及び
前記補償タイムスタンプ値に基づき、ローカルシステムクロックのタイムスタンプの整数部分を補償するステップを含む。
前記第1時間カウンターと前記第2時間カウンターとはいずれも80ビットのカウンターである。
前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分の演算及び切り上げ操作を完成する第2整ナノ秒カウンター、及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む。
前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットのカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである。
プリセット時刻のタイムスタンプ記録信号を利用して、第1時間カウンターから読み取った第1タイムスタンプ値を取得するステップは、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第1時間カウンターから読み取った前記第1整秒カウンターの第1値及び前記第1整ナノ秒カウンターの第2値を取得すること、及び
前記第1値と前記第2値で前記第1タイムスタンプ値を作成することを含む。
プリセット時刻のタイムスタンプ記録信号を利用して、第2時間カウンターから読み取った第2タイムスタンプ値を取得するステップは、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第2時間カウンターから読み取った前記第2整秒カウンターの第3値、前記第2整ナノ秒カウンターの第4値及び前記第2ナノ秒分数カウンターの第5値を取得すること、及び
前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成することを含む。
前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するステップは、
前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値を加算して平均値を取って、前記補償タイムスタンプ値を取得すること、或いは
それぞれ第1時間カウンターと第2時間カウンターの整秒及び整ナノ秒部分をそれぞれ加算して、整秒部分の33ビット値と整ナノ秒部分の33ビット値を取得し、次にそれぞれこの2部分のデータに対してそれぞれビットシフト演算し、平均操作を行い、32ビット幅の整秒部分と32ビット幅の整ナノ秒部分を取得し、次に、CPUにより整秒部分の上16ビットを設定して、前記補償タイムスタンプ値を取得することを含む。
本発明の実施例はクロックのタイムスタンプ補償装置を更に提供し、
異なるソースのクロックを利用して、それぞれ第1時間カウンターと第2時間カウンターを設定するように設定されるタイマーモジュールと、
プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値及び前記第2時間カウンターから読み取った第2タイムスタンプ値を取得するように設定される第1取得モジュールと、
前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するように設定される第2取得モジュールと、
前記補償タイムスタンプ値に基づき、ローカルシステムクロックのタイムスタンプ整数部分を補償するように設定される補償モジュールとを含む。
前記第1時間カウンターと前記第2時間カウンターとはいずれも80ビットのカウンターである。
前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分の演算及び切り上げ操作を完成する第2整ナノ秒カウンター、及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む。
前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである。
前記第1取得モジュールは、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第1時間カウンターから読み取った第1整秒カウンターの第1値及び第1整ナノ秒カウンターの第2値を取得し、前記第1値と前記第2値で前記第1タイムスタンプ値を作成するように設定される第1取得サブモジュールと、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第2時間カウンターから読み取った第2整秒カウンターの第3値、第2整ナノ秒カウンターの第4値及び第2ナノ秒分数カウンターの第5値を取得し、前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成するように設定される第2取得サブモジュールとを含む。
前記第2取得モジュールは、
第2整ナノ秒カウンター及び第2ナノ秒分数カウンターはいずれも切り上げがあるか否かを判断するように設定される判断サブモジュールと、
前記判断サブモジュールの判断結果に基づき、前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値の和に対して平均値を求め、前記補償タイムスタンプ値を取得し、或いはまず前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値に対して和を求めてから、第2ナノ秒分数カウンターの16ビット値を使用し、80ビット値を作成し、2回のデータスナップショット後、前記80ビット値に対してビットシフト演算で平均値を求め、前記補償タイムスタンプ値を取得するように設定される計算サブモジュールとを含む。
本発明の上記技術的解決手段の有益な効果は以下の通りであり、
上記手段では、異なるソースのクロックを利用してそれぞれ第1時間カウンターと第2時間カウンターを設定し、プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値及び前記第2時間カウンターから読み取った第2タイムスタンプ値を取得し、前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得し、前記補償タイムスタンプ値に基づき、ローカルシステムクロックのタイムスタンプの整数部分を補償する。ローカルクロックとサービスクロックの2種のクロックが同時にカウントし、それぞれ2つのクロックドメインで作動するタイマーを確立し、キー時刻のタイムスタンプ記録信号がそれぞれ2つの時間カウンターから読み取ったタイムスタンプ値によって、且つ比較及び平均することで、タイムスタンプの整数部分の補償を完成する。大幅にタイムスタンプの精度を向上させることができる。元の125Mの場合の±8nsの偏差と比べて、二重クロックサンプリングとダブルエッジ累加によって、現在の偏差は±3.6nsにあり、向上した精度は55%である。
図1は本発明のクロックのタイムスタンプ補償方法を示すフローチャートである。 図2は本発明の時間カウンターのフォーマット図である。 図3は本発明のタイムスタンプの補償方法を示す一具体的なフローチャートである。
本発明が解決しようとする技術問題、技術的解決手段及び利点をより明らかにさせるために、以下、図面及び具体的な実施例を参照して詳細的に説明する。
本発明が解決しようとする技術問題は、伝送システムにおける精密タイムスタンプ精度を向上させる実現方法を提供し、ローカルタイムスタンプ記録の過程において、マルチクロックサンプリングによってクロックの整数部分を補償して、それによりシステムのタイムスタンプ精度を向上させる。
図1に示すように、本発明の実施例はクロックのタイムスタンプ補償方法を提供し、以下のステップを含み、
ステップ11、異なるソースのクロックを利用してそれぞれ第1時間カウンターと第2時間カウンターを設定し、
ステップ12、プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値及び前記第2時間カウンターから読み取った第2タイムスタンプ値を取得し、
ステップ13、前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得し、
ステップ14、前記補償タイムスタンプ値に基づきローカルシステムクロックのタイムスタンプの整数部分を補償する。
該実施例は異なるソースのクロックを利用することによって第1時間カウンター及び第2時間カウンターをそれぞれ設定し、第1時間カウンターは例えばローカルシステムに対応するカウンターであってもよく、第2時間カウンターは例えばサービスクロックに対応するカウンターであってもよく、プリセット時刻のタイムスタンプ記録信号を利用して、第1時間カウンターから読み取った第1タイムスタンプ値及び第2時間カウンターから読み取った第2タイムスタンプ値をそれぞれ取得し、前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得し、前記補償タイムスタンプ値に基づきローカルシステムクロックのタイムスタンプの整数部分を補償する。ローカルクロックとサービスクロックの2種のクロックを同時にカウントさせ、それぞれ2つのクロックドメインで作動するタイマーを確立し、キー時刻のタイムスタンプ記録信号がそれぞれ2つの時間カウンターから読み取ったタイムスタンプ値によって、且つ比較及び平均することで、タイムスタンプの整数部分の補償を完成する。大幅にタイムスタンプの精度を向上させることができる。元の125M状況の±8nsの偏差と比べて、二重クロックサンプリングとダブルエッジ累加によって、現在の偏差は±3.6nsにあり、向上した精度は55%である。
図2及び図3に示すように、前記第1時間カウンターと第2時間カウンターとはいずれも80ビットのカウンターである。
前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分演算及び切り上げ操作を完成する第2整ナノ秒カウンター及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む。
前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットのカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである。
システムにおいて、2つの異なるソースのクロックを使用して時間カウンターをそれぞれ構築することができ、一番目はシステムクロック125Mクロックであり、第1時間カウンターに対応し、二番目はサービスクロック(異なるサービスに基づき設定することができる)であり、第2時間カウンターに対応し、仮にあるサービスクロックの周波数は155.52MHzである場合、サービスクロックはサービスによって回復する基準クロックであり、1秒の時間に対してちょうど155.52MHzクロックが155520000個のクロック周期をカウントする。1つの155.52MHzクロックのクロック周期は、T155.52M=(3125/486)ns=6+(209/486)nsであり、サービスクロック周期は整数部分と分数部分からなることを見える。このため、精密時間カウンターを設定する際に、カウンターを整数カウントと分数カウントという2部分のカウンターに分けることができる。整数カウンターは主に整数部分の計算を完成し、分数カウンターは主に分数部分の計算及び切り上げ操作を完成する。
1588精密タイムスタンプの48ビット整秒部分は広い範囲の時間カウントを実現することができ、このため、タイムスタンプの上ビットは一般的にほとんど変化しないため、PTP精密カウンター、即ち第1時間カウンターの第1整数部分カウンターは32ビット幅を取って実際な用途を満たすことができ、欠けた上16ビット整秒部分はソフトウェアにより直接に設定され、該第1整数部分カウンターは整秒部分に対応するカウンターであり、整ナノ秒部分には32ビット幅で示され(1s=109ns=0x3B9A_CA00ns)、また、クロック周期は整ナノ秒ではない際に、累加する際に小数部分が発生するため、ここで16ビットの小数部分を引き入れ、分数部分とも呼ばれて小数部分の累加を完成し、図2に示す。
2つのカウンターはいずれも組立ライン方式でカウントビット幅を分離して、カウンターは、整秒カウンター(32bit)、整ナノ秒カウンター(32bit)、ナノ秒分数部分カウンター(16bit)の三つの部分に分けられることができ、基準クロックが125Mのシステムクロックの場合、ナノ秒分数カウンターを必要としない。システムをリセットする場合に、第1時間カウンターと第2時間カウンターとは同一のリセット信号を使用して、リセットした後に、第1時間カウンターと第2時間カウンターのカウント値を一致にするように確保する。整ナノ秒下ビットカウントビットでクロック立上りエッジ、立下りエッジを使用し、同時にカウントし、例えば元の125Mクロックカウンターは各立上りエッジのみで1回カウントし、カウント周期は8nsであり、カウンターはクロック立上りエッジと立下りエッジを同時にカウントする場合、カウント周期は4nsであり、整ナノ秒部分は各クロックエッジで4の加算の操作を行い、ナノ秒整数部分は0x3B9A_CA00を超える際に、整秒部分に対して1つの切り上げ操作を発生し、同時に、ナノ秒部分も0x3B9A_CA00を引く必要もある。分数カウンターも同様であり、整数部分と分数部分の累積因子(cumulation factor)を2で割った後に計算し、1つの155.52MHzクロックのクロック周期はT155.52M=(3125/486)ns=6+(209/486)nsであると、立上りエッジと立下りエッジを同時にカウントする場合に、カウント周期はT155.52M×2=(3125/(486×2))ns=3+(209/972)nsである。1つの16ビットのレジスタによって、小数部分の分子をキャッシュし、2つの16ビットのレジスタを更に必要として、小数部分の分子定数と分母定数をキャッシュし、これらの定数の取る値はCPUによって設定することができ、異なるクロック周波数でのカウントの需要に適用するようにする。各カウント周期内で分子の累加と分母の比較を完成し、分子部分が各周期で209を累加し、次の周期で累加した後に分子部分は分母部分より大きくなると、次の周期で整ナノ秒部分に対して切り上げ操作を行うと同時に、分子部分からも分母部分(972)を引く必要もある。これは二者択一のモジュールを利用して完成することができ、まず分子部分が次のクロックエッジで切り上げる必要があるか否かを判断し、これが763(972-209=763)と比較してもよく、該数値より大きい又は等しい場合、切り上げる必要があるのを表す。分子部分が次の周期で切り上げる必要がない場合、209と累加して結果を取得し、切り上げる必要がある際に、(209-972=-763)と加算して結果を取得し、同時に切り上げを発生する。なお、整ナノ秒の下ビットカウントビットのみはダブルエッジを使用してカウントし、整ナノ秒上ビットカウンターと整秒部分とは単一エッジによってカウントし、切り上げ指示が1つの全体周期が続くため、切り上げロストの問題が発生しない。
本発明の一具体的な実施例において、時間カウンターを読み取る場合に、上記ステップ12は、以下のステップを含み、
ステップ121、前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第1時間カウンターから読み取った前記第1整秒カウンターの第1値及び前記第1整ナノ秒カウンターの第2値を取得し、
ステップ122、前記第1値と前記第2値で前記第1タイムスタンプ値を作成し、
ステップ123、前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第2時間カウンターから読み取った前記第2整秒カウンターの第3値、前記第2整ナノ秒カウンターの第4値及び前記第2ナノ秒分数カウンターの第5値を取得し、
ステップ124、前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成し
対応的に、ステップ13は、
前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値を加算して平均値を取って、前記補償タイムスタンプ値を取得するステップ、或いは
それぞれ第1時間カウンターと第2時間カウンターの整秒及び整ナノ秒の部分をそれぞれ加算して和を求め、整秒部分の33ビット値と整ナノ秒部分の33ビット値を取得し、次に、それぞれこの2部分のデータに対してそれぞれビットシフト演算し、平均操作を行い、32ビット幅の整秒部分と32ビット幅の整ナノ秒部分を取得し、次にCPUにより整秒部分の上16ビットを設定して、1588の標準カウンターを取得し、即ち前記補償タイムスタンプ値であるというステップを含んでもよい。
タイムスタンプを打つ必要がある時に、同時に2つのタイマーの結果をサンプリングして、それぞれ2つのクロックドメインでの精密時間値を取得することができ、このカウンターを読み取る過程において、タイムスタンプ打ち信号とシステムクロック或いはサービスクロックとは1つのクロックドメインにあるため、このサンプリング過程において1つのは同期サンプリングであり、もう1つのカウンターは非同期サンプリングである。タイムスタンプを取る際に、PTP精密カウンターの整秒部分(32bit)と整ナノ秒部分(32bit)のみを取る必要で、このように合計で64ビットのタイムスタンプ値を有し、整秒の残った上16bitはCPUにより設定され、標準80bitの1588精密タイムスタンプを作成する。データ処理過程において、まず同期サンプリングのクロックカウンターで読み取る数値を基準として、2つのカウンターの最も下のカウントビットカウント値の整数部分を加算して平均値を取って、加算する前に、まず分数カウンターと低ビット整数カウンターが切り上げがあるか否かを判断し、いずれも切り上げがあると、すべての80bitデータを加算して、2回のスナップショットデータの加算が完成して、安定した後に、ビットシフト演算によって平均値を計算する。勿論、切り上げるか否かを判断しなくてもよく、直接に2つのカウンターの整数部分の平均値を取って、平均値を取る過程は基本的に確定周期内で完成することができ、下流にタイムスタンプを打つ過程に影響を及ぼしない。
本発明の上記実施例はタイムスタンプを打つ過程において、ローカルクロックとサービスクロックの2種のクロックを同時にカウントさせ、それぞれ2つのクロックドメインに作動されるタイマーを確立し、キー時刻のタイムスタンプ記録信号がそれぞれ2つの時間カウンターから読み取ったタイムスタンプ値によって、且つ比較及び平均することで、タイムスタンプの整数部分の補償を完成する。
システムはカウンターの下整数ビットカウンターのカウンター周期を向上させ、且つ同時に二重クロックサンプリングの方式を採用して精密クロックの範囲を取得し、基準タイムスタンプとサービスタイムスタンプ値の平均アルゴリズムによって、最終的にタイムスタンプを取得し、大幅にタイムスタンプの精度を向上させることができる。元の125M状況の±8nsの偏差と比べて、二重クロックサンプリングとダブルエッジ累加によって、現在の偏差が±3.6nsであり、タイムスタンプ精度は55%向上させる。
本発明の実施例はクロックのタイムスタンプ補償装置を更に提供し、
異なるソースのクロックを利用してそれぞれ第1時間カウンターと第2時間カウンターを設定するように設定されるタイマーモジュールと、
プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値及び前記第2時間カウンターから読み取った第2タイムスタンプ値を取得するように設定される第1取得モジュールと、
前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するように設定される第2取得モジュールと、
前記補償タイムスタンプ値に基づき、ローカルシステムクロックのタイムスタンプ整数部分を補償するように設定される補償モジュールとを含む。
該実施例は異なるソースのクロックを利用することによって、第1時間カウンター及び第2時間カウンターをそれぞれ設定し、第1時間カウンターは例えばローカルシステムに対応するカウンターであってもよく、第2時間カウンターは例えばサービスクロックに対応するカウンターであってもよく、プリセット時刻のタイムスタンプ記録信号を利用して、第1時間カウンターから読み取った第1タイムスタンプ値及び第2時間カウンターから読み取った第2タイムスタンプ値をそれぞれ取得し、前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得し、前記補償タイムスタンプ値に基づきローカルシステムクロックのタイムスタンプの整数部分を補償する。ローカルクロックとサービスクロックの2種のクロックを同時にカウントさせ、それぞれ2つのクロックドメインに作動されるタイマーを確立し、キー時刻のタイムスタンプ記録信号がそれぞれ2つの時間カウンターから読み取ったタイムスタンプ値によって、且つ比較及び平均することで、タイムスタンプの整数部分の補償を完成する。大幅にタイムスタンプの精度を向上させることができる。元の125M状況の±8nsの偏差と比べて、二重クロックサンプリングとダブルエッジ累加によって、現在の偏差は±3.6nsにあり、向上した精度は55%である。
前記第1時間カウンターと前記第2時間カウンターとはいずれも80ビットのカウンターである。
前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分の演算及び切り上げ操作を完成する第2整ナノ秒カウンター、及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む。
前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである。
前記第1取得モジュールは、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第1時間カウンターから読み取った第1整秒カウンターの第1値及び第1整ナノ秒カウンターの第2値を取得し、前記第1値と前記第2値で前記第1タイムスタンプ値を作成するように設定される第1取得サブモジュールと、
前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第2時間カウンターから読み取った第2整秒カウンターの第3値、第2整ナノ秒カウンターの第4値及び第2ナノ秒分数カウンターの第5値を取得し、前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成するように設定される第2取得サブモジュールと、を含む。
前記第2取得モジュールは、計算サブモジュールを含み、
計算サブモジュールは、前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値を加算して平均値を取って、前記補償タイムスタンプ値を取得する、或いは
それぞれ第1時間カウンターと第2時間カウンターの整秒及び整ナノ秒の部分をそれぞれ加算して和を求め、整秒部分の33ビット値と整ナノ秒部分の33ビット値を取得し、次に、それぞれこの2部分のデータに対してそれぞれビットシフト演算し平均操作を行い、32ビット幅の整秒部分と32ビット幅の整ナノ秒部分を取得し、次にCPUにより整秒部分の上16ビットを設定して、前記補償タイムスタンプ値を取得するように設定される。
該装置の実施例は上記方法の実施例に応じて、上記方法実施例における全ての実現形態はいずれも該装置の実施例に適用し、同じ技術効果を果たすことができる。
以上説明したのは、本発明の好ましい実施形態だけであり、当業者にとって、本発明の前記原理を逸脱しない限り、若干の改善と修飾を行うこともでき、これらの改善と修飾も本発明の保護範囲と見なすべきである。
以上のように、本発明の実施例によるクロックのタイムスタンプ補償方法及び装置は以下の有益効果を有し、大幅にタイムスタンプの精度を向上させることができる。元の125M状況の±8nsの偏差と比べて、二重クロックサンプリングとダブルエッジ累加によって、現在の偏差は±3.6nsにあり、向上した精度は55%である。

Claims (13)

  1. 異なるソースのローカルシステムクロックとサービスクロックを利用してそれぞれ第1時間カウンターと第2時間カウンターを設定し、前記第1時間カウンターは前記ローカルシステムクロックに対応するカウンターであり、前記第2時間カウンターは前記サービスクロックに対応するカウンターであるステップと、
    プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値と前記第2時間カウンターから読み取った第2タイムスタンプ値を取得するステップと、
    前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するステップと、
    前記補償タイムスタンプ値に基づき、前記ローカルシステムクロックのタイムスタンプの整数部分を補償するステップと、を含むクロックのタイムスタンプ補償方法。
  2. 前記第1時間カウンターと前記第2時間カウンターとは、いずれも80ビットのカウンターである請求項1に記載のクロックのタイムスタンプ補償方法。
  3. 前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
    前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分の演算及び切り上げ操作を完成する第2整ナノ秒カウンター、及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む請求項2に記載のクロックのタイムスタンプ補償方法。
  4. 前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
    前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットのカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである請求項3に記載のクロックのタイムスタンプ補償方法。
  5. プリセット時刻のタイムスタンプ記録信号を利用して、第1時間カウンターから読み取った第1タイムスタンプ値を取得するステップは、
    前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第1時間カウンターから読み取った前記第1整秒カウンターの第1値及び前記第1整ナノ秒カウンターの第2値を取得することと、
    前記第1値と前記第2値で前記第1タイムスタンプ値を作成することと、を含む請求項3に記載のクロックのタイムスタンプ補償方法。
  6. プリセット時刻のタイムスタンプ記録信号を利用して、第2時間カウンターから読み取った第2タイムスタンプ値を取得するステップは、
    前記プリセット時刻のタイムスタンプ記録信号に遇った際に、前記第2時間カウンターから読み取った前記第2整秒カウンターの第3値、前記第2整ナノ秒カウンターの第4値及び前記第2ナノ秒分数カウンターの第5値を取得することと、
    前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成することと、を含む請求項5に記載のクロックのタイムスタンプ補償方法。
  7. 前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するステップは、
    前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値を加算して平均値を取って、前記補償タイムスタンプ値を取得すること、或いは
    それぞれ第1時間カウンターと第2時間カウンターの整秒及び整ナノ秒部分をそれぞれ加算して和を求め、整秒部分の33ビット値と整ナノ秒部分の33ビット値を取得し、次に、それぞれこの2部分のデータに対してそれぞれシフト平均操作を行い、32ビット幅の整秒部分と32ビット幅の整ナノ秒部分を取得し、次にCPUにより整秒部分の上16ビットを設定して、前記補償タイムスタンプ値を取得することを含む請求項6に記載のクロックのタイムスタンプ補償方法。
  8. 異なるソースのローカルシステムクロックとサービスクロックを利用して、それぞれ第1時間カウンターと第2時間カウンターを設定するように設定され、前記第1時間カウンターは前記ローカルシステムクロックに対応するカウンターであり、前記第2時間カウンターは前記サービスクロックに対応するカウンターであるタイマーモジュールと、
    プリセット時刻のタイムスタンプ記録信号を利用して、それぞれ前記第1時間カウンターから読み取った第1タイムスタンプ値及び前記第2時間カウンターから読み取った第2タイムスタンプ値を取得するように設定される第1取得モジュールと、
    前記第1タイムスタンプ値と第2タイムスタンプ値に基づき、補償タイムスタンプ値を取得するように設定される第2取得モジュールと、
    前記補償タイムスタンプ値に基づき、前記ローカルシステムクロックのタイムスタンプの整数部分を補償するように設定される補償モジュールと、を含むクロックのタイムスタンプ補償装置。
  9. 前記第1時間カウンターと前記第2時間カウンターとは、いずれも80ビットのカウンターである請求項8に記載のクロックのタイムスタンプ補償装置。
  10. 前記第1時間カウンターは、整秒部分の演算を完成する第1整秒カウンターと整ナノ秒部分の演算及び切り上げ操作を完成する第1整ナノ秒カウンターを含み、
    前記第2時間カウンターは、整秒部分の演算を完成する第2整秒カウンター、整ナノ秒部分の演算及び切り上げ操作を完成する第2整ナノ秒カウンター、及びナノ秒分数部分の演算及び切り上げ操作を完成する第2ナノ秒分数カウンターを含む請求項9に記載のクロックのタイムスタンプ補償装置。
  11. 前記第1整秒カウンターは48ビットのカウンターであり、第1整ナノ秒カウンターは32ビットのカウンターであり、前記48ビットのカウンターの上16ビット値はCPUにより設定され、
    前記第2整秒カウンターは32ビットのカウンターであり、前記第2整ナノ秒カウンターは32ビットカウンターであり、前記第2ナノ秒分数カウンターは16ビットのカウンターである請求項10に記載のクロックのタイムスタンプ補償装置。
  12. 前記第1取得モジュールは、
    前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第1時間カウンターから読み取った第1整秒カウンターの第1値及び第1整ナノ秒カウンターの第2値を取得し、前記第1値と前記第2値で前記第1タイムスタンプ値を作成するように設定される第1取得サブモジュールと、
    前記プリセット時刻のタイムスタンプ記録信号に遇った際に、第2時間カウンターから読み取った第2整秒カウンターの第3値、第2整ナノ秒カウンターの第4値及び第2ナノ秒分数カウンターの第5値を取得し、前記第3値、第4値及び第5値で前記第2タイムスタンプ値を作成するように設定される第2取得サブモジュールと、を含む請求項10に記載のクロックのタイムスタンプ補償装置。
  13. 前記第2取得モジュールは計算サブモジュールを備え、
    前記計算サブモジュールは、前記第1時間カウンターの下64ビット値と前記第2時間カウンターの上64ビット値を加算して平均値を取って、前記補償タイムスタンプ値を取得する、或いは
    それぞれ第1時間カウンターと第2時間カウンターの整秒及び整ナノ秒部分をそれぞれ加算して和を求め、整秒部分の33ビット値と整ナノ秒部分の33ビット値を取得し、次に、それぞれこの2部分のデータに対してそれぞれシフト平均操作を行い、32ビット幅の整秒部分と32ビット幅の整ナノ秒部分を取得し、次にCPUにより整秒部分の上16ビットを設定して、前記補償タイムスタンプ値を取得するように設定される請求項12に記載のクロックのタイムスタンプ補償装置。
JP2016575784A 2014-06-30 2014-10-14 クロックのタイムスタンプ補償方法及び装置 Active JP6379230B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410307725.5A CN105306159A (zh) 2014-06-30 2014-06-30 一种时钟的时间戳补偿方法及装置
CN201410307725.5 2014-06-30
PCT/CN2014/088577 WO2016000352A1 (zh) 2014-06-30 2014-10-14 一种时钟的时间戳补偿方法及装置

Publications (2)

Publication Number Publication Date
JP2017521941A JP2017521941A (ja) 2017-08-03
JP6379230B2 true JP6379230B2 (ja) 2018-08-22

Family

ID=55018370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016575784A Active JP6379230B2 (ja) 2014-06-30 2014-10-14 クロックのタイムスタンプ補償方法及び装置

Country Status (4)

Country Link
EP (1) EP3163787B1 (ja)
JP (1) JP6379230B2 (ja)
CN (1) CN105306159A (ja)
WO (1) WO2016000352A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105717979A (zh) * 2016-01-29 2016-06-29 山东鲁能智能技术有限公司 基于时间戳和计数器的时钟装置及其实现方法
CN107592193A (zh) * 2016-07-08 2018-01-16 成都夸克光电技术有限公司 一种高精度外部串行时钟补偿方法
CN109283864B (zh) * 2017-07-21 2020-05-05 北京智云芯科技有限公司 一种数据采样的时间同步、校准方法和系统
CN108255232A (zh) * 2017-12-06 2018-07-06 中国航空工业集团公司西安航空计算技术研究所 一种ieee1588时码计时器的精度提升方法
JP7030602B2 (ja) * 2018-04-13 2022-03-07 株式会社東芝 同期制御装置および同期制御方法
CN111757391B (zh) * 2019-03-29 2024-04-12 华为技术有限公司 一种通信方法及装置
CN111800212B (zh) * 2020-06-12 2022-04-15 烽火通信科技股份有限公司 一种时间戳抖动补偿方法及装置
CN116671193B (zh) * 2021-01-29 2024-05-17 华为技术有限公司 一种采样方法、采样电路及分布式网络的时钟同步方法
CN114461012B (zh) * 2022-01-19 2024-05-10 许昌许继软件技术有限公司 一种嵌入式系统不同时钟域运行时戳获取方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818603B2 (en) * 2007-03-28 2010-10-19 Microsoft Corporation Deriving accurate media position information
WO2010017194A1 (en) * 2008-08-04 2010-02-11 Endace USA Limited Method and system for distributing clock signals
US8700805B2 (en) * 2008-09-02 2014-04-15 Unify Gmbh & Co. Kg Method for synchronizing clocks in a communication network
FR2948515A1 (fr) * 2009-07-24 2011-01-28 Alcatel Lucent Procede et systeme de synchronisation de haute precision
CN102104475B (zh) * 2011-01-31 2013-07-03 上海交通大学 基于ieee1588的同步系统及其同步方法
JP6034364B2 (ja) * 2011-04-05 2016-11-30 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 向上された時間精度を有する時間−デジタル変換を用いる検出器アレイ
CN102231907B (zh) * 2011-06-27 2017-03-22 中兴通讯股份有限公司 传输系统中的时钟同步方法和装置
CN103763055B (zh) * 2013-10-18 2016-05-18 杭州联汇数字科技有限公司 一种精确同步时间的方法

Also Published As

Publication number Publication date
EP3163787A1 (en) 2017-05-03
EP3163787B1 (en) 2020-06-17
EP3163787A4 (en) 2017-08-02
CN105306159A (zh) 2016-02-03
JP2017521941A (ja) 2017-08-03
WO2016000352A1 (zh) 2016-01-07

Similar Documents

Publication Publication Date Title
JP6379230B2 (ja) クロックのタイムスタンプ補償方法及び装置
JP5636093B2 (ja) デバイス間におけるクロック同期の実行方法及び装置
EP2740228B1 (en) Method and system for frequency synchronization
CN106603183B (zh) 一种时间戳过滤方法及装置
US10216220B1 (en) Accurate time capture and transfer between clock domains
CN104836630B (zh) Ieee1588时钟同步系统及其实现方法
CN110520815A (zh) 加精确时间戳的方法和系统
WO2012075881A1 (zh) 基于ieee1588多从钟的采样值多接口同步系统
CN111106894B (zh) 一种时间同步方法和系统
KR20120036314A (ko) 클럭 검출 방법 및 그 장치
WO2012088931A1 (zh) 时间同步的监测方法和装置
US20160065358A1 (en) Synchronization method, intermediate node, and slave node of communication network system
Volgyesi et al. Time synchronization services for low-cost fog computing applications
JP5972450B2 (ja) 信号処理装置
CN115801175A (zh) 时间频率同步方法、系统、存储介质及电子设备
Karthik et al. Recent advances in clock synchronization for packet-switched networks
CN113055113A (zh) 时钟时间同步方法、装置、设备和存储介质
WO2020154199A1 (en) Systems and methods for testing time distribution
Castello et al. Hardware for PMU and PMU Integration
TW201729628A (zh) 頻率校正裝置及方法
CN101867431A (zh) 一种网络时钟同步方法
Chin et al. IEEE 1588 clock synchronization using dual slave clocks in a slave
CN116566529A (zh) 一种时间调整方法、网络设备及系统
Malpani et al. High precision frequency estimation using internet-based phasor measurement unit
CN105572554A (zh) 无线传感网在线绝缘检测频率自适应测量方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180730

R150 Certificate of patent or registration of utility model

Ref document number: 6379230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250