2023年6月30日发(作者:)
Parts and Application器件与应用S文献引用格式:刘伟.基于88E1512的PTP精确时间同步协议设计与实现[J].电声技术,2021,45(3):67 - and implementation for precision time protocol based on 88E1512[J].Audio Engineering,2021,45
(3):67 - 71.中图分类号:TN919.34 文献标识码:A DOI:10. 16311/j. audioe. 2021. 03. 013基于88E1512的PTP精确时间同步协议设计与实现刘 伟(中国西南电子技术研究所,四川 成都 610036)摘要:随着现代作战平台航电系统高度综合化,作战方式也朝着多用途和体系作战等方面发展,时间同步精度由毫秒量级提高到亚微秒量级,时间同步需求也逐渐由独立系统扩展到分布式系统。基于此,详细介绍高精度时间同步协议(Precision Time Protocol,PTP)的同步原理和工作流程,提出利用88E1512芯片实现PTP时间同步的方法,并详细分析其软硬件架构以及实现流程,同时搭建测试环境开展测试验证。测试结果表明,该方法的PTP时间同步精度满足亚微秒量级的精度需求。关键词:时间同步;PTP;时间服务器Design and Implementation for Precision Time Protocol Based on 88E1512(Southwest China Institute of Electronic Technology, Chengdu 610036, China)LIU WeiAbstract:
With the highly integrated avionics system of modern combat platform, the combat mode is also developing towards multi-purpose and system of systems combat. The time synchronization accuracy is improved from millisecond level to submicrosecond level,
synchronization principle and work flow of Precision Time Protocol(PTP) are introduced in detail. The method of using 88E1512 chip
to realize PTP time synchronization is proposed, and its software and hardware architecture and implementation process are analyzed in
accuracy of this method meets the accuracy requirement of sub microsecond ds:
time synchronization; precision time protocol; time serverand the time synchronization requirement is gradually extended from independent system to distributed system. Based on this, the
detail. At the same time, a test environment is built to carry out test verification. The test results show that the PTP time synchronization
0
引 言50~100 ns,满足分布式系统精度需求,但是获取GPS/BD时间需要配置卫导接收机,成本较高,同时对分布式设备布置位置也有要求,且容易被干扰。PTP精确时间同步协议是IEEE 1588规范定义的网络实时时间同步标准,通过以太网信息交互为用户端提供高精度时间。相比现有的各时间同步机制,PTP具备以下优势:(1)使用普通的以太网数据线传输时钟信号;(2)相比基于RFC规范的NTP协议,PTP时间同步能够提供更高的时间同步精度,一般来说,PTP时间同步精度能达到亚微秒级,而NTP只能达到毫秒量级[3-4];(3)相比GPS/北斗提供的UTC时间,PTP通过以太网进行时间同步,具有使用简单和可扩展性强的优点。2021年第45卷第3期随着现代作战平台航电系统高度综合化,作战方式也朝着多用途和体系作战等方面发展,时间同步精度需求也从以往的毫秒量级提高到微秒乃至亚微秒量级[1]。仿真计算表明,要满足态势数据融合要求,各传感器间的时间同步精度要求至少为
1 ms,编队雷达和光电组网探测对时间同步精度的要求为1 µs[2]。同时,时间同步需求也逐渐由独立系统扩展到分布式系统。独立系统可采用RS-485和BLVDS等总线形式,利用B(DC)码进行时间分发,实现时间同步。分布式系统可采用网络时间协议(Network Time Protocol,NTP)或者GPS/BD时间实现时间同步。然而,基于以太网的NTP网络时间协议精度仅能达到10~100 ms,无法满足亚微秒量级时间同步精度需求。GPS/BD时间精度为投稿网址: 67Parts and Applications器件与应用本文利用88E1512 PHY芯片实现PTP精确时间协议,并搭建试验环境进行了测试验证。测试结果表明,PTP精确时间协议能够满足亚微秒量级的时间同步精度需求。1
工作原理PTP精确时间同步协议通过从时钟和主时钟周期交互时钟参考信息,从时钟接收时钟参考信息并计算得到和主时钟的时间偏差,从而调整本地时间,1.1
实现和主时钟的时间同步。数据格式定义1.1.1 时间消息格式PTP时间消息长度为10字节。其中,高6字节为秒时间,单位为s;低4字节为秒内时间,单位为ns,定义如下:Struct TimeStamp{UInteger48 secondsField;UInteger32 nanosecondsField;}其中,秒时间为从1970年1月1日0时0分0秒开始的总秒数。1.1.2 PTP报文格式PTP报文分为事件报文和通用报文,其中,事件报文用于主从时钟交互时钟信息,通用报文用于主从时钟建立连接、状态监控。二者的区别在于,事件报文发送和接收都需要时间戳信息,通用报文发送和接收不需要时间戳信息。PTP报文由报文头、报文体以及扩展字段组成[5-6],如图1所示。其中,报文头为34字节。PTP报文报文头报文体扩展字段3 4字节 可变长度可选项图1 PTP报文组成1.2
PTP同步流程PTP同步流程如下。(1)主时钟向从时钟发送Sync报文,读取报文发送时间,记为t1;(2)从时钟收到Sync报文,读取报文到达时间,记为t2;(3)主时钟向从时钟发送Follow_up报文,报682021年第45卷第3期文中携带Sync报文发送时间t1;(4)从时钟向主时钟发送Delay_Req报文,读取报文发送时间,记为t3;(5)主时钟收到Delay_Req报文,读取报文到达时间,记为t4;(6)主时钟收到从时钟发送的Delay_Req报文后,向从时钟发送Delay_Resp报文,报文中携带Delay_Req的到达时间t4。从时钟根据获取的4个时间(t1、t2、t3、t4),
计算从时钟和主时钟的时钟偏差为:Offset=[(t2-
t1)-(t4-t3)]/2。PTP时间同步实现过程如图2所示。图2 PTP时间同步实现过程2
2.1
硬件架构硬件架构典型的PTP时间同步硬件架构如图3所示。外围电路时钟同步单元时钟调整电源应用程序UDP/IP误差计算接口驱动程序晶振截取&加盖时间戳PTP报文报文解析PHY1 pps8 8E1512用户端以太网交换机图3 PTP时间同步硬件架构PTP时间同步硬件架构包括外围电路和时钟同步单元。外围电路提供PTP时间同步功能工作所需的电源、接口以及时钟信号,其中时钟信号采用125 MHz时钟,可通过PHY寄存器配置设置为使用内部时钟或者外部时钟。时钟同步单元主要投稿网址: s and Application器件与应用S完成PTP报文收发、报文解析、截取和加盖时间戳、主从时钟误差计算以及时钟调整等。为了保证时间数据戳精度,选取具备截取和加盖时间戳功能的PHY芯片88E1512。88E1512是一款集成IEEE 1588功能的千兆网口芯片,具备自动截取和加盖时间戳功能,同时还支持同步以太网功能,可直接从物理层获得远端时钟。PHY芯片默认使用125 MHz时钟,通过寄存器配置可选择内部时钟或外部时钟,利用该时钟维护一个32 bit本地计数器作为全局时钟。PHY芯片利用全局时钟为收发数据加盖时间戳。报文解析模块用来匹配解析PTP报文。PTP接收过程中,PHY芯片根据报文头检测并识别PTP报文类型,同时读取相应时钟字段,获取报文接收的时间。PTP发送过程中,由软件读取报文发送时刻的全局时钟寄存器值,获取报文发送的时间,并填入到PTP报文相应字段。触发输出管脚可用于产生输出秒脉冲信息,可通过配置脉冲周期寄存器和秒冲宽度寄存器,设置输出秒脉冲宽度和周期。中断管脚用于PHY芯片收到PTP数据包输出中断信号到处理器,处理器收到中断信号后接收并解析PTP报文。PTP控制寄存器功能与设置如表1所示。表1 PTP控制寄存器寄存器名称20_6.920_6.820_6.6寄存器功能PTP功能关闭打开PTP参考时钟PTP输出寄存器设置1=关闭0=打开1=使用外部时钟0=使用内部时钟1=使用LED1作为触发输出0=输出置位0PTP时间同步软件架构由数据处理和状态机管理、PTP报文收发以及本地时钟调节等部分组成,如图4所示。系统通过PTP报文收发单元对PTP报文进行封装和解码,通过数据维护更新和最佳主时钟算法决定当前状态,如果为从时钟状态,则调用本地时钟调节算法调整本地时间[7-8]。3.1
控制接口PHY控制接口包括时钟输入(复用CONFIG管脚)、触发输出(复用LED1管脚)以及中断(复用LED2管脚)。其中,时钟输入管脚用作PHY芯片工作的外部时钟,通过配置寄存器20_6.8,可选择使用外部时钟或者内部时钟,时钟频率为125 MHz。3
软件架构和实现流程3.2
寄存器配置88E1512芯片和PTP相关的寄存器主要包括全局时间寄存器、全局配置寄存器、时钟周期寄存器以及秒脉冲配置寄存器。(1)全局时间寄存器。全局时间寄存器为32 bit本地计数器,利用125 MHz走时,作为PHY芯片工作的全局时钟。当PHY芯片发送/接收PTP事件报文时,产生中断发送到处理器。处理器根据中断读取当前全局时间寄存器值,作为发送/接收报文的时间。可通过设置TimeIncDecEn、TimeIncDecAmt以及TimeIncDecOp寄存器对全局时间进行调整。其中,TimeIncDecAmt为11 bit调整值;TimeIncDecEn为调整使能;TimeIncDecOp为调整方向,“0”表示正向调整,“1”表示负向调整。(2)全局配置寄存器。全局配置寄存器主要用于配置TransSpec字段、PTP关闭/使能功能以及发送/接收中断使能。TransSpec字段用于区数据超时定时器本地PTP时钟时间戳数据数据数据数据处理更新数据处理和状态机本地时钟调节算法PTP报文收发数据包解包数据包封装PTP报文UDP/IP协议栈加盖时间戳信息PHY数据传输PTP报文图4 时间同步软件架构投稿网址: 2021年第45卷第3期69Parts and Applications器件与应用分IEEE 1588协议和IEEE 802.1AS协议,“0”表示IEEE 1588协议,“1”表示IEEE 802.1AS协议。软件配置为“1”,使用IEEE 1588协议。PTP关闭/使能软件配置为“0”,使能PTP功能。发送/接收中断配置为“1”,打开发送/接收中断使能。(3)时钟周期寄存器。时钟周期寄存器配置全局时间时钟周期,单位为1 ps。本方案中时钟周期为8 ns,因此该寄存器配置为8 000。(4)秒脉冲配置寄存器。秒脉冲配置寄存器配置输出秒脉冲参数,其中,TrigGenAmt用于配置秒脉冲周期,秒脉冲周期固定为1 s,因此配置为125 000 000;TrigMode用于配置秒脉冲模式,本方案中配置为“0”,表示输出占空比50%的方波;TrigGenReq3.3
数据接收和发送为使能信号,配置为“1”。从节点接收的数据包包括Sync报文、Follow_up报文以及Delay_Resp报文,从节点发送的数据包包括Delay_Req报文。PHY芯片根据数据包的Message Type字段(协议报文类型)进行区分,如表2所示。表2 协议报文类型报文类型报文类值SyncEvent0Follow_UpEvent1Delay_ReqEvent2Delay_RespEvent3数据接收和发送具体流程如下:(1)接收主节点发送的Sync消息,读取orginTimestamp字段的secondsField,获取整秒时间信息,同时通过接收中断,读取Sync消息到达时间t2;(2)接收主节点发送的Follow_Up消息,读取preciseOrginTimestamp字段的nanosecondsField,得到Sync消息发送时间t1;(3)通过网口发送Delay_Req消息,通过发送中断,读取Delay_Req消息发送时间t3;(4)接收主节点发送的Delay_Resp消息,读取receiveTimestam字段nanosecondsField,得到Delay_Req3.4
消息到达时间时钟偏差计算和调整t4。从节点根据获取的t1、t2、t3、t4,可以计算得到主从时钟偏差。根据计算得到的Offset值,调整PHY芯片的全局时钟。考虑到全局时钟走时最大值为(232-1)*8 ns=34.36 s,当走时超过最大值,会从零重新走时,此时读取的t2和t3将会出现跳变,702021年第45卷第3期因此需要对读取的t2和t3进行补偿,保证全局时钟清零时不会出现跳变。4
4.1
测试和验证测试环境测试系统包括XHTF351NP时间服务器、1588交换机、授时板卡以及GPS/BD天线,测试设备连接如图5所示。其中,XHTF351NP时间服务器作为PTP主时钟,授时板卡作为PTP从时钟,通过1588交换机利用网线进行连接,GPS/BD天线用于接收GPS/BD信号,为PTP主时钟提供参考时间。图5 PTP测试框图4.2
测试方法和步骤根据图5的连接方式搭建测试环境并对设备上电,首先观察PTP主节点是否正确同步到参考时间,是否完成内置晶振的驯服。如果驯服完成,XHTF351NP时间服务器显示界面显示“锁定”。将PTP时间同步程序下载至授时板卡,设置断点后运行程序,保证能够正确完成PHY芯片配置。利用示波器观察时间同步前的时间误差,该误差值为0~1 s的随机值。取消断点运行PTP时间同步程序,保证从时钟能够正确同步到主时钟;利用示波器观察时间同步后的时间误差,4.3
测试结果该误差值应该优于1 µs。实际测试现场和测试结果如图6所示。测试结果显示,从节点和主节点的时间同步精度为
40 ns,满足优于1 µs的时间同步精度要求。5
结 本文从分布式系统的高精度时间出发,语对分布式系统的高精度时间同步典型方法和精度需求进行了分析,提出使用PTP精度时间协议实现亚投稿网址: s and Application器件与应用S
(a)测试现场 (b)测试结果图6 测试现场和测试结果图微秒时间同步的方案,同时开展软硬件设计,利用88E1512自带的截取和加盖时间戳功能实现PTP功能,搭建了系统测试环境并验证了该方案的正确性和可行性。测试结果表明,该方案可提供优于
1 µs的时间同步精度。参考文献:[1]
[2]
[3]
[4]
段求辉.航电系统高精度时间同步方案[J].电讯技术,钱东.开放式机载时间同步系统的架构设计[J].电讯技术,谭敏禛.基于IEEE1588协议的时间服务器授时精度研究[D].南京:南京大学,2012.陈希,滕玲,高强,等.NTP和PTP协议的时间同步误差分析[J].宇航计测计数,2016,36(3):35-40.2015,55(4):406-412.2014,54(6):830-834.[5]
[6]
张贺,张林,郑滟雷,等.1588v2中的PTP报文格式及应用[J].邮电设计技术,2011(8): Instrumentation and Measurement
Standard for a precision Clock Synchronization Protocol
Std1588-2008[EB/OL].(2018-03-10)[2021-01-13].for Networked Measurement and Control Systems:IEEE
/.[7]
[8]
李红亮.基于PTP协议的高精度网络时间同步系统的设计与实现[D].昆明:昆明理工大学,2012.理工大学,2016.陈翔.精确时间同步协议的软件模型研究[D].昆明:昆明作者简介:刘 伟(1984—),男,硕士,工程师,研究方向:时间频率同步。责任编辑:葛存上接第66页)(化和智能化发展,该仪器的安装使用可为预报员提供科学可靠的参考资料,为农业气象服务、公共气象服务、防灾减灾、安全生产以及地方经济建设等方面的发展提供更加有价值的指导依据,进一步提高了气象预报以及气象服务能力。参考文献:[1]
[2]
范存飞,赵宇,全美兰,等.降水现象仪误差及故障分析[J].科技资讯,2019,17(35):65-66.2019,39(10):135-136.文斌青,陈国强.浅析DSG1型降水现象[J].农业与技术,[3]
[4]
宝勒德,辛忠德.天气现象仪自动化观测资料对比分析[J].科技创新与应用,2018(6):162-163.马林,孙艳云,苗传海,等.天气现象视频智能观测仪技70.术要求分析[J].电子元器件与信息技术,2020,4(4):69-陈新,杨晓波,李莉.天气现象自动化观测技术探索[J].科技资讯,2016,14(21):129.[5]
作者简介:凌 云(1994—),女,本科,助理工程师,研究方向:气象测报或预报。责任编辑:郭芳园投稿网址: 2021年第45卷第3期71
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688119782a84911.html
评论列表(0条)