一、測量系統的同步需求

在很多應用中需要全網同步進行數據采集,像橋梁狀態監測,大壩監測,飛機的靜力實驗,飛機的動態力學實驗,因為采集點數非常多,規模在幾千點甚至上萬點的規模,采集速度從幾十赫茲到幾百赫茲不等。

依賴傳統的數據采集系統,需要大量的信號電纜拉至中央采集器,需要大量的板卡,而且板卡之間的同步也是一個很大的問題,數據傳送也是很大的問題。

按照10K個數據采集點,每秒采集100次數據,每次數據2字節計算,每秒要產生2M字節的數據。按照每塊板卡32路進行計算,需要300多塊板卡。按照目前的技術,還沒有哪種總線協議,無論是PCI,CPCI,VME,PXI能夠提供這么多的插槽。

而且,這些板卡間的同步也是一個非常巨大的問題,需要大量的電纜。同時,因為沒有一個總線能夠提供如此大的規模,必須采用多臺計算機系統,而計算機系統之間的時間和時鐘同步又變成了一個非常復雜的問題。

在現實世界中,采集的信號有各式各樣的,比如熱電偶信號,滿量程才不到100MV,應變信號,滿量程才幾個毫伏,把如此的信號通過電纜,拉至中央控制室是不現實的。在實際應用中,必須把他們進行信號變換后,變成4~20mA的信號,才能采集。而變換會帶來誤差的增加,信號在頻域上的損失。而諸如加速度這類交流信號,還不能變換。
所以把采集裝置盡可能靠近傳感器,才能盡可能小的損失信息,避免誤差。但是我們在數據采集時,要知道這些數據間在時間上的關系,必須同步采集,而且采用什么樣的通信技術都是問題。

因此而帶來的成本問題,可以由電纜的節省和安裝的簡化來得到補償。就目前的電纜價格而言,電纜的成本完全有可能超過采集系統的成本。通過網絡實現時間同步,構建分布式的采集系統成為首選,在這樣的背景下,Ieee1588同步協議應運而生。

二、IEEE1588的歷史

ieee1588v2協議全稱為“Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems”基于網絡測量和控制的精確時鐘同步協議,亦稱“Precision Time Protocol”精確時間協議。

1588協議以NTP(Network Time Protocol)協議的算法為基礎,為滿足分布網絡測量和控制的同步需求,網絡精密時鐘同步委員會在IEEE的NIST的支持下起草了規范并獲得通過,成為IEEE1588-2002,同步精度由NTP的亞秒級提升到了微秒級,在此基礎上通過一系列改進,形成了目前應用廣泛的IEEE1588-2008版,即IEEE1588v2版。
Ieee1588中必須理解的同步的概念

同步包括頻率同步和時間同步兩個概念。

 頻率同步(Frequency Synchronization)

頻率同步,也稱“頻率校準”,是指信號之間的 頻率或相位上保持某種嚴格的特定關系,其相對應的有效瞬間以同一平均速率出現,以維持通信網絡中所有的設備以相同的速率運行。
例如,在通信網中傳遞的是對原始信息進行編碼后得到的PCM(Pulse Code Modulation)離散脈沖。若兩個數字交換設備之間的時鐘頻率不一致,或者由于數字比特流在傳輸中因干擾損傷,而疊加了相位漂移和抖動,就會在數字交換系統的緩沖存儲器中產生碼元的丟失或重復,導致在傳輸的比特流中出現滑動損傷。

 時間同步(Phase Synchronization)

一般所說的“時間”有兩種含義:時刻和時間間隔。前者指連續流逝的時間的某一瞬間,后者是指兩個瞬間之間的間隔長。時間同步的操作就是按照接收到的時間來調控設備內部的時鐘和時刻。時間同步的調控原理與頻率同步對時鐘的調控原理相似,它既調控時鐘的頻率又調控時鐘的相位,同時將時鐘的相位以數值表示,即時刻。與頻率同步不同的是,時間同步接受非連續的時間信息,非連續調控設備時鐘,而設備時鐘鎖相環的調節控制是周期性的。時間同步有兩個主要的功能:授時和守時。用通俗的語音描述,授時就是“對表”。通過不定期的對表動作,將本地時刻與標準時刻相位同步;守時就是前面提到的頻率同步,保證在對表的間隙里,本地時刻與標準時刻偏差不要太大。

三、IEEE 1588v2實現原理

3.1 1588v2技術概述

IEEE 1588V2采用主從時鐘方式,對時間信息進行編碼,利用網絡的對稱性和延時測量技術,通過PTP協議報文消息的雙向交互實現主從時間的同步,其精度可以達到亞微秒級。

PTP協議根據版本不同,定義了3種基本設備類型:

 OC(普通時鐘):僅有一個物理接口同網絡通信,既可作為Grandmaster Clock(祖母時鐘),也可作為Master Clock(主時鐘)或Slave Clock(從時鐘)。支持PTP消息的收發,支持同步層次確定機制。支持延遲請求機制和PDELAY機制。

 BC(邊界時鐘):有多個物理接口同網絡通信,每個物理端口行為都類似于OC的端口,可連接多個子域。 可作為中間轉換設備。

 TC(透明時鐘):TC時鐘分為E2E TC(End-to-end TC)和P2P TC(Peer-to-peer TC)。E2E TC設備有多個接口,它轉發所有PTP消息,可以對PTP事件消息進行駐留時間修正。端口不包含協議引擎,不參與主從層次的確定。P2P TC:P2P TC設備有多個接口,每個端口包含一個Pdelay處理模塊,支持Pdelay機制。端口不包含協議引擎,不參與主從層次的確定。
同時,PTP擁有數種類型的消息用以設備間的同步和控制,分為事件報文和通用報文。Event報文用于產生和通信用于同步普通時鐘和邊界時鐘的定時消息,發送和接收事件消息時要生成準確的時間戳,包括Sync、Delay_Req、Pdelay_Req、Pdelay_Resp。General報文:不要求生成準確的時戳,包括用于傳遞時間信息的Follow_Up、Delay_Resp、Pdelay_Resp_Follow_Up報文和用于主時鐘確定及管理維護信息的Announce、Management、Signaling報文。

3.2 1588v2同步實現

IEEE 1588V2協議首先確定最佳時鐘,然后再確定時鐘域內各層的主從關系,生成PTP路徑,可用手工配置方式或利用BMC(最佳時鐘算法)自動生成,最后根據PTP路徑,采用握手的方式,利用精確的時間戮完成頻率和時間同步。

3.2.1 BMC算法

網絡中的各個設備可能參考不同的時間源,在執行時鐘同步之前,需要確定整個域的主從跟蹤關系。BMC算法流程為設備的每個端口維護一套端口數據集,并通過數據集比較算法和狀態決定算法確定最佳時鐘和主從關系。

時鐘域內OC/BC設備彼此發送Announce消息宣告本設備確定的grandmaster時鐘的參數;收到Announce消息的設備,分別運行最佳主時鐘算法(BMC),比較各個grandmaster時鐘參數,確定最佳grandmaster時鐘參數的接收端口或確定自身為grandmaster時鐘。同時,將Announce消息中的優先級與本端口的優先級比較,確定本端口最佳消息Erbest,對各端口上報的Erbest進行優先級比較,最優者為該節點的最佳消息Ebest;然后,計算端口推薦狀態,每個端口獨立比較Ebest、defaultDS和本端口Erbest來確定各自的推薦狀態,最終確定各個端口的主從狀態,從而確定整個域的主從體系。使得最終選出的grandmaster時鐘設備作為本時間域的最佳時鐘,同時確定各設備的主從關系,生成PTP的路徑,避免環路。

3.2.2 同步機制

同步機制包括了時間同步和頻率同步兩個部分。

news-002

如上圖所示,一次主從同步過程,設消息延遲為Dealy(假定上下行相同),主從時差為Offset。

1)t1時刻主時鐘發送Sync報文

2)t2時刻從時鐘收到Sync報文

3)t3時刻從時鐘發送Req報文

4)t4時刻主時鐘收到Req報文

其中,Follow_Up和 Resp報文分別把t1和t4的值傳遞給從時鐘

則:

t2 - t1 = Delay + Offset

t4 - t3 = Delay - Offset

即:

Offset=[(t2-t1)-(t4-t3)]/2

Delay=[(t2-t1)+(t4-t3)]/2

計算出Offset后,從時鐘按此值調整本地時間,實現時間同步。頻率同步方法則相對簡單,通過計算不同sync消息的發送間隔與接收間隔,計算主從時間的頻率調整因子,修正從時鐘的頻率。

四、IEEE1588v2實際部署

4.1 部署模式

為適應網絡規模和拓撲結構的多樣性,1588v2協議部署時有BC和TC兩種基本模式,實際部署時常根據實際情況采用混合方式部署。

4.1.1 BC模式

BC模式中,手工或通過BMC算法確定最佳時鐘,并在各相鄰設備間建立主從關系,各BC節點有一個從端口和若干個主端口,從端口與上級主節點同步,之后通過主端口將同步信息傳遞給下游節點實現同步,如此逐段同步后,實現全域同步。BC模式適合分層網絡,但由于每段同步時都將引入同步誤差,且誤差在此模式下無法修正,產生串接效應,這會導致相位誤差和抖動的不斷積累,損傷時鐘的穩定性和精度。網絡規模越大,離主時鐘越遠,風險越高。

4.1.2 TC模式

為彌補BC模式的不足,在1588V2協議中引入了TC模式,包括E2E TC和P2P TC兩種子模式。

首先介紹E2E TC模式,同步域內各設備直接或近似直接與最佳時鐘建立主從關系,主從設備間的中間設備采用補償方式傳遞時鐘消息,從而在串聯場景中大幅提高時鐘的精度。

但由于網絡中各節點都同步至最佳時鐘,不僅對最佳時鐘設備壓力較大,且中間節點也需參與同步計算,而且算法復雜度隨節點數呈平方增長,對于設備的處理能力提出了更高的要求。為在處理復雜度和精度之間尋求平衡,1588V2協議另外又引入了一種TC子模式,與上面介紹的是E2E TC子模式不同,P2P TC節點事先測出最佳時鐘設備到本節點的時延,并反饋給從時鐘,從時鐘根據該反饋進行同步處理,該模式下,最佳時鐘設備只需處理與其相連的設備的同步請求,大大降低其處理壓力。

五、應用中的問題

理論上1588V2協議可應用在所有包交換的網絡中,但在實際應用中還需要考慮如下問題。

5.1 時延不對稱和抖動問題

1588v2的同步機制中有一個假設,即主從設備間的傳輸時延是一致的。但這一假設在大型的通信網絡中不能完全成立。例如某些傳輸技術本身上下行速率不相同,另外還存在上下行傳輸路由長度的不一致等。

另外由于1588v2基于包交換網絡,網絡中不同轉發路徑和時延的抖動不可預知,且不可控,這也對協議的實際應用帶來了很大挑戰。時延不對稱和抖動問題在現實網絡中不可避免,只能通過其他手段進行完善。目前業界的幾種處理方式是:采用單纖雙向承載鏈路; 通過時間同步測試儀修正光纖鏈路的非對稱;采用硬件模塊在網絡的物理層直接處理同步包,減少上層協議棧帶來的時延不確定性;全網采用1588v2協議,避免非協議設備影響同步精度。

5.2 頻率同步-同步以太網技術

1588V2技術雖然支持頻率同步,但在實現精度、同步速度和倒換時間方面還落后于同步以太網,實際應用中,各廠商均推薦使用同步以太技術實現頻率同步,而只用1588v2實現時間同步。下面簡單介紹下該技術。

同步以太網是一種采用以太網鏈路碼流恢復時鐘的技術。在物理層,以太網與SDH一樣采用是串行碼流方式傳輸,接收端必須具備時鐘恢復功能,否則無法通訊。以太網技術中,除10Base-T采用曼徹斯特編碼不支持時鐘恢復外,100Base-TX、100BASE-FX、1000Base-X、1000Base-T、10GBase-R等主流鏈路均支持時鐘恢復,且其碼流恢復時鐘的能力和精度高于現有的TDM網絡。

同步以太網采用ESMC實現SDH中的SSM功能,實現全網同步精度的管理,達到0.01ppm精度,且受PSN網絡影響較小,技術成熟,可靠性較高。

六、IEEE1588v2在YCK-A2型監測監控主機上的實現

YCK-A2型監測監控主機搭建的分布式采集系統已實現IEEE1588v2協議,YCK-A2型監測監控主機之間主從同步精度已到達4微秒,監控主機與服務器在內部局域網環境已達1毫秒。該協議的實現,使YCK-A2型監測監控主機在分布式采集同步領域達到業內領先水平。