文献标识码:A
DOI:10.16157/j.issn.0258-7998.180456
中文引用格式:李永刚,李欣泉,郭力兵,等. 麒麟操作系统平台软时统同步方法研究[J].电子技术应用,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 引言
常规采用网络定时协议主要有网络定时协议(Network Time Protocol,NTP)和基于IEEE 1588的网络测量和控制系统的精密时钟同步协议标准(Precision Time Protocol,PTP)[1]。NTP网络时间同步方式由于精度仅能达到10 ms量级,在很多系统及设备上难以实现协同工作以及目标的高精度测量与控制[2]。PTP协议采用物理层时间标签和边界时钟等技术在IP/Ethernet架构的网络上能够实现亚微秒级的时间同步,理论精度比NTP精确10 000倍[3]。
航天测控系统国产化步伐加快,中心计算机系统全面实现国产化。目前中心机时间统一系统属于系统故障单点环节,应急切换耗时较长,远远不能满足任务需求,并且一直未找到有效的应急方案来解决时统热备的问题。麒麟操作系统平台软件时统基于IEEE 1588标准的PTP时间同步协议完成系统内各节点的授时与时间同步[4-5],充分利用现有环境中硬件的已有特性,避免了硬件架构的大幅变动,同时减少了硬件采购成本。另一方面,软件时统采用麒麟操作系统的高精度定时器机制实现硬件时统的脉冲信号与定时器功能,保证精度的同时提高了灵活性。
1软时统同步方法设计
1.1 系统拓扑结构
软件时统基于IEEE 1588标准的PTP时间同步协议完成系统内各节点的授时与时间同步,充分利用现有环境中硬件的已有特性,避免了硬件架构的大幅变动,同时减少了硬件采购成本。另一方面,软件时统利用操作系统的时间中断机制实现脉冲信号与定时器功能,保证精度的同时提高了灵活性。拓扑结构如图1所示。
(1)B码机
B码机接收上层时钟源的时间同步信息,并分发到各B码终端。且B码机支持时间信息的设置,从而支持“跳时”等功能。
(2)PTP时钟服务器
PTP时钟服务器在B码传输系统中作为B码终端,接收并解算B码时间信息。同时,在PTP域中,PTP时钟服务器还作为PTP主时钟,解算后的B码时间信息会被设置到PTP主时钟上,进而通过PTP边界时钟在PTP域中传递并同步。
(3)PTP交换机
PTP交换机为支持IEEE 1588标准的以太网交换机。PTP交换机作为PTP域中的边界时钟(BC),很大程度减少了以太网帧交换的不确定性对授时精度的影响。PTP交换机处理PTP时钟服务器的PTP帧后发送给各终端节点,从而实现各节点时间的同步。
(4)终端节点
终端节点为业务应用的工作平台,其配有支持PTP协议的网卡和PTP服务程序,且操作系统内核要求为实时内核。在PTP域中,终端节点作为从时钟,接收域中的时钟信息并同步。同时,终端节点的操作系统为应用提供定时器和脉冲信号功能,从而保证任务准确、同步执行。此外,终端节点基于网卡时钟,具备一定的守时能力。
1.2 软时统架构
软件时统部署于终端节点上,实现PTP协议栈,以及PTP从时钟管理、脉冲信号和定时器等功能,主要模块如图2所示。
(1)软时统服务程序
软时统的核外管理程序,负责软时统各模块的加载以及PTP服务的配置和管理。
(2)定时器接口
提供基于内核高精度时钟的定时器调用API,支持一次定时功能。
(3)脉冲信号接口
提供可编程的脉冲信号调用API。
(4)时间信息接口
提供同步时钟信息调用API。
(5)脉冲信号模块
基于操作系统高精度时钟实现可编程的脉冲信号触发功能,支持需求所述的多种脉冲信号频率。
(6)PTP时钟模块
基于网卡设备的硬件时钟,实现守时以及网卡时钟的读取与设置功能。
2 软时统同步测试验证
全面测试基于PTP协议的软时统的时间同步性能,主要包括脉冲中断信号(Clock)触发时延(Delay)和授时精度偏差(Offset)两部分内容。在进行授时精度偏差(Offset)的测试时,为使数据更具说服力,需要测试其与主时钟之间的偏差,但由于主时钟到网卡的偏差无法通过测试软件来测试,故引入了PTP时间同步板卡来作为桥梁和基准,即通过分别测试PTP时间同步板卡与主时钟、网卡与PTP时间同步板卡之间的偏差,进而计算出网卡与主时钟之间的偏差。
2.1 同步测试方法
基于PTP协议的软时统时间同步性能测试时,需采用高精度主时钟即PTP时间服务器、基于PCIe接口的PTP高精度时间同步板卡和时间测试仪。高精度主时钟即PTP时间服务器的支持北斗/GPS/IRIG-B/PTP/地面等多种方式的输入信号,可选、支持软件配置。具备16路(选用一块插件)或32路(选用两块插件)B码时间信号输出接口;同时标配2路物理上完全隔离的PTP时间信号输出接口,通过千兆以太网交换机或PTP交换机可扩展支持1 000个以上客户端。
基于PCIe接口的PTP高精度时间同步板卡,通过PCIe接口直接为服务器授时。支持IEEE 1588-2008授时协议。通过内存I/O映射和专有操作系统时间同步算法,实现业界领先的应用程序授时精度;应用程序可以通过访问内存方式每秒读取100万次以上,读取的时间精度优于600 ns。时间同步性能测试方案如图3所示。
2.2 软时统测试结果分析
2.2.1 软时统同步测试
设计对比PTP网卡和PTP板卡时间的测试程序,先获取网卡时间t1,再获取PCIe PTP板卡时间t2,再获取网卡时间t3。分别计算网卡和板卡的差值△2=t3-t2及本次取板卡和网卡时间所需要的时间△3=t3-t1。
PCIe PTP板卡与PTP网卡时间偏差测试结果如图4~图6所示。
从结果来看,测试中会可能出现△2大于10 μs的情况。为了更好地观察结果,可将对时的结果排序,只显示△2大于10 μs后的△2和△3以及△3-△2的结果,如图7、图8所示。
从图4~图6可以看到,网卡和PCIe PTP板卡的偏差有时会超过20 μs,但此时软件执行耗时也会很大。为了更清晰地看到软件引入的误差与网卡和PCIe PTP板卡之间对时偏差的关联,按软件执行时间对测试结果进行排序,并得到图9~图11。
从图9~图11可以看到,在软件执行时间为4 μs时,网卡和PCIe PTP板卡之间的偏差在2 μs左右。
综上,用PCIe PTP板卡评测网卡对时,虽然引入了一定的误差,但是网卡对PCIe PTP板卡的时间最大偏差是2 μs左右,加上PCIe PTP板卡对网卡的1 μs偏差,那么网卡对GPS的最大偏差也就在3 μs左右,低于对时指标要求的20 μs,符合软时统指标对服务器高精度时间同步的需求。
2.2.2 软时统时间中断测试
采用测试程序,输出软时统1 s、16 ms、20 ms、50 ms、256 ms时间中断延迟情况,数据统计结果如图12所示,16 ms、20 ms、50 ms、256 ms、1 s中断延迟分别如图13、图14、图15、图16、图17所示。
图12中,第二行表示最大延迟,单位是微秒;第三行表示测试的次数。从表中可以看到,1 Hz的定时器测试了84 330次,最大延迟是242 μs。
软时统定时器整体测试结果表明,软时统的1 s定时器最大延迟242 μs,16 μs定时器最大延迟239 μs,20 ms定时器最大延迟200 μs,50 ms定时器最大延迟298 μs,256 ms定时器最大延迟160 μs。从软时统各定时器的测试结果来看,99.9%的延迟都在100 μs以内。而硬时统没有各单项定时器测试的所有延迟数据,能看到10 Hz以上的定时器测试最大延迟都超过了1 ms,超过了指标要求的1 ms的最大延迟需求。
3 结论
通过麒麟操作系统平台软时统关键技术研究,可以验证国产平台下软件时统关键技术的可行性,满足核心软硬件国产化自主可控的总体需求;软件时统可部署运行于测量船中心机环境,通过软件技术实现硬件时统板卡的功能,既能解决测量船中心机时统热备的问题,又能灵活便捷部署于软件开发测试平台机房,满足软件开发、维护和测试的需求。
本文首次提出将当前主流的软件时统关键技术引入国产平台时统建设中,取代硬件时统板卡的功能,研究实现麒麟操作系统上PTP时间同步技术,为海上测控软件系统未来的优化升级进行积极探索。
参考文献
[1] 任宏,王志林,罗纯哲.时统对事精度测量设备的设计与研究[J].电子技术应用,2009(10):131-134.
[2] 沈迎春.海军指控系统授时技术研究[J].船舶电子工程,2005(2):42-44.
[3] 孙东,孙君亮,李连登.C/S方式软件时统的研究与开发[J].电讯技术,2006,46(1):165-167.
[4] 金湘力.GPS对时功能在电力系统自动化中的应用[J].山西电力,2010(2):36-38.
[5] 张九宾,张丕状,杜坤坤.无线分布式测试系统时间统一技术的研究[J].核电子与探测技术,2010,30(3):380-384.
作者信息:
李永刚1,李欣泉2,郭力兵1,李祥明1,毛 文1
(1.中国卫星海上测控部,江苏 江阴214431;2.航天工程大学,北京101400)