文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.180456
中文引用格式: 李永剛,李欣泉,郭力兵,等. 麒麟操作系統(tǒng)平臺(tái)軟時(shí)統(tǒng)同步方法研究[J].電子技術(shù)應(yīng)用,2018,44(9):129-133.
英文引用格式: Li Yonggang,Li Xinquan,Guo Libing,et al. Research of software time synchronization project on Kylin operating system[J]. Application of Electronic Technique,2018,44(9):129-133.
0 引言
常規(guī)采用網(wǎng)絡(luò)定時(shí)協(xié)議主要有網(wǎng)絡(luò)定時(shí)協(xié)議(Network Time Protocol,NTP)和基于IEEE 1588的網(wǎng)絡(luò)測(cè)量和控制系統(tǒng)的精密時(shí)鐘同步協(xié)議標(biāo)準(zhǔn)(Precision Time Protocol,PTP)[1]。NTP網(wǎng)絡(luò)時(shí)間同步方式由于精度僅能達(dá)到10 ms量級(jí),在很多系統(tǒng)及設(shè)備上難以實(shí)現(xiàn)協(xié)同工作以及目標(biāo)的高精度測(cè)量與控制[2]。PTP協(xié)議采用物理層時(shí)間標(biāo)簽和邊界時(shí)鐘等技術(shù)在IP/Ethernet架構(gòu)的網(wǎng)絡(luò)上能夠?qū)崿F(xiàn)亞微秒級(jí)的時(shí)間同步,理論精度比NTP精確10 000倍[3]。
航天測(cè)控系統(tǒng)國(guó)產(chǎn)化步伐加快,中心計(jì)算機(jī)系統(tǒng)全面實(shí)現(xiàn)國(guó)產(chǎn)化。目前中心機(jī)時(shí)間統(tǒng)一系統(tǒng)屬于系統(tǒng)故障單點(diǎn)環(huán)節(jié),應(yīng)急切換耗時(shí)較長(zhǎng),遠(yuǎn)遠(yuǎn)不能滿足任務(wù)需求,并且一直未找到有效的應(yīng)急方案來(lái)解決時(shí)統(tǒng)熱備的問題。麒麟操作系統(tǒng)平臺(tái)軟件時(shí)統(tǒng)基于IEEE 1588標(biāo)準(zhǔn)的PTP時(shí)間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點(diǎn)的授時(shí)與時(shí)間同步[4-5],充分利用現(xiàn)有環(huán)境中硬件的已有特性,避免了硬件架構(gòu)的大幅變動(dòng),同時(shí)減少了硬件采購(gòu)成本。另一方面,軟件時(shí)統(tǒng)采用麒麟操作系統(tǒng)的高精度定時(shí)器機(jī)制實(shí)現(xiàn)硬件時(shí)統(tǒng)的脈沖信號(hào)與定時(shí)器功能,保證精度的同時(shí)提高了靈活性。
1 軟時(shí)統(tǒng)同步方法設(shè)計(jì)
1.1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)
軟件時(shí)統(tǒng)基于IEEE 1588標(biāo)準(zhǔn)的PTP時(shí)間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點(diǎn)的授時(shí)與時(shí)間同步,充分利用現(xiàn)有環(huán)境中硬件的已有特性,避免了硬件架構(gòu)的大幅變動(dòng),同時(shí)減少了硬件采購(gòu)成本。另一方面,軟件時(shí)統(tǒng)利用操作系統(tǒng)的時(shí)間中斷機(jī)制實(shí)現(xiàn)脈沖信號(hào)與定時(shí)器功能,保證精度的同時(shí)提高了靈活性。拓?fù)浣Y(jié)構(gòu)如圖1所示。
(1)B碼機(jī)
B碼機(jī)接收上層時(shí)鐘源的時(shí)間同步信息,并分發(fā)到各B碼終端。且B碼機(jī)支持時(shí)間信息的設(shè)置,從而支持“跳時(shí)”等功能。
(2)PTP時(shí)鐘服務(wù)器
PTP時(shí)鐘服務(wù)器在B碼傳輸系統(tǒng)中作為B碼終端,接收并解算B碼時(shí)間信息。同時(shí),在PTP域中,PTP時(shí)鐘服務(wù)器還作為PTP主時(shí)鐘,解算后的B碼時(shí)間信息會(huì)被設(shè)置到PTP主時(shí)鐘上,進(jìn)而通過PTP邊界時(shí)鐘在PTP域中傳遞并同步。
(3)PTP交換機(jī)
PTP交換機(jī)為支持IEEE 1588標(biāo)準(zhǔn)的以太網(wǎng)交換機(jī)。PTP交換機(jī)作為PTP域中的邊界時(shí)鐘(BC),很大程度減少了以太網(wǎng)幀交換的不確定性對(duì)授時(shí)精度的影響。PTP交換機(jī)處理PTP時(shí)鐘服務(wù)器的PTP幀后發(fā)送給各終端節(jié)點(diǎn),從而實(shí)現(xiàn)各節(jié)點(diǎn)時(shí)間的同步。
(4)終端節(jié)點(diǎn)
終端節(jié)點(diǎn)為業(yè)務(wù)應(yīng)用的工作平臺(tái),其配有支持PTP協(xié)議的網(wǎng)卡和PTP服務(wù)程序,且操作系統(tǒng)內(nèi)核要求為實(shí)時(shí)內(nèi)核。在PTP域中,終端節(jié)點(diǎn)作為從時(shí)鐘,接收域中的時(shí)鐘信息并同步。同時(shí),終端節(jié)點(diǎn)的操作系統(tǒng)為應(yīng)用提供定時(shí)器和脈沖信號(hào)功能,從而保證任務(wù)準(zhǔn)確、同步執(zhí)行。此外,終端節(jié)點(diǎn)基于網(wǎng)卡時(shí)鐘,具備一定的守時(shí)能力。
1.2 軟時(shí)統(tǒng)架構(gòu)
軟件時(shí)統(tǒng)部署于終端節(jié)點(diǎn)上,實(shí)現(xiàn)PTP協(xié)議棧,以及PTP從時(shí)鐘管理、脈沖信號(hào)和定時(shí)器等功能,主要模塊如圖2所示。
(1)軟時(shí)統(tǒng)服務(wù)程序
軟時(shí)統(tǒng)的核外管理程序,負(fù)責(zé)軟時(shí)統(tǒng)各模塊的加載以及PTP服務(wù)的配置和管理。
(2)定時(shí)器接口
提供基于內(nèi)核高精度時(shí)鐘的定時(shí)器調(diào)用API,支持一次定時(shí)功能。
(3)脈沖信號(hào)接口
提供可編程的脈沖信號(hào)調(diào)用API。
(4)時(shí)間信息接口
提供同步時(shí)鐘信息調(diào)用API。
(5)脈沖信號(hào)模塊
基于操作系統(tǒng)高精度時(shí)鐘實(shí)現(xiàn)可編程的脈沖信號(hào)觸發(fā)功能,支持需求所述的多種脈沖信號(hào)頻率。
(6)PTP時(shí)鐘模塊
基于網(wǎng)卡設(shè)備的硬件時(shí)鐘,實(shí)現(xiàn)守時(shí)以及網(wǎng)卡時(shí)鐘的讀取與設(shè)置功能。
2 軟時(shí)統(tǒng)同步測(cè)試驗(yàn)證
全面測(cè)試基于PTP協(xié)議的軟時(shí)統(tǒng)的時(shí)間同步性能,主要包括脈沖中斷信號(hào)(Clock)觸發(fā)時(shí)延(Delay)和授時(shí)精度偏差(Offset)兩部分內(nèi)容。在進(jìn)行授時(shí)精度偏差(Offset)的測(cè)試時(shí),為使數(shù)據(jù)更具說(shuō)服力,需要測(cè)試其與主時(shí)鐘之間的偏差,但由于主時(shí)鐘到網(wǎng)卡的偏差無(wú)法通過測(cè)試軟件來(lái)測(cè)試,故引入了PTP時(shí)間同步板卡來(lái)作為橋梁和基準(zhǔn),即通過分別測(cè)試PTP時(shí)間同步板卡與主時(shí)鐘、網(wǎng)卡與PTP時(shí)間同步板卡之間的偏差,進(jìn)而計(jì)算出網(wǎng)卡與主時(shí)鐘之間的偏差。
2.1 同步測(cè)試方法
基于PTP協(xié)議的軟時(shí)統(tǒng)時(shí)間同步性能測(cè)試時(shí),需采用高精度主時(shí)鐘即PTP時(shí)間服務(wù)器、基于PCIe接口的PTP高精度時(shí)間同步板卡和時(shí)間測(cè)試儀。高精度主時(shí)鐘即PTP時(shí)間服務(wù)器的支持北斗/GPS/IRIG-B/PTP/地面等多種方式的輸入信號(hào),可選、支持軟件配置。具備16路(選用一塊插件)或32路(選用兩塊插件)B碼時(shí)間信號(hào)輸出接口;同時(shí)標(biāo)配2路物理上完全隔離的PTP時(shí)間信號(hào)輸出接口,通過千兆以太網(wǎng)交換機(jī)或PTP交換機(jī)可擴(kuò)展支持1 000個(gè)以上客戶端。
基于PCIe接口的PTP高精度時(shí)間同步板卡,通過PCIe接口直接為服務(wù)器授時(shí)。支持IEEE 1588-2008授時(shí)協(xié)議。通過內(nèi)存I/O映射和專有操作系統(tǒng)時(shí)間同步算法,實(shí)現(xiàn)業(yè)界領(lǐng)先的應(yīng)用程序授時(shí)精度;應(yīng)用程序可以通過訪問內(nèi)存方式每秒讀取100萬(wàn)次以上,讀取的時(shí)間精度優(yōu)于600 ns。時(shí)間同步性能測(cè)試方案如圖3所示。
2.2 軟時(shí)統(tǒng)測(cè)試結(jié)果分析
2.2.1 軟時(shí)統(tǒng)同步測(cè)試
設(shè)計(jì)對(duì)比PTP網(wǎng)卡和PTP板卡時(shí)間的測(cè)試程序,先獲取網(wǎng)卡時(shí)間t1,再獲取PCIe PTP板卡時(shí)間t2,再獲取網(wǎng)卡時(shí)間t3。分別計(jì)算網(wǎng)卡和板卡的差值△2=t3-t2及本次取板卡和網(wǎng)卡時(shí)間所需要的時(shí)間△3=t3-t1。
PCIe PTP板卡與PTP網(wǎng)卡時(shí)間偏差測(cè)試結(jié)果如圖4~圖6所示。
從結(jié)果來(lái)看,測(cè)試中會(huì)可能出現(xiàn)△2大于10 μs的情況。為了更好地觀察結(jié)果,可將對(duì)時(shí)的結(jié)果排序,只顯示△2大于10 μs后的△2和△3以及△3-△2的結(jié)果,如圖7、圖8所示。
從圖4~圖6可以看到,網(wǎng)卡和PCIe PTP板卡的偏差有時(shí)會(huì)超過20 μs,但此時(shí)軟件執(zhí)行耗時(shí)也會(huì)很大。為了更清晰地看到軟件引入的誤差與網(wǎng)卡和PCIe PTP板卡之間對(duì)時(shí)偏差的關(guān)聯(lián),按軟件執(zhí)行時(shí)間對(duì)測(cè)試結(jié)果進(jìn)行排序,并得到圖9~圖11。
從圖9~圖11可以看到,在軟件執(zhí)行時(shí)間為4 μs時(shí),網(wǎng)卡和PCIe PTP板卡之間的偏差在2 μs左右。
綜上,用PCIe PTP板卡評(píng)測(cè)網(wǎng)卡對(duì)時(shí),雖然引入了一定的誤差,但是網(wǎng)卡對(duì)PCIe PTP板卡的時(shí)間最大偏差是2 μs左右,加上PCIe PTP板卡對(duì)網(wǎng)卡的1 μs偏差,那么網(wǎng)卡對(duì)GPS的最大偏差也就在3 μs左右,低于對(duì)時(shí)指標(biāo)要求的20 μs,符合軟時(shí)統(tǒng)指標(biāo)對(duì)服務(wù)器高精度時(shí)間同步的需求。
2.2.2 軟時(shí)統(tǒng)時(shí)間中斷測(cè)試
采用測(cè)試程序,輸出軟時(shí)統(tǒng)1 s、16 ms、20 ms、50 ms、256 ms時(shí)間中斷延遲情況,數(shù)據(jù)統(tǒng)計(jì)結(jié)果如圖12所示,16 ms、20 ms、50 ms、256 ms、1 s中斷延遲分別如圖13、圖14、圖15、圖16、圖17所示。
圖12中,第二行表示最大延遲,單位是微秒;第三行表示測(cè)試的次數(shù)。從表中可以看到,1 Hz的定時(shí)器測(cè)試了84 330次,最大延遲是242 μs。
軟時(shí)統(tǒng)定時(shí)器整體測(cè)試結(jié)果表明,軟時(shí)統(tǒng)的1 s定時(shí)器最大延遲242 μs,16 μs定時(shí)器最大延遲239 μs,20 ms定時(shí)器最大延遲200 μs,50 ms定時(shí)器最大延遲298 μs,256 ms定時(shí)器最大延遲160 μs。從軟時(shí)統(tǒng)各定時(shí)器的測(cè)試結(jié)果來(lái)看,99.9%的延遲都在100 μs以內(nèi)。而硬時(shí)統(tǒng)沒有各單項(xiàng)定時(shí)器測(cè)試的所有延遲數(shù)據(jù),能看到10 Hz以上的定時(shí)器測(cè)試最大延遲都超過了1 ms,超過了指標(biāo)要求的1 ms的最大延遲需求。
3 結(jié)論
通過麒麟操作系統(tǒng)平臺(tái)軟時(shí)統(tǒng)關(guān)鍵技術(shù)研究,可以驗(yàn)證國(guó)產(chǎn)平臺(tái)下軟件時(shí)統(tǒng)關(guān)鍵技術(shù)的可行性,滿足核心軟硬件國(guó)產(chǎn)化自主可控的總體需求;軟件時(shí)統(tǒng)可部署運(yùn)行于測(cè)量船中心機(jī)環(huán)境,通過軟件技術(shù)實(shí)現(xiàn)硬件時(shí)統(tǒng)板卡的功能,既能解決測(cè)量船中心機(jī)時(shí)統(tǒng)熱備的問題,又能靈活便捷部署于軟件開發(fā)測(cè)試平臺(tái)機(jī)房,滿足軟件開發(fā)、維護(hù)和測(cè)試的需求。
本文首次提出將當(dāng)前主流的軟件時(shí)統(tǒng)關(guān)鍵技術(shù)引入國(guó)產(chǎn)平臺(tái)時(shí)統(tǒng)建設(shè)中,取代硬件時(shí)統(tǒng)板卡的功能,研究實(shí)現(xiàn)麒麟操作系統(tǒng)上PTP時(shí)間同步技術(shù),為海上測(cè)控軟件系統(tǒng)未來(lái)的優(yōu)化升級(jí)進(jìn)行積極探索。
參考文獻(xiàn)
[1] 任宏,王志林,羅純哲.時(shí)統(tǒng)對(duì)事精度測(cè)量設(shè)備的設(shè)計(jì)與研究[J].電子技術(shù)應(yīng)用,2009(10):131-134.
[2] 沈迎春.海軍指控系統(tǒng)授時(shí)技術(shù)研究[J].船舶電子工程,2005(2):42-44.
[3] 孫東,孫君亮,李連登.C/S方式軟件時(shí)統(tǒng)的研究與開發(fā)[J].電訊技術(shù),2006,46(1):165-167.
[4] 金湘力.GPS對(duì)時(shí)功能在電力系統(tǒng)自動(dòng)化中的應(yīng)用[J].山西電力,2010(2):36-38.
[5] 張九賓,張丕狀,杜坤坤.無(wú)線分布式測(cè)試系統(tǒng)時(shí)間統(tǒng)一技術(shù)的研究[J].核電子與探測(cè)技術(shù),2010,30(3):380-384.
作者信息:
李永剛1,李欣泉2,郭力兵1,李祥明1,毛 文1
(1.中國(guó)衛(wèi)星海上測(cè)控部,江蘇 江陰214431;2.航天工程大學(xué),北京101400)