TW202017319A - 時鐘同步裝置及時鐘同步方法 - Google Patents

時鐘同步裝置及時鐘同步方法 Download PDF

Info

Publication number
TW202017319A
TW202017319A TW107137406A TW107137406A TW202017319A TW 202017319 A TW202017319 A TW 202017319A TW 107137406 A TW107137406 A TW 107137406A TW 107137406 A TW107137406 A TW 107137406A TW 202017319 A TW202017319 A TW 202017319A
Authority
TW
Taiwan
Prior art keywords
value
time
packet
clock synchronization
quotient
Prior art date
Application number
TW107137406A
Other languages
English (en)
Other versions
TWI780243B (zh
Inventor
戴邦鈞
李豫勇
Original Assignee
智邦科技股份有限公司
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 智邦科技股份有限公司 filed Critical 智邦科技股份有限公司
Priority to TW107137406A priority Critical patent/TWI780243B/zh
Priority to US16/655,261 priority patent/US11177896B2/en
Publication of TW202017319A publication Critical patent/TW202017319A/zh
Application granted granted Critical
Publication of TWI780243B publication Critical patent/TWI780243B/zh

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/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)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

一種時鐘同步裝置,可與裝置進行時鐘同步流程。裝置提供第一及第二時間值。時鐘同步裝置包含封包處理電路、時間計數電路以及處理器。封包處理電路包含時間戳章計數器,具有N位元值,提供第一、第二及第三時間計數值。處理器依據第一、第二時間值及第一、第二時間計數值以計算第一偏移值;依據第一偏移值及時間計數電路的頻率之倒數以計算第一調整值;依據第一調整值及N位元值以計算第二商數值及第二餘數值;依據N位元值、第二商數值以及第三時間計數值執行計算第二同步封包的接收時間。

Description

時鐘同步裝置及時鐘同步方法
本案是有關於一種時鐘同步裝置及時鐘同步方法,且特別是有關於取得當日時刻的時鐘同步裝置及時鐘同步方法。
依據IEEE1588的精確時間協議,透過主裝置(Master)的同步封包(Sync Message)傳送時間T1、從裝置(Slave)的同步封包接收時間T2、從裝置的延遲要求信號封包(Delay request Message)傳送時間T3以及主裝置的延遲要求信號封包接收時間T4的4個時間資訊中計算取得時間偏移值,從裝置再據以同步時間。一般負責封包轉傳的晶片可透過時間戳章計數器(Timestamp counter)提供封包接收或傳送時的時間。
不過有些晶片僅提供有限位元數的時間戳章計數器,提供接收封包當時的計數值,受限於位元數,時間戳章計數器僅能提供一段時間區間的時間計數值,而非提供當時的時刻(Time of Day,TOD)。例如,晶片中係搭載 32位元的時間戳章計數器,在計數單位為奈秒(nano second,ns)時,代表該時間戳章計數器是在約0~4.29秒之間循環計數,因此晶片僅能在接收/傳送封包時以時間戳章計數器當下的計數值(即0~4.29秒其中一值)作為接收/傳送封包的時間,無法得到接收/傳送當時的時刻(TOD)。據此,在上述狀況下,需要一種能得到當時時刻的方法,後續才能與主裝置進行準確的同步。
本案之一態樣是在提供一種時鐘同步裝置,可與裝置進行時鐘同步流程,裝置係可發出第一同步封包及對應第一延遲要求信號封包發出第一延遲回應信號封包,並透過第一同步封包或第一追蹤封包提供第一時間值以及透過第一延遲回應信號封包提供第二時間值。時鐘同步裝置包含封包處理電路、時間計數電路以及處理器。封包處理電路包含時間戳章計數器,具有N位元值,用以接收第一同步封包及第一延遲回應信號封包,以及依據接收第一同步封包及傳送第一延遲要求信號封包時,由時間戳章計數器提供第一時間計數值及第二時間計數值,並且於再次接收第一同步封包時由時間戳章計數器提供第三時間計數值。時間計數電路耦接於封包處理電路,並依據頻率進行時間計數。處理器用以依據第一時間值、第二時間值、第一時間計數值及第二時間計數值以計算第一偏移值;依據第一偏移值及頻率之倒數以計算第一調整值;依據第一調 整值及N位元值以計算第二商數值及第二餘數值;以及依據N位元值、第二商數值以及第三時間計數值執行計算第二同步封包的接收時間。
本案之另一態樣是在提供一種時鐘同步方法,係可應用於時鐘同步裝置。時鐘同步裝置透過與裝置進行時鐘同步流程,時鐘同步裝置更包括具N位元的時間戳章計數器以及依據頻率進行時間計數的當日時間計數器,時鐘同步方法包含以下步驟:由裝置發出的封包中取得第一時間值及第二時間值,其中封包包括第一封包、第二封包或第四封包;依據接收第一封包及傳送第二封包的時間,分別取得第一時間計數值及第二時間計數值;依據第一時間值、第二時間值、第一時間計數值及第二時間計數值以計算第一偏移值;依據第一偏移值及頻率倒數以計算第一調整值;依據第一調整值及N位元值以計算第二商數值以及第二餘數值;由接收第五封包時取得一第三時間計數值;以及依據N位元值、第二商數值以及第三時間計數值以計算第五封包的接收時間。
因此,根據本案之技術態樣,本案之實施例藉由提供一種時鐘同步裝置及時鐘同步方法,藉以在晶片僅能提供傳送或接收時的有限計數值的狀態下,依舊得以計算出傳送或接收時的時刻(Time of Day),並且進一步的將時刻進行更準確的同步。
900‧‧‧裝置
100‧‧‧時鐘同步裝置
110‧‧‧封包處理電路
130‧‧‧處理器
150‧‧‧時間計數電路
170‧‧‧鎖相迴路電路
112‧‧‧時間戳章計數器
114‧‧‧同步電路
116‧‧‧通訊元件
152‧‧‧當日時間計數器
154A‧‧‧第一暫存器電路
154B‧‧‧第二暫存器電路
200‧‧‧時鐘同步方法
S210至S300‧‧‧步驟
P1‧‧‧第一同步封包
P2‧‧‧第一延遲要求信號封包
P3‧‧‧第一延遲回應信號封包
P4‧‧‧追蹤封包
P5‧‧‧第二同步封包
P6‧‧‧第二延遲要求信號封包
P7‧‧‧第二延遲回應信號封包
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖係根據本案之一些實施例所繪示之一種時鐘同步裝置的示意圖;以及第2圖係根據本案之一些實施例所繪示之一種時鐘同步方法的流程圖。
以下揭示實施例用以實施本發明的不同特徵。特殊例證中的元件及配置在以下討論中被用來簡化本揭示。所討論的任何例證只用來作解說的用途,並不會以任何方式限制本發明或其例證之範圍和意義。此外,本揭示在不同例證中可能重複引用數字符號且/或字母,這些重複皆為了簡化及闡述,其本身並未指定以下討論中不同實施例且/或配置之間的關係。
請參閱第1圖,係繪示本發明實施例之一種時鐘同步裝置100的示意圖。於本實施例中,時鐘同步裝置100係為從裝置,裝置900係為主裝置,從裝置於一時間區間中與主裝置進行時鐘同步流程。於時鐘同步流程中,裝置900係發出第一封包取得第一時間值T1及對應第二封包接收時取得第二時間值T4,並且對應第二封包發出第三封包以提供第二時間值T4。而第一時間值T1除了透過第一封包提供之外,亦可改由第四封包提供,提供方式將於後說明。而時鐘同步裝置100則由該第一封包中取得第一時間值T1, 於收到第一封包時取得第一時間計數值T2,透過發出第二封包取得第二時間計數值T3,以及由該第三封包中取得第二時間值T4。於本實施例中,係以IEEE1588精確時間協定為例,依據IEEE1588的精確時間協定進行時間同步流程,因此第一封包為第一同步封包P1(Sync Message),第二封包為第一延遲要求信號封包P2(Delay Request Message),第三封包為第一延遲回應信號封包P3(Delay Response Message),第四封包為追蹤封包P4(Follow Up Message),第五封包為第二同步封包P5,第六封包為第二延遲要求信號封包P6,第七封包為第二延遲回應信號封包P7。裝置900具有時鐘元件,而能提供時刻(Time of Day),於本實施例中,裝置900係提供原始時鐘(Ordinary Clock)或邊界時鐘(Boundary Clock)。於該時間區間中,裝置900透過同步封包提供同步封包P1的發送時間T1以及將收到延遲要求信號封包的接收時間T4提供於延遲回應信號封包P3中。於本實施例中,為區別不同時間發出的封包,將同步封包區別為第一、第二同步封包P1、P5,延遲要求信號封包區別為第一、第二延遲要求信號封包P2、P6,以及延遲回應信號封包區別為第一、第二延遲回應信號封包P3、P7。於其他實施例中,裝置900亦可透過追蹤封包(Follow Up Message)提供發送同步封包P1的發送時間T1。時鐘同步裝置100可以是從裝置,亦可以是具有從裝置角色及主裝置角色的時鐘同步裝置。時鐘同步裝置100可以是網路通訊裝置,例如是網路交換器、路由器等。
時鐘同步裝置100包含封包處理電路110、處理器130、時間計數電路150以及鎖相迴路電路170。於本實施例中,封包處理電路110包含時間戳章計數器112、同步電路114與通訊元件116。而時間計數電路150包含當日時間計數器152、第一、第二暫存器電路154A和154B。
通訊元件116用於接收及傳送封包。於本實施例中,時間同步裝置100係透過通訊元件116負責發送或接收封包,通訊元件116可以是輸入/輸出埠或負責封包輸入、輸出的整合電路。於本發明實施例中,通訊元件116係接收第一、第五同步封包P1、P5及延遲要求回應信號封包P3,以及傳送第一、第二延遲要求信號封包P2、P6。
時間戳章計數器112係為具有N位元的計數器,用於提供一循環時間內的時間計數值。於本實施例中,N位元係以32位元為例,時間計數值之單位為奈秒(nano second,ns),時間戳章計數器112計數(2^32)次後會重新計數,例如由計數值0計數至(2^32)-1時,再重新由0開始計數。於本實施例中,時間戳章計數器112僅能在約0~4.29秒中循環計數,亦即僅能提供0~4.29秒之中的時間計數值。換句話說,當封包處理電路110接收到同步封包P1後,時間戳章計數器112提供的接收時間T2係為0~4.29秒中的時間計數值。以及,當封包處理電路110傳送第一延遲要求信號封包P2時,時間戳章計數器112提供的發送時間T3也是0~4.29秒中的時間計數值。同步電路114用以供時間戳章計數器112與時間計數電路150的同步。舉例來說,時間 計數電路150可透過設定數值至同步電路114以對時間戳章計數器112進行計數同步,使時間計數電路150與時間戳章計數器112在時間計數上可以同步。
處理器130透過封包處理電路110可取得同步封包P1的發送時間T1、接收同步封包P1的時間計數值、發送延遲要求信號封包P2的時間計數值以及延遲要求信號封包P2的接收時間T4。需說明的是,接收同步封包P1的接收時間T2與傳送延遲要求信號封包P2的傳送時間T3需對時間計數值計算後才能取得T2與T3的當日時刻(Time of Day),而有關處理器130計算當日時刻以及執行本發明實施例之時鐘同步流程,請一併參閱如後對時鐘同步流程中的詳細說明。於此補充說明,本實施例之當日時刻係為可對應一日中的某一時刻,或者包含某日期的某一時刻,且當日時刻可為對應當日時刻的數值。
時間計數電路150依據一頻率進行時間計數。於本發明實施例中,時間計數電路150係依據鎖相迴路電路170提供的時鐘脈波進行時間計數,而鎖相迴路電路170係以該頻率輸出時鐘脈波。需說明的是,鎖相迴路電路170亦可以是內建於時間計數電路150中,具體實施上可以是廣域網路鎖相迴路電路(WAN PLL)。於本實施例中,時間計數電路150更包含當日時間計數器152,第一暫存器電路154A以及第二暫存器電路154B。其中,當日時間計數器152根據上述頻率進行時間計數;第一暫存器電路154A提供計時起始值,當日時間計數器152由提供之計時起始值開始計 數;以及第二暫存器電路154B提供計時累加值,當日時間計數器152由提供之計時累加值與當下時間計數值相加後的值開始計數。具體而言,當時間計數電路150運作時,若當日時間計數器152以頻率4KHz進行時間計數,即以頻率倒數為周期進行計數,本例中即以每隔250微秒(us)計數,連續累進時間計數值。當日時間計數器152則依據第一暫存器電路154A提供之計時起始值,由該計時起始值為起始值,開始累進時間計數值,或由第二暫存器電路154B提供之計時累加值,依據當日時間計數器當下時間計數值與計時累加值加總後的值為起始值,開始累進時間計數值。需說明的是,雖時間計數電路150具有提供時刻的能力,但是在某些情況下,例如斷電後啟動或與主裝置900通訊中斷等原因,時間計數電路150的時間計數值與正確時間有較大的偏移,而需先設定計時起始值。由此,處理器130將依據偏移值及頻率倒數以計算第一調整值,再將第一調整值設為當日時間計數器152的計時起始值,由計時起始值開始進行時間計數。於本實施例中,處理器130係可將第一調整值設定至第一暫存器電路154A或第二暫存器154B,以設定當日時間計數器152的計時起始值,或者依據偏移值是否超過預設值決定將第一調整值設定至第一暫存器電路154A或第二暫存器電路154B,例如於偏移值大於預設值時,將第一調整值設定至第一暫存器電路154A,若偏移值小於預設值時,將第一調整值設定至第二暫存器電路154B。另外,於其他實施例中,處理器130更將依據時間計數值T2、偏移 值、以及頻率倒數以計算第一調整值。有關第一調整值之計算流程,將於後說明。另外補充說明的是,於本實施例中之時刻、時間計數值可以是一N位元的二位元字串,該字串可經轉換為某一時刻或某一日之某一時刻。
請參閱第2圖,係根據本發明實施例所繪示之時鐘同步方法的流程圖,包含步驟S210至S300。請同時參閱第1圖,以說明時鐘同步裝置100實施時鐘同步方法的具體流程。
於步驟S210中,由裝置900發出的封包中取得第一時間值及第二時間值。於本發明實施例中,裝置900傳送第一同步封包P1,而該第一同步封包P1被裝置900傳送時的時間係為第一時間值,被時鐘同步裝置100接收時的時間定義為第一時間計數值。而第一延遲要求信號封包P2於時鐘同步裝置100被傳送時的時間定義為第二時間計數值,而被裝置900接收時的時間定義為第二時間值。需說明的是,在某些實施例中,第一時間值亦可透過追蹤封包P4取得,而第二時間值則透過第一延遲回應訊息封包P3取得。第一時間值及第二時間值於本實施例中即可視為IEEE1588精確時間協議的同步封包傳送時間T1及延遲回應封包接收時間T4。
於步驟S220中,依據接收第一同步封包及傳送第一延遲要求信號封包的時間,取得第一時間計數值及第二時間計數值。具體來說,當封包處理電路110接收第一同步封包P1或發送第一延遲要求信號封包P2時,通訊元件 116負責接收及傳送封包的執行,並且於接收或傳送時,由時間戳章計數器112提供接收時的第一時間計數值及傳送時的第二時間計數值。第一時間計數值及第二時間計數值於本實施例中可視為IEEE1588精確時間協議的同步封包接收時間T3及延遲要求信號封包傳送時間T4。
於步驟S230中,依據該第一時間值、該第二時間值、該第一時間計數值及該第二時間計數值以計算一第一偏移值。具體來說,依據IEEE1588精確時間協議計算偏移值的方式,處理器130係將第一時間值、第二時間值、第一時間計數值以及第二時間計數值分別對應T1,T2,T3以及T4進行計算以取得第一偏移值OFFSET1,唯,於本發明實施例中之第一時間計數值及第二時間計數值為2^N次方(奈秒)中的一值,於N位元為32時,即約為0~4.29秒中的一值。
於步驟S240中,依據第一偏移值及頻率倒數以計算第一調整值。於本步驟中,處理器130將第一偏移值OFFSET1與當日時間計數器152的頻率倒數相除之後可得到第一商數值Q1及第一餘數值R1,為利了解,將各參數關係以如下等式表示:第一偏移值OFFSET1=頻率倒數×第一商數值Q1+第一餘數值R1。
接著,處理器130計算頻率倒數與第一商數值Q1的乘積(頻率倒數×第一商數值Q1)以計算出第一調整值。於另一實施例中,處理器130係將第一時間計數值與第 一偏移值OFFSET1相加,再將相加的值與當日時間計數器152的頻率倒數相除之後可得到第一商數值Q1及第一餘數值R1,接著,處理器130依據前述方式計算出第一調整值。於本步驟中,可更包括步驟S2401,依據第一調整值設定時間計數電路的計時起始值。於本步驟中,係將以第一調整值做為時間計數電路150的計時起始值,以使時間計數電路150由相對正確的時刻開始時間計數。於本實施例中,處理器130係將第一調整值儲存於第一暫存器電路154A,當日時間計數器152將依據第一暫存器電路154A儲存的值設為計時起始值,由計時起始值開始計數。或者,處理器130可將對應第一調整值的計時累加值儲存於第二暫存器電路154B,這邊補充說明的是,本發明所屬技術領域的通常知識者可知,可利用各種計算方式計算對應第一調整值的計時累加值,例如以當日時間計數器152的當時計數值與第一調整值相減的計算方式,將得到的差值做為計時累加值,使得當日時間計數器152的當時計數值與計時累加值相加之後的值等於第一調整值。也就是說,當日時間計數器152的當時計數值以各種方式與計時累加值運算而能得到第一調整值的方式皆可做為計時累加值的計算方式。於另一實施例中,處理器130決定將第一調整值儲存於第一暫存器電路154A或第二暫存器電路154B係依據第一偏移值大小決定,舉例來說,第一偏移值大於一預設值時,處理器130係將第一調整值儲存於第一暫存器電路154A;若第二偏移值小於該預設值時,處理器130係將第一調整值儲存於第二暫 存器電路154B。
於步驟S250中,依據該第一調整值以及該N位元值以計算一第二商數值以及一第二餘數值。為利說明,請先參考如下等式:第一調整值(頻率倒數×第一商數值Q1)=第二商數值Q2×2的N次方值+第二餘數值R2
依據上面等式,於本實施例中,處理器130係將第一調整值與對應時間戳章計數器112的位元值N為指數且以2為底的值(即2的N次方值)相除後得到第二商數值Q2及第二餘數值R2。
於步驟S260中,依據取得第二同步封包P5時的第三時間計數值以及第二餘數值R2判斷是否調整該第二商數值Q2。於本實施例中,處理器130於下次時間區間中收到第二同步封包P5時,處理器130由時間戳章計數器112提供的時間計數值取得第三時間計數值。此外,第三時間計數值更與第二餘數值R2進行比較,以判斷是否調整第二商數值Q2。於本實施例中,若判定第三時間計數值小於第二餘數值R2時,處理器130將第二商數值Q2加1;反之,則不調整該第二商數值Q2。為利了解,以如下等式表示:時間計數值>R2則第二商數值Q2=第二商數值Q2;時間計數值<R2則第二商數值Q2=第二商數值Q2+1
於步驟S270中,依據第二延遲要求信號封包P5的傳送時間取得第四時間計數值以及依據第二延遲要求信號封包P5的接收時間取得第四時間值,並依據N位元 值、第二商數值Q2以及第三時間計數值以計算第二同步封包P5的接收時間。具體來說,計算第二同步封包的接收時間T2可以如下等式表示:接收時間T2=時間戳章計數器的時間計數值+第二商數值Q2×(2的N次方)
於本實施例中,當封包處理電路110接收第二同步封包P5時,處理器130由時間戳章計數器112取得時間計數值,接著,如上等式所示,由第二商數值Q2與2的N次方值的乘積與時間計數值相加後得到的值即取得第二同步封包P5的接收時間T2。
於步驟S280中,由傳送第二延遲要求信號封包P6時取得第四時間計數值,並依據該位元值N、該第二商數值Q2以及該第四時間計數值以計算該第二延遲要求信號封包P6的傳送時間T3。具體來說,計算第二延遲要求信號封包P6的傳送時間T3可以如下等式表示:傳送時間T3=時間戳章計數器的時間計數值+第二商數值Q2×(2的N次方)
於本實施例中,當封包處理電路110傳送第二延遲要求信號封包P6至裝置900時,處理器130由時間戳章計數器112取得傳送時的時間計數值,接著,如上等式所示,由第二商數值Q2與2的N次方值的乘積與時間計數值相加後得到的值即取得第二延遲要求信號封包P6的傳送時間T3。另外,裝置900於接收第二延遲要求信號封包P6時取得第四時間值,並透過第二延遲回應信號封包P7提供第四 時間值。
至此,在時間戳章計數器112因有限位元數的限制而無法提供當日時間的狀況下,例如封包處理電路因各種原因僅搭載有限位元數的時間戳章計數器時,透過本發明實施例的上述步驟後,即可計算同步封包的接收時間T2及延遲要求信號封包的傳送時間T3,於後續同步流程中提供當日時間以準確地進行時間同步。
另外,於本發明實施例中,時鐘同步裝置100可繼續進行步驟S290,以持續縮小與裝置900的同步時間誤差。
於步驟S290中,依據第三時間值、第四時間值、第三時間計數值及該第四時間計數值的計算取得第二偏移值,更依據第二偏移值、頻率倒數計算第三商數值Q3及第三餘數值R3,再依據當日時間計數器152的時間計數值及第二調整值設為當日時間計數器的計時起始值。於本實施例中,第二偏移值與第一偏移值的計算方式相同,只是第三時間計數值係為步驟S270中計算取得的第二同步封包P5的接收時間T2,而第四時間計數值係為步驟S290中計算取得的第二延遲要求信號封包P6的傳送時間T3,據此計算取得第二偏移值。接著,為利說明,可將第二偏移值化為如下等式:|第二偏移值|=頻率倒數×第三商數值Q3+第三餘數值R3
依據上述等式,於本發明實施例中,處理器130 係將第二偏移值的絕對值與頻率倒數相除後得到第三商數值Q3及第三餘數值R3。其後,處理器130將頻率倒數與第三商數值Q3相乘後得到的乘積即取得第二調整值,並依據第二調整值與當日時間計數器152的時間計數值相加後的值做為為當日時間計數器152的計時啟始值,由計時啟始值重新開始計時。於本實施例中,處理器130係透過儲存第二調整值於第二暫存器電路154B,以設定當日時間計數器152的計時啟始值,與第一暫存器電路154A不同的是,當日時間計數器152將第二暫存器電路154B的值與當時的時間計數值相加後,由相加後的值開始時間計數。於本步驟後,可使時間計數電路150的當日時間計數器152與裝置900的時鐘同步誤差縮小至頻率倒數值以內,以頻率4KHz為例,即可將同步誤差縮小至250微秒(us)以內。若欲持續縮小與裝置900的時間同步誤差,可再進行步驟S300。
於步驟S300中,依據第三餘數值調整時鐘脈波的輸出相位。於本實施例中,當日時間計數器152是依據鎖相迴路電路170在該頻率下輸出的時鐘脈波進行時間計數,於本步驟中,處理器130依據第三餘數值R3設定鎖相迴路電路170的輸出相位,以調整時鐘脈波的輸出時間,進而延遲或加快當日時間計數器152的時間計數周期。舉例來說,若第三餘數值R3值為10,處理器130依此設定鎖相迴路電路170後,鎖相迴路電路170會提早10奈秒輸出相位。因此,於本實施例中,鎖相迴路電路170於頻率4KHz的時鐘脈波輸出時,其輸出相位經調整後能讓時間計數電路150 的當日時間計數器152與裝置900的時鐘同步誤差約小於1微秒(us)之內。
透過本發明實施例之時鐘同步裝置及時鐘同步方法,可以在時間戳章計數器的位元數受限的狀態下仍能獲得傳送或接收時的時刻(Time of Day),並且進一步的進行更準確的時間同步,縮小時鐘同步誤差。
在一些實施例中,處理器130、封包處理電路110以及時間計數電路150可以是具有儲存、運算、資料讀取、接收信號或資訊、傳送信號或資訊等功能的電路或其他具有同等功能的整合電路或模組,包含中央處理器(CPU)、晶片或場效可程式化閘極陣列(FPGA)等。
雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。
900‧‧‧裝置
100‧‧‧時鐘同步裝置
110‧‧‧封包處理電路
130‧‧‧處理器
150‧‧‧時間計數電路
170‧‧‧鎖相迴路電路
112‧‧‧時間戳章計數器
114‧‧‧同步電路
116‧‧‧通訊元件
152‧‧‧當日時間計數器
154A‧‧‧第一暫存器電路
154B‧‧‧第二暫存器電路
P1‧‧‧第一同步封包
P2‧‧‧第一延遲要求信號封包
P3‧‧‧第一延遲回應信號封包
P4‧‧‧追蹤封包
P5‧‧‧第二同步封包
P6‧‧‧第二延遲要求信號封包
P7‧‧‧第二延遲回應信號封包

Claims (20)

  1. 一種時鐘同步裝置,可與一裝置進行時鐘同步流程,該裝置係可發出一第一同步封包及對應一第一延遲要求信號封包發出一第一延遲回應信號封包,並透過該第一同步封包或一第一追蹤封包提供一第一時間值以及透過該第一延遲回應信號封包提供一第二時間值,該時鐘同步裝置包含:一封包處理電路,包含一時間戳章計數器,具有一N位元值,用以接收該第一同步封包及該第一延遲回應信號封包,以及依據接收該第一同步封包及傳送該第一延遲要求信號封包時,由該時間戳章計數器提供一第一時間計數值及一第二時間計數值,並且於再次接收該第一同步封包時由該時間戳章計數器提供一第三時間計數值;一時間計數電路,耦接於該封包處理電路,並依據一頻率進行時間計數;以及一處理器,用以依據該第一時間值、該第二時間值、該第一時間計數值及該第二時間計數值以計算一第一偏移值;依據該第一偏移值及該頻率之倒數以計算一第一調整值;依據該第一調整值及該N位元值以計算一第二商數值及一第二餘數值;以及依據該N位元值、該第二商數值以及該第三時間計數值執行計算該第二同步封包的一接收時間。
  2. 如請求項第1項所述之時鐘同步裝置,其中該處理器更用以依據該第一偏移值及該頻率倒數以計算一 第一商數值及一第一餘數;以及將該頻率倒數與該第一商數值相乘後取得該第一調整值。
  3. 如請求項第2項所述之時鐘同步裝置,其中該處理器更用以依據該第一調整值設定該時間計數電路的計時起始值或計時累加值。
  4. 如請求項第3項所述之時鐘同步裝置,其中該處理器更用以判定該第三時間計數值小於該第二餘數值時,決定調整該第二商數值。
  5. 如請求項第1項所述之時鐘同步裝置,其中該處理器更用以依據該第一時間計數值、該第一偏移值及該頻率倒數以計算一第一商數值及一第一餘數;以及將該頻率倒數與該第一商數值相乘後取得該第一調整值。
  6. 如請求項第1項所述之時鐘同步裝置,其中該封包處理電路更用以傳送一第二延遲要求信號封包,並由該時間戳章計數器提供一第四時間計數值以及該處理器依據該N位元值、該第二商數值以及該第四時間計數值以執行計算該第二延遲要求信號封包的一傳送時間。
  7. 如請求項第6項所述之時鐘同步裝置,其中該封包處理電路更用於接收一第二同步封包及一第二延遲 回應信號封包,該處理器依據一第三時間值、一第四時間值、該第三時間計數值及該第四時間計數值以計算一第二偏移值、依據該第二偏移值及該頻率倒數以計算一第三商數值及一第三餘數值、依據該第三商數值及該頻率倒數以計算一第二調整值、以及對應該第二調整值設為時間計數電路的計時起始值。
  8. 如請求項第7項所述之時鐘同步裝置,其中該處理器更將該頻率倒數以及該第三商數值相乘,以取得該第二調整值。
  9. 如請求項第7項所述之時鐘同步裝置,更包含:一鎖相迴路電路,對應該頻率輸出訊號;該處理器更依據該第三餘數值調整該輸出訊號的相位。
  10. 如請求項第7項所述之時鐘同步裝置,其中該時間計數電路更包含:一第一暫存器電路,用以儲存該第一調整值;以及一第二暫存器電路,用以儲存該第二調整值。
  11. 一種時鐘同步方法,係可應用於一時鐘同步裝置,該時鐘同步裝置係透過與一裝置進行時鐘同步流 程,該時鐘同步裝置更包括具N位元的一時間戳章計數器以及依據一頻率進行時間計數的當日時間計數器,該時鐘同步方法包含以下步驟:由該裝置發出的封包中取得一第一時間值及一第二時間值,其中該封包包括一第一封包、一第二封包或一第四封包;依據接收該第一封包及傳送該第二封包的時間,分別取得一第一時間計數值及一第二時間計數值;依據該第一時間值、該第二時間值、該第一時間計數值及該第二時間計數值以計算一第一偏移值;依據該第一偏移值及該頻率倒數以計算一第一調整值;依據該第一調整值及該N位元值以計算一第二商數值以及一第二餘數值;由接收一第五封包時取得一第三時間計數值;以及依據該N位元值、該第二商數值以及該第三時間計數值以計算該第五封包的一接收時間。
  12. 如請求項第11項所述之時鐘同步方法,其中計算該第一調整值包含:依據該第一偏移值以及該頻率倒數以計算一第一商數值及一第一餘數;以及依據該頻率倒數與該第一商數值的乘積取得該第一調整值。
  13. 如請求項第12項所述之時鐘同步方法,更包含:依據該第一調整值做為一計時起始值或一計時累加值。
  14. 如請求項第12項所述之時鐘同步方法,更包含:當該第三時間計數值小於該第一餘數值時,調整該第二商數值。
  15. 如請求項第11項所述之時鐘同步方法,其中依據該第一偏移值及該頻率倒數以計算該第一調整值更包含:依據時間計數值、該第一偏移值及該頻率倒數以計算該第一調整值。
  16. 如請求項第11項所述之時鐘同步方法,更包含:依據該位元值N、該第二商數值以及一第四時間計數值以計算一第六封包的一傳送時間;其中,該第四時間計數值係為傳送該第六封包時取得的時間計數值。
  17. 如請求項第16項所述之時鐘同步方法,更包含:依據該第五同步封包傳送時的一第三時間值、該第六封包接收時的一第四時間值、該接收時間、該傳送時間以計算一第二偏移值;依據該第二偏移值以及該頻率倒數以計算一第三商數值及一第三餘數值;依據該第三商數值及該頻率倒數以計算一第二調整值;以及對應該第二調整值設為計時起始值。
  18. 如請求項第17項所述之時鐘同步方法,其中該處理器於計算該第二調整值時係將該頻率倒數及該第三商數值相乘。
  19. 如請求項第17項所述之時鐘同步方法,其中,對應該第二調整值設為計時起始值係為依據目前計數值與第二調整值設為計時起始值。
  20. 如請求項第17項所述之時鐘同步方法,更包含:依據該第三餘數值以調整對應該頻率輸出的輸出相位。
TW107137406A 2018-10-23 2018-10-23 時鐘同步裝置及時鐘同步方法 TWI780243B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107137406A TWI780243B (zh) 2018-10-23 2018-10-23 時鐘同步裝置及時鐘同步方法
US16/655,261 US11177896B2 (en) 2018-10-23 2019-10-17 Time synchronization device and time synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107137406A TWI780243B (zh) 2018-10-23 2018-10-23 時鐘同步裝置及時鐘同步方法

Publications (2)

Publication Number Publication Date
TW202017319A true TW202017319A (zh) 2020-05-01
TWI780243B TWI780243B (zh) 2022-10-11

Family

ID=70279001

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107137406A TWI780243B (zh) 2018-10-23 2018-10-23 時鐘同步裝置及時鐘同步方法

Country Status (2)

Country Link
US (1) US11177896B2 (zh)
TW (1) TWI780243B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI762384B (zh) * 2020-07-23 2022-04-21 慧榮科技股份有限公司 用於在記憶裝置中進行系統上鎖相環管理的方法以及設備

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496234B2 (en) 2018-06-11 2022-11-08 Skyworks Solutions, Inc. Synchronizing update of time of day counters using time stamp exchange over a control plane
US11526193B2 (en) 2019-03-07 2022-12-13 Skyworks Solutions, Inc. Maintaining the correct time when counter values are transferred between clock domains
US11061432B2 (en) 2019-11-25 2021-07-13 Silicon Laboratories Inc. Data handoff between two clock domains sharing a fundamental beat
US11088819B1 (en) * 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay
US11088816B1 (en) 2020-03-31 2021-08-10 Silicon Laboratories Inc. Secondary phase compensation assist for PLL IO delay aligning sync signal to system clock signal
US11290250B2 (en) * 2020-04-15 2022-03-29 Skyworks Solutions, Inc. Phase transport with frequency translation without a PLL
CN113839730A (zh) * 2020-06-24 2021-12-24 中兴通讯股份有限公司 时间同步方法、网络设备及存储介质
TW202209837A (zh) * 2020-08-19 2022-03-01 智邦科技股份有限公司 網路裝置
US11502764B2 (en) 2020-12-28 2022-11-15 Skyworks Solutions, Inc. FSYNC mismatch tracking
CN113359948A (zh) * 2021-05-27 2021-09-07 山东中瑞电气有限公司 时间同步装置及同步方法
US11502812B1 (en) 2021-07-14 2022-11-15 Skyworks Solutions, Inc. Data protocol over clock line
US20230065686A1 (en) * 2021-08-25 2023-03-02 Siemens Canada Limited System and method for configuring multiple ptp ports of a network device
US12021960B2 (en) 2021-09-30 2024-06-25 Skyworks Solutions, Inc. Maintaining a virtual time of day

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050084032A1 (en) * 2003-08-04 2005-04-21 Lowell Rosen Wideband holographic communications apparatus and methods
US20050084033A1 (en) * 2003-08-04 2005-04-21 Lowell Rosen Scalable transform wideband holographic communications apparatus and methods
US20050100076A1 (en) * 2003-08-04 2005-05-12 Gazdzinski Robert F. Adaptive holographic wideband communications apparatus and methods
US20110035511A1 (en) * 2009-08-07 2011-02-10 Cisco Technology, Inc. Remote Hardware Timestamp-Based Clock Synchronization
US8718482B1 (en) * 2009-11-10 2014-05-06 Calix, Inc. Transparent clock for precision timing distribution
US8582606B2 (en) * 2010-05-24 2013-11-12 Cortina Systems, Inc. Network system with synchronization and method of operation thereof
JP5811794B2 (ja) * 2011-11-16 2015-11-11 富士通株式会社 通信装置
JP6036179B2 (ja) * 2012-10-31 2016-11-30 富士通株式会社 通信装置及び同期方法
EP2959600B1 (en) * 2013-02-22 2020-08-26 Telefonaktiebolaget LM Ericsson (publ) Time synchronous pluggable transceiver
EP2919400A1 (en) * 2014-03-13 2015-09-16 Alcatel Lucent Method and device for forwarding a clock synchronization message
US10305616B2 (en) * 2014-12-16 2019-05-28 Robert Bosch Gmbh Method of synchronising clocks of network devices
US9882704B2 (en) * 2015-10-02 2018-01-30 OE Solutions Co. Ltd. Method and apparatus to add new system functions to deployed network element using smart transceivers
TWI612831B (zh) * 2016-03-01 2018-01-21 財團法人工業技術研究院 時脈同步方法、行動網路系統、網路控制器與網路交換器
EP3934203A1 (en) * 2016-12-30 2022-01-05 INTEL Corporation Decentralized data storage and processing for iot devices
US10637597B2 (en) * 2017-04-07 2020-04-28 Luminous Cyber Corporation Time determination of distributed events without distribution of reference time, phase, or frequency
US11496234B2 (en) * 2018-06-11 2022-11-08 Skyworks Solutions, Inc. Synchronizing update of time of day counters using time stamp exchange over a control plane

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI762384B (zh) * 2020-07-23 2022-04-21 慧榮科技股份有限公司 用於在記憶裝置中進行系統上鎖相環管理的方法以及設備
US11444629B2 (en) 2020-07-23 2022-09-13 Silicon Motion, Inc. Method and apparatus for performing on-system phase-locked loop management in memory device
US11784652B2 (en) 2020-07-23 2023-10-10 Silicon Motion, Inc. Method and apparatus for performing on-system phase-locked loop management in memory device

Also Published As

Publication number Publication date
TWI780243B (zh) 2022-10-11
US20200127752A1 (en) 2020-04-23
US11177896B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
TWI780243B (zh) 時鐘同步裝置及時鐘同步方法
CN111092713B (zh) 时钟同步装置及时钟同步方法
US10868664B2 (en) Minimizing timestamp error in PTP systems
US20070260906A1 (en) Clock synchronization method and apparatus
CN108023723B (zh) 频率同步的方法以及从时钟
US11287843B2 (en) Synchronisation of hardware clock using software clock synchronisation error
CN111669244A (zh) 在时钟域之间传输计数器值时保持正确的时间
WO2014083725A1 (ja) 同期装置、同期システム、無線通信装置及び同期方法
WO2018210277A1 (zh) 时钟同步的方法和装置、计算机存储介质
CN105027489B (zh) 精确时钟协议同步方法和节点
CN103532693B (zh) 一种时间同步装置和方法
JP2012222833A (ja) 揺らぎの蓄積を克服して大きなネットワーク上で精密なクロック分配を達成するシステムおよび方法
WO2019169820A1 (zh) 高精度时间同步方法
Dong et al. The design and implementation of ieee 1588v2 clock synchronization system by generating hardware timestamps in mac layer
CN113359948A (zh) 时间同步装置及同步方法
CN111884749B (zh) 一种基于时钟分相的高精度固定周期ptp时间同步方法
CN114520703B (zh) 用于工业网络设备间时间同步的时钟漂移补偿方法及电路
CN114513273B (zh) Ptp芯片时钟模块的实现方法和装置
CN114079557B (zh) 网络装置
TWI400596B (zh) 同步接收電路及方法
JP2016225880A (ja) 時刻同期装置、時刻同期方法及び時刻同期プログラム
TWI809564B (zh) 同步校正方法、主控裝置及僕裝置
TW202209837A (zh) 網路裝置
TWI779921B (zh) 修正1秒脈衝信號的方法及授時接收器
WO2020100374A1 (ja) 遅延時間検出回路、打刻情報生成装置および遅延時間検出方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent