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