专利名称:一种提高时钟精度的方法和装置的制作方法
技术领域:
本发明涉及通讯技术领域,具体地说,涉及一种提高NTP协议下的时间保持性能以提高时钟精度的方法和装置。
背景技术:
随着通信业务的发展,在通信网中各种设备对时间同步的精度需求越来越高。NTP协议(Network Time Protocol,网络时间协议)就是用于在分布式时间服务器和客户端之间进行时间同步的,它定义了协议实现过程中所使用的结构、算法、实体和协议。
当下级时间服务器正常跟踪上级服务器时,下级时间服务器NTP输出的精度主要取决于上级时间服务器的精度以及服务器间的网络情况,而在网络故障或上级时间服务器不可用时,下级时间服务器的保持性能决定了其NTP输出的精度。
并且在有时间源时NTP模块处于跟踪状态,没有参考源时NTP模块进入保持,如果一直没有时间源的话,NTP模块就处于自由状态。其中自由状态是完全以CPU晶振的频率作为计数基准,而保持时采用修改频偏后的CPU晶振的频率作为基准。
一般的电信级的时间服务器,具有时间同步和频率同步两大基本功能,时间同步提供高精度的年月日时分秒等时间信息,频率同步提供2MHz、8KHz等高精度的时钟,但是这两个功能没有有效的结合。
现有NTP协议下的时间获取的技术方案,如1图所示,其中CPU晶振普通的晶振,一般精度为50ppm;RTC(Real-time Transport Control,实时传输控制)器件是一个EEPROM(Electrically Erasable Programmable ROM,电擦写可编程只读存储器)的器件,与CPU的I2C总线相连,功能是当设备单板掉电时能,单板的时间的也能实时的更新;当单板上电时,RTC器件能为单板提供当前的时间信息;NTP模块在CPU系统中实现,CPU系统一般由CPU、内存、FLASH、网口等组网。其主要的功能获取外接的时间服务器Server的时间信息,来调整本身的时间来跟踪时间服务器,同时将跟踪的时间信息提供给客户端设备Client;锁相模块锁相模块一般由DDS、PD、LF和振荡器(铷钟或恒温晶振或压控晶振)等组成,如图2所示,其主要的功能是跟踪外接参考源的频率信号,能提供高精度的频率信号。
当设备的NTP模块启动时,从RTC芯片中读取本地的时间信息。当有上级Server作为时间源时,NTP模块从所述Server上获取时间信息,当时间源的时间信息和本地时间信息之差小于用户设定的门限值时,表示Server的时间源信息可用,此时NTP模块跟踪Server,同时输出精度较高的时间信息给Client。设备可以通过锁相模块为其他业务提供频率同步信号,但频率同步信号和时间同步信号没有结合。
当时间源丢失即Server和NTP模块通信中断时,NTP模块就以CPU晶振频率准确度为基准进行时间信息自动累加。但一般设备的CPU晶振的性能较差,所以NTP进入保持状态后性能就较差,所以当NTP模块没有可用时间源时,输出的NTP的时间精度较差。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种提高时钟精度的方法和装置,以提高在NTP模块没有可用时间源时输出的NTP的时间精度。
本发明提供的一种提高时钟精度的方法,包括设备的NTP模块启动时,A、在有时间源时,NTP模块从时间源获取时间信息;B、当没有可用的时间源时,NTP模块获取利用高精度的频率为振荡源产生的频率同步信号更新后的时间信息。
步骤B中的时间信息获取和/或保存方式包括采用软件或硬件方式。
还进一步的包括步骤B中的时间信息,在有时间源时,通过和时间源的时间信息比较来进行调整。
同时步骤A中还包括,当时间源的时间信息和本地时间信息之差小于设定的门限值,表明时间源的时间信息可用。
本发明提供的一种提高时钟精度的装置,包括CPU晶振、RTC器件、NTP模块和锁相模块,其特征在于,该装置还包括逻辑RTC模块,该逻辑RTC模块利用锁相模块输出的高精度的频率为振荡源产生的频率同步信号更新时间信号,在设备没有可用时间源时,为NTP模块提供时间信息。
当有外部时间源时,NTP模块通过检查外部时间源和逻辑RTC模块的时间偏差来微调逻辑RTC模块的时间信息。
并且所述的逻辑RTC模块的功能实现方式包括利用逻辑器件中设置预定编程或利用RTC实时时钟芯片来实现。
利用本发明提供的方法,将频率同步有效的结合起来,以确保当设备的NTP的时间源丢失时,也能给客户端提供高精度的时间信息。进一步的该方案采用逻辑的方式形成实时RTC,具有分辨率高、成本低等优点。
图1为现有的提高NTP的精度的方案示意图;图2为现有的锁相模块的设备组成图;图3为本发明的提高时钟精度的装置框图;图4为本发明的提高时钟精度的方案示意图。
具体实施例方式
下面结合具体实施例对本发明方案进行说明。本发明的装置框图如图3所示,该装置由以下部件组成CPU晶振、RTC器件、NTP模块(CPU系统)、逻辑RTC,锁相模块;其中逻辑RTC,其作用是利用锁相模块输出的高精度的频率为振荡源产生的频率同步信号更新时间信号。在设备没有可用时间源时,逻辑RTC为NTP模块提供时间信息。其时间信息采用无符号64位的秒时间码,前32位表示整数部分,后32位表示小数部分,理论上的精度可达2-32秒。可以利用逻辑器件(可擦除可编程逻辑器件EPLD,或现场可编程门阵列FPGA)中设置预定编程来实现。
具体实现过程如图4所示,1、当单板的NTP模块启动时,从RTC芯片中读取本地的时间信息,此时间信息为时间源可用性的基准,同时逻辑RTC芯片从RTC芯片上获取该时间信息作为初始时间信息。
其中RTC芯片保存时间信息主要是当单板掉电时由于RTC芯片有电池驱动,所以它的时间信息能实时更新。单板启动时,虽然RTC芯片上的时间信息不是很准确,但是可作为时间源的的可用行的基准,当时间源的信息和RTC芯片的时间的偏差小于用户设定的门限值时,表示此时间源可用。同时也是为下次单板重新启动时判断时间源来使用。
2、当有时间源时,NTP模块从Server的时间源上获取时间信息,当时间源的时间信息和所述本地时间信息之差小于用户设定的门限值,表示Server的时间源信息可用。可用的时间源信息经过NTP处理后,向Client发送时间信息。
3、只要NTP能正常的跟踪Server,就能输出较高的时间信息给Client。逻辑RTC的时间信息以调频DDS器件输出的高精度的频率为振荡源自动刷新;并且每隔一段时间NTP模块通过检查Server和逻辑RTC的时间偏差来向前或向后微调逻辑RTC的时间信息,以确保逻辑RTC的时间和Server的时间保持基本一致。
4、当无Server时或时间源的时间信息不可用时,NTP模块自动从逻辑RTC中获取时间信息。由于逻辑RTC采用以调频DDS器件输出的高精度的频率为振荡源,所以就能具有良好的时间性能,可以确保当NTP Server发生中断后单板的输出的NTP也能确保较高的精度。
另外可以用RTC实时时钟芯片来替代逻辑RTC,实时时钟芯片的时钟基准也为锁相后的时钟输出,其工作步骤类似,就不再赘述。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种提高时钟精度的方法,其特征在于,包括设备的网络时间协议NTP模块启动时,A、在有时间源时,所述NTP模块从时间源获取时间信息;B、当没有可用的时间源时,所述NTP模块获取利用高精度的频率为振荡源产生的频率同步信号更新后的时间信息。
2.根据权利要求1所述的方法,其特征在于,所述步骤B中的时间信息的获取和/或保存包括采用软件或硬件方式来实现。
3.根据权利要求3所述的方法,其特征在于,还包括步骤B中的时间信息,在有时间源时,通过和时间源的时间信息比较来进行调整。
4.根据权利要求1所述的方法,其特征在于,步骤A中还包括,当所述时间源的时间信息和本地时间信息之差小于设定的门限值,表明时间源的时间信息可用。
5.一种提高时钟精度的装置,包括CPU晶振、实时传输控制RTC器件、NTP模块和锁相模块,其特征在于,该装置还包括逻辑RTC模块,该逻辑RTC模块利用锁相模块输出的高精度的频率为振荡源产生的频率同步信号更新时间信号,在设备没有可用时间源时,为NTP模块提供时间信息。
6.根据权利要求5所述的装置,其特征在于,当有外部时间源时,所述NTP模块通过检查外部时间源和逻辑RTC模块的时间偏差来微调逻辑RTC模块的时间信息。
7.根据权利要求5或6所述的装置,其特征在于,所述的逻辑RTC模块的功能实现方式包括利用逻辑器件中设置预定编程或利用RTC实时时钟芯片来实现。
全文摘要
本发明公开了一种提高时钟精度的方法和装置,设备的NTP模块启动时,A、在有时间源时,NTP模块从时间源获取时间信息;B、当没有可用的时间源时,NTP模块获取利用高精度的频率为振荡源产生的频率同步信号更新后的时间信息。同时公开了一种提高时钟精度的装置。利用本发明提供的方法,将频率同步有效的结合起来,以确保当设备的NTP的时间源丢失时,也能给客户端提供高精度的时间信息。
文档编号H04L7/00GK1964352SQ20061006277
公开日2007年5月16日 申请日期2006年9月22日 优先权日2006年9月22日
发明者张庆 申请人:华为技术有限公司