《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 麒麟操作系統(tǒng)平臺(tái)軟時(shí)統(tǒng)同步方法研究
麒麟操作系統(tǒng)平臺(tái)軟時(shí)統(tǒng)同步方法研究
2018年電子技術(shù)應(yīng)用第9期
李永剛1,李欣泉2,郭力兵1,李祥明1,毛 文1
1.中國(guó)衛(wèi)星海上測(cè)控部,江蘇 江陰214431;2.航天工程大學(xué),北京101400
摘要: 目前測(cè)控計(jì)算機(jī)系統(tǒng)國(guó)產(chǎn)化步伐逐步加快,麒麟操作系統(tǒng)平臺(tái)下軟件時(shí)統(tǒng)的探索仍處于起步階段。提出了一種時(shí)統(tǒng)軟件化的設(shè)計(jì)方案,并進(jìn)行了相關(guān)技術(shù)指標(biāo)的測(cè)試驗(yàn)證,結(jié)果表明,軟件時(shí)統(tǒng)性能指標(biāo)符合技術(shù)要求,為后續(xù)軟件時(shí)統(tǒng)系統(tǒng)研制提供了技術(shù)支持。
中圖分類號(hào): TP39
文獻(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.
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ò)定時(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所示。

jsj2-t1.gif

    (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所示。

jsj2-t2.gif

    (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所示。

jsj2-t3.gif

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所示。

jsj2-t4.gif

jsj2-t5.gif

jsj2-t6.gif

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

jsj2-t7.gif

jsj2-t8.gif

    從圖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。

jsj2-t9.gif

jsj2-t10.gif

jsj2-t11.gif

    從圖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所示。

jsj2-t12.gif

jsj2-t13.gif

jsj2-t14.gif

jsj2-t15.gif

jsj2-t16.gif

jsj2-t17.gif

    圖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)

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