文獻(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.
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所示。
(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所示。
(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所示。
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所示。
從結(jié)果來看,測試中會可能出現(xiàn)△2大于10 μs的情況。為了更好地觀察結(jié)果,可將對時的結(jié)果排序,只顯示△2大于10 μs后的△2和△3以及△3-△2的結(jié)果,如圖7、圖8所示。
從圖4~圖6可以看到,網(wǎng)卡和PCIe PTP板卡的偏差有時會超過20 μs,但此時軟件執(zhí)行耗時也會很大。為了更清晰地看到軟件引入的誤差與網(wǎng)卡和PCIe PTP板卡之間對時偏差的關(guān)聯(lián),按軟件執(zhí)行時間對測試結(jié)果進(jìn)行排序,并得到圖9~圖11。
從圖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所示。
圖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)