劉愛東 王鵬超
(海軍航空大學(xué) 煙臺 264001)
相對水平度無線差分測量系統(tǒng)是一種以差分測量方式測量分布于艦船不同位置處的各裝備基準(zhǔn)面之間的相對水平度的無線傳感器網(wǎng)絡(luò)[1]。
在艦船航行或系泊狀態(tài)下,受船體搖擺影響,對相對水平度測量只能通過差分測量方式測量,而差分測量方式需要對同一時刻測量數(shù)據(jù)進(jìn)行差分,此時系統(tǒng)內(nèi)時鐘的不同步會造成測量誤差,這要求系統(tǒng)能夠維持一個全局一致的時鐘。
本文通過對GPS(Global Positioning System)外部對時[2]、NTP(Network Time Protocol)網(wǎng)絡(luò)時間協(xié)議[3]和PTP1588時鐘同步協(xié)議[4]等傳統(tǒng)的時鐘同步方法的使用環(huán)境、同步精度等因素的比較,最終選擇使用PTP1588時鐘同步協(xié)議。
相對水平度無線差分測量系統(tǒng)主要應(yīng)用于艦船水平對準(zhǔn)工作,根據(jù)國家相關(guān)標(biāo)準(zhǔn)要求,用于對準(zhǔn)的測試設(shè)備工作精度至少要達(dá)到被標(biāo)設(shè)備工作精度的1/3。
目前市場上單臺水平儀對水平度的測量精度一般可以達(dá)到2″,對兩平面之間相對水平度測量精度即為4″,因此要求時間同步精度影響的測量精度在2″以上[6]。
對準(zhǔn)工作要求海況風(fēng)力小于3級、海況小于4級。在此海況下,艦船最大搖擺幅度為±0.5°,最短搖擺周期為 6s[7]。
艦船裝備基準(zhǔn)面水平度φ可以近似看做滿足正弦函數(shù)φ=0.5×sin(×t)+φ。當(dāng)基準(zhǔn)面水平度0處于φ=φ0周圍時角度變化速率達(dá)到最快,相同時間同步精度下由于時間不同步造成的測量誤差也達(dá)到最大。此時,角度誤差值2″對應(yīng)的時間誤差約為1ms。因此,時間同步精度要求為1ms。
造成系統(tǒng)時鐘不同步的原因包括對時不準(zhǔn)確和守時時鐘漂移。
守時時鐘精度取決于晶振的準(zhǔn)確度,目前市場上通用晶振的準(zhǔn)確度可以達(dá)到 ±1×10-7,即±0.1μs/s。在不考慮對時精度情況下,當(dāng)系統(tǒng)運行時間達(dá)到2.7h,累計誤差將達(dá)到1ms,系統(tǒng)必須重新對時,以保證同步精度合格[8]。
為盡量減少對時次數(shù),一次對時精度越高越好,最低要求對時精度應(yīng)達(dá)到微秒級。
GPS同步方式無法在甲板以下工作,不適用于本系統(tǒng)應(yīng)用環(huán)境要求。NTR是一種低成本的時鐘同步方案,但其同步精度較低,只能達(dá)到毫秒,不適用于本系統(tǒng)對高精度時鐘同步的需求。PTP1588時鐘同步協(xié)議提供了以較低成本實現(xiàn)亞微秒級同步的方案,滿足系統(tǒng)需求。
水平對準(zhǔn)包括輔基準(zhǔn)對準(zhǔn),基座對準(zhǔn),設(shè)備對準(zhǔn),平臺羅經(jīng)、慣導(dǎo)平臺對準(zhǔn),其中輔基準(zhǔn)對準(zhǔn)精度要求最高,按照GJB 1233A-2008中5.2.1要求,艦船基準(zhǔn)平臺水平度偏差應(yīng)不大于30″,輔基準(zhǔn)與主基準(zhǔn)偏差應(yīng)不大于20″,因此要求系統(tǒng)總測量精度應(yīng)高于6 ″[5]。
PTP系統(tǒng)采用主從層次式結(jié)構(gòu),通過主時鐘節(jié)點與從時鐘節(jié)點之間同步、跟隨、延時請求、延時響應(yīng)4種類型的同步協(xié)議報文傳輸,獲取從時鐘相對于主時鐘的偏差(offset)和傳輸延時(delay),并進(jìn)一步對從時鐘校準(zhǔn),適用于網(wǎng)絡(luò)環(huán)境穩(wěn)定的本地化局域網(wǎng)環(huán)境[9]。
其實現(xiàn)機制如圖1所示,從時鐘節(jié)點利用主時鐘節(jié)點傳輸?shù)腡1、T4時間和自身記錄的 T2、T3時間計算從時鐘相對于主時鐘的偏差和傳輸延時。這里假定同步報文與延時請求報文的傳輸延時相同,即路徑是對稱的。
從時鐘相對于主時鐘的偏差和傳輸延時計算公式為
PTP 1588協(xié)議中規(guī)定了五種時鐘類型:普通時鐘(Ordinary Clock,OC)、邊界時鐘(Binary Clock,BC)、端到端透明時鐘(End to End Transparent Clock,E2E TC)、點對點透明時鐘(Peer to Peer Transparent Clock,P2PTC)和管理節(jié)點[10]。
PTP1588提供了兩種延時測量機制:延時請求-響應(yīng)機制和同等延時機制。延時請求-響應(yīng)機制常常用于包含E2E的網(wǎng)絡(luò),因此通常稱為E2E延時測量機制;同等延時機制常常用于包含P2P的網(wǎng)絡(luò),因此通常稱為P2P延時測量機制。
在采用E2E延時測量機制的網(wǎng)絡(luò)中,只在從時鐘計算路徑總延時,網(wǎng)絡(luò)內(nèi)其他端口均不計算延時。也就是說在E2E延時測量機制中,延時報文交互是在主時鐘和每個從時鐘間進(jìn)行的,每個從時鐘都向主鐘發(fā)送延時請求報文,主鐘對每個從時鐘回答延時響應(yīng)報文。
在采用P2P延時測量機制的網(wǎng)絡(luò)中,每條鏈路的兩個端口都計算本鏈路延時。也就是說在P2P延時測量模式中,延時報文交互是在每條鏈路的兩個端口間進(jìn)行的。
相對水平度無線差分測量系統(tǒng)主要功能為完成系泊或航行狀態(tài)下艦船各設(shè)備基準(zhǔn)面之間相對水平度的差分測量。系統(tǒng)由數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊和數(shù)據(jù)處理模塊三部分組成,其中數(shù)據(jù)傳輸模塊又分為終端、路由和協(xié)調(diào)器數(shù)據(jù)傳輸模塊。
其組成結(jié)構(gòu)如圖4,相對水平度測量過程如下:
1)數(shù)據(jù)采集模塊通過水平儀采集所測平面的水平度數(shù)據(jù),并通過守時時鐘采集對應(yīng)的時間信息數(shù)據(jù)。
2)數(shù)據(jù)采集完畢后,通過有線方式將數(shù)據(jù)傳遞給終端數(shù)據(jù)傳輸模塊,終端數(shù)據(jù)傳輸模塊進(jìn)行數(shù)據(jù)融合和轉(zhuǎn)發(fā),將數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器數(shù)據(jù)傳輸模塊。
3)協(xié)調(diào)器數(shù)據(jù)傳輸模塊轉(zhuǎn)發(fā)數(shù)據(jù)至數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊在接收到數(shù)據(jù)后通過筆記本電腦對數(shù)據(jù)進(jìn)行差分處理。
該系統(tǒng)要求系統(tǒng)中所有終端節(jié)點維持一個全局統(tǒng)一的時間標(biāo)準(zhǔn)[11],能夠?qū)Ψ植加诓煌恢玫乃絻x采集到的數(shù)據(jù)在終端處加上準(zhǔn)確的時間戳。
PTP1588協(xié)議要求應(yīng)用于網(wǎng)絡(luò)環(huán)境穩(wěn)定、安全的局域網(wǎng)。相對水平度無線差分測量系統(tǒng)是一種層次結(jié)構(gòu)、網(wǎng)絡(luò)節(jié)點固定的分布式無線傳感器網(wǎng)絡(luò)。
其網(wǎng)絡(luò)特點如下:
1)采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),具有明確的中心節(jié)點。
2)中心節(jié)點與特定終端節(jié)點間有唯一確定的鏈狀傳輸路徑。
3)路徑上各節(jié)點相對位置固定,運行后設(shè)備個數(shù)固定,不會隨時投入退出,因此不需要頻繁對時。
4)不同傳輸路徑上的路由節(jié)點相互獨立,即針對特定的路由節(jié)點僅有唯一的上一級節(jié)點和下一級節(jié)點與其進(jìn)行數(shù)據(jù)交互。因此不存在通信路徑之間的PTP報文環(huán)。
5)所有節(jié)點硬件參數(shù)指標(biāo)可視為一致,且路由節(jié)點僅完成數(shù)據(jù)轉(zhuǎn)發(fā)功能。
6)正向轉(zhuǎn)發(fā)與反向轉(zhuǎn)發(fā)路徑可視為對稱。
7)各節(jié)點通信速率較低,串口通信波特率為9600bps,空中速率為2400bps。
8)系統(tǒng)對時工作單獨進(jìn)行,不存在PTP事件報文與其他報文間的相互影響,網(wǎng)絡(luò)流量負(fù)載波動少,時間抖動小。
根據(jù)其網(wǎng)絡(luò)特點可以看出,相對水平度無線差分測量系統(tǒng)網(wǎng)絡(luò)拓?fù)漭^為穩(wěn)定很少變化,很適合用PTP1588進(jìn)行時間同步。
PTP系統(tǒng)采用主從層次式結(jié)構(gòu),從時鐘節(jié)點根據(jù)時鐘報文調(diào)整到主時鐘節(jié)點時間。
本系統(tǒng)只存在一個域,選擇中心節(jié)點作為主時鐘節(jié)點,終端節(jié)點作為從時鐘節(jié)點,因為域中只有一個主時鐘,因此主時鐘即為最高主時鐘。
為消除路由節(jié)點存在的延時抖動現(xiàn)象,路由節(jié)點一般選擇為邊界時鐘或透明時鐘。
邊界時鐘通過逐級對時的方法減小延時抖動,0透明時鐘通過測量駐留時間,并寫入報文校正域來減小延時抖動。
邊界時鐘方法會造成對時的時間開銷增加。透明時鐘方法造成PTP報文長度增加,在低速率網(wǎng)絡(luò)中也會顯著增加對時開銷。
在相對水平度測量系統(tǒng)中,路由節(jié)點不與多個路徑共享,對時時路由節(jié)點只為對時事件報文服務(wù),又可以通過對報文格式設(shè)計,使報文長度保持一致,達(dá)到每個對時事件報文通過路由節(jié)點的時間不變的目的,將延時抖動控制在可接受范圍之內(nèi)。此時,可直接將路由節(jié)點看成鏈路的一部分,此時可將駐留延時和鏈路延時統(tǒng)一考慮。
由于相對水平度測量系統(tǒng)中邏輯上將路由節(jié)點看做鏈路一部分,不存在多于兩個的其他端口,因此選擇延時請求-響應(yīng)機制,將駐留延時和鏈路延時統(tǒng)一考慮,只在主從時鐘處計算路徑總延時。
時間戳的獲取誤差也是影響對時精度的一個重要因素[12]。時間戳的獲取分為兩種情況,一種是接收到報文的時間戳點的時間戳獲取,另一種是發(fā)送報文的時間戳點的時間戳獲取。
設(shè)計中系統(tǒng)采用16位內(nèi)部計數(shù)器計數(shù)+16位軟件計數(shù),共32位計數(shù)值作為本地的時鐘值。選取E32-TTL-500無線模塊來進(jìn)行數(shù)據(jù)的收發(fā)。
該模塊在收到數(shù)據(jù)包后,模塊AUX口輸出低電平,并延遲5s后,開始將無線數(shù)據(jù)通過串口TXD引腳發(fā)出,在接收報文時,利用無線模塊所產(chǎn)生的中斷信號來觸發(fā)獲取當(dāng)前時鐘計數(shù)器的值。當(dāng)接收緩存區(qū)輸出最后一位數(shù)據(jù)時,模塊將AUX輸出高電平,利用該引腳此時輸出的上升沿產(chǎn)生接收中斷,獲取此時間戳點的時間戳。
在發(fā)送報文時,利用計時滿時產(chǎn)生的計數(shù)器溢出中斷,將當(dāng)前計數(shù)器值寫入發(fā)送數(shù)據(jù)中,立即發(fā)送。利用此種方法每次時間戳獲取的時刻點抖動非常小,可以較為精確地獲得數(shù)據(jù)發(fā)送前一時刻和剛接收到數(shù)據(jù)的時刻,從而能保證本設(shè)計最終得到較高的同步精度。
PTP1588規(guī)定所有報文都應(yīng)具有報頭、報體和報尾,報尾長度可以為0,報頭長度34字節(jié)[13]。
該報文對路由節(jié)點速率有較高要求,在低速率網(wǎng)絡(luò)中會顯著增加對時時間,顯然不適合本系統(tǒng)。如在本系統(tǒng)中每增加一個字節(jié)的報文長度,就會造成在每個路由節(jié)點上的駐留時間增加大約70ms,在有共n個路由節(jié)點的系統(tǒng)中對時時間至少會增加n×3×70(ms),如增加對時精度校驗,則時間開銷增加會更多。為使報文適應(yīng)本系統(tǒng)要求,對PTP報文進(jìn)行裁剪,重新設(shè)計。
本系統(tǒng)應(yīng)用有同步、延時請求、延時響應(yīng)3種類型的同步協(xié)議報文,為使所有報文經(jīng)過路由節(jié)點駐留時間相同,要求每種類型報文長度相同。所有對時報文應(yīng)用統(tǒng)一格式。
表1 報文格式
表2 報頭格式
從同步原理可以看出,從時鐘相對于主時鐘的偏差和傳輸延時計算都是建立在轉(zhuǎn)發(fā)路徑可視為對稱的假設(shè)基礎(chǔ)上。
本系統(tǒng)雖然對設(shè)備進(jìn)行了針對性設(shè)計,盡可能減小通信通道的不對稱性,但由于多徑效應(yīng)、設(shè)備硬件差異等因素的影響,仍會對對時精度造成一定影響。
在PTP協(xié)議中共需要獲取四次時間戳值,包括兩次接收到報文的時間戳點的時間戳獲取,兩次發(fā)送報文的時間戳點的時間戳獲取。
由于不同節(jié)點上無線模塊和晶振時鐘存在差異,獲取的時間戳也會存在誤差,最終導(dǎo)致對時誤差。
本文對PTP 1588協(xié)議的工作原理、時鐘模型和延時測量機制等關(guān)鍵點進(jìn)行了分析,并根據(jù)網(wǎng)絡(luò)特點和對時精度需求對PTP 1588協(xié)議在相對水平度無線差分測量系統(tǒng)的應(yīng)用進(jìn)行了研究設(shè)計。
PTP 1588是一個通用的時間同步協(xié)議,在特定系統(tǒng)中的應(yīng)用應(yīng)根據(jù)此系統(tǒng)的網(wǎng)絡(luò)特點和對時精度需求,選取合適的機制和參數(shù),對不滿足系統(tǒng)需求的部分應(yīng)進(jìn)行針對性改進(jìn)設(shè)計。