《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > IEEE 1588精確時鐘同步協(xié)議從時鐘設計
IEEE 1588精確時鐘同步協(xié)議從時鐘設計
來源:電子技術應用2010年第7期
黃 健, 劉 鵬, 楊瑞民
安徽省電子制約重點實驗室, 安徽 合肥230037
摘要: 時鐘漂移與傳輸延時的不確定性是分布式系統(tǒng)時鐘同步中不容忽視的問題,它直接影響同步精度。分析了IEEE 1588精確時鐘同步協(xié)議的同步機制,設計了從時鐘的硬件結構,提出了結合數據濾波和鎖相環(huán)PI調節(jié)的高精度時鐘同步算法。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2010)07-0094-04
Design of the slave clock node about IEEE 1588 precise clock synchronization protocol
HUANG Jian, LIU Peng, YANG Rui Min
Key Laboratory of Electronic of Restriction Anhui Province, Hefei 230037, China
Abstract: Clock drift and undetermined delay of transmission are the serious problems in the distributed system, which will deteriorate the precision of clock synchronization. To improve the precision, this paper analyzes the mechanism of synchronization and designs the hardware structure of the slave clock node about IEEE 1588 precise clock synchronization protocol, proposes the precise clock synchronization algorithm, which combined data filter and PI control based on PLL.
Key words : IEEE 1588; PI; clock synchronization; distributed system

    在分布式網絡中,由于網絡傳輸時延的不確定性,導致采用網絡命令觸發(fā)的同步精度差;同時,由于分布式網絡各節(jié)點位置的分散性,不適合采用硬件同步提供高精度的同步觸發(fā)?;跁r間信息的同步觸發(fā)方式特別適合于分布式遠距離同步系統(tǒng),其觸發(fā)方式靈活,不受距離的限制[1]。
 IEEE 1588 的基本功能是使分布式網絡內的所有時鐘與最精確時鐘保持同步,它定義了一種精確時間協(xié)議PTP(Precision Time Protocol),用于對標準以太網或其他采用多播技術的分布式總線系統(tǒng)中的傳感器、執(zhí)行器以及其他終端設備中的時鐘進行亞微秒級同步[2]。IEEE 1588可以以純軟件的方式實現(xiàn),也可以用能夠提供更精確的時間同步的專門的硬件實現(xiàn)。時間的精度和不確定性主要依模塊和IEEE 1588執(zhí)行的情況而定,一般期望在幾十納秒到幾十亞微秒間。IEEE 1588用于需要時間精度比NTP高的局域分布系統(tǒng),也用于一些不能接受GPS高成本或者不能接收到GPS信號的應用場合。
1 同步機制
 PTP協(xié)議通過最佳主時鐘算法建立主從時鐘結構后,使用UDP通信協(xié)議,每個從時鐘通過與主時鐘交換同步報文而與主時鐘達到同步[2]。同步過程分為兩個階段,偏移測量階段和延遲測量階段,如圖1所示。


1.1 偏移測量階段
   偏移測量階段是指測量主時鐘與從時鐘之間的時間偏移量,并在從時鐘上消除這些偏移。主時鐘每隔2 s向從時鐘發(fā)送一個同步報文Sync,并記下它發(fā)出的準確時刻t1。當從時鐘接收到Sync報文時立刻把當前時刻t2記下。由于偏移量的計算是在從時鐘處進行,在此過程中需要用到時標t1,因此,必須在Sync報文發(fā)出后用一個跟隨報文(Follow up)把時標t1裝入并發(fā)送給從時鐘。

1.2 延遲測量階段
   延遲測量階段用于確定主時鐘與從時鐘之間報文傳輸的延時。當從時鐘需要測量網絡傳輸延遲時,它就向主時鐘發(fā)送一個延時請求報文Delay_Req,并在報文發(fā)出的同時記下當前時刻t3,在主時鐘接收到延時請求報文的時刻立即打上時標t4。由于傳輸延時的計算也是在從時鐘處進行,需要用到時標t4,因此,需要用一個延時響應報文Delay_Resp裝上時標t4并由主時鐘發(fā)送給從時鐘。從時鐘在得到t3與t4之后,可得到下列公式:

2 報文內部延時分析和時間檢測點的選擇
 從PTP協(xié)議的同步原理可以知道,要實現(xiàn)高精度的同步,必須有高準確度的時間測量,即準確地獲取同步報文發(fā)送和接收的時間。在一個IEEE 1588應用系統(tǒng)中,報文發(fā)出一般依次經過應用程序、操作系統(tǒng)、網絡協(xié)議棧和以太網控制器,最后通過網絡發(fā)送到接收端。報文到達接收端后,依次通過以太網控制器、網絡協(xié)議棧和操作系統(tǒng),最后通過操作系統(tǒng)達到應用程序,如圖2所示。

   為了消除操作系統(tǒng)和網絡協(xié)議棧帶來的波動,達到高的準確度和精確度,對傳輸報文的時間打標越靠近物理層越好[3]。在IEEE 1588中定義了兩種時間打標的方法,一種是沒有帶硬件輔助;另一種是帶硬件輔助。
 沒有帶硬件輔助的方法是在軟件層對發(fā)送和接收報文的時間做標記。帶硬件輔助的方法是在連接介質訪問控制層(MAC)和物理層(PHY)的介質獨立接口(MII)接口處安裝一個特殊的時鐘同步包檢測器和時間標記單元,如使用FPGA或ASIC實現(xiàn),對發(fā)出或接收到的每個特殊報文(如:Sync和Delay_Req)打上時標。由于在網絡中發(fā)送和接收的包都要經過硬件層,而硬件層的延時都是固定的,所以這種方法的精確度是最高的。典型的從時鐘設計如圖3所示。

3 IEEE 1588從時鐘設計
3.1 可調時鐘的硬件設計

 時鐘是IEEE 1588設備的核心單元,為了達到設計的精度,一般使用基于硬件的時鐘模塊。在時鐘的設計中有三個重要的模塊需要設計,一是時鐘本身,二是驅動時鐘的時鐘,三是時鐘速率調節(jié)電路。
 時間由兩個32位的二進制數表示,其中32位無符號的整形寄存器組成秒單位,30位無符號的整形亞秒寄存器和2位無符號的整形分數亞秒寄存器組成了秒以下的單位。如圖4所示,速率計數寄存器和速率調節(jié)都是32位的,高2位用于表示分數亞秒時間,系統(tǒng)時鐘是50 MHz[4]。



 每個從時鐘在每個同步間隙必須利用計算的時間偏移調整本地時鐘,無限地逼近主時鐘,使這個時間偏移減小到最小。在目前的PTP協(xié)議中并沒有說明從時鐘如何利用這個偏移,而這個時間調整在同步中十分重要,參考文獻[3,5-6]都描述了一些如何減少主從誤差的方法,如使用對偏移數據預濾波和PI控制環(huán)的方法。
3.2 時鐘數據濾波處理
 對主從時鐘偏移的數據進行濾波處理,可以減少因為網絡的原因造成的偏移數據抖動、跳變以及晶體震蕩器的方差造成的時鐘的擺動,同時減小控制器的輸入噪聲,最終使從時鐘的抖動減小[5]。實現(xiàn)采用將時鐘偏移和網絡延時分別濾波,其原理框圖如圖5所示。

 對偏移數據的濾波使用有限沖擊響應(FIR)的濾波器,該濾波器采用常見的求和平均:

 S一般取整數,S越大,濾波器的截止頻率越小。系統(tǒng)剛開始時,取S=1,隨著時間增加網絡延時逐漸固定起來,接著在每隔延時測量周期將S增大,直到達到最大值。
3.3 從時鐘伺服控制模型
 對從時鐘逼近主時鐘的時鐘同步模型對應的伺服模型如圖6所示。系統(tǒng)包括一個控制器、采樣保持和代表從時鐘的被控目標。誤差信號e(t)表示本地時鐘的時間與遠端主時鐘的時間的時間差,也就是濾波算法中計算得到的時間偏移offset。誤差信號在每過一個時間被采樣,代表同步的時間間隔[6]。所以整個控制模型是一個離散的控制系統(tǒng)。

 在整個系統(tǒng)控制模型中,時鐘伺服的性能好壞取決于PI控制器的常數大小。首先必須保證控制器的閉環(huán)是穩(wěn)定的,其次是要保證控制器的響應滿足系統(tǒng)同步時鐘需求,下面分析如何選擇控制器的參數[6]。
 PI控制器的微分方程如下:

  

    當取P=0.7和I=0.1,P=0.7和I=0.3,對應的閉環(huán)響應曲線如圖8所示,采樣時間是2 s。

 從仿真圖可以看出,積分常數越大,系統(tǒng)的響應震蕩和過沖越大,但是響應的平均幅度很快接近1,也就是同步過程很快。所以在實際系統(tǒng)選取時,可以折中考慮,取P=0.7和I=0.2,既可以防止過沖又可以滿足快速同步的要求,如圖9中m=0所示。

   考慮計算延時不為0的情況時,根據式(16)可以畫出相應系統(tǒng)的單位階躍響應曲線。從曲線圖9可以看出,即使在m≠0的情況,系統(tǒng)的響應也是穩(wěn)定的。
 IEEE1588時鐘同步協(xié)議是LXI A類和B類設備中基于時間的同步觸發(fā)方式。時鐘同步算法直接影響到分布式系統(tǒng)的運算準確性和控制穩(wěn)定性。本文在FPGA中設計了從時鐘的硬件結構,并采用數據濾波與PI算法相結合的復合調節(jié)方法,分析了整個同步控制系統(tǒng)的穩(wěn)定性,實現(xiàn)了從節(jié)點邏輯時鐘對主節(jié)點時鐘的動態(tài)跟蹤。
參考文獻
[1]  王剛,黃飛,喬純捷,等. 分布式網絡時鐘同步研究[J]. 儀器儀表學報, 2008,29(11).
[2]  IEEE Std 1588-2008, IEEE Standard for a precision Clock Synchronization Protocol for Networked Measurement  and Control Systems.2008.
[3]  IEEE 15888 Tutorial. Conference on IEEE 1588 National  Institute of Standards and Technology Gaithersburg, Maryland, USA, October 2, 2006.
[4]  GUILFORD J. Design of an FPGA-based hardware IEEE-1588 implementation,IEEE-1588 Conference,October 2005.
[5]  CORRELL K, BARENDT N, BRANICKY M. Design considerations for software only implementations of the IEEE 1588 Precision Time Protocol. Conference on IEEE, 2005.
[6]  EIDSON J C. Measurement control and communication  Using IEEE 1588. Springer-Verlag London Limited 2006.

此內容為AET網站原創(chuàng),未經授權禁止轉載。