卓 巖 白 濤
(1.上海交通大學電子信息與電氣工程學院,上海 200240;2.深圳中廣核工程設計有限公司,廣東 深圳 518172)
基于PTP協議的提高工業以太網時鐘同步精度的方法研究
卓 巖1白 濤2
(1.上海交通大學電子信息與電氣工程學院,上海 200240;2.深圳中廣核工程設計有限公司,廣東 深圳 518172)
介紹了PTP系統模型及其時間傳播過程、點對點透明時鐘的精確時鐘同步原理,應用點延時機制計算路徑延時。針對晶振頻率漂移對硬件打時間戳的影響,用頻率補償算法來獲得更準確的時間戳,從而提高工業以太網的時鐘同步精度。
時鐘同步 精度 PTP協議 頻率漂移 透明時鐘
目前工業以太網的同步技術越來越多地應用于工業控制領域與測量系統[1]。所謂時鐘同步就是系統內各節點與時鐘源的時間同步技術。目前廣泛采用的時間同步協議主要有網絡時間(NTP)同步和精確時鐘同步(PTP)協議,可達到亞微秒級同步誤差。但高要求的計量系統和事件序列分析/控制系統往往需要高精度的同步技術,尤其對于同時發生的事件,需要實現納秒級的精確同步測量。以太網的時鐘同步關鍵技術之一是同步消息包時間戳的精確性。
時間戳的精確性取決于消息包靠近物理層的程度,影響時間戳精度的因素有晶振的穩定性、物理層特性、時間戳分辨率、消息包收發時的抖動、網絡結構與負荷。針對消息包收發時的抖動和晶振穩定性對時間戳精度的影響,文獻[2]提出Kalman濾波算法估計消息包收發時的延時抖動,假設延時抖動服從正態分布,而在實際應用中時間戳值和消息包收發時的延時抖動值并不服從正態分布;文獻[3]使用軟件打時間戳的方法,提出自適應指數平滑的時鐘同步算法,同步精度能夠達到100μs;文獻[4]采用DP83640芯片使用硬件打時間戳的方法,設備的同步時間源選擇GPS,能達到納秒級同步精度。
筆者采用Broadcom帶IEEE 1588功能的物理層芯片,并且芯片帶有專門寄存器存儲收發消息的時間戳偏移量,使用在MAC層與PHY層之間硬件打時間戳的方法,以保證時間戳的高精確性。針對晶振穩定性、消息包收發時的抖動對消息包傳輸延時計算和時間戳精度的影響,提出基于PTP協議的頻率補償算法,減小頻率漂移對同步精度的影響,使同步精度能夠達到納秒級。
IEEE 1588標準定義了5種基本設備類型[5],分別是普通時鐘(OC)、邊界時鐘(BC)、點到點透明時鐘(TC)、端到端透明時鐘和管理節點。每一個PTP系統不一定包含所有設備類型。筆者研究的PTP系統模型是包含有透明時鐘的線性拓撲結構。
1.1點對點透明時鐘模型
點對點透明時鐘的模型如圖1所示,點對點透明時鐘端口只支持點延時測量機制。主時鐘只需要發送Sync和Fellow_Up消息,并接收Pdelay_Req消息。
計算駐留時間和鏈路延時的時間戳是由本地時鐘產生的,從時鐘通過駐留時間和鏈路延時計算接收到Sync消息的主時鐘時間。本地時鐘打時間戳時會產生抖動,所以由主時鐘和透明時鐘的頻率比引起的最大誤差是不可忽略的,如果主時鐘和本地時鐘的頻率比偏差為0.02%,則測得的駐留時間誤差為0.02%。假設駐留時間為1ms,則最大誤差為200ns,對于工業以太網這樣的誤差是不可接受的。有兩種減小時鐘誤差的方法,一種方法是使本地時鐘頻率等于主時鐘頻率,圖1中所示的RC模塊通過估計本地時鐘的比率來調整本地時鐘晶振頻率使本地時鐘和主時鐘的比率相同;另一種方法不調整本地時鐘晶振的頻率,本地時鐘是一種自由狀態,如圖1中RE1模塊。

圖1 點對點透明時鐘模型
筆者所提的頻率補償算法是基于上文提到的本地時鐘等于主時鐘的一種改進算法,通過頻率補償因子(RCF)減小頻率偏差引起的抖動,同時減小溫度等因素造成的晶振頻率漂移,得到盡可能準確的時間戳,減小駐留時間和鏈路延時的計算誤差,提高時鐘的同步精度。
1.2PTP系統模型
PTP協議建立的是主從拓撲結構,在圖2中,最優時鐘(GM)有著最好的精確性和穩定性,最優時鐘的時間被當做整個PTP域的參考時間。PTP系統中第n個節點的傳播時間是n個鏈路延時和橋延時之和。路徑延時包括線路延時和報文在發送端和接收端的抖動。
PTP協議基于同步消息傳播和接收時的最精確的匹配時間,從時鐘通過與主時鐘交換同步消息而與主時鐘達到同步。同步消息發送與鏈路延時測量如圖3所示。

圖2 PTP模型拓撲結構與延時

圖3 同步消息發送與鏈路延時測量
2.1同步消息發送機制

為了讓計數器的值能夠加減,必須讓時間值轉化為同一時間基準。這里引入頻率補償因子(RFC)的概念,RFC是兩個時鐘的頻率比值,用rx/y表示x和y之間的頻率比。兩個時鐘之間理想的頻率比rx/y=fx/fy。在圖3a中頻率比rn為:

(1)


2.2延時消息發送機制
PTP協議有兩種延時測量機制,延時請求-響應機制和點延時機制。圖3b是點延時機制測量兩個端口間的傳播時間。請求端n向應答端n-1周期性地發送Pdelay_Req消息,并打入時間戳t1(j),n-1接收到Pdelay_Req消息,記錄接收到的時間t2(j)并立刻向從時鐘n發送Pdelay_Resp消息,并打入時間戳t3(j),從時鐘n接收到Pdelay_Resp消息,并記錄接收的時間t4(j)。鏈路延時為:
(2)
其中,c是Pdelay_Resp消息中校正域的值。
3.1延時的計算
PTP消息在網絡中傳播產生的延時可根據圖3a計算,橋延時是PTP消息在一個時鐘中駐留的時間:
(3)

鏈路延時是PTP消息在兩個節點之間傳播的時間,在圖3b中從時鐘n向從時鐘n-1發送一個請求報文并記錄消息離開的時間t1(j)。節點n-1收到請求消息并發送應答報文,節點n-1有兩個時間點,一是收到請求消息時間t2(j),二是發送應答消息時間t3(j)。節點n-1應答延時的本地時間表達式為:
(4)
節點n請求延時的本地時間表達式為:
(5)
兩個節點之間的頻率補償因子RCF的估計值為:
(6)
鏈路延時的表達式為:
(7)
(8)
其中H表示選擇的連續Sync消息的個數。
3.2頻率補償同步算法
當從時鐘接收到Sync消息,從時鐘n首先根據接收到的兩個相鄰Sync消息中主時鐘計數器的值和本地時鐘計數器的值計算頻率補償因子RCF,計算公式為:

(9)

(10)
3.3頻率補償算法應用
頻率補償算法在工業以太網時鐘同步中,可以提高網絡時鐘的同步精度。在利用點延時機制計算鏈路延時時,頻率補償算法可以用到校正域的計算中,用式(2)計算鏈路延時時,頻率補償算法能夠減小由于抖動造成的鏈路延時和駐留時間的計算誤差。網絡中加入透明時鐘后,用頻率補償算法計算駐留時間,能夠減小計算多個時鐘的延時而引入的誤差,從而提高時鐘同步的精度。
隨著工業以太網在工業現場得到越來越多的應用,網絡的復雜度和數據交換速度增加,提高網絡中時鐘同步精度成為熱點。筆者參考目前應用廣泛的精確時鐘同步協議(PTP)建立了包含透明時鐘的PTP系統模型,討論了硬件打時間戳晶振穩定性對延時計算的影響,并介紹了一種頻率補償算法,消除頻率漂移對延時計算的影響,從而提高時鐘的同步精度。
[1] 關松青,肖昌炎,夏曉榮.IEEE 1588協議在工業以太網中的實現[J].計算機工程,2011,37(6):237~238.
[2] 趙小嬌.隨機信號建模和濾波在時間同步中的應用[D].北京:北京航空航天大學,2012.
[3] 謝太君.分布式系統高精度時鐘同步的研究與實現[D].上海:上海交通大學,2015.
[4] Giorgi G,Narduzzi C.Performance Analysis of Kalman-Filter-Based Clock Synchronization in IEEE 1588 Networks[C].2009 International Symposium on Precision Clock Synchronization for Measurement,Control and Communication.Brescia:IEEE,2009:2902~2909.
[5] IEEE 1588,Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[S].Geneva:International Electrotechnical Commission,2009.
ResearchofImprovingIndustrialEthernetClockSynchronizationAccuracyBasedonPTPProtocol
ZHUO Yan1, BAI Tao2
(1.SchoolofElectronicInformationandElectricalEngineering,ShanghaiJiaotongUniversity,Shanghai200240,China;2.ChinaNuclearPowerEngineeringDesignCo.,Ltd.,Shenzhen518172,China)
Both system model and PTP time propagation process was described, including the principle of peer-to-peer transparent clock’s accurate clock synchronization and making use of delay mechanism to calculate path delay. Regarding crystal oscillator frequency deviation’s effect on hardware timestamp, the frequency compensation algorithm was adopted to obtain a more accurate timestamps to improve industrial Ethernet clock synchronization accuracy.
clock synchronization, accuracy, PTP protocol, frequency drift, transparent clock
TP393
A
1000-3932(2016)09-0949-04
2016-07-13(修改稿)