《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > IEEE 1588精確時(shí)鐘同步協(xié)議從時(shí)鐘設(shè)計(jì)
IEEE 1588精確時(shí)鐘同步協(xié)議從時(shí)鐘設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2010年第7期
黃 健,, 劉 鵬,, 楊瑞民
安徽省電子制約重點(diǎn)實(shí)驗(yàn)室, 安徽 合肥230037
摘要: 時(shí)鐘漂移與傳輸延時(shí)的不確定性是分布式系統(tǒng)時(shí)鐘同步中不容忽視的問(wèn)題,,它直接影響同步精度,。分析了IEEE 1588精確時(shí)鐘同步協(xié)議的同步機(jī)制,設(shè)計(jì)了從時(shí)鐘的硬件結(jié)構(gòu),,提出了結(jié)合數(shù)據(jù)濾波和鎖相環(huán)PI調(diào)節(jié)的高精度時(shí)鐘同步算法,。
中圖分類號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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

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


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

1.2 延遲測(cè)量階段
   延遲測(cè)量階段用于確定主時(shí)鐘與從時(shí)鐘之間報(bào)文傳輸?shù)难訒r(shí),。當(dāng)從時(shí)鐘需要測(cè)量網(wǎng)絡(luò)傳輸延遲時(shí),它就向主時(shí)鐘發(fā)送一個(gè)延時(shí)請(qǐng)求報(bào)文Delay_Req,,并在報(bào)文發(fā)出的同時(shí)記下當(dāng)前時(shí)刻t3,,在主時(shí)鐘接收到延時(shí)請(qǐng)求報(bào)文的時(shí)刻立即打上時(shí)標(biāo)t4。由于傳輸延時(shí)的計(jì)算也是在從時(shí)鐘處進(jìn)行,,需要用到時(shí)標(biāo)t4,,因此,需要用一個(gè)延時(shí)響應(yīng)報(bào)文Delay_Resp裝上時(shí)標(biāo)t4并由主時(shí)鐘發(fā)送給從時(shí)鐘,。從時(shí)鐘在得到t3與t4之后,,可得到下列公式:

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

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

3 IEEE 1588從時(shí)鐘設(shè)計(jì)
3.1 可調(diào)時(shí)鐘的硬件設(shè)計(jì)

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



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

 對(duì)偏移數(shù)據(jù)的濾波使用有限沖擊響應(yīng)(FIR)的濾波器,,該濾波器采用常見(jiàn)的求和平均:

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

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

  

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

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

   考慮計(jì)算延時(shí)不為0的情況時(shí),,根據(jù)式(16)可以畫出相應(yīng)系統(tǒng)的單位階躍響應(yīng)曲線,。從曲線圖9可以看出,即使在m≠0的情況,,系統(tǒng)的響應(yīng)也是穩(wěn)定的,。
 IEEE1588時(shí)鐘同步協(xié)議是LXI A類和B類設(shè)備中基于時(shí)間的同步觸發(fā)方式。時(shí)鐘同步算法直接影響到分布式系統(tǒng)的運(yùn)算準(zhǔn)確性和控制穩(wěn)定性,。本文在FPGA中設(shè)計(jì)了從時(shí)鐘的硬件結(jié)構(gòu),,并采用數(shù)據(jù)濾波與PI算法相結(jié)合的復(fù)合調(diào)節(jié)方法,分析了整個(gè)同步控制系統(tǒng)的穩(wěn)定性,實(shí)現(xiàn)了從節(jié)點(diǎn)邏輯時(shí)鐘對(duì)主節(jié)點(diǎn)時(shí)鐘的動(dòng)態(tài)跟蹤,。
參考文獻(xiàn)
[1]  王剛,,黃飛,喬純捷,,等. 分布式網(wǎng)絡(luò)時(shí)鐘同步研究[J]. 儀器儀表學(xué)報(bào), 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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。