文獻(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)熱備的問(wèn)題,。麒麟操作系統(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)而通過(guò)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ú)法通過(guò)測(cè)試軟件來(lái)測(cè)試,,故引入了PTP時(shí)間同步板卡來(lái)作為橋梁和基準(zhǔn),即通過(guò)分別測(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)輸出接口,通過(guò)千兆以太網(wǎng)交換機(jī)或PTP交換機(jī)可擴(kuò)展支持1 000個(gè)以上客戶端,。
基于PCIe接口的PTP高精度時(shí)間同步板卡,,通過(guò)PCIe接口直接為服務(wù)器授時(shí)。支持IEEE 1588-2008授時(shí)協(xié)議,。通過(guò)內(nèi)存I/O映射和專有操作系統(tǒng)時(shí)間同步算法,,實(shí)現(xiàn)業(yè)界領(lǐng)先的應(yīng)用程序授時(shí)精度;應(yīng)用程序可以通過(guò)訪問(wèn)內(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ì)超過(guò)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)沒(méi)有各單項(xiàng)定時(shí)器測(cè)試的所有延遲數(shù)據(jù),能看到10 Hz以上的定時(shí)器測(cè)試最大延遲都超過(guò)了1 ms,,超過(guò)了指標(biāo)要求的1 ms的最大延遲需求,。
3 結(jié)論
通過(guò)麒麟操作系統(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)境,,通過(guò)軟件技術(shù)實(shí)現(xiàn)硬件時(shí)統(tǒng)板卡的功能,,既能解決測(cè)量船中心機(jī)時(shí)統(tǒng)熱備的問(wèn)題,又能靈活便捷部署于軟件開發(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)