专利名称:高精度ntp授时系统及其授时方法
技术领域:
本发明涉及一种高精度NTP授时系统及其授时方法,属于时间同步系统、子母钟系统技术领域。
背景技术:
目前,NTP (Network Time Protocol)作为网络授时协议,已经广泛的应用在各个行业之中,但是传统的NTP本身存在着精度低、对硬件性能依赖性很大的缺点,一般NTP的精度在毫秒级别,而且作为NTP服务器,对于服务器的CPU处理速度依赖性很大,随着客户端数量的增加,NTP服务器的授时精度会明显降低;
对于我们的时间同步系统、子母钟系统等对时间精度要求较高的行业,时间精度的要求达到了微秒级甚至是纳秒级,NTP在这些领域的应用受到了明显的限制,也显示出了 NTP的一些不足;
传统的NTP网络授时系统,采用带有操作系统的CPU进行处理,所有的时间均有CPU去计时并获取,导致存在严重不足如下
1、NTP包的到达时间获取不精确;
2、NTP包的发送时间获取不精确;
3、NTP的精度对硬件CPU的处理速度依赖性过大;
4、NTP服务器可带的节点数量较少,即负载能力过小。但是NTP授时也有它的优势所在,随着以太网的发展,以太网已经深入到了各个角落,在以太网上运行的NTP授时协议,不用占用专用的网络,就可以实现授时,而且非常方便组网,用起来非常方便灵活。
发明内容
本发明的目的在于解决上述现有技术存在的不足之处,提供一种精度高、获取数据精确、组网方便、不占用专用网络的高精度NTP授时系统及其授时方法。本发明高精度NTP授时系统,其特殊之处在于包括用于发出NTP包的CPU2,CPU2通讯连接有用于接收、发送NTP包并对NTP包中的各个时间戳进行补偿修正的可编程逻辑器件1,可编程逻辑器件1与以太网PHY电路3、授时输出接口单元4通讯连接,可编程逻辑器件1的输入端连接有用于输送标准时间的标准时源输入接口 5,CPU2与用户管理接口 6通讯连接,用户管理接口 6是提供给用户进行管理、维护、设置的接口。上述高精度NTP授时系统的授时方法,其特殊之处在于包括以下步骤
服务器端CPU2接收NTP包,经过可编程逻辑器件1精确记录到达时间T ;CPU2收到NTP包后作出回应,发送回应NTP包,并将记录的精确时间T添加到所要发出的NTP包中,然后可编程逻辑器件1对发送的NTP包的发送时间进行修正并更改发送时间戳的值,然后可编程逻辑器件1对NTP包进行校验,校验后发出。
4
服务器端接收方向
1、CPU2通过可编程逻辑器件1从标准时源输入端口5获得标准时间;CPU2从用户管理接口6获取客户基本配置;
2、可编程逻辑器件1接收到物理层的以太网包,精确记录下到达时间T;
3、可编程逻辑器件1将收到的以太网包进行CRC32(循环冗余检测32)校验,校验数据包是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,则进行下一步处理;
4、如果以太网包不是NTP包,那么就将该包直接送到CPU2进行处理,如果该数据包是NTP包,则将时间T加入到NTP包的到达时间戳的位置;
5、对于加上时间戳T的以太网包,重新进行CRC32校验,将校验值替换以太网包原有的校验和;
6、将步骤5的NTP包送到CPU2进行处理;
服务器端发送方向
1、CPU2通过可编程逻辑器件1从标准时源输入端口5获得标准时间;
CPU2从用户管理接口 6获取客户基本配置;
2、可编程逻辑器件1接收到来自CPU2的以太网包,并精确记录下达
时间为T,确定以太网包在可编程逻辑器件1中的处理时间t ;
3、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3判断包的类型;
4、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路发
送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位置;
5、对于已经加上时间戳T的以太网包,重新进行CRC32校验,并将校
验替换包原有的校验和;
6、步骤5的NTP包送到PHY电路及物理接口3发送出去;
客户端CPU2从用户管理接口 6获取客户基本配置;CPU2发送NTP包,经过可编程逻辑器件1精确记录发送时间;并将记录的精确时间添加到所要发出的NTP包中;当服务器端的NTP回应包到达客户端,可编程逻辑器件1精确记录NTP回应包的到达时间,并上报给CPU2。CPU2依据各个时间戳的值及NTP包回应包的值,计算出客户端本地时间t和服务器端的标准时间T的时间偏差,然后可编程逻辑器件修正客户端本地的时间,通过授时输出接口单元4输出正确的标准时间,进行授时。客户端接收方向
1、可编程逻辑器件1接收到物理层的以太网包,并精确记录下到达时
间为T ;
2、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,进入步骤3判断包的类型;
3、如果数据包的类型不是NTP包,那么就将该包直接送到CPU2进行处理,并将时间T丢弃;如果该数据包是NTP包,则将时间T送入CPU2进行处理;
客户端发送方向1、可编程逻辑器件1接收到来自CPU的以太网包,并精确记录下到达时间为T,并确定以太网包在可编程逻辑器件1中的处理时间t ;
2、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3判断包的类型;
3、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路
发送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位
置;
4、对于已经加上时间戳T的包,重新进行CRC32校验,并将校验替换包原有的校验和;
5、步骤4的NTP包送到PHY电路发送出去。本发明的高精度NTP授时系统及其授时方法,提出了一个新的解决方案一硬件时间戳,解决了 NTP的现有不足,并结合NTP既有的优点,对于NTP在时间同步系统、子母钟系统中的应用提供了极大的便利,大大提高NTP授时精度,传统NTP授时精度为毫秒级,应用我们的硬件时间戳可以将精度提高到IOns级别,可以将NTP服务器的带负载能力大大提高,传统一般能带几百到几千个负载,理论带负载能力可达25万。
图1 本发明的高精度NIP授时系统的结构框图。
具体实施例方式以下参考附图给出本发明的具体实施方式
,用来对本发明做进一步的说明。本实施例的高精度NTP授时系统,包括用于发出NTP包的CPU2,CPU2通讯连接有用于接收NTP包并对NTP包中的各个时间戳进行补偿修正的可编程逻辑器件1,可编程逻辑器件1的输出端与以太网PHY电路及物理接口 3、授时输出接口单元4通讯连接,可编程逻辑器件1的输入端与标准时源输入接口 5通讯连接,CPU2与用户管理接口 6通讯连接;
上述高精度NTP授时系统的授时方法,包括以下步骤
服务器端CPU2接收NTP包,经过可编程逻辑器件1精确记录到达时间T ;CPU2收到NTP包后作出回应,发送回应NTP包,并将记录的精确时间T添加到所要发出的NTP包中,然后可编程逻辑器件1对发送的NTP包的发送时间进行修正并更改发送时间戳的值,然后可编程逻辑器件1对NTP包进行校验,校验后发出;服务器端接收方向
1、可编程逻辑器件1接收到物理层的以太网包,精确记录下到达时间T;
2、可编程逻辑器件1将收到的以太网包进行CRC32(循环冗余检测32)校验,校验数据包是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,则进行下一步处理;
3、如果以太网包不是NTP包,那么就将该包直接送到CPU2进行处理,如果该数据包是NTP包,则将时间T加入到NTP包的到达时间戳的位置;
4、对于加上时间戳T的以太网包,重新进行CRC32校验,将校验值替换以太网包原有的校验和;5、将步骤4的NTP包送到CPU2进行处理;服务器端发送方向
1、可编程逻辑器件1接收到来自CPU2的以太网包,并精确记录下达时间为T,确定以太网包在可编程逻辑器件1中的处理时间t ;
2、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3判断包的类型;
3、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路发
送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位置;
4、对于已经加上时间戳T的以太网包,重新进行CRC32校验,并将校验替换包原有的校验和;
5、步骤4的NTP包送到PHY电路发送出去;客户端接收方向
1、可编程逻辑器件1接收到物理层的以太网包,并精确记录下到达时间为T ;
2、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,进入步骤3判断包的类型;
3、如果数据包的类型不是NTP包,那么就将该包直接送到CPU2进行处理,并将时间T丢弃;如果该数据包是NTP包,则将时间T送入CPU2进行处理;
客户端发送方向
1、可编程逻辑器件1接收到来自CPU的以太网包,并精确记录下到达时间为T,并确定以太网包在可编程逻辑器件1中的处理时间t ;
2、可编程逻辑器件1对收到的以太网包进行CRC32校验,校验数据包
是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3判断包的类型;
3、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路
发送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位
置;
4、对于已经加上时间戳T的包,重新进行CRC32校验,并将校验替换包原有的校验和;
5、步骤4的NTP包送到PHY电路发送出去。 本发明的高精度NTP授时系统及其授时方法,提出了一个新的解决方案一硬件时间戳,解决了 NTP的现有不足,并结合NTP既有的优点,对于NTP在时间同步系统、子母钟系统中的应用提供了极大的便利,大大提高NTP授时精度,传统NTP授时精度为毫秒级,应用我们的硬件时间戳可以将精度提高到IOns级别,可以将NTP服务器的带负载能力大大提高,传统一般能带几百到几千个负载,理论带负载能力可达25万。
权利要求
1.高精度NTP授时系统,其特征在于包括用于发出NTP包的CPU(2),CPU (2)通讯连接有用于接收、发送NTP包并对NTP包中的各个时间戳进行补偿修正的可编程逻辑器件(1),可编程逻辑器件(1)与以太网PHY电路(3)、授时输出接口单元(4)通讯连接,可编程逻辑器件(1)的输入端连接有用于输送标准时间的标准时源输入接口(5),CPU (2)与用户管理接口(6)通讯连接。
2.按照权利要求1上述高精度NTP授时系统的授时方法,其特征在于包括以下步骤服务器端CPU (2)接收NTP包,经过可编程逻辑器件(1)精确记录到达时间T ;CPU (2)收到NTP包后作出回应,发送回应NTP包,并将记录的精确时间T添加到所要发出的NTP包中,然后可编程逻辑器件(1)对发送的NTP包的发送时间进行修正并更改发送时间戳的值,然后可编程逻辑器件(1)对NTP包进行校验,校验后发出;服务器端接收方向1)、CPU(2)通过可编程逻辑器件(1)从标准时源输入端口(5)获得标准时间;CPU (2)从用户管理接口(6)获取客户基本配置;2)、可编程逻辑器件(1)接收到物理层的以太网包,精确记录下到达时间T;3)、可编程逻辑器件(1)将收到的以太网包进行CRC32校验,校验数据包是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,则进行下一步处理;4)、如果以太网包不是NTP包,那么就将该包直接送到CPU(2)进行处理,如果该数据包是NTP包,则将时间T加入到NTP包的到达时间戳的位置;5)、对于加上时间戳T的以太网包,重新进行CRC32校验,将校验值替换以太网包原有的校验和;6)、将步骤5)的NTP包送到CPU2进行处理;服务器端发送方向1)、CPU2通过可编程逻辑器件(1)从标准时源输入端口(5)获得标准时间,CPU (2)从用户管理接口(6)获取客户基本配置;2)、可编程逻辑器件(1)接收到来自CPU(2)的以太网包,并精确记录下达时间为T,确定以太网包在可编程逻辑器件(1)中的处理时间t ;3)、可编程逻辑器件(1)对收到的以太网包进行CRC32校验,校验数据包是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3)判断包的类型;4)、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路发送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位置;5)、对于已经加上时间戳T的以太网包,重新进行CRC32校验,并将校验替换包原有的校验和;6)、步骤5)的NTP包送到PHY电路及物理接口(3)发送出去;客户端CPU2从用户管理接口(6)获取客户基本配置;CPU (2)发送NTP包,经过可编程逻辑器件(1)精确记录发送时间;并将记录的精确时间添加到所要发出的NTP包中;当服务器端的NTP回应包到达客户端,可编程逻辑器件(1)精确记录NTP回应包的到达时间,并上报给CPU (2),CPU (2)依据各个时间戳的值及NTP包回应包的值,计算出客户端本地时间t和服务器端的标准时间T的时间偏差,然后可编程逻辑器件修正客户端本地的时间,通过授时输出接口单元(4)输出正确的标准时间,进行授时;客户端接收方向1)、可编程逻辑器件(1)接收到物理层的以太网包,并精确记录下到达时间为T ;2)、可编程逻辑器件(1)对收到的以太网包进行CRC32校验,校验数据包是否完整包,如果是错误包,就将该包丢弃;如果数据包完整无误,进入步骤3)判断包的类型;3)、如果数据包的类型不是NTP包,那么就将该包直接送到CPU (2)进行处理,并将时间T丢弃;如果该数据包是NTP包,则将时间T送入CPU2进行处理;客户端发送方向1)、可编程逻辑器件(1)接收到来自CPU的以太网包,并精确记录下到达时间为T,并确定以太网包在可编程逻辑器件(1)中的处理时间t ;2)、可编程逻辑器件(1)对收到的以太网包进行CRC32校验,校验数据包是否完整包,如果是错误包,就将该包丢弃,如果数据包完整无误,进入步骤3)判断包的类型;3)、如果数据包的类型不是NTP包,那么就将该包直接送到PHY电路发送出去,如果该数据包是NTP包,则将时间(T + t)加入到NTP包的发送时间戳的位置;4)、对于已经加上时间戳T的包,重新进行CRC32校验,并将校验替换包原有的校验和;5)、步骤4)的NTP包送到PHY电路发送出去。
全文摘要
本发明涉及一种高精度NTP授时系统及其授时方法,属于时间同步系统、子母钟系统技术领域。包括用于发出NTP包的CPU,CPU通讯连接有用于接收、发送NTP包并对NTP包中的各个时间戳进行补偿修正的可编程逻辑器件,可编程逻辑器件与以太网PHY电路、授时输出接口单元通讯连接,可编程逻辑器件的输入端连接有用于输送标准时间的标准时源输入接口,CPU与用户管理接口通讯连接。本发明精度高、获取数据精确、组网方便、不占用专用网络。
文档编号H04J3/06GK102571252SQ20121000813
公开日2012年7月11日 申请日期2012年1月12日 优先权日2012年1月12日
发明者孙得膑 申请人:孙得膑