论文部分内容阅读
【摘要】介绍了一种以北斗为时间频率参考源,基于PID时间偏差控制算法的高精度PTP授时服务器,详细介绍了设备的软、硬件设计方案和实测性能指标。该方案以FPGA 为核心处理器,结合PID时间偏差控制算法,将PTP授时精度提高至7.4ns,有效提高了PTP授时精度。
【关键词】PTP授时;FPGA;PID时间偏差
【作者简介】潘玲娇,江苏南通人,硕士,嵌入式工程师,中级工程师,研究方向:时间同步系统。
中图分类号:TN94 文献标识码:A 文章编号:1673-0348(2020)020-037-04
A high-precision PTP timing server design
Pan Lingjiao
(Jiangsu Radio Factory Co., Ltd. Jiangsu, Nanjing, 210000)
Abstract: This paper introduces a high-precision PTP timing server based on the PID time deviation control algorithm with Beidou as the time and frequency reference source. The software and hardware design schemes and measured performance indicators of the equipment are introduced in detail. This solution uses FPGA as the core processor, combined with PID time deviation control algorithm, to increase the PTP timing accuracy to 7.4ns, which effectively improves the PTP timing accuracy.
Keywords: PTP timing; FPGA; PID time deviation
对于一个进入信息社会的现代化大国,北斗导航定位和授时系统是最重要、最关键的国家基础设施之一。在日常通信网络监控、电力系统调控及高铁调度等众多领域均需要精确的时间服务器来保证时间的一致性。目前常用的网络授时主要基于NTP协议、PTP协议实现,市面上的NTP授时服务器授时精度大多数优于10ms,经过多层级的交换后,授时精度会大大下降,从而NTP授时服务多用于授时精度要求低的场合。因此为提高网络授时的精度,研制一款基于PTP协议的高精度授时服务器很有必要性。
1. PTP原理
PTP共有两种机制进行网络延时的处理。使用延迟请求响应机制计算网络延迟,則共需要2种报文,分别为延迟请求报文(Delay Req)以及延迟应答报文(Delay Resp)。如果使用Peer延时机制,则需要用到端延迟请求报文(Pdelay-Req)、端延迟应答报文(Pdelay-Resp)以及端延迟应答跟随报文(Pdelay-RespFollow up)(可选)。PTP普通和边界时钟的端口可以利用其中的任何一种机制。透明时钟可以分为点对点(End to End,E2E)透明时钟和端到端(Peer to Peer,P2P)透明时钟。E2E透明时钟独立于这两种机制。P2P透明时钟使用Peer延时机制。
PTP按照IEEE1588v2通信协议设计,如图1和2所示给出的报文交互过程及两种延迟机制的同步流程。主时钟以ΔTn’,为周期发送通告报文,以ΔTn为周期发送同步报文与跟随报文。通告报文的发送间隔ΔTn’,独立于同步报文的发送间隔ΔTn。通告报文包含一些主时钟基本信息,用于从时钟进行最佳主时钟算法的相关参数的提取。同步报文发送后主时钟处产生发送时间戳t1。t1时间戳在双步发送模式下需要将时间戳信息置入跟随报文里发送。如果采用单步发送模式,则仅需将t1时间戳在同步报文发送时嵌入其中一起发送即可。从设备接收到主设备发送过来的同步报文后,会产生本地接收时间戳t2。此时对等的主时钟时间记为t2m。从时钟会在同步报文里读取相关信息位获知主时钟采取单步还是双步发送方式。如果是双步发送方式,从时钟会从跟随报文里提取t1时间戳信息。如果是单步发送方式,从时钟会直接读取同步报文的相关信息位获取t1时间戳信息,而不需要发送跟随报文。
PTP主从时钟间的实际相位偏移θ如下公式所示。
其中tslave。指PTP从时钟的运行时间,tmaste是指PTP主时钟的运行时间。同步报文发送所经历的主从网络延迟ms_ delay和延迟请求报文发送所经历的从主网络延迟sm_delay如下公式所示。
在IEEE1588v2通信协议标准中定义了主从时钟间的平均延迟。假定ms_delay与sm_delay相等,延迟中的不对称因素将给时钟的偏差纠正带来错误。计算的平均延迟时间与实际的延迟时间由于非对称因素的存在差异。最终的纠正偏差值与网络延迟分别如下公式所示,其中θ为主从时钟的时间偏差值,one_way_delay为网络延迟。
2. 硬件设计
PTP授时服务器采用分体式设计,由北斗天线、主机、线缆接插件等外围配套设备组成。主机内包含PTP授时模块、电源管理模块、北斗处理模块、应用处理模块。北斗天线接收北斗RNSS-B1、RNSS-B3和RDSS_S三个频点卫星导航定位射频信号,同时对RDSS-L发射信号的功率有放大功能。北斗处理模块中经过射频前端的下变频、数字化、基带信号处理后提取出各种观测量,进行PVT解算,输出位置时间信息及1PPS给PTP授时模块。PTP授时模块以其为参考快速完成本地时间及频率校准,并按照协议要求实现PTP授时。 PTP授时服务器的PTP授时模块主要基于ALTERA公司的CYCLONE III系列FPGA芯片EP3C25E144I7设计。EP3C25E144I7具有丰富的资源,包括1539个LAB、66个乘法器、4个PLL,逻辑单元有24624个,总的RAM位数达到60多万。FPGA的并行处理模式使得处理速度比较高,实时处理性能较好。
除了核心的FPGA器件,PTP模块的主体还包括PHY芯片、网络变压器和RJ45网络接口等。其中PHY芯片采用DP83640来实现以太网的物理层功能,网络变压器与DP83640通过MII接口连接;RJ45网络接口采用HR911105A,直接与外部以太网连接。
FPGA作为核心器件实现了4个功能:
1) PTP协议栈。PTP协议栈主要运行一个PTP状态机,接收来自MAC的PTP报文,根据PTP协议解析报文并向硬件时间戳单元获取精确的接收时间戳信息;在封装PTP报文并发送给MAC后,根据PTP协议向硬件时间戳单元获取精确的发送时间戳信息;当作为PTP从时钟时,PTP协议栈需要根据PTP协议计算出精确的时间误差值并校正TOD部件。
2) MAC功能。MAC通过RGMII接口与PHY芯片进行连接,主要功能是实现以太网协议MAC层的功能。
3)硬件时间戳单元。硬件时间戳单元主要实现对发送和接收的PTP报文进行时间戳的标记,并将标记的时间戳信息提供给PTP协议栈处理。硬件时间戳单元的时间信息来源于TOD部件。
4)TOD时间信息。TOD部件主要维持一个连续的时间信息,随时向硬件时间戳单元提供精确的时间戳值;同时,接受PTP协议栈的控制指令,实时校准自身的时间。
3. PID时间偏差控制算法
PTP授时服务器的软件设计中考虑到系统实时响应的性能,通过提取北斗处理模块输出的高精度1PPS,并对系统时间进行加秒和延时补偿操作,这在所有任务中的优先级最高,响应时间最短,从而保证PTP硬件时间戳的准确性,这也是PTP授时服务器提高授时精度的先决条件。本方案利用PID时间偏差控制算法对北斗处理模块输出的1PPS与FPGA分频输出的1PPS进行相位差控制。
PID时间偏差控制算法,是一种输入、修正、反馈至最终闭环的控制算法。PID分别是比例、积分、微分的缩写,代表了三种控制算法。结合这三个算法可以有效地纠正被控制时间脉冲的偏差,从而保障时间偏差维持在稳定的阈值范围内。PID的流程如下图所示:
其中r(t)表示给定输入值,c(t)表示实际输出值,e(t)表示信号偏差量,u(t)表示修正量。
在PID时间偏差控制算法中,比例是反应了当前授时服务器的1PPS与北斗输入的1PPS的相位偏差,比例越大,时间偏差控制算法可调节加快,缩小相位偏差,但大幅度的移相会导致整个设备的稳定性下降,甚至会带领设备的不稳定;相反如果比例系数太小,1PPS移相幅度不够,会使设备输出的1PPS变化缓慢,延长控制时間。如果移相幅度过大,相位值调节太大,移相超过阈值,导致相位差忽大忽,导致稳定性差。单纯的比例控制很难保证调节得恰到好处,完全消除误差。本系统的时钟源为北斗,斗的时钟特性表现为长期稳定度好,但短期稳定度不好,所以根据此特点调整比例因子P,使得本系统能够快速的锁定北斗输出的1PPS。
积分控制算法可以消除设备稳定后的累积误差,可以动态调节北斗输入的1PPS与FPGA分频后产生的1PPS稳定状态下积累的误差。积分控制算法最终输出的频率偏差与系统输入的频率的积分成正比。即使频率偏差很小,积分控制算法会随着驯服时间的延长,使频率偏差逐渐减小,直到偏差值为0。本系统的积分因子能根据参考源的表现实时的做出调整,系统在跟踪北斗1PPS的时候,会增强积分因子I的作用,以适应北斗输出的1PPS长期离散特点。
微分控制算法具有提前预调,系统调节滞后,通过微分控制算法的调节,可有效提升授时服务器1PPS动态稳定性。在微分控制算法中,系统的1PSS输出偏差与输入的1PPS相位差的微分成正比。若微分参数设置合理,可缩小设备的超调量,提高设备1PPS的长期稳定性。微分控制算法能够预判设备输出1PPS相位差的变化趋势,因此预先将抑制1PPS相位差的控制作用调节为零,有时为负值,这样有效解决了1PPS的过度超调,提高了设备1PPS相位差在动态调节时的稳定性。
在PTP时间偏差修正的PID算法中,通过大量实验与测试,得出一套可使时间偏差快速收敛而又能精确控制的PID参数,保障了PTP的校时精度。
4. 实测结果
根据上述的硬件系统框架,实现了PTP主时钟和从时钟授时。PTP授时测试结果如图所示。
据测试结果,采用上述硬件系统框架的PTP方案,在主从直连的情况下,可实现4.84ns(1σ)、7.44ns(2σ)、8.26ns(3σ)的授时精度,指标优于常用PTP授时服务器30ns的授时精度。
5. 结束语
本文介绍了一种以北斗为时间频率参考源,基于PID时间偏差控制算法的高精度PTP授时服务器,介绍了其硬件框架,以及使用的控制算法。经过主从设备直连测试,PTP授时服务器,授时精度高,可广泛应用于实际生活。
参考文献:
[1]陈向东郑瑞峰陈洪卿等北斗授时终端极其检测技术[M]北京:电子工业出版社2016,4.
[2]张城,基于IEEE1588协议的网络同步时钟技术的研究[J]浙江:浙江大学,2013,9-14.
[3]黄友锐,曲国立,PID控制器参数整定与实现[M].北京:科学出版,2010.
[4]陈伟,基于卫星授时的高精度时间同步方法研究[J].西安:西安工业大学,2017,44-47.
【关键词】PTP授时;FPGA;PID时间偏差
【作者简介】潘玲娇,江苏南通人,硕士,嵌入式工程师,中级工程师,研究方向:时间同步系统。
中图分类号:TN94 文献标识码:A 文章编号:1673-0348(2020)020-037-04
A high-precision PTP timing server design
Pan Lingjiao
(Jiangsu Radio Factory Co., Ltd. Jiangsu, Nanjing, 210000)
Abstract: This paper introduces a high-precision PTP timing server based on the PID time deviation control algorithm with Beidou as the time and frequency reference source. The software and hardware design schemes and measured performance indicators of the equipment are introduced in detail. This solution uses FPGA as the core processor, combined with PID time deviation control algorithm, to increase the PTP timing accuracy to 7.4ns, which effectively improves the PTP timing accuracy.
Keywords: PTP timing; FPGA; PID time deviation
对于一个进入信息社会的现代化大国,北斗导航定位和授时系统是最重要、最关键的国家基础设施之一。在日常通信网络监控、电力系统调控及高铁调度等众多领域均需要精确的时间服务器来保证时间的一致性。目前常用的网络授时主要基于NTP协议、PTP协议实现,市面上的NTP授时服务器授时精度大多数优于10ms,经过多层级的交换后,授时精度会大大下降,从而NTP授时服务多用于授时精度要求低的场合。因此为提高网络授时的精度,研制一款基于PTP协议的高精度授时服务器很有必要性。
1. PTP原理
PTP共有两种机制进行网络延时的处理。使用延迟请求响应机制计算网络延迟,則共需要2种报文,分别为延迟请求报文(Delay Req)以及延迟应答报文(Delay Resp)。如果使用Peer延时机制,则需要用到端延迟请求报文(Pdelay-Req)、端延迟应答报文(Pdelay-Resp)以及端延迟应答跟随报文(Pdelay-RespFollow up)(可选)。PTP普通和边界时钟的端口可以利用其中的任何一种机制。透明时钟可以分为点对点(End to End,E2E)透明时钟和端到端(Peer to Peer,P2P)透明时钟。E2E透明时钟独立于这两种机制。P2P透明时钟使用Peer延时机制。
PTP按照IEEE1588v2通信协议设计,如图1和2所示给出的报文交互过程及两种延迟机制的同步流程。主时钟以ΔTn’,为周期发送通告报文,以ΔTn为周期发送同步报文与跟随报文。通告报文的发送间隔ΔTn’,独立于同步报文的发送间隔ΔTn。通告报文包含一些主时钟基本信息,用于从时钟进行最佳主时钟算法的相关参数的提取。同步报文发送后主时钟处产生发送时间戳t1。t1时间戳在双步发送模式下需要将时间戳信息置入跟随报文里发送。如果采用单步发送模式,则仅需将t1时间戳在同步报文发送时嵌入其中一起发送即可。从设备接收到主设备发送过来的同步报文后,会产生本地接收时间戳t2。此时对等的主时钟时间记为t2m。从时钟会在同步报文里读取相关信息位获知主时钟采取单步还是双步发送方式。如果是双步发送方式,从时钟会从跟随报文里提取t1时间戳信息。如果是单步发送方式,从时钟会直接读取同步报文的相关信息位获取t1时间戳信息,而不需要发送跟随报文。
PTP主从时钟间的实际相位偏移θ如下公式所示。
其中tslave。指PTP从时钟的运行时间,tmaste是指PTP主时钟的运行时间。同步报文发送所经历的主从网络延迟ms_ delay和延迟请求报文发送所经历的从主网络延迟sm_delay如下公式所示。
在IEEE1588v2通信协议标准中定义了主从时钟间的平均延迟。假定ms_delay与sm_delay相等,延迟中的不对称因素将给时钟的偏差纠正带来错误。计算的平均延迟时间与实际的延迟时间由于非对称因素的存在差异。最终的纠正偏差值与网络延迟分别如下公式所示,其中θ为主从时钟的时间偏差值,one_way_delay为网络延迟。
2. 硬件设计
PTP授时服务器采用分体式设计,由北斗天线、主机、线缆接插件等外围配套设备组成。主机内包含PTP授时模块、电源管理模块、北斗处理模块、应用处理模块。北斗天线接收北斗RNSS-B1、RNSS-B3和RDSS_S三个频点卫星导航定位射频信号,同时对RDSS-L发射信号的功率有放大功能。北斗处理模块中经过射频前端的下变频、数字化、基带信号处理后提取出各种观测量,进行PVT解算,输出位置时间信息及1PPS给PTP授时模块。PTP授时模块以其为参考快速完成本地时间及频率校准,并按照协议要求实现PTP授时。 PTP授时服务器的PTP授时模块主要基于ALTERA公司的CYCLONE III系列FPGA芯片EP3C25E144I7设计。EP3C25E144I7具有丰富的资源,包括1539个LAB、66个乘法器、4个PLL,逻辑单元有24624个,总的RAM位数达到60多万。FPGA的并行处理模式使得处理速度比较高,实时处理性能较好。
除了核心的FPGA器件,PTP模块的主体还包括PHY芯片、网络变压器和RJ45网络接口等。其中PHY芯片采用DP83640来实现以太网的物理层功能,网络变压器与DP83640通过MII接口连接;RJ45网络接口采用HR911105A,直接与外部以太网连接。
FPGA作为核心器件实现了4个功能:
1) PTP协议栈。PTP协议栈主要运行一个PTP状态机,接收来自MAC的PTP报文,根据PTP协议解析报文并向硬件时间戳单元获取精确的接收时间戳信息;在封装PTP报文并发送给MAC后,根据PTP协议向硬件时间戳单元获取精确的发送时间戳信息;当作为PTP从时钟时,PTP协议栈需要根据PTP协议计算出精确的时间误差值并校正TOD部件。
2) MAC功能。MAC通过RGMII接口与PHY芯片进行连接,主要功能是实现以太网协议MAC层的功能。
3)硬件时间戳单元。硬件时间戳单元主要实现对发送和接收的PTP报文进行时间戳的标记,并将标记的时间戳信息提供给PTP协议栈处理。硬件时间戳单元的时间信息来源于TOD部件。
4)TOD时间信息。TOD部件主要维持一个连续的时间信息,随时向硬件时间戳单元提供精确的时间戳值;同时,接受PTP协议栈的控制指令,实时校准自身的时间。
3. PID时间偏差控制算法
PTP授时服务器的软件设计中考虑到系统实时响应的性能,通过提取北斗处理模块输出的高精度1PPS,并对系统时间进行加秒和延时补偿操作,这在所有任务中的优先级最高,响应时间最短,从而保证PTP硬件时间戳的准确性,这也是PTP授时服务器提高授时精度的先决条件。本方案利用PID时间偏差控制算法对北斗处理模块输出的1PPS与FPGA分频输出的1PPS进行相位差控制。
PID时间偏差控制算法,是一种输入、修正、反馈至最终闭环的控制算法。PID分别是比例、积分、微分的缩写,代表了三种控制算法。结合这三个算法可以有效地纠正被控制时间脉冲的偏差,从而保障时间偏差维持在稳定的阈值范围内。PID的流程如下图所示:
其中r(t)表示给定输入值,c(t)表示实际输出值,e(t)表示信号偏差量,u(t)表示修正量。
在PID时间偏差控制算法中,比例是反应了当前授时服务器的1PPS与北斗输入的1PPS的相位偏差,比例越大,时间偏差控制算法可调节加快,缩小相位偏差,但大幅度的移相会导致整个设备的稳定性下降,甚至会带领设备的不稳定;相反如果比例系数太小,1PPS移相幅度不够,会使设备输出的1PPS变化缓慢,延长控制时間。如果移相幅度过大,相位值调节太大,移相超过阈值,导致相位差忽大忽,导致稳定性差。单纯的比例控制很难保证调节得恰到好处,完全消除误差。本系统的时钟源为北斗,斗的时钟特性表现为长期稳定度好,但短期稳定度不好,所以根据此特点调整比例因子P,使得本系统能够快速的锁定北斗输出的1PPS。
积分控制算法可以消除设备稳定后的累积误差,可以动态调节北斗输入的1PPS与FPGA分频后产生的1PPS稳定状态下积累的误差。积分控制算法最终输出的频率偏差与系统输入的频率的积分成正比。即使频率偏差很小,积分控制算法会随着驯服时间的延长,使频率偏差逐渐减小,直到偏差值为0。本系统的积分因子能根据参考源的表现实时的做出调整,系统在跟踪北斗1PPS的时候,会增强积分因子I的作用,以适应北斗输出的1PPS长期离散特点。
微分控制算法具有提前预调,系统调节滞后,通过微分控制算法的调节,可有效提升授时服务器1PPS动态稳定性。在微分控制算法中,系统的1PSS输出偏差与输入的1PPS相位差的微分成正比。若微分参数设置合理,可缩小设备的超调量,提高设备1PPS的长期稳定性。微分控制算法能够预判设备输出1PPS相位差的变化趋势,因此预先将抑制1PPS相位差的控制作用调节为零,有时为负值,这样有效解决了1PPS的过度超调,提高了设备1PPS相位差在动态调节时的稳定性。
在PTP时间偏差修正的PID算法中,通过大量实验与测试,得出一套可使时间偏差快速收敛而又能精确控制的PID参数,保障了PTP的校时精度。
4. 实测结果
根据上述的硬件系统框架,实现了PTP主时钟和从时钟授时。PTP授时测试结果如图所示。
据测试结果,采用上述硬件系统框架的PTP方案,在主从直连的情况下,可实现4.84ns(1σ)、7.44ns(2σ)、8.26ns(3σ)的授时精度,指标优于常用PTP授时服务器30ns的授时精度。
5. 结束语
本文介绍了一种以北斗为时间频率参考源,基于PID时间偏差控制算法的高精度PTP授时服务器,介绍了其硬件框架,以及使用的控制算法。经过主从设备直连测试,PTP授时服务器,授时精度高,可广泛应用于实际生活。
参考文献:
[1]陈向东郑瑞峰陈洪卿等北斗授时终端极其检测技术[M]北京:电子工业出版社2016,4.
[2]张城,基于IEEE1588协议的网络同步时钟技术的研究[J]浙江:浙江大学,2013,9-14.
[3]黄友锐,曲国立,PID控制器参数整定与实现[M].北京:科学出版,2010.
[4]陈伟,基于卫星授时的高精度时间同步方法研究[J].西安:西安工业大学,2017,44-47.