一种纳秒级NTP网络时间同步方法及系统与流程

未命名 08-14 阅读:167 评论:0

一种纳秒级ntp网络时间同步方法及系统
技术领域
1.本发明涉及纳秒级ntp网络时间同步技术领域,尤其涉及一种纳秒级ntp网络时间同步方法及系统。


背景技术:

2.ntp是网络时间协议(network time protocol),最早用来同步网络中各个计算机时间的协议,传统的ntp网络时间同步精度在毫秒量级。但是,随着时间频率技术的飞速发展,时间同步系统广泛应用于航空、航天、电力等领域,时间同步系统对时间同步精度的要求也越来越高,已经达到纳秒量级。因此,需要利用纳秒级ntp时间源产生技术实现系统内更高精度的时间同步。
3.在网络时间协议传输时,时间戳标记方式有两种:软件时间戳和硬件时间戳。相较于硬件时间戳,传统的ntp网络时间同步实现过程中,四个时间戳均标记在软件层,即软件时间戳,软件时间戳精度较低,在微妙量级。原因有二:其一,处理器内部有个总线时钟,这个时钟往往使用普通的无源晶振驱动,而无源晶振的老化率漂移率都在微妙级别。其二,软件中断处理的不确定性导致不能实时处理,往往会使置入的时间戳与实际的时间相差很大。
4.综上所述,在网络时间协议传输时采用硬件时间戳,将ntp网络时间同步精度提高至纳秒量级,使时间同步系统的纳秒级时间同步需求。满足同步系统高精度的要求。


技术实现要素:

5.本发明的目的是解决在纳秒级ntp时间源产生技术如何实现系统内更高精度的时间同步的难题,提出一种纳秒级ntp网络时间同步方法及系统,用于实现将ntp网络时间同步精度提高至纳秒量级,满足同步系统高精度的要求。
6.为了实现上述技术目的,本发明提供了一种纳秒级ntp网络时间同步方法,包括利用硬件方式标记ntp时间戳的客户端和服务端,
7.s1:所述客户端向所述服务端发送时间请求消息,
8.s2:所述服务端以时间应答消息作为回应,
9.s3:通过所述客户端发送消息至所述服务端所经历的时间和所述服务端回应所述客户端的时间计算出所述客户端与所述服务器之间的时钟偏差t,
10.s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。
11.优选地,s1:所述客户端向所述服务器发送包含了所述客户端发送时间戳t1的ntp请求报文,
12.所述服务端收到ntp请求报文时在报文中填入所述服务端的接收时间戳t2;
13.s2:所述服务端向所述客户端发送包含所述服务端的发送时间戳t3的回应报文,
14.所述客户端收到响应报文时记录其返回时间戳t4;
15.s3:根据t1、t2、t3和t4计算出ntp往返延迟的时间d和所述客户端与所述服务器之
间的时钟偏差t:
[0016][0017]
s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。
[0018]
优选地,一种纳秒级ntp网络时间同步系统,网络时间同步系统由至少一台网络时间源产生系统构成,
[0019]
网络时间源产生系统构成包括:
[0020]
负责与所述客户端进行ntp通信的高速phy片单元,提供传输和接收所需的所有物理层功能电缆上的以太网数据包;
[0021]
实现硬件ntp同步的mac功能的第一处理器单元,获取mac层数据;
[0022]
实现协议栈数据解析的第二处理器单元,标记ntp时间源硬件时间戳,包括udp协议栈和ntp协议栈;
[0023]
负责给装置供电的供电单元。
[0024]
优选地,包括:
[0025]
接收链路中,
[0026]
高速phy片单元获取所述客户端的ntp同步请求数据包,第一处理器单元接收高速phy片单元获取的数据包;进入第一处理器单元的数据包获取mac层数据,再将数据送入第二处理器单元进行数据解析和处理,并标记ntp时间源的接收时间戳;
[0027]
发送链路中,
[0028]
第二处理器单元完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,高速phy片单元完成ntp同步应答数据包的发送。
[0029]
优选地,
[0030]
接收链路中,
[0031]
高速phy片单元通过总线获取rj45网口获取ntp客户端的ntp同步请求数据包,第一处理器单元通过gmii/rgmii接口接收高速phy片单元获取的数据包,进入第一处理器单元后的数据包通过mac接口获得mac层数据,再将数据通过总线送入第二处理器单元进行udp协议栈数据解析以及ntp协议栈数据处理,并标记ntp时间源的接收时间戳;
[0032]
发送链路中,
[0033]
第二处理器单元在ntp协议栈完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后在udp协议栈完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,通过高速phy片单元101完成ntp同步应答数据包的发送。
[0034]
优选地,ntp时间源的时间戳均在用硬件方式标记ntp时间戳的硬件处理器上做了标记,使硬件处理器上实现mac功能。
[0035]
优选地,硬件处理器的参考时间为245mhz至255mhz,使得ntp协议栈可将ntp时间源的接收时间戳和发送时间戳恢复成1pps脉冲信号,且ntp时间源接收时间戳1pps和ntp时间源发送时间戳1pps的精度均在纳秒量级。
[0036]
优选地,硬件处理器的参考时间为248mhz至252mhz,对应的时钟周期为4ns,解析
所述客户端发来的ntp报文,使ntp网络时间源的时间戳精度均达到纳秒量级,最大限度上靠近物理层,减少其他操作系统及其他网络层延迟带来的误差。
[0037]
优选地,纳秒级ntp网络时间同步系统由两台纳秒级ntp网络时间源产生系统构成,包括对两台纳秒级ntp网络时间源产生系统进行数据交互的第一ntp网络时间源单元和第二ntp网络时间源单元。
[0038]
优选地,第一ntp网络时间源单元和第二ntp网络时间源单元是通过网络进行ntp通信的,实现了纳秒级ntp时间同步精度。
[0039]
本发明公开了以下技术效果:
[0040]
本发明利用硬件方式标记ntp时间戳的技术,通过标记硬件时间戳的方式,ntp时间同步过程中,实现纳秒级ntp时间同步,避免了操作系统及网络层的误差对ntp同步精度的影响,使得ntp时间同步精度提高到纳秒量级。
附图说明
[0041]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1为本发明所述的纳秒级ntp网络时间同步方法示意图;
[0043]
图2为本发明所述的纳秒级ntp网络时间源产生系统示意图;
[0044]
图3为本发明所述的纳秒级ntp网络时间同步系统的示意图。
[0045]
其中,101高速phy片单元、102第一处理器单元、103第二处理器单元、104供电单元、201第一ntp网络时间源单元、202第二ntp网络时间源单元。
具体实施方式
[0046]
下为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0047]
如图1-3所示,本发明提供了一种纳秒级ntp网络时间同步方法,包括利用硬件方式标记ntp时间戳的客户端和服务端,
[0048]
s1:所述客户端向所述服务端发送时间请求消息,
[0049]
s2:所述服务端以时间应答消息作为回应,
[0050]
s3:通过所述客户端发送消息至所述服务端所经历的时间和所述服务端回应所述客户端的时间计算出所述客户端与所述服务器之间的时钟偏差t,
[0051]
s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。
[0052]
进一步优选地,s1:所述客户端向所述服务器发送包含了所述客户端发送时间戳
t1的ntp请求报文,
[0053]
所述服务端收到ntp请求报文时在报文中填入所述服务端的接收时间戳t2;
[0054]
s2:所述服务端向所述客户端发送包含所述服务端的发送时间戳t3的回应报文,
[0055]
所述客户端收到响应报文时记录其返回时间戳t4;
[0056]
s3:根据t1、t2、t3和t4计算出ntp往返延迟的时间d和所述客户端与所述服务器之间的时钟偏差t:
[0057][0058]
s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。
[0059]
进一步优选地,一种纳秒级ntp网络时间同步系统,网络时间同步系统由至少一台网络时间源产生系统构成,
[0060]
网络时间源产生系统构成包括:
[0061]
负责与所述客户端进行ntp通信的高速phy片单元,提供传输和接收所需的所有物理层功能电缆上的以太网数据包;
[0062]
实现硬件ntp同步的mac功能的第一处理器单元,获取mac层数据;
[0063]
实现协议栈数据解析的第二处理器单元,标记ntp时间源硬件时间戳,包括udp协议栈和ntp协议栈;
[0064]
负责给装置供电的供电单元。
[0065]
进一步优选地,包括:
[0066]
接收链路中,
[0067]
高速phy片单元获取所述客户端的ntp同步请求数据包,第一处理器单元接收高速phy片单元获取的数据包;进入第一处理器单元的数据包获取mac层数据,再将数据送入第二处理器单元进行数据解析和处理,并标记ntp时间源的接收时间戳;
[0068]
发送链路中,
[0069]
第二处理器单元完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,高速phy片单元完成ntp同步应答数据包的发送。
[0070]
进一步优选地,
[0071]
接收链路中,
[0072]
高速phy片单元通过总线获取rj45网口获取ntp客户端的ntp同步请求数据包,第一处理器单元通过gmii/rgmii接口接收高速phy片单元获取的数据包,进入第一处理器单元后的数据包通过mac接口获得mac层数据,再将数据通过总线送入第二处理器单元进行udp协议栈数据解析以及ntp协议栈数据处理,并标记ntp时间源的接收时间戳;
[0073]
发送链路中,
[0074]
第二处理器单元在ntp协议栈完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后在udp协议栈完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,通过高速phy片单元101完成ntp同步应答数据包的发送。
[0075]
进一步优选地,ntp时间源的时间戳均在用硬件方式标记ntp时间戳的硬件处理器
上做了标记,使硬件处理器上实现mac功能。
[0076]
进一步优选地,硬件处理器的参考时间为245mhz至255mhz,使得ntp协议栈可将ntp时间源的接收时间戳和发送时间戳恢复成1pps脉冲信号,且ntp时间源接收时间戳1pps和ntp时间源发送时间戳1pps的精度均在纳秒量级。
[0077]
进一步优选地,硬件处理器的参考时间为248mhz至252mhz,对应的时钟周期为4ns,解析所述客户端发来的ntp报文,使ntp网络时间源的时间戳精度均达到纳秒量级,最大限度上靠近物理层,减少其他操作系统及其他网络层延迟带来的误差。
[0078]
进一步优选地,纳秒级ntp网络时间同步系统由两台纳秒级ntp网络时间源产生系统构成,包括对两台纳秒级ntp网络时间源产生系统进行数据交互的第一ntp网络时间源单元和第二ntp网络时间源单元。
[0079]
进一步优选地,第一ntp网络时间源单元和第二ntp网络时间源单元是通过网络进行ntp通信的,实现了纳秒级ntp时间同步精度。
[0080]
经研究与分析,传统的ntp网络时间同步精度无法突破毫秒量级,是因为其时间戳标记在软件协议层,由于操作系统及网络层的误差影响,使得软件时间戳不确定性太大导致ntp时间戳标记精度低。因此,本方案意在提供一种利用硬件时间戳技术实现纳秒级ntp时间同步的方法。
[0081]
为达到以上目的,本方案如下:
[0082]
第一方面,本方案提供一种基于纳秒级ntp网络时间源产生技术的方法,该方法利用硬件方式标记ntp时间同步中的四个时间戳t1、t2、t3、t4。
[0083]
第二方面,本方案提供一种基于纳秒级ntp网络时间源产生技术的装置,该装置采用硬件时间戳技术产生ntp网络时间源,装置组成主要包括处理器、高速phy片、电源。
[0084]
第三方面,本方案提供一种纳秒级ntp网络时间同步系统,该系统包括:基于纳秒级ntp网络时间产生技术的网络时间源(服务器端)、纳秒级ntp网络时间同步客户端。
[0085]
以下,结合附图1、附图2和附图3,对本方案提出的一种纳秒级ntp网络时间源产生方法及系统进行详细描述。可以包括如下步骤:
[0086]
步骤s1,接收客户端的ntp报文,其中包含客户端的发送时间戳t1;
[0087]
步骤s2,在硬件处理器上实现mac功能,解析客户端发来的ntp报文,并在硬件处理器上标记接收时间戳t2;
[0088]
步骤s3,向客户端发送应答报文,并在硬件处理器上标记发送时间戳t3;
[0089]
步骤s4,客户端接收到应答报文,标记接收时间戳t4。
[0090]
本方案中,步骤s2和步骤s3是在ntp网络时间源上实现,涉及到的时间戳都是在硬件处理器上进行标记,最大限度上靠近物理层,减少其他操作系统及其他网络层延迟带来的误差。硬件处理器上的参考时钟为250mhz,对应的时钟周期为4ns,因此在硬件处理器上标记时间戳,可以使ntp网络时间源的时间戳精度达到纳秒量级。
[0091]
结合附图2,本方案进一步提供了配合上述纳秒级ntp网络时间源产生方法实施的系统,该系统包括:
[0092]
高速phy片单元101,该单元负责与客户端进行ntp通信,它可提供传输和接收所需的所有物理层功能电缆上的以太网数据包;
[0093]
第一处理器单元102,该单元实现硬件ntp同步的mac功能,获取mac层数据;
[0094]
第二处理器单元103,该单元包括udp协议栈和ntp协议栈,实现协议栈数据解析,并标记ntp时间源硬件时间戳;
[0095]
供电单元104,该单元负责给系统供电。
[0096]
接收链路中,高速phy片单元101通过总线获取rj45网口接收到的ntp客户端的ntp同步请求数据包。第一处理器单元102通过gmii/rgmii接口接收高速phy片单元101的数据包。数据包进入第一处理器单元102后,通过mac接口获得mac层数据,再将数据通过总线送入第二处理器单元103进行udp协议栈数据解析以及ntp协议栈数据处理,并标记ntp时间源的接收时间戳。
[0097]
发送链路中,第二处理器单元103首先在ntp协议栈完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,随后送至udp协议栈完成udp、ip和mac层的组帧。该数据与第一处理器单元102的mac数据完成复用后,送至mac接口,通过高速phy片单元101完成ntp同步应答数据包的发送。
[0098]
特别地,第二处理器单元103的ntp协议栈可将ntp时间源的接收时间戳和发送时间戳恢复成1pps脉冲信号。因为ntp时间源的时间戳均在硬件处理器上进行标记,硬件处理器的参考时间为250mhz,因此ntp时间源接收时间戳1pps和ntp时间源发送时间戳1pps的精度均在纳秒量级。
[0099]
在上述纳秒级ntp网络时间源产生方法实施方式的基础上,本方案进一步提供一种纳秒级ntp网络时间同步系统。图3所示ntp时间同步系统仅仅是一个示例,不应对本方案实施例的功能和使用范围带来任何限制。
[0100]
结合附图3,纳秒级ntp网络时间同步系统由两台纳秒级ntp网络时间源产生装置组成,第一ntp网络时间源单元201、第二ntp网络时间源单元202之间通过网络进行ntp通信,可以实现纳秒级ntp时间同步精度。
[0101]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0102]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0103]
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含、包括”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0104]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例
性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:
1.一种纳秒级ntp网络时间同步方法,其特征在于:包括利用硬件方式标记ntp时间戳的客户端和服务端,s1:所述客户端向所述服务端发送时间请求消息,s2:所述服务端以时间应答消息作为回应,s3:通过所述客户端发送消息至所述服务端所经历的时间和所述服务端回应所述客户端的时间计算出所述客户端与所述服务器之间的时钟偏差t,s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。2.根据权利要求1所述一种纳秒级ntp网络时间同步方法,其特征在于:s1:所述客户端向所述服务器发送包含了所述客户端发送时间戳t1的ntp请求报文,所述服务端收到ntp请求报文时在报文中填入所述服务端的接收时间戳t2;s2:所述服务端向所述客户端发送包含所述服务端的发送时间戳t3的回应报文,所述客户端收到响应报文时记录其返回时间戳t4;s3:根据t1、t2、t3和t4计算出ntp往返延迟的时间d和所述客户端与所述服务器之间的时钟偏差t:s4:用时钟偏差t调整所述客户端的时钟,以使其时间与所述服务器时间一致。3.一种纳秒级ntp网络时间同步系统,应用于如权利要求1-3任一权利要求所述的一种纳秒级ntp网络时间同步方法中,其特征在于,网络时间同步系统由至少一台网络时间源产生系统构成,网络时间源产生系统构成包括:负责与所述客户端进行ntp通信的高速phy片单元,提供传输和接收所需的所有物理层功能电缆上的以太网数据包;实现硬件ntp同步的mac功能的第一处理器单元,获取mac层数据;实现协议栈数据解析的第二处理器单元,标记ntp时间源硬件时间戳,包括udp协议栈和ntp协议栈;负责给装置供电的供电单元。4.根据权利要求3所述一种纳秒级ntp网络时间同步系统,其特征在于,包括:接收链路中,高速phy片单元获取所述客户端的ntp同步请求数据包,第一处理器单元接收高速phy片单元获取的数据包;进入第一处理器单元的数据包获取mac层数据,再将数据送入第二处理器单元进行数据解析和处理,并标记ntp时间源的接收时间戳;发送链路中,第二处理器单元完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,高速phy片单元完成ntp同步应答数据包的发送。5.根据权利要求4所述一种纳秒级ntp网络时间同步系统,其特征在于:接收链路中,
高速phy片单元通过总线获取rj45网口获取ntp客户端的ntp同步请求数据包,第一处理器单元通过gmii/rgmii接口接收高速phy片单元获取的数据包,进入第一处理器单元后的数据包通过mac接口获得mac层数据,再将数据通过总线送入第二处理器单元进行udp协议栈数据解析以及ntp协议栈数据处理,并标记ntp时间源的接收时间戳;发送链路中,第二处理器单元在ntp协议栈完成ntp层数据的组帧操作,并标记ntp时间源的发送时间戳,然后在udp协议栈完成udp、ip和mac层的组帧;该数据与第一处理器单元的mac数据完成复用后,送至mac接口,通过高速phy片单元101完成ntp同步应答数据包的发送。6.根据权利要求5所述一种纳秒级ntp网络时间同步系统,其特征在于:ntp时间源的时间戳均在用硬件方式标记ntp时间戳的硬件处理器上做了标记,使硬件处理器上实现mac功能。7.根据权利要求6所述一种纳秒级ntp网络时间同步系统,其特征在于:硬件处理器的参考时间为245mhz至255mhz,使得ntp协议栈可将ntp时间源的接收时间戳和发送时间戳恢复成1pps脉冲信号,且ntp时间源接收时间戳1pps和ntp时间源发送时间戳1pps的精度均在纳秒量级。8.根据权利要求7所述一种纳秒级ntp网络时间同步系统,其特征在于:硬件处理器的参考时间为248mhz至252mhz,对应的时钟周期为4ns,解析所述客户端发来的ntp报文,使ntp网络时间源的时间戳精度均达到纳秒量级,最大限度上靠近物理层,减少其他操作系统及其他网络层延迟带来的误差。9.根据权利要求8所述一种纳秒级ntp网络时间同步系统,其特征在于:纳秒级ntp网络时间同步系统由两台纳秒级ntp网络时间源产生系统构成,包括对两台纳秒级ntp网络时间源产生系统进行数据交互的第一ntp网络时间源单元和第二ntp网络时间源单元。10.根据权利要求9所述一种纳秒级ntp网络时间同步系统,其特征在于:第一ntp网络时间源单元和第二ntp网络时间源单元是通过网络进行ntp通信的,实现了纳秒级ntp时间同步精度。

技术总结
本发明公开了一种纳秒级NTP网络时间同步方法及系统,包括利用硬件方式标记NTP时间戳的客户端和服务端,客户端向所述服务端发送时间请求消息,服务端以时间应答消息作为回应,客户端发送消息至所述服务端所经历的时间和服务端回应客户端的时间计算出客户端与服务器之间的时钟偏差t,用时钟偏差t调整客户端的时钟,以使其时间与服务器时间一致。高速PHY片单元提供传输和接收所需的所有物理层功能电缆上的以太网数据包;第一处理器单元,获取MAC层数据;第二处理器单元,标记NTP时间源硬件时间戳。通过标记硬件时间戳的方式,NTP时间同步过程中,实现纳秒级NTP时间同步使得精度提高到纳秒量级,避免操作系统及网络层的误差对NTP同步精度的影响。NTP同步精度的影响。NTP同步精度的影响。


技术研发人员:杨帆 乔彩霞 刘灿
受保护的技术使用者:北京无线电计量测试研究所
技术研发日:2023.05.24
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐