文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.174633
中文引用格式: 魏瑋,,曹素芝,鐘紅恩. 一種基于包交換的有效載荷時間同步方法的設(shè)計和實現(xiàn)[J].電子技術(shù)應(yīng)用,,2018,,
44(6):15-18.
英文引用格式: Wei Wei,Cao Suzhi,,Zhong Hongen. Design and implementation of a time synchronization method for payload based on packet switching[J]. Application of Electronic Technique,,2018,44(6):15-18.
0 引言
時間同步技術(shù)是航天器在軌運行的重要支撐技術(shù)之一,,高精度的時間同步對于各個系統(tǒng)的協(xié)同運行、任務(wù)調(diào)度與執(zhí)行,、故障查找和事故分析都有著非常重要的意義,。
目前,國內(nèi)各類航天器上的時間同步主要是通過總線廣播時間碼的方式,,能夠?qū)崿F(xiàn)毫秒級別的時間同步精度,。對于精度要求高的載荷,通過連接硬線接入精確時間秒脈沖的方式來獲得高精度的時間,。
隨著航天器的大型化,,有效載荷數(shù)目和時間精度要求的提升,此類時間同步方案已經(jīng)不能滿足時間精度和系統(tǒng)復(fù)雜度的需求,。因此,,對于大型航天器分系統(tǒng)的時間同步需要進(jìn)一步設(shè)計。針對大型航天器有效載荷網(wǎng)絡(luò)的時間同步而言,,本文提出一種基于包交換的多載荷,、高可靠、高精度的時間同步解決方案,。
1 多載荷同步模型
1.1 應(yīng)用場景
航天器上有效載荷網(wǎng)絡(luò)基于FC-AE-1553總線,網(wǎng)絡(luò)中的有效載荷節(jié)點作為網(wǎng)絡(luò)終端,。每個終端節(jié)點都連接到相應(yīng)的控制節(jié)點,,如圖1所示。
網(wǎng)絡(luò)控制器一般是已進(jìn)行高精度同步的設(shè)備或包含高精度時間的設(shè)備,。網(wǎng)絡(luò)控制器為通信的發(fā)起者和組織者,,可以是主控計算機或者是級聯(lián)中某一級的網(wǎng)絡(luò)交換機。
1.2 同步原理
基于包交換的雙向時間同步的工作模型多為主從模式,,如網(wǎng)絡(luò)時間同步協(xié)議(Network Time Protocol,,NTP)[1]和精確時間同步協(xié)議(Precision Time Protocol,PTP)[2],,包含精確時間的網(wǎng)絡(luò)節(jié)點作為主端(主時鐘)向從端(從時鐘)發(fā)起同步,。
如圖2,,假設(shè)從時鐘時間慢于主時鐘,時間偏差值為<offset>,。主端周期性發(fā)起同步,,在T1時刻向從端發(fā)送時間報文。該報文從時鐘接收到時為T2,,在T3時刻從時鐘對收到的時間報文進(jìn)行回復(fù),,回復(fù)報文被收到時刻為T4。其中T1,、T4為主時鐘記錄的時間,,T2、T3為從時鐘記錄的時間,。
由主時鐘到從時鐘的時延為TDL,,由從時鐘到主時鐘的時延為TUL,則有式(1):
根據(jù)估算的時間偏差,,對從時鐘的時間進(jìn)行補償,,從而達(dá)到時間同步的目的。
2 方案設(shè)計
2.1 對稱時延設(shè)計
在基于包交換的時間同步機制中,,式(2)的成立前提是往返時延對稱(TDL=TUL),。當(dāng)鏈路時延不對稱時,根據(jù)式(2)計算得到的時間偏差值并不是真正的從端與主端的時間偏差,。
造成鏈路時延不對稱的因素主要有:協(xié)議棧解析數(shù)據(jù)包產(chǎn)生的抖動,、網(wǎng)絡(luò)傳播時延不對稱和網(wǎng)絡(luò)排隊時延[3]。
為了避免協(xié)議棧解析數(shù)據(jù)包帶來的隨機時間誤差抖動,,將時間同步模塊放在FC協(xié)議中靠近物理層的位置:FC-2層,。硬件實現(xiàn)的過程中,時延可控并可通過仿真得到,,從而達(dá)到時延對稱,,減小誤差的目的。
在單級的主從同步過程中,,不涉及網(wǎng)絡(luò)交換節(jié)點導(dǎo)致的排隊時延,。各類緩存的排隊時延通過網(wǎng)絡(luò)擁塞控制來減小影響;在相鄰的網(wǎng)絡(luò)節(jié)點間,,使用雙絞線或一對等長的光纖來保證網(wǎng)絡(luò)傳播時延的對稱,。
2.2 可靠的時間偏差補償方法
在估算出兩個網(wǎng)絡(luò)節(jié)點之間的時間偏差之后,從時鐘會對本地的時間進(jìn)行補償,。進(jìn)行時間糾偏的最直接和快速的方法是直接賦值,。這種直接賦值的方法將導(dǎo)致時間的跳變,影響載荷的指令執(zhí)行、數(shù)據(jù)記錄與存儲等諸多方面,,同時降低系統(tǒng)可靠性,。
為了避免直接調(diào)整時間的方法帶來時間的瞬時變化,同時保證時間的連續(xù)前進(jìn)性,,我們選擇更可靠的時間補償方法,。將一定的時間偏差值分到多個晶振周期上進(jìn)行補償,如圖3,。
假設(shè)在某時刻待同步時鐘的時間快于時鐘源的時間,,時間偏差為offset。主時鐘頻率為f(Hz),,從時鐘實際頻率為f′(Hz),。在大于offset的時間AdjustTime(s)內(nèi)完成時間調(diào)整(防止出現(xiàn)“時間倒流”和“時間停止”的情況),則每個晶振周期從時鐘累加的時間為δ(δ<1/f′),,以此來完成時間偏差的補償,。
在實際應(yīng)用中,f′的值的大小并不能確定,,因此選擇AdjustTime等于同步周期,,使用前幾個調(diào)整周期內(nèi)的晶振計數(shù)值的均值替換式(3)中的AdjustTime×f′的值,用來計算校正后的累加值δ,。
在系統(tǒng)初始或重構(gòu)時,,主從時鐘的時間偏差值較大,為了保證從時鐘的時間誤差快速收斂,,設(shè)置時間偏差的閾值offset0,,當(dāng)實際時間偏差的值大于該值時采用賦值調(diào)整,實際的時間偏差小于該值時采用漸進(jìn)調(diào)整的時間補償方法,。該策略可以較好地平衡誤差收斂時間和時間的前進(jìn)連續(xù)性,。
2.3 頻率偏差校正
各網(wǎng)絡(luò)節(jié)點均通過晶振來進(jìn)行本地計時,根據(jù)晶振的頻率,,每個晶振周期累加對應(yīng)的時間,,從而實現(xiàn)時間的累加。由于所有晶振均存在一定的偏差:標(biāo)稱誤差,、漂移誤差,,還需對晶振的偏差進(jìn)行補償和校正。
在時間同步原理中,,由于主時鐘周期性發(fā)起時間同步(如圖4),忽略路徑上的延時和駐留時間的變化,,從時鐘可依據(jù)該同步消息完成對本節(jié)點的晶振頻偏的測量,。在估算出本地的晶振偏移量后,從時鐘將對該偏移量進(jìn)行糾正,使得從時鐘的頻率與主時鐘保持一致,。
若主時鐘與從時鐘的頻率相同,,則ΔT=TCount。實際中,,按照f1/f2=TCount/ΔT的比例對從時鐘的頻率進(jìn)行校正,。
2.4 網(wǎng)絡(luò)擁塞控制
對于時間同步而言,同步周期越短,,得到的同步精度越高,,時間同步消耗的網(wǎng)絡(luò)負(fù)載也就越高。網(wǎng)絡(luò)負(fù)載的增加易引起堵塞,,進(jìn)而對時間同步業(yè)務(wù)產(chǎn)生影響,。網(wǎng)絡(luò)擁塞控制也是時間同步的對稱時延設(shè)計的一部分。
目標(biāo)載荷網(wǎng)絡(luò)為基于FC-AE-1553的命令響應(yīng)式網(wǎng)絡(luò),,該網(wǎng)絡(luò)的所有數(shù)據(jù)傳輸均由網(wǎng)絡(luò)控制器進(jìn)行調(diào)度,。為了統(tǒng)籌時間同步業(yè)務(wù)和其他業(yè)務(wù),網(wǎng)絡(luò)控制器周期性發(fā)送數(shù)據(jù),,在周期內(nèi)對時間同步幀預(yù)留相應(yīng)的信道空閑時間,,以免造成網(wǎng)絡(luò)擁堵對時間同步的影響,可提高同步精度[4],。
此外,,在網(wǎng)絡(luò)中,將時間同步數(shù)據(jù)幀的優(yōu)先級設(shè)置為最高級,,以此來保證在業(yè)務(wù)量大,、網(wǎng)絡(luò)繁忙時,時間同步數(shù)據(jù)幀能夠得到優(yōu)先處理和傳輸,。
3 實驗與分析
3.1 實驗系統(tǒng)
為了驗證文中提出的有效載荷時間同步方法,,搭建了包含時鐘源、主時鐘和從時鐘的驗證系統(tǒng),,其模型如圖5,。
在驗證模型中,兩塊平臺為Xilinx K7系列的FPGA板卡分別邏輯實現(xiàn)主時鐘和從時鐘及它們相應(yīng)的時間同步功能,,實現(xiàn)的功能模塊見表1,。由GPS接收機輸出時間信息作為主時鐘的授時源,并提供精確的秒脈沖信號,,主時鐘依據(jù)此時間信息進(jìn)行授時,。
主時鐘與從時鐘均會按照自己本地的時間,在時間整秒變化時,,生產(chǎn)秒脈沖信號,。利用示波器以主端生成的秒脈沖信號作為觸發(fā),,多通道余輝顯示兩個秒脈沖,比較兩者上升沿之間的時間差得到從時鐘和主時鐘之間時間偏差的范圍,。
3.2 結(jié)果與分析
3.2.1 晶振偏差校正的結(jié)果
為了測算對晶振頻率偏差校正的效果,,進(jìn)行了對照測試。在1 s同步周期下分別為開啟晶振偏差補償和關(guān)閉晶振補償,,其測試結(jié)果如圖6,、圖7所示。
對比測試結(jié)果可以看出,,在本驗證系統(tǒng)中由于晶振漂移引起的每周期時間偏差均值在-800 ns,,從時鐘的晶振頻率低于主時鐘的晶振頻率,兩者之間的頻率比為β,。
對比圖6和圖7的結(jié)果可以發(fā)現(xiàn),,通過周期性地時間同步數(shù)據(jù)包來進(jìn)行待同步時鐘的晶振漂移校正可以獲得較好的效果。
3.2.2 同步周期測試結(jié)果
為了測試時間同步周期對時間同步精度的影響,,選取了從1 ms至1 000 ms中不同的同步周期,,進(jìn)行了時間同步測試,測試的結(jié)果如表2所示,。
從表2的結(jié)果可以看出,,時間同步的精度隨著同步周期的增加而變差。其原因是:由于普通晶振的穩(wěn)定度有限,,完成一次同步之后,,同步周期增長導(dǎo)致按照晶振進(jìn)行時間累加,因此在時間累加增長時會造成新的時間偏差,。針對該誤差,,可結(jié)合應(yīng)用場景所需要的時間精度,對同步周期進(jìn)行選擇,。當(dāng)精度要求更高時,,可通過選擇穩(wěn)定度更高的晶振來實現(xiàn)。
3.2.3 背景流量測試結(jié)果
在時間同步周期為1 ms時進(jìn)行了背景流量測試,,測試背景流量對時間同步精度的影響,。分別在無背景流量、周期性廣播16 KB,、32 KB和64 KB數(shù)據(jù)包的情況下進(jìn)行了時間同步測試,。
如圖8,在背景流量為64 KB數(shù)據(jù)包時的時間同步秒脈沖示波器顯示,。經(jīng)過測試,,在不同背景流量時,時間同步精度的變化可以忽略,,因此此處不再展示其他背景流量時的示波器顯示結(jié)果,。
根據(jù)示波器顯示的結(jié)果,,依據(jù)主從端之間的秒脈沖上升沿余輝可以判讀出時間同步精度范圍在-20~20 ns以內(nèi)。在有背景流量為周期性廣播長度為16 KB,、32 KB和64 KB的數(shù)據(jù)包時,同步精度范圍依然保持在-20~20 ns之內(nèi),。
對比四組測試的結(jié)果,,可以發(fā)現(xiàn)背景流量對時間同步的精度影響甚微??梢姙榱四軌虮WC時間同步的過程所進(jìn)行的網(wǎng)絡(luò)擁塞控制策略保證了在網(wǎng)絡(luò)繁忙的情況下,,高精度的時間同步。
4 結(jié)論
對于大型航天器的有效載荷網(wǎng)絡(luò),,本文利用雙向時間同步的方法,,并將其與網(wǎng)絡(luò)協(xié)議進(jìn)行整合,在提供高精度時間的同時,,不增加系統(tǒng)的復(fù)雜度,。并通過步進(jìn)時間補償、晶振頻率校正,、網(wǎng)絡(luò)擁塞控制的策略,,來減小同步周期、晶振偏差和網(wǎng)絡(luò)擁塞等對時間同步的影響,。最后給出的實驗測試結(jié)果表明,,在不同同步周期下、不同背景流量下,,該方法都能實現(xiàn)納秒級的時間同步精度,,符合當(dāng)前各類載荷的精度需求。
參考文獻(xiàn)
[1] MILLS D L.Computer network time synchronization—the network time protocol[J].IEEE Transactions on Communications,,2010,,39(10):1482-1493.
[2] IEEE standard for a precision clock synchronization protocol for networked measurement and control systems.IEC 61588:2009(E),2009.
[3] 王洋.電信網(wǎng)中基于IEEE 1588標(biāo)準(zhǔn)的時鐘同步研究[D].杭州:浙江大學(xué),,2010.
[4] MOCHIZUKI B,,HADZIC I.Improving IEEE 1588v2 clock performance through controlled packet departures[J].IEEE Communications Letters,2010,,14(5):459-461.
作者信息:
魏 瑋1,,2,曹素芝2,,鐘紅恩2
(1.中國科學(xué)院大學(xué),,北京100049;2.中國科學(xué)院空間應(yīng)用工程與技術(shù)中心,,北京100094)