《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 麒麟操作系統(tǒng)平臺軟時統(tǒng)同步方法研究
麒麟操作系統(tǒng)平臺軟時統(tǒng)同步方法研究
2018年電子技術(shù)應(yīng)用第9期
李永剛1,李欣泉2,郭力兵1,李祥明1,毛 文1
1.中國衛(wèi)星海上測控部,江蘇 江陰214431;2.航天工程大學(xué),北京101400
摘要: 目前測控計算機(jī)系統(tǒng)國產(chǎn)化步伐逐步加快,麒麟操作系統(tǒng)平臺下軟件時統(tǒng)的探索仍處于起步階段。提出了一種時統(tǒng)軟件化的設(shè)計方案,并進(jìn)行了相關(guān)技術(shù)指標(biāo)的測試驗證,結(jié)果表明,軟件時統(tǒng)性能指標(biāo)符合技術(shù)要求,為后續(xù)軟件時統(tǒng)系統(tǒng)研制提供了技術(shù)支持。
中圖分類號: TP39
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.180456
中文引用格式: 李永剛,李欣泉,郭力兵,等. 麒麟操作系統(tǒng)平臺軟時統(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.
Research of software time synchronization project on Kylin operating system
Li Yonggang1,Li Xinquan2,Guo Libing1,Li Xiangming1,Mao Wen1
1.China Satellite Marine Tracking and Controling Department,Jiangyin 214431,China; 2.China Aerospace Engineering University,Beijing 101400,China
Abstract: The development of homemade computer system of measurement and controlling becomes quickly, but the research of software time on Kylin is still on an underway phase. This paper puts forward the software time project, and tests the performance. The test result shows that the performance of the software time accords with the technology criterion, and the software time project supports the technology instructor of system manufacture.
Key words : software time;synchronization;Kylin

0 引言

    常規(guī)采用網(wǎng)絡(luò)定時協(xié)議主要有網(wǎng)絡(luò)定時協(xié)議(Network Time Protocol,NTP)和基于IEEE 1588的網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標(biāo)準(zhǔn)(Precision Time Protocol,PTP)[1]。NTP網(wǎng)絡(luò)時間同步方式由于精度僅能達(dá)到10 ms量級,在很多系統(tǒng)及設(shè)備上難以實現(xiàn)協(xié)同工作以及目標(biāo)的高精度測量與控制[2]。PTP協(xié)議采用物理層時間標(biāo)簽和邊界時鐘等技術(shù)在IP/Ethernet架構(gòu)的網(wǎng)絡(luò)上能夠?qū)崿F(xiàn)亞微秒級的時間同步,理論精度比NTP精確10 000倍[3]

    航天測控系統(tǒng)國產(chǎn)化步伐加快,中心計算機(jī)系統(tǒng)全面實現(xiàn)國產(chǎn)化。目前中心機(jī)時間統(tǒng)一系統(tǒng)屬于系統(tǒng)故障單點(diǎn)環(huán)節(jié),應(yīng)急切換耗時較長,遠(yuǎn)遠(yuǎn)不能滿足任務(wù)需求,并且一直未找到有效的應(yīng)急方案來解決時統(tǒng)熱備的問題。麒麟操作系統(tǒng)平臺軟件時統(tǒng)基于IEEE 1588標(biāo)準(zhǔn)的PTP時間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點(diǎn)的授時與時間同步[4-5],充分利用現(xiàn)有環(huán)境中硬件的已有特性,避免了硬件架構(gòu)的大幅變動,同時減少了硬件采購成本。另一方面,軟件時統(tǒng)采用麒麟操作系統(tǒng)的高精度定時器機(jī)制實現(xiàn)硬件時統(tǒng)的脈沖信號與定時器功能,保證精度的同時提高了靈活性。

1 軟時統(tǒng)同步方法設(shè)計

1.1 系統(tǒng)拓?fù)浣Y(jié)構(gòu)

    軟件時統(tǒng)基于IEEE 1588標(biāo)準(zhǔn)的PTP時間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點(diǎn)的授時與時間同步,充分利用現(xiàn)有環(huán)境中硬件的已有特性,避免了硬件架構(gòu)的大幅變動,同時減少了硬件采購成本。另一方面,軟件時統(tǒng)利用操作系統(tǒng)的時間中斷機(jī)制實現(xiàn)脈沖信號與定時器功能,保證精度的同時提高了靈活性。拓?fù)浣Y(jié)構(gòu)如圖1所示。

jsj2-t1.gif

    (1)B碼機(jī)

    B碼機(jī)接收上層時鐘源的時間同步信息,并分發(fā)到各B碼終端。且B碼機(jī)支持時間信息的設(shè)置,從而支持“跳時”等功能。

    (2)PTP時鐘服務(wù)器

    PTP時鐘服務(wù)器在B碼傳輸系統(tǒng)中作為B碼終端,接收并解算B碼時間信息。同時,在PTP域中,PTP時鐘服務(wù)器還作為PTP主時鐘,解算后的B碼時間信息會被設(shè)置到PTP主時鐘上,進(jìn)而通過PTP邊界時鐘在PTP域中傳遞并同步。

    (3)PTP交換機(jī)

    PTP交換機(jī)為支持IEEE 1588標(biāo)準(zhǔn)的以太網(wǎng)交換機(jī)。PTP交換機(jī)作為PTP域中的邊界時鐘(BC),很大程度減少了以太網(wǎng)幀交換的不確定性對授時精度的影響。PTP交換機(jī)處理PTP時鐘服務(wù)器的PTP幀后發(fā)送給各終端節(jié)點(diǎn),從而實現(xiàn)各節(jié)點(diǎn)時間的同步。

    (4)終端節(jié)點(diǎn)

    終端節(jié)點(diǎn)為業(yè)務(wù)應(yīng)用的工作平臺,其配有支持PTP協(xié)議的網(wǎng)卡和PTP服務(wù)程序,且操作系統(tǒng)內(nèi)核要求為實時內(nèi)核。在PTP域中,終端節(jié)點(diǎn)作為從時鐘,接收域中的時鐘信息并同步。同時,終端節(jié)點(diǎn)的操作系統(tǒng)為應(yīng)用提供定時器和脈沖信號功能,從而保證任務(wù)準(zhǔn)確、同步執(zhí)行。此外,終端節(jié)點(diǎn)基于網(wǎng)卡時鐘,具備一定的守時能力。

1.2 軟時統(tǒng)架構(gòu)

    軟件時統(tǒng)部署于終端節(jié)點(diǎn)上,實現(xiàn)PTP協(xié)議棧,以及PTP從時鐘管理、脈沖信號和定時器等功能,主要模塊如圖2所示。

jsj2-t2.gif

    (1)軟時統(tǒng)服務(wù)程序

    軟時統(tǒng)的核外管理程序,負(fù)責(zé)軟時統(tǒng)各模塊的加載以及PTP服務(wù)的配置和管理。

    (2)定時器接口

    提供基于內(nèi)核高精度時鐘的定時器調(diào)用API,支持一次定時功能。

    (3)脈沖信號接口

    提供可編程的脈沖信號調(diào)用API。

    (4)時間信息接口

    提供同步時鐘信息調(diào)用API。

    (5)脈沖信號模塊

    基于操作系統(tǒng)高精度時鐘實現(xiàn)可編程的脈沖信號觸發(fā)功能,支持需求所述的多種脈沖信號頻率。

    (6)PTP時鐘模塊

    基于網(wǎng)卡設(shè)備的硬件時鐘,實現(xiàn)守時以及網(wǎng)卡時鐘的讀取與設(shè)置功能。

2 軟時統(tǒng)同步測試驗證

    全面測試基于PTP協(xié)議的軟時統(tǒng)的時間同步性能,主要包括脈沖中斷信號(Clock)觸發(fā)時延(Delay)和授時精度偏差(Offset)兩部分內(nèi)容。在進(jìn)行授時精度偏差(Offset)的測試時,為使數(shù)據(jù)更具說服力,需要測試其與主時鐘之間的偏差,但由于主時鐘到網(wǎng)卡的偏差無法通過測試軟件來測試,故引入了PTP時間同步板卡來作為橋梁和基準(zhǔn),即通過分別測試PTP時間同步板卡與主時鐘、網(wǎng)卡與PTP時間同步板卡之間的偏差,進(jìn)而計算出網(wǎng)卡與主時鐘之間的偏差。

2.1 同步測試方法

    基于PTP協(xié)議的軟時統(tǒng)時間同步性能測試時,需采用高精度主時鐘即PTP時間服務(wù)器、基于PCIe接口的PTP高精度時間同步板卡和時間測試儀。高精度主時鐘即PTP時間服務(wù)器的支持北斗/GPS/IRIG-B/PTP/地面等多種方式的輸入信號,可選、支持軟件配置。具備16路(選用一塊插件)或32路(選用兩塊插件)B碼時間信號輸出接口;同時標(biāo)配2路物理上完全隔離的PTP時間信號輸出接口,通過千兆以太網(wǎng)交換機(jī)或PTP交換機(jī)可擴(kuò)展支持1 000個以上客戶端。

    基于PCIe接口的PTP高精度時間同步板卡,通過PCIe接口直接為服務(wù)器授時。支持IEEE 1588-2008授時協(xié)議。通過內(nèi)存I/O映射和專有操作系統(tǒng)時間同步算法,實現(xiàn)業(yè)界領(lǐng)先的應(yīng)用程序授時精度;應(yīng)用程序可以通過訪問內(nèi)存方式每秒讀取100萬次以上,讀取的時間精度優(yōu)于600 ns。時間同步性能測試方案如圖3所示。

jsj2-t3.gif

2.2 軟時統(tǒng)測試結(jié)果分析

2.2.1 軟時統(tǒng)同步測試

    設(shè)計對比PTP網(wǎng)卡和PTP板卡時間的測試程序,先獲取網(wǎng)卡時間t1,再獲取PCIe PTP板卡時間t2,再獲取網(wǎng)卡時間t3。分別計算網(wǎng)卡和板卡的差值△2=t3-t2及本次取板卡和網(wǎng)卡時間所需要的時間△3=t3-t1。

    PCIe PTP板卡與PTP網(wǎng)卡時間偏差測試結(jié)果如圖4~圖6所示。

jsj2-t4.gif

jsj2-t5.gif

jsj2-t6.gif

    從結(jié)果來看,測試中會可能出現(xiàn)△2大于10 μs的情況。為了更好地觀察結(jié)果,可將對時的結(jié)果排序,只顯示△2大于10 μs后的△2和△3以及△3-△2的結(jié)果,如圖7、圖8所示。

jsj2-t7.gif

jsj2-t8.gif

    從圖4~圖6可以看到,網(wǎng)卡和PCIe PTP板卡的偏差有時會超過20 μs,但此時軟件執(zhí)行耗時也會很大。為了更清晰地看到軟件引入的誤差與網(wǎng)卡和PCIe PTP板卡之間對時偏差的關(guān)聯(lián),按軟件執(zhí)行時間對測試結(jié)果進(jìn)行排序,并得到圖9~圖11。

jsj2-t9.gif

jsj2-t10.gif

jsj2-t11.gif

    從圖9~圖11可以看到,在軟件執(zhí)行時間為4 μs時,網(wǎng)卡和PCIe PTP板卡之間的偏差在2 μs左右。

    綜上,用PCIe PTP板卡評測網(wǎng)卡對時,雖然引入了一定的誤差,但是網(wǎng)卡對PCIe PTP板卡的時間最大偏差是2 μs左右,加上PCIe PTP板卡對網(wǎng)卡的1 μs偏差,那么網(wǎng)卡對GPS的最大偏差也就在3 μs左右,低于對時指標(biāo)要求的20 μs,符合軟時統(tǒng)指標(biāo)對服務(wù)器高精度時間同步的需求。

2.2.2 軟時統(tǒng)時間中斷測試

    采用測試程序,輸出軟時統(tǒng)1 s、16 ms、20 ms、50 ms、256 ms時間中斷延遲情況,數(shù)據(jù)統(tǒng)計結(jié)果如圖12所示,16 ms、20 ms、50 ms、256 ms、1 s中斷延遲分別如圖13、圖14、圖15、圖16、圖17所示。

jsj2-t12.gif

jsj2-t13.gif

jsj2-t14.gif

jsj2-t15.gif

jsj2-t16.gif

jsj2-t17.gif

    圖12中,第二行表示最大延遲,單位是微秒;第三行表示測試的次數(shù)。從表中可以看到,1 Hz的定時器測試了84 330次,最大延遲是242 μs。

    軟時統(tǒng)定時器整體測試結(jié)果表明,軟時統(tǒng)的1 s定時器最大延遲242 μs,16 μs定時器最大延遲239 μs,20 ms定時器最大延遲200 μs,50 ms定時器最大延遲298 μs,256 ms定時器最大延遲160 μs。從軟時統(tǒng)各定時器的測試結(jié)果來看,99.9%的延遲都在100 μs以內(nèi)。而硬時統(tǒng)沒有各單項定時器測試的所有延遲數(shù)據(jù),能看到10 Hz以上的定時器測試最大延遲都超過了1 ms,超過了指標(biāo)要求的1 ms的最大延遲需求。

3 結(jié)論

    通過麒麟操作系統(tǒng)平臺軟時統(tǒng)關(guān)鍵技術(shù)研究,可以驗證國產(chǎn)平臺下軟件時統(tǒng)關(guān)鍵技術(shù)的可行性,滿足核心軟硬件國產(chǎn)化自主可控的總體需求;軟件時統(tǒng)可部署運(yùn)行于測量船中心機(jī)環(huán)境,通過軟件技術(shù)實現(xiàn)硬件時統(tǒng)板卡的功能,既能解決測量船中心機(jī)時統(tǒng)熱備的問題,又能靈活便捷部署于軟件開發(fā)測試平臺機(jī)房,滿足軟件開發(fā)、維護(hù)和測試的需求。

    本文首次提出將當(dāng)前主流的軟件時統(tǒng)關(guān)鍵技術(shù)引入國產(chǎn)平臺時統(tǒng)建設(shè)中,取代硬件時統(tǒng)板卡的功能,研究實現(xiàn)麒麟操作系統(tǒng)上PTP時間同步技術(shù),為海上測控軟件系統(tǒng)未來的優(yōu)化升級進(jìn)行積極探索。

參考文獻(xiàn)

[1] 任宏,王志林,羅純哲.時統(tǒng)對事精度測量設(shè)備的設(shè)計與研究[J].電子技術(shù)應(yīng)用,2009(10):131-134.

[2] 沈迎春.海軍指控系統(tǒng)授時技術(shù)研究[J].船舶電子工程,2005(2):42-44.

[3] 孫東,孫君亮,李連登.C/S方式軟件時統(tǒng)的研究與開發(fā)[J].電訊技術(shù),2006,46(1):165-167.

[4] 金湘力.GPS對時功能在電力系統(tǒng)自動化中的應(yīng)用[J].山西電力,2010(2):36-38.

[5] 張九賓,張丕狀,杜坤坤.無線分布式測試系統(tǒng)時間統(tǒng)一技術(shù)的研究[J].核電子與探測技術(shù),2010,30(3):380-384.




作者信息:

李永剛1,李欣泉2,郭力兵1,李祥明1,毛  文1

(1.中國衛(wèi)星海上測控部,江蘇 江陰214431;2.航天工程大學(xué),北京101400)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。