唐藝靈


摘要:PTP精確時間同步協議廣泛應用于分布式網絡系統中,本文針對實時測控網絡系統中各種影響因素的特點,結合PTP協議時鐘同步機制,提出了一種適用于網絡環境下的高精準時鐘同步方法,通過采用響應同步機制以及對測控數據進行處理,實現亞毫秒精度的時鐘同步。
關鍵詞:PTP協議;局域網;時鐘同步;精確時間;測控系統
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2017)03-0065-02
1 引言
PTP是IEEE-1588標準中定義的一種精密時鐘同步協議,主要應用于基于局域網的處理控制系統,在分布式系統中得以廣泛的應用。PTP協議通過硬件和軟件的方法將網絡客戶機的內部時鐘與主機的基準時鐘實現同步[1]。應用硬件方法時,精度為ns級;軟件方法的精度為ms級。在計算機網絡中采用軟件方法其精度要達到亞毫秒時,可能會受到諸多因素影響而導致系統時間無法可靠性同步[2]。就這些因素而言,主要包括交換機不平衡、接口卡緩沖時延數據包,同時還包括系統內部的相關影響因素;然而,這些因素即無法有效的控制,又難以準確預測,以致于時鐘同步性較差。大型靶場的實時測控系統因內部設備終端數較多,很難用硬件方法實現PTP時鐘同步,文章根據軟硬件系統的特點以及PTP協議,利用純軟件方式對高精準時鐘實現同步。為此,我們可以建立一個高精準時鐘,按照同步機制同步處理測量結果,其時間同步精度到達了內亞毫秒,有效解決了各種不可預測因素對局域網時鐘同步的影響。
2 PTP協議時鐘同步原理分析
就PTP協議時鐘同步而言,其中包含了基準時鐘以及同步時鐘;這里所講的時間同步,實際上就是分別在發、接收雙方對時間信息等進行打時戳,接收時根據戳對基準以及同步時鐘偏差進而信息等進行計算,然后采取網絡傳輸延時方式予以實現。PTP協議中定義了幾種信息類型,其中包括同步、跟隨以及延時校正申請和延時校正響應等類型。對于同步時鐘與基準之間的差異而言,主要是由信息包以及時鐘偏差的傳輸延遲形成的,時鐘同步又包含了兩個階段,即偏移校正階段、延時校正階段。從流程上來看,如圖1所示。
在A階段(偏移校正),基準時鐘于TM1處發出同步信息至同步時鐘,而且同步信息中有時間戳,是關于數據預計時間的描述。由于同步信息中包含了預發時間,因此同步信息發出的真實時間被測量以后,隨后通過跟隨信息發出。同步時鐘記錄了同步信息的真實接收時間,記為TS1;通過TM1、TS1能夠將同步時鐘之于基準時鐘的偏差(offset)計算出來,計算公式為:offset=TM1-TS1。實踐中,可根據時間偏差對同步時鐘進行校正,計算結果中因有傳輸延時而必須對其校正。在B階段,同步時鐘將延時校正申請信息發送至基準時鐘,并且由同步時鐘將準確時間(TS2)記錄下來,同時基準時鐘將接收到的準確時間(TM2)記錄下來,經延時校正響應返回同步時鐘。此時,同步時鐘結合上述時間(兩個)將網絡延時計算出來,計算公式為delay=(TM2-TS2)/2,而且利用這一數值予以校正。
3 PTP協議下的高精準時鐘同步策略
對于高精準數字時鐘而言,其作為高精準時鐘實現同步的前提和基礎,實際應用之前需先建立高精準時鐘。為了解決以上因素對時鐘同步精度造成的影響,在PTP協議條件下將響應同步制度引入其中,采用直線擬合與過濾等方法,確保其精度達到亞毫秒級。
3.1 構造高精準數字時鐘
對于計算機而言,中央處理器上配置了高精度時鐘,以2GHz的中央處理器為例,其定時精度達到了0.5ns。同時,Windows系統還提供了可獲得中央處理器震蕩頻率以及開機后定時器計數值的接口,并且在API接口基礎上構造出精準度相對較高的邏輯時鐘。以t0代表中央處理器中的定時器計算數值,用△t代表邏輯時間之于中央處理器的計數偏差;邏輯時間(t)利用公式t=t0+△t來計算,修改邏輯時間時可通過△t的修改來完成[3]。
3.2 響應同步機制
計算機關卡緩存效應下,如果增大兩次傳輸時間間隔,則時鐘同步必然會受網絡影響,必然網絡系統穩定性差、操作進程調度等因素的影響。響應同步機制的應用,能夠解決上述問題,減小影響。具體而言,就是在接收信息以后,再返回確認信息;此時發送方僅在接收確認信息后方可在此發送信息。通過隔離前后信息的傳輸,可使接收方避免同時接受全部信息數據。
3.3 數據處理算法
實踐中,為了能夠從測量數據中及時準確的獲取有價值的數據信息,需對上述采取擬合法進行處理。比如,Data[1:N]代表了N個測量所得的數據,而Data[1:M]代表過濾所得數據,其公式為Data[1:M]=fm,n(Data[1:N]),其中M=N-m-n;fm,n先排列數據,以此來確保差異相對較大的數值可排在數組兩側,并且將其中的小數值(m個)和其中的大數值(n個)去掉,即實現了過濾處理目的。其中,m、n均為可變參數,具體根據數據量規模、穩定性而定。對于Data[1:M]而言,可采用y=C直線公式對數據最小二乘直線擬合,具體擬合公式為C=1/MΣData[1:M],以此從N數據中得到擬合值C(最佳值)。
4 精度要求
4.1 實時測控系統概述
某靶場實時測控系統由信息匯集分發、中心計算機、安控臺、指揮顯示、實時數據庫和局域網等六個分系統組成。(1)信息匯集分發分系統負責對外信息的接收與發送。接收各種外部信息,轉換為內部通信協議通過訂閱/發布機制向內部各分系統轉發,將內部各分系統產生的信息按照通信協議向外部發送,此外還負責通過系統配備的時統B碼終端向全系統提供網絡授時服務,保持系統時間同步。(2)中心計算機分系統負責對外部的各種測量數據進行實時處理。具備彈道處理、航跡融合處理及目標安全故障判斷等實時數據處理功能,它有很高的時間同步要求。(3)安控臺分系統負責目標飛行試驗的安全決策與控制。具備安控指令收發、記錄與顯示功能,同樣有很高的時間同步要求。(4)指揮顯示分系統負責各種測控信息的顯示。具備滿足試驗、訓練及演練等多種任務的態勢綜合處理與展現能力。(5)數據庫分系統負責各種實時測控信息的實時存貯。具備數據查詢、檢索、快速處理、分析與評估等功能。(6)局域網分系統負責系統內部信息的傳輸。采用雙網結構保證信息傳輸可靠性。
4.2 實時測控系統同步精度要求
時測控系統系統時間采用北京標準時間(BST),其具有嚴格的同步精度要求。(1)中心計算機和安控臺分系統服務器獲得的時間與時統時間同步精度優于100μs;(2)其它分系統服務器通過網絡校時的時間平均誤差≤15ms;(3)中心計算機分系統服務器通過時碼板產生的1Hz、20Hz中斷信號延遲≤200μs;(4)內部局域網信息傳輸時延≤5ms。
5 基于PTP協議高精準時鐘同步方法在實時測控系統的應用
根據基于PTP協議的高精準時鐘同步法,按照PTP協議時鐘同步機制以及實時測量數據,設計和運用性能比較可靠的時鐘同步方案。比如,中心計算機實時處理軟件,其流程如圖2所示。
(1)信息匯集分發分系統時統B碼終端產生的基準時鐘在TM1[1]發送同步信息到接收端同步時鐘,然后將準確時刻TM1記錄下來[1],在FollowUp信息中將同步信息發送的TM1[1]發送至同步時鐘。對于同步時鐘而言,其接收同步信息以后,將準確接收時刻TS1記錄下來[1],然后再將確認信息OK返回。(2)重復N次上述過程,同步時鐘即可獲得N個時鐘的信息發送與接收時刻,即TM1[1:N]、TS1[1:N],然后將二者做差,得到Offset[1:N](即N個偏移值)。(3)對N個偏移值過濾與直線擬合,或者最佳擬合值(offset),并以該值為基礎對同步時鐘實現偏移校正之目的。(4)將DelayReq信息發送至基準時鐘,然后將發送的準確時刻TS2[1]記錄清楚,基準時鐘在收到信息后記錄準確的接收時刻TM2[1],由DelayResp向同步時鐘返回TS2[1]。(5)重復上一步驟M次以后,同步時鐘即可獲得2M個時鐘信息,即TM2[1:N]與TS2[1:N],通過對二者做差可得M個基準、Delay[1:M](同步時鐘延時信息)。(6)過濾出來Delay[1:M]并進行直線擬合,從而得到最佳擬合值,然后利用這一擬合值對延時校正同步時鐘。
當網絡平穩且計算機負載相對較小時,取M=N=10,m=n=2,精度就能達到亞毫秒級。上述步驟完成以后,即實現了一次基準、同步時鐘同步。在此過程中,為了能夠有效避免因時鐘累積誤差而造成的系統同步精度問題,周期性地重復以上過程,即保持了系統同步。
6 結語
總而言之,基于PTP時鐘同步機制,設計適用于實時測控系統網絡環境下的可以達到亞毫秒精度的時鐘同步方法,該方法在實時測控軟件中得到了有效應用。
參考文獻
[1]桂本烜,劉錦華.IEEE1588高精度同步算法的研究和實現[J].電光與控制,2006(5):90-94.
[2]袁振華,董秀軍,劉朝英.基于IEEE1588的時鐘同步技術及其應用[J].計算機測量與控制,2006(12):1726-1728.
[3]汪文俊,龔育昌,朱建明.基于UDP的局域網內時鐘同步協議[J].計算機應用與軟件,2007(5):133-135.