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