文獻標識碼: 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é)議標準(Precision Time Protocol,,PTP)[1]。NTP網(wǎng)絡(luò)時間同步方式由于精度僅能達到10 ms量級,,在很多系統(tǒng)及設(shè)備上難以實現(xiàn)協(xié)同工作以及目標的高精度測量與控制[2],。PTP協(xié)議采用物理層時間標簽和邊界時鐘等技術(shù)在IP/Ethernet架構(gòu)的網(wǎng)絡(luò)上能夠?qū)崿F(xiàn)亞微秒級的時間同步,理論精度比NTP精確10 000倍[3],。
航天測控系統(tǒng)國產(chǎn)化步伐加快,,中心計算機系統(tǒng)全面實現(xiàn)國產(chǎn)化。目前中心機時間統(tǒng)一系統(tǒng)屬于系統(tǒng)故障單點環(huán)節(jié),,應(yīng)急切換耗時較長,,遠遠不能滿足任務(wù)需求,并且一直未找到有效的應(yīng)急方案來解決時統(tǒng)熱備的問題,。麒麟操作系統(tǒng)平臺軟件時統(tǒng)基于IEEE 1588標準的PTP時間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點的授時與時間同步[4-5],充分利用現(xiàn)有環(huán)境中硬件的已有特性,,避免了硬件架構(gòu)的大幅變動,,同時減少了硬件采購成本。另一方面,,軟件時統(tǒng)采用麒麟操作系統(tǒng)的高精度定時器機制實現(xiàn)硬件時統(tǒng)的脈沖信號與定時器功能,,保證精度的同時提高了靈活性,。
1 軟時統(tǒng)同步方法設(shè)計
1.1 系統(tǒng)拓撲結(jié)構(gòu)
軟件時統(tǒng)基于IEEE 1588標準的PTP時間同步協(xié)議完成系統(tǒng)內(nèi)各節(jié)點的授時與時間同步,充分利用現(xiàn)有環(huán)境中硬件的已有特性,,避免了硬件架構(gòu)的大幅變動,,同時減少了硬件采購成本。另一方面,,軟件時統(tǒng)利用操作系統(tǒng)的時間中斷機制實現(xiàn)脈沖信號與定時器功能,,保證精度的同時提高了靈活性。拓撲結(jié)構(gòu)如圖1所示,。
(1)B碼機
B碼機接收上層時鐘源的時間同步信息,,并分發(fā)到各B碼終端。且B碼機支持時間信息的設(shè)置,,從而支持“跳時”等功能,。
(2)PTP時鐘服務(wù)器
PTP時鐘服務(wù)器在B碼傳輸系統(tǒng)中作為B碼終端,接收并解算B碼時間信息,。同時,,在PTP域中,PTP時鐘服務(wù)器還作為PTP主時鐘,,解算后的B碼時間信息會被設(shè)置到PTP主時鐘上,,進而通過PTP邊界時鐘在PTP域中傳遞并同步。
(3)PTP交換機
PTP交換機為支持IEEE 1588標準的以太網(wǎng)交換機,。PTP交換機作為PTP域中的邊界時鐘(BC),,很大程度減少了以太網(wǎng)幀交換的不確定性對授時精度的影響。PTP交換機處理PTP時鐘服務(wù)器的PTP幀后發(fā)送給各終端節(jié)點,,從而實現(xiàn)各節(jié)點時間的同步,。
(4)終端節(jié)點
終端節(jié)點為業(yè)務(wù)應(yīng)用的工作平臺,其配有支持PTP協(xié)議的網(wǎng)卡和PTP服務(wù)程序,,且操作系統(tǒng)內(nèi)核要求為實時內(nèi)核,。在PTP域中,終端節(jié)點作為從時鐘,,接收域中的時鐘信息并同步,。同時,終端節(jié)點的操作系統(tǒng)為應(yīng)用提供定時器和脈沖信號功能,,從而保證任務(wù)準確,、同步執(zhí)行。此外,,終端節(jié)點基于網(wǎng)卡時鐘,,具備一定的守時能力。
1.2 軟時統(tǒng)架構(gòu)
軟件時統(tǒng)部署于終端節(jié)點上,,實現(xiàn)PTP協(xié)議棧,,以及PTP從時鐘管理,、脈沖信號和定時器等功能,主要模塊如圖2所示,。
(1)軟時統(tǒng)服務(wù)程序
軟時統(tǒng)的核外管理程序,,負責軟時統(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)容,。在進行授時精度偏差(Offset)的測試時,,為使數(shù)據(jù)更具說服力,需要測試其與主時鐘之間的偏差,,但由于主時鐘到網(wǎng)卡的偏差無法通過測試軟件來測試,,故引入了PTP時間同步板卡來作為橋梁和基準,即通過分別測試PTP時間同步板卡與主時鐘,、網(wǎng)卡與PTP時間同步板卡之間的偏差,,進而計算出網(wǎng)卡與主時鐘之間的偏差。
2.1 同步測試方法
基于PTP協(xié)議的軟時統(tǒng)時間同步性能測試時,,需采用高精度主時鐘即PTP時間服務(wù)器,、基于PCIe接口的PTP高精度時間同步板卡和時間測試儀。高精度主時鐘即PTP時間服務(wù)器的支持北斗/GPS/IRIG-B/PTP/地面等多種方式的輸入信號,,可選,、支持軟件配置。具備16路(選用一塊插件)或32路(選用兩塊插件)B碼時間信號輸出接口,;同時標配2路物理上完全隔離的PTP時間信號輸出接口,,通過千兆以太網(wǎng)交換機或PTP交換機可擴展支持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é)果進行排序,,并得到圖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左右,低于對時指標要求的20 μs,,符合軟時統(tǒng)指標對服務(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,,超過了指標要求的1 ms的最大延遲需求,。
3 結(jié)論
通過麒麟操作系統(tǒng)平臺軟時統(tǒng)關(guān)鍵技術(shù)研究,可以驗證國產(chǎn)平臺下軟件時統(tǒng)關(guān)鍵技術(shù)的可行性,,滿足核心軟硬件國產(chǎn)化自主可控的總體需求,;軟件時統(tǒng)可部署運行于測量船中心機環(huán)境,通過軟件技術(shù)實現(xiàn)硬件時統(tǒng)板卡的功能,,既能解決測量船中心機時統(tǒng)熱備的問題,,又能靈活便捷部署于軟件開發(fā)測試平臺機房,滿足軟件開發(fā),、維護和測試的需求,。
本文首次提出將當前主流的軟件時統(tǒng)關(guān)鍵技術(shù)引入國產(chǎn)平臺時統(tǒng)建設(shè)中,取代硬件時統(tǒng)板卡的功能,,研究實現(xiàn)麒麟操作系統(tǒng)上PTP時間同步技術(shù),,為海上測控軟件系統(tǒng)未來的優(yōu)化升級進行積極探索。
參考文獻
[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.航天工程大學,,北京101400)