提升PTP点对点授时精度的方法和授时装置 |
|||||||
申请号 | CN202410099824.2 | 申请日 | 2024-01-23 | 公开(公告)号 | CN117784580A | 公开(公告)日 | 2024-03-29 |
申请人 | 星汉时空科技(长沙)有限公司; 星汉时空科技(北京)有限公司; | 发明人 | 叶俊华; 刘阳琦; 邓黠; 熊跃军; 李大志; | ||||
摘要 | 本 申请 涉及一种提升PTP点对点授时 精度 的方法和授时装置,所述方法包括:采用北斗接收机获取NEMA0183格式数据和北斗时间基准;利用主控模 块 对NEMA0183格式数据进行解析得到标准时间,根据北斗时间基准对恒温晶振进行驯服;将恒温晶振倍频至预定 频率 后作为PTP1588时钟的频率源;根据该频率源在物理层建立PTP1588时钟;对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步;对PTP装置的固定延迟修正,利用修正后的PTP授时装置进行点对点授时,从时钟实现本地时间的同步。本方法采用物理层建立的PTP1588时钟以及PTP协议报文中对固定延迟修正,提高了PTP授时装置点对点授时精度。 | ||||||
权利要求 | 1.一种提升PTP点对点授时精度的方法,其特征在于,所述方法包括: |
||||||
说明书全文 | 提升PTP点对点授时精度的方法和授时装置技术领域[0001] 本申请涉及PTP授时技术领域,特别是涉及一种提升PTP点对点授时精度的方法和授时装置。 背景技术[0002] PTP(Precision Time Protocol,精确时间协议)是一种时间同步的协议,遵循IEEE 1588v2协议标准,用于设备之间的高精度时间同步,PTP应用非常广泛,例如电力系统,工业控制,基站同步,音视频网桥,军事应用等。能够实现亚微秒级别的时间同步,具有高精度和高稳定性的优点,目前对PTP点对点授时指标通常要优于≤50ns。PTP授时精度是一个重要指标,影响授时精度因素有:报文时间戳精确性,网络链路时延不确定性、系统的固定延迟、时钟晶振的稳定性、时间戳分辨率等。 [0003] PTP授时装置是软件和硬件结合的方式实现主时钟授时工作模式。常规PTP授时装置如图1所示,硬件目前主要采用的都是基于ARM处理器和PHY芯片实现IEEE 1588v2方案,协议功能实现简单,但是PTP授时精度差异很大。ARM处理器的工作时钟选用的是石英晶振,晶振频率受老化、温度变化等影响,直接影响PTP1588时钟精确度。选用的PHY芯片很多都是不支持IEEE 1588v2功能,这样会导致PTP授时精度指标很差,PTP1588时钟在ARM处理器的以太网MAC中处理和实现,如果ARM主频不高,PTP报文所需的PTP1588时钟分辨率很难达到很高。对于PTP授时装置点对点的授时,网络传输距离短,网络路径延迟不确定性影响小,但是PTP1588时钟同步精度、PTP报文获取时间戳方式和时间戳分辨率、装置的固定延迟决定了授时精度的指标优劣。 [0004] 小系统时钟同步采用PTP授时,通常都有点对点授时精度指标要求,目前指标测试存在很大误差,基本没有考虑系统的固定延迟对点对点授时精度的影响,如果严格测试PTP授时装置的点对点授时精度,会远远超出常规的优于≤50ns或者是优于≤100ns这个指标。 [0005] 目前很多行业应用PTP授时装置需要自适应1000M/100M/10Mbit/s以太网口,例如采用DP83640可以在物理层打时标实现IEEE 1588v2,但是DP83640通过MII接口与ARM相连,硬件实现的是100M/10Mbit/s网络接口,无法自适应1000Mbit/s网络接口,硬件接口在行业应用存在局限性。 [0006] 现有PTP授时装置建立PTP1588时钟的方式是把参考的1PPS给到PTP1588时钟作为时间基准参考,每秒通过不断调整和修正PTP1588时钟使得PTP1588时钟计数值对齐参考1PPS这个时间基准,这样会导致内部的PTP1588时钟调整精度不够高或者频繁调整内部的PTP1588时钟,也会影响PTP授时装置的点对点授时精度。 发明内容 [0007] 基于此,有必要针对上述技术问题,提供一种提升PTP点对点授时精度的方法和授时装置。 [0008] 一种提升PTP点对点授时精度方法,该方法包括: [0009] 采用北斗接收机获取NEMA0183格式数据和北斗时间基准。 [0010] 利用主控模块对NEMA0183格式数据进行解析,得到标准时间。 [0011] 主控模块根据北斗时间基准对恒温晶振进行驯服。 [0012] 将恒温晶振倍频至预定频率后作为PTP1588时钟的频率源。 [0013] 根据PTP1588时钟的频率源在物理层建立PTP1588时钟;物理层包括支持IEEE 1588v2功能的PHY芯片。 [0014] 对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步。 [0015] 对PTP装置影响点对点授时精度的固定延迟进行修正。 [0016] 利用固定延迟修正后的PTP授时装置采用PTP协议进行点对点授时,从时钟实现本地时间的同步。 [0017] 在其中一个实施例中,将恒温晶振倍频至预定频率后作为PTP1588时钟的频率源,包括: [0019] 将预定频率的时钟信号作为PTP1588时钟的频率源。 [0020] 在其中一个实施例中,PTP授时装置支持外1PPS、外10Mhz输入和外TOD输入;对PTP装置影响点对点授时精度的固定延迟进行修正,包括: [0021] 将共视授时服务器接入授时服务平台,共视授时服务器输出10Mhz信号、1PPS信号以及TOD信号至PTP授时装置,将PTP1588时钟同步到共视授时服务器溯源的时间基准。 [0022] 将共视授时服务器输出的标准时间基准1PPS作为时间间隔计数器的参考输入。 [0023] 调整PTP专业测试设备的天线延迟,使得测试设备输出的时间基准1PPS信号与共视授时服务器输出的标准时间基准秒内偏差达到皮秒级。 [0024] 采用PTP授时装置给PTP专业测试设备授时,在测试设备上读出主、从时钟的秒内偏差,秒内偏差为固定延迟tDelay。 [0025] 在PTP报文中对固定延迟进行修正。 [0026] 在其中一个实施例中,在PTP报文中对固定延迟进行修正,包括: [0027] 将固定延迟累加到Sync报文的修正域中,得到新的Sync报文修正域的值。 [0028] 根据PTP报文中的时间戳记录、新的Sync报文修正域的值、Follow_Up报文修正域的值和点对点装置的网络链路对称传输延迟,确定主、从时钟的时间偏差为: [0029] [0030] 其中,Toffset表示主、从时钟的时间偏差,t2表示从时钟接收到Sync报文的时间戳T2,t1表示主时钟发送Sync报文的时间戳T1,TDelay表示点对点装置的网络链路对称传输延迟,tsync_correcet表示新的Sync报文修正域的值,tFollow_Up_correcet表示Follow_Up报文修正域的值; [0031] 根据主、从时钟的时间偏差,PTP从时钟将时间修正调整到与主时钟一致。 [0032] 在其中一个实施例中,主控模块为ZYNQ最小系统;对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步,包括: [0033] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与标准时间基准1PPS信号相位差,将测量的时差结果转换为DAC输出的压控电压给到恒温晶振的压控管脚,然后采用PID算法对恒温晶振进行驯服控制,实现恒温晶振分频输出的1PPS信号与标准时间基准的1PPS信号对齐。 [0034] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与PTP1588时钟输出的1PPS信号相位差,通过ZYNQ最小系统的PS端的ARM处理器的MDIO/MDC接口,对PHY芯片的寄存器进行赋值调整秒内偏差,使得PTP1588时钟输出的1PPS信号与恒温晶振分频输出的1PPS实现了秒内对齐; [0035] 在标准时间基准1PPS信号上升沿后,将标准时间信息转换为协调世界时UTC的总秒数,通过MDIO/MDC接口对PHY芯片的寄存器进行直接初始化赋值和调整,使得寄存器的计数值与总秒数相同,实现整秒同步。 [0036] 一种高精度PTP授时装置,装置包括:主控模块、北斗接收机、PLL倍频模块、恒温晶振、时钟驱动模块、外部信号接口、以及支持IEEE 1588v2功能的PHY芯片。 [0037] 北斗接收机通过串口将NEMA0183格式数据传输到主控模块,北斗接收机的北斗时间基准1PPS信号连接到主控模块上;恒温晶振的输出端与PLL倍频模块的输入端连接,PLL倍频模块的输出端与主控模块连接,主控模块的时钟信号输出端与PHY芯片连接,PHY芯片通过RGMII和MIO/MDC与主控模块连接;PHY芯片输出PTP1588时间基准1PPS信号至时钟驱动模块,时钟驱动模块的第一输出端与主控模块连接,时钟驱动模块的第二输出端用于输出PTP1588时间基准1PPS信号。 [0038] 主控模块用于根据北斗时间基准输出压控信号的数字信号,通过DAC转换后对恒温晶振进行驯服;还用于将PLL倍频模块输出的时钟信号通过内部PLL倍频模块倍频至预定频率后作为PTP1588时钟的频率源;根据PTP1588时钟的频率源在物理层建立PTP1588时钟,对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步;运行lwip协议栈,进行PTP协议处理并对PTP装置影响点对点授时精度的固定延迟进行修正;在固定延迟修正后运行PTP1588V2软件采用PTP协议进行点对点授时,从时钟实现本地时间的同步。 [0039] 主控模块还支持外1PPS、外时钟信号以及外TOD信号。 [0040] 在其中一个实施例中,主控模块包括:PS端ARM处理器、PL端的FPGA模块、DDR3存储控制器、UART控制器以及外部接口模块; [0041] ARM处理器运行1wip协议栈,用于PTP协议处理和在报文中对固定延迟进行修正。 [0042] ARM处理器还用于根据北斗时间基准输出压控信号的数字信号,通过DAC转换后对恒温晶振进行驯服;PL端的FPGA模块用于将外部PLL倍频模块输出的时钟信号通过内部PLL倍频模块倍频至预定频率后作为PTP1588时钟的频率源; [0043] 外部接口模块用于接收外1PPS、外时钟信号以及外TOD信号 [0044] 在其中一个实施例中,对固定延迟修正采用的模块包括共视授时服务器、PTP专用测试设备以及时间间隔计数器: [0045] 共视授时服务器输出10Mhz信号、1PPS信号、TOD信号至外部信号接口,共视授时服务器输出标准时间基准1PPS信号至时间间隔计数器,时钟驱动模块的第二输出端输出PTP1588时间基准1PPS信号至时间间隔计数器,高精度PTP授时装置通过网络对PTP专用测试设备进行授时,PTP专用测试设备输出测试设备时间基准1PPS信号。 [0046] 时间间隔计数器用于观测PTP授时装置和PTP专用测试设备时间基准秒内偏差是否接近零。 [0047] 在其中一个实施例中,ARM处理器,还用于将固定延迟累加到Sync报文的修正域中,得到新的Sync报文修正域的值;根据PTP报文中的时间戳记录、新的Sync报文修正域的值、Follow_Up报文修正域的值和点对点装置的网络链路对称传输延迟,确定主、从时钟的时间偏差为: [0048] [0049] 其中,Toffset表示主、从时钟的时间偏差,t2表示从时钟接收到Sync报文的时间戳T2,t1表示主时钟发送Sync报文的时间戳T1,TDelay表示点对点装置的网络链路对称传输延迟,tsync_correcet表示新的Sync报文修正域的值,tFollow_Up_correcet表示Follow_Up报文修正域的值; [0050] 根据主、从时钟的时间偏差,PTP从时钟将时间修正调整到与主时钟一致。在其中一个实施例中,主控模块为ZYNQ最小系统;PTP1588时钟同步方法包括: [0051] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与标准时间基准1PPS信号相位差,将测量的时差结果转换为DAC输出的压控电压给到恒温晶振的压控管脚,然后采用PID算法对恒温晶振进行驯服控制,实现恒温晶振分频输出的1PPS信号与标准时间基准的1PPS信号对齐。 [0052] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与PTP1588时钟输出的1PPS信号相位差,通过ZYNQ最小系统的PS端的ARM处理器的MDIO/MDC接口,对PHY芯片的寄存器进行赋值调整秒内偏差,使得PTP1588时钟输出的1PPS信号与恒温晶振分频输出的1PPS实现了秒内对齐; [0053] 在标准时间基准1PPS信号上升沿后,将标准时间信息转换为协调世界时UTC的总秒数,通过MDIO/MDC接口对PHY芯片的寄存器进行直接初始化赋值和调整,使得寄存器的计数值与总秒数相同,实现整秒同步。 [0054] 上述提升PTP授时精度的方法和高精度PTP授时装置,所述方法包括:采用北斗接收机获取NEMA0183格式数据和北斗时间基准;利用主控模块对NEMA0183格式数据进行解析,得到标准时间;主控模块根据北斗时间基准对恒温晶振进行驯服;将恒温晶振倍频至预定频率后作为PTP1588时钟的频率源;根据PTP1588时钟的频率源在物理层建立PTP1588时钟;对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步;对PTP装置影响点对点授时精度的固定延迟进行修正;利用固定延迟修正后的PTP授时装置采用PTP协议进行点对点授时,从时钟实现本地时间的同步。本方法采用物理层建立的PTP1588时钟,并采用共视授时服务器溯源高精度时间基准,提高了PTP授时装置点对点授时精度。附图说明 [0055] 图1为常规PTP授时装置结构图; [0056] 图2为一个实施例中提升PTP点对点授时精度的方法的流程示意图; [0057] 图3为一个实施例中高精度PTP授时装置结构框图; [0058] 图4为另一个实施例中高精度PTP授时装置结构框图; [0059] 图5为另一个实施例中固定延迟测量原理框图; [0060] 图6为另一个实施例中PTP授时装置系统测试框图; [0061] 图7为另一个实施例中时频同步分析仪1PPS相位差; [0062] 图8为另一个实施例中PTP授时装置1PPS相位差; [0063] 图9为另一个实施例中点对点授时精度测试结果。 具体实施方式[0064] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。 [0065] 在一个实施例中,如图2所示,提供了一种提升PTP点对点授时精度的方法,该方法包括如下步骤: [0066] 步骤200:采用北斗接收机获取NEMA0183格式数据和北斗时间基准。 [0067] 步骤202:利用主控模块对NEMA0183格式数据进行解析,得到标准时间。 [0068] 步骤204:主控模块根据北斗时间基准对恒温晶振进行驯服。 [0069] 具体的,主控模块对北斗卫星接收机输出1PPS和恒温晶振分频输出的1PPS进行相位差测量,通过驯服校准恒温晶振,用作频率输出。 [0070] 步骤206:将恒温晶振倍频至预定频率后作为PTP1588时钟的频率源。 [0071] 具体的,如果不选用恒温晶振通过倍频方式给PTP1588时钟提供频率参考,则PTP1588时钟调整不够精确,影响授时精度。 [0072] 即使选用支持IEEE 1588v2功能的PHY芯片,PHY芯片所需的本地25MHz频率采用普通的石英晶振,PTP1588时钟采用GPIO事件触发方式进行相位对齐,容易引起PTP1588时钟抖动,同步精度不高。 [0073] PTP1588时钟可采用频率稳定度在E‑12量级恒温晶振作为频率源,用北斗输出的高精度1PPS信号对恒温晶振进行校准,采用主控模块对内部的PTP1588时钟的时间基准与恒温晶振分频输出1PPS进行时间间隔测量,调整内部PTP1588时钟输出的时间基准,使得它与恒温晶振分频输出1PPS同步。 [0074] 步骤208:根据PTP1588时钟的频率源在物理层建立PTP1588时钟;物理层包括支持IEEE 1588v2功能的PHY芯片。 [0075] 具体的,PTP授时装置支持1000M/100M/10Mbit/s以太网接口。 [0076] PTP授时装置内部需要建立一个高精度PTP1588时钟,用于记录PTP报文进入或离开Lwip协议栈或操作系统的时间信息,高精度PTP1588时钟的频率源要考虑频率稳定度,时钟的抖动情况。 [0077] PTP授时装置需要结合硬件和软件各自的优势来提升装置的授时精度。在驱动层和应用层获取时间戳能够实现1588v2协议授时功能,获取时间戳方式软件简单,但是PTP报文收发过程中延迟不确定性、延迟大严重影响授时精度,不适合高精密的时间同步的应用。在MAC层和或者MAC层与物理层之间的RGMII层位置获取报文时间戳,都能实现硬件时间戳功能,相比驱动层和lwip或OS层打时间戳有很大提升,延迟在纳秒级,但软硬件实现难度大、成本高。物理层打时间戳是一种兼顾授时精度和成本易实现方式,相比较在MAC层和MAC层与物理层之间的RGMII层位置打时间戳,可进一步降低延迟的不确定的影响,本方法获取报文时间戳在物理层位置,解决了PTP报文在协议栈或者操作系统的延迟抖动带来的对授时精度的影响,而且能够实现进一步提升PTP点对点授时精度。 [0078] 步骤210:对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步。 [0079] 具体的,PTP1588时钟同步分为秒内同步和秒外同步,秒内同步是将PTP1588时钟输出的时间基准1PPS信号与北斗时间基准1PPS信号对齐,秒外的同步是指调整PTP1588时钟与标准时间秒之间的偏差,将PTP1588时钟修正到与标准时间一致。 [0080] 步骤212:对PTP装置影响点对点授时精度的固定延迟进行修正。 [0081] 具体的,在物理层建立PTP1588时钟,能够消除软件对授时精度的影响,但是不能消除固定延迟对授时精度的影响,固定延迟主要是由于网络传输速率、PHY芯片延迟引起的,固定延迟会点对点授时精度带来20~70纳秒的影响,固定延迟如果不校准和修正,会大大降低点对点的授时精度指标。 [0082] 修正固定延迟首先需要对固定延迟进行精准测量,然后就是在报文中对固定延迟进行修正。 [0083] 固定延迟进行修正具体包括:采用共视授时服务器溯源高精度时间基准、PTP专用测试设备、时间间隔计数器对PTP装置的固定延迟进行测量;然后累加到Sync报文的修正域中去。 [0084] 步骤214:利用固定延迟修正后的PTP授时装置采用PTP协议进行点对点授时,从时钟实现本地时间的同步。 [0085] 上述提升PTP授时精度的方法,所述方法包括:采用北斗接收机获取NEMA0183格式数据和北斗时间基准;利用主控模块对NEMA0183格式数据进行解析,得到标准时间;主控模块根据北斗时间基准对恒温晶振进行驯服;将恒温晶振倍频至预定频率后作为PTP1588时钟的频率源;根据PTP1588时钟的频率源在物理层建立PTP1588时钟;对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步;对PTP装置影响点对点授时精度的固定延迟进行修正;利用固定延迟修正后的PTP授时装置采用PTP协议进行点对点授时,从时钟实现本地时间的同步。本方法采用物理层建立的PTP1588时钟,并采用共视授时服务器溯源高精度时间基准,提高了PTP授时装置点对点授时精度。 [0086] 在其中一个实施例中,步骤206包括:将恒温晶振采用PLL倍频模块倍频至第一频率后输入到主控模块中,主控模块将第一频率的时钟信号倍频至预定频率;将预定频率的时钟信号作为PTP1588时钟的频率源。 [0087] 在其中一个实施例中,PTP授时装置支持外1PPS、外10Mhz输入和外TOD输入;步骤212包括:将共视授时服务器接入授时服务平台,共视授时服务器输出10Mhz信号、1PPS信号以及TOD信号至PTP授时装置,将PTP1588时钟同步到共视授时服务器溯源的时间基准;将共视授时服务器输出的标准时间基准1PPS作为时间间隔计数器的参考输入;采用PTP授时装置给PTP专业测试设备授时,在测试设备上读出主、从时钟的秒内偏差,秒内偏差为固定延迟tDelay;在PTP报文中对固定延迟进行修正。 [0088] 在其中一个实施例中,在PTP报文中对固定延迟进行修正,包括:将固定延迟累加到Sync报文中,得到新的Sync报文修正域的值;根据PTP报文中的时间戳记录、新的Sync报文修正域的值、Follow_Up报文修正域的值和点对点装置的网络链路对称传输延迟,确定主、从时钟的时间偏差为: [0089] [0090] 其中,Toffset表示主、从时钟的时间偏差,t2表示从时钟接收到Sync报文的时间戳T2,t1表示主时钟发送Sync报文的时间戳T1,TDelay表示点对点装置的网络链路对称传输延迟,tsync_correcet表示新的Sync报文修正域的值,tFollow_Up_correcet表示Follow_Up报文修正域的值; [0091] 根据主、从时钟的时间偏差,PTP从时钟将时间修正调整到与主时钟一致。 [0092] 具体的,固定延迟测量原理如图5所示,将一台共视授时服务器接入中国计量科学研究院的授时服务平台,共视授时服务可溯源时间基准,本地复现与输出UTC信号,提供标准时间基准1PPS给时间间隔计数器用作参考输入,共视设备输出的10Mhz、1PPS和TOD信号接入到PTP授时装置,使PTP1588时钟同步到共视授时服务器溯源的时间基准。 [0093] 调整PTP专用测试设备的天线时延,使得PTP专用测试设备输出的时间基准1PPS与共视设备输出的标准时间基准1PPS对齐,此时时间间隔计数器上测量到3个时间基准1PPS的差值基本在0~3纳秒以内,PTP授时装置给PTP专业测试设备授时,考虑1个时钟周期的抖动,秒内偏差不会超过8纳秒,记录好PTP专用测试设备的秒内偏差,通过数据处理,此时测量出PTP装置的固定延迟tDelay。 [0094] 测量出PTP装置的固定延迟后,需要对装置进行延迟修正来提升PTP点对点的授时精度,PTP授时从时钟是基于Toffset和tDelay将时间修正调整到与主时钟一致,延迟请求响应机制两步法模式下,根据PTP报文里面的时间戳记录,Toffset和TDelay可表示为公式(1)。 [0095] 主时钟在一步法模式和两步法模式下,都会发送Sync报文,将测量出PTP装置的固定延迟tDelay累加到Sync报文的修正域中去,计算表示如下: [0096] [0097] 采用同样的方法,可以在对等延迟机制一步法或者二步法模式下,通过把固定延迟tDelay累加到对应的报文修正域中去,通过对PTP装置影响点对点授时精度的固定延迟的修正,进一步提升了PTP点对点授时精度。 [0098] 在其中一个实施例中,主控模块为ZYNQ最小系统;步骤210包括:在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与标准时间基准1PPS信号相位差,将测量的时差结果转换为DAC输出的压控电压给到恒温晶振的压控管脚,然后采用PID算法对恒温晶振进行驯服控制,实现恒温晶振分频输出的1PPS信号与标准时间基准的1PPS信号对齐。在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与PTP1588时钟输出的 1PPS信号相位差,通过ZYNQ最小系统的PS端的ARM处理器的MDIO/MDC接口,对PHY芯片的寄存器进行赋值调整秒内偏差,使得PTP1588时钟输出的1PPS信号与恒温晶振分频输出的 1PPS实现了秒内对齐;在标准时间基准1PPS信号上升沿后,将标准时间信息转换为协调世界时UTC的总秒数,通过MDIO/MDC接口对PHY芯片的寄存器进行直接初始化赋值和调整,使得寄存器的计数值与总秒数相同,实现整秒同步。 [0099] 具体的,PTP1588时钟同步方法的步骤包括: [0100] 第一步,将恒温晶振分频输出的1PPS信号与标准时间基准1PPS信号在PL端进行时差测量,时差测量方法是利用ZYNQ最小系统(作为优选,ZYNQ最小系统选用XC7Z020处理器)的FPGA逻辑资源进行时间间隔测量,测量精度达到皮秒级,大大提升了恒温晶振10MHz输出的频率准确度,测量后的结果转换为DAC输出大压控电压给到恒温晶振的压控管脚,然后采用PID算法对恒温晶振进行驯服控制,实现恒温晶振分频输出的1PPS信号与标准时间基准的1PPS信号。 [0101] 第二步,利用XC7Z020处理器的FPGA逻辑资源,通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与PTP1588时钟输出的1PPS信号相位差,通过PS端ARM处理器的MDIO/MDC接口,对PHY芯片的寄存器进行赋值调整秒内的测量出的相位差,使得PTP1588时钟输出的1PPS信号对齐恒温晶振分频输出的1PPS,调整精度可以精确到纳秒,主要是通过调整PTP1588时钟的RTC计数的步进值,提升了PTP1588时钟与标准时间的同步的精度和稳定度。PTP1588时钟输出的1PPS与恒温晶振分频输出的1PPS对齐后,PTP1588时钟与恒温晶振就实现了同频同相,恒温晶振与标准时间也是同频同相,最终PTP1588时钟输出的1PPS与标准时间实现了秒内的对齐,且不需要对PTP1588时钟频繁的测相调整,基本调整对齐一次就可以,大大提升了PTP1588时钟稳定度。 [0102] 第三步,标准时间基准1PPS信号与PS端扩展的EMIO连接,在标准时间基准1PPS信号上升沿后,把标准时间信息转换为协调世界时UTC的总秒数,通过MDIO/MDC接口对PHY芯片的寄存器进行直接初始化赋值和调整,使得寄存器的计数值与总秒数相同。PTP1588时钟与标准时间精准同步后,后续只需驯服恒温晶振,PTP1588时钟就能一直与标准时间同步,减少了PTP1588时钟的直接调整。通过PL端高精度1PPS的相位差的测量,通过驯服恒温晶振,利用恒温晶振的短稳特性,产生了高精度、高低抖动的PTP1588时钟,可进一步提升了PTP点对点的授时精度。 [0103] 应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。 [0104] 在一个实施例中,如图3所示,提供了一种高精度PTP授时装置,装置包括:主控模块10、北斗接收机20、PLL倍频模块30、恒温晶振40、时钟驱动模块50、以及支持IEEE 1588v2功能的PHY芯片60。 [0105] 北斗接收机20通过串口将NEMA0183格式数据传输到主控模块10,北斗接收机20的北斗时间基准1PPS信号连接到主控模块10上;恒温晶振40的输出端与PLL倍频模块30的输入端连接,PLL倍频模块30的输出端与主控模块10连接,主控模块10的时钟信号输出端与PHY芯片60连接,PHY芯片60通过RGMII和MIO/MDC与主控模块10连接;PHY芯片60输出PTP1588时间基准1PPS信号至时钟驱动模块50,时钟驱动模块50的第一输出端与主控模块10连接,时钟驱动模块50的第二输出端用于输出PTP1588时间基准1PPS信号。 [0106] 主控模块10用于根据北斗时间基准输出压控信号的数字信号,通过DAC转换后对恒温晶振40进行驯服;还用于将PLL倍频模块输出的时钟信号通过内部PLL倍频模块倍频至预定频率后作为PTP1588时钟的频率源;根据PTP1588时钟的频率源在物理层建立PTP1588时钟,对PTP1588时钟与标准时间和北斗时间基准进行时间和频率的同步;运行lwip协议栈,进行PTP协议处理并对PTP装置影响点对点授时精度的固定延迟进行修正;在固定延迟修正后运行PTP1588V2软件采用PTP协议进行点对点授时,从时钟实现本地时间的同步。 [0107] 主控模块10还支持外1PPS、外时钟信号以及外TOD信号。 [0108] 作为优选,本装置使用PHY芯片为AR8031内部集成的RTC(Real Time Counter)用作PTP1588时钟,给同步报文提供硬件时间戳的功能,在物理层产生时间戳减少了时间延迟。选用频率稳定度为E‑12的恒温晶振作为PTP1588时钟的频率源,主要是提供低抖动的PTP1588时钟,解决时钟抖动对时间戳准确度的影响。恒温晶振输出频率为10MHz,通过低抖动的PLL倍频电路产生50MHz的信号后接入XC7Z020处理器的PL端的全局时钟管脚,然后在XC7Z020处理器内部调用IP核二次倍频到125MHz,最后通过PL端FPGA管脚连接到AR8031芯片的PTP1588参考时钟输入管脚,给同步报文提供8纳秒高时间戳分辨率的PTP1588时钟。 [0109] 本实施例中作为优选主控模块选用XC7Z020处理器,使用处理器PS端硬核千兆以太网MAC和与PHY芯片AR8031原理设计,采用频率稳定度E‑12的外参考频率源或者恒温晶振,通过XC7Z020处理器内部倍频给PHY芯片AR8031提供125MHz时钟,在物理层建立一个高稳定度、高精度的内部PTP1588时钟,为PTP报文可提供高分辨率时间戳。内部PTP1588时钟基准与标准时间基准1PPS信号采用ZYNQ最小系统的FPGA逻辑资源进行TDC测量,提高了测量精度,通过恒温晶振或者外参考10MHz输入作为PTP1588时钟的频率源,减少了PTP1588时钟通过修改PHY芯片寄存器直接调整频率,提高了PTP1588时钟调准精度,可提升PTP授时装置点对点授时精度。 [0110] 图3中SMA是一个输出接口,输出内部PTP1588时钟基准。 [0111] 在其中一个实施例中,如图4所示,主控模块10包括:ARM处理器101、PL端的FPGA模块102、DDR3存储控制器104、UART控制器105以及外部接口模块106; [0112] ARM处理器101运行1wip协议栈,用于PTP协议处理和在报文中对固定延迟进行修正。ARM处理器101还用于根据北斗时间基准输出压控信号的数字信号,通过DAC转换后对恒温晶振40进行驯服。 [0113] PL端的FPGA模块102用于将PLL倍频模块30输出的时钟信号通过内部PLL倍频模块倍频至预定频率后作为PTP1588时钟的频率源; [0114] 外部接口模块106用于接收外1PPS、外时钟信号以及外TOD信号。 [0115] 在其中一个实施例中,对固定延迟修正采用的模块包括共视授时服务器、PTP专用测试设备以及时间间隔计数器。 [0116] 共视授时服务器输出10Mhz信号、1PPS信号、TOD信号至外部信号接口,共视授时服务器输出标准时间基准1PPS信号至时间间隔计数器,时钟驱动模块的第二输出端输出PTP1588时间基准1PPS信号至时间间隔计数器,高精度PTP授时装置通过网络对PTP专用测试设备进行授时,PTP专用测试设备输出测试设备时间基准1PPS信号。 [0117] 时间间隔计数器用于观测PTP授时装置和PTP专用测试设备时间基准秒内偏差是否接近零。 [0118] 在其中一个实施例中,ARM处理器,还用于将固定延迟累加到Sync报文的修正域中,得到新的Sync报文修正域的值;根据PTP报文中的时间戳记录、新的Sync报文修正域的值、Follow_Up报文修正域的值和点对点装置的网络链路对称传输延迟,确定主、从时钟的时间偏差为: [0119] [0120] 其中,Toffset表示主、从时钟的时间偏差,t2表示从时钟接收到Sync报文的时间戳T2,t1表示主时钟发送Sync报文的时间戳T1,TDelay表示点对点装置的网络链路对称传输延迟,tsync_correcet表示新的Sync报文修正域的值,tFollow_Up_correcet表示Follow_Up报文修正域的值; [0121] 根据主、从时钟的时间偏差,PTP从时钟将时间修正调整到与主时钟一致。 [0122] 在其中一个实施例中,主控模块为ZYNQ最小系统;PTP1588时钟同步方法包括: [0123] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与标准时间基准1PPS信号相位差,将测量的时差结果转换为DAC输出的压控电压给到恒温晶振的压控管脚,然后采用PID算法对恒温晶振进行驯服控制,实现恒温晶振分频输出的1PPS信号与标准时间基准的1PPS信号对齐。 [0124] 在PL端通过时间间隔测量方法测量恒温晶振分频输出的1PPS信号与PTP1588时钟输出的1PPS信号相位差,通过ZYNQ最小系统的PS端的ARM处理器的MDIO/MDC接口,对PHY芯片的寄存器进行赋值调整秒内偏差,使得PTP1588时钟输出的1PPS信号与恒温晶振分频输出的1PPS实现了秒内对齐; [0125] 在标准时间基准1PPS信号上升沿后,将标准时间信息转换为协调世界时UTC的总秒数,通过MDIO/MDC接口对PHY芯片的寄存器进行直接初始化赋值和调整,使得寄存器的计数值与总秒数相同,实现整秒同步。 [0126] 在一个具体实施例中,PTP授时装置采用XC7Z020处理器,使用PS端的硬件千兆以太网MAC,选用高通AR8031支持IEEE 1588v2功能的PHY芯片,在物理层建立PTP1588时钟,时间戳分辨率为8纳秒。利用ZYNQ处理器PL端的FPGA逻辑资源对PTP1588时钟输出的时间基准与标准时间基准1PPS信号进行时间间隔测量(TDC),然后通过MDIO/MDC接口对PTP1588时钟进行初调和微调,TDC测量精度在皮秒级,通过微调大大提高了内部PTP1588时钟同步精度,使得PTP1588时钟能精确同步到标准时间基准。内置高稳恒温晶振,接收北斗时间信号作为时间基准,对高稳恒温晶振进行驯服,为装置提供稳定度和准确度指标高的频率源,同时可外接10MHz信号、1PPS信号、TOD信息溯源到高精度时间基准对装置固定延迟进行修正,提升点对点授时精度。内部高稳晶振和外10MHz频率源都可以通过ZYNQ处理器内部的锁相环倍频到125MHz给PTP1588提供参考时钟,IEEE 1588v2在PS端的lwip协议栈上运行,通过设计显控软件和硬件,方便装置的人机交付操作。 [0127] 在一个验证性实施例中,针对PTP授时装置点对点授时精度的测试验证,构建一个测试系统,搭建的PTP授时装置系统测试框图6所示。 [0128] GNSS共视授时服务器是接入直接接入中国计量科学研究院的授时服务平台的共视设备,可以在本地复现与输出UTC信号,主要用于溯源高精度时间基准,授时精度优于≤3ns,提供标准的时间参考基准。 [0129] 16通道时间间隔计数器测量准确度优于≤50ps,通道一致性优于≤50ps,测量分辨率1ps,测试性能指标完全满足PTP授时装置的测试要求。 [0130] SyncEdge时频同步分析仪用于测试PTP授时精度 [0131] SyncEdge时频同步分析仪输出的1PPS时间与标准时间参考基准的相位差如图7所示, [0132] PTP授时装置输出的1PPS时间与标准时间参考基准的相位差如图8所示。 [0133] SyncEdge时频同步分析仪对PTP授时装置进行测试时,正确配置PTP协议的各类参数,多次重复上电记录好PTP授时装置在SyncEdge时频同步分析仪的测试秒内偏差和16通道时间间隔计数器上测量的1PPS秒内偏差,本PTP授时装置在1000Mbit/s电口模式下,对固定延迟值取平均值,通过多次上电记录,固定延迟值为30纳秒,然后通过修改PTP授时装置的Sync事件报文中的修正域,把correctionField字段的值设置为0x1E046D,修正时间值应‑16为(0x1E046D)×2 ,然后在延迟请求响应机制E2E、报文封装采用UDP的模式,测试时间超过10小时,PTP授时装置点对点的授时精度测试结果如图9所示,授时精度在20纳秒以内,通过修正PTP授时装置的固定延迟值进一步提升了点对点授时精度。 [0134] 通过修改配置PTP授时装置的延迟机制和报文封装方式,测得其它各种模式下PTP授时装置点对点的授时精度,点对点授时精度测试结果如表1所示,授时精度都在20纳秒以内。进一步通过测试验证了本装置点对点授时精度稳定可靠,适合各种延迟机制和报文封装方式。 [0135] 表1点对点授时精度 [0136] [0137] [0138] 采用GNSS共视授时服务器溯源高精度时间基准,利用16通道时间间隔计数器测量的SyncEdge时频同步分析仪与标准时间参考基准的秒内偏差,通过设置SyncEdge时频同步分析仪天线线缆时延,使SyncEdge时频同步分析仪和GNSS共视授时服务器输出的1PPS时间偏差接近为零,通过对PTP授时装置Sync事件报文中的修正域进行装置固定时延的修正,进一步提升了PTP授时装置的点对点授时精度,长时间运行指标可优于≤20ns,远远高于目前行业内对PTP授时装置点对点授时精度的要求。 |