一种提高分布式网络系统中时钟同步精度的方法

文档序号:7687380阅读:125来源:国知局
专利名称:一种提高分布式网络系统中时钟同步精度的方法
技术领域
本发明属于集成电路技术领域,涉及分布式网络系统中实时同步的方法,尤其涉及一种基于IEEE1588协议来提高分布式网络系统中时钟同步精度的方法。
背景技术
IEEE1588标准协议定义了一个在测量和自动化系统中的时钟同歩协 议,即精确时钟同步协议PTP (Precision Time Protocol),该协议适合 于分布式网络系统,可以实现微妙级高精度的时钟同步,使得在分配控 制工作时无需再进行专门的同步通信,从而达到了通信时间模式与应用 程序执行时间模式分开的效果。由于高精度的同步工作,使以太网技术 所固有的数据传输时间波动降低到可以接受的,不影响控制精度的范围。 在所有的网络同歩算法中,都要考虑到线路延时对同步系统造成的影响, 因而线路延时计算的准确性直接影响了同歩系统的精度。线路延时主要 由通信栈延时和物理网络上的传输延时组成,当数据在一个没有存储转 发功能的网络中进行通信时,由物理网络所产生的线路延时一般是稳定 的,而通信栈软件在执行过程中有很大的不确定性,使得通信栈的延时 会产生较大的抖动。另外在网络中由于各设备时钟晶振的速度存在偏差, 使得线路延时在计算过程中亦会造成不准确,这两种原因会导致实时同 步精度大大的降低。发明内容本发明的目的是针对现有技术的不足,提供一种基于IEEE1588协议 来提高时钟同歩精度的方法,从而解决上述由于网络不确定性产生的大 扰动问题以及各设备时钟晶振的速度存在偏差而造成的后果。本发明的具体内容包括1.针对于网络不确定性产生的大扰动,本发明方法采用了如下步骤 l-l.比较第一次本地从时钟和主时钟之间的时间偏差与用户通过寄 存器配置的偏差值大小,如果本地从时钟和主时钟之间的时间偏差大于 用户通过寄存器配置的偏差值,则作为网络中偶然的一次过大干扰而不 予考虑,即过滤了此次偏差,不对本地从时钟的时间进行调整;如果本 地从时钟和主时钟之间的时间偏差小于或等于用户通过寄存器配置的偏 差值,根据该时间偏差值调整本地从时钟的时间;1- 2.如果相邻的第二次本地从时钟和主时钟之间的时间偏差仍然大 于用户通过寄存器配置的偏差值,则判断目前的干扰并非偶然存在的, 记录此次本地从时钟和主时钟之间的时间偏差值,根据该时间偏差值调 整本地从时钟的时间,即可提高本地从时钟同步到主时钟的精度。根据 时间偏差值调整本地从时钟的时间的方法采用现有的成熟技术。2.针对于各设备时钟晶振的速度存在偏差,本发明采用了如下步骤2- 1.本地从时钟对主时钟连续两次发送Sync同步报文的时间间隔和 从时钟连续两次接收到主时钟发来的Sync同步报文的时间间隔进行比 较,若两者相等,则认为两台设备的晶振速度一致,不存在偏差;若主 时钟连续两次发送Sync同步报文的时间间隔大于从时钟连续两次接收到 主时钟发来的Sync同步报文的时间间隔,则认为本地从时钟晶振运行较 主时钟快,需要减慢从时钟系统时间的计时,然后转到歩骤2-2;若小于, 则认为本地从时钟晶振运行较主时钟慢,需要加快从时钟系统时间的计 时,然后转到步骤2-2;2-2.将主时钟连续两次发送Sync同步报文的时间间隔和从时钟连续 两次接收到主时钟发来的Sync同步报文的时间间隔的间隔之差平均分配 到同歩间隔之内,即在平均分配的每个点上调整本地从时钟的系统时间。 这样即可以保证调整速度的均匀,同时还可以保证在同步周期间隔之内 把本地从时钟的晶振补偿完成。本发明中的所涉及的操作(如寄存器配置、减法等)为基本技术常识,采用常规技术手段。本发明的发明点在于提供一种较为先进的实时同步方 法。本发明基于IEEE1588协议提出了一种提高分布式网络中各设备实时同 步精度的方法,这种方法解决了网络不确定性造成的大扰动及各设备晶振 速度存在偏差的问题,从而使同步精度达到微妙级。


图1为本发明方法中针对大干扰调整的流程图; 图2为本发明方法中针对晶振速度偏差调整的流程图。
具体实施例方式下面结合附图与实施例对本发明作进一步说明。如图1,本发明方法针对网络不确定性产生的大扰动问题具体实施方式
包括以下步骤1 、本地从时钟计算出与主时钟之间的时间偏差;2、 根据上述步骤1中的时间偏差,把它和用户通过寄存器配置的偏差值进行比较,若大于用户通过寄存器配置的偏差值,则舍弃掉这次所 计算出的时间偏差,同时不纠偏系统时间。同时我们可以分析得出这是 由于网络中的一次偶然的大扰动造成这样的结果。若小于或等于用户通过寄存器配置的偏差值,则根据该时间偏差值调整本地从时钟的时间;3、 相邻的第二次本地从时钟和主时钟之间的时间偏差仍然大于用户 通过寄存器配置的偏差值,则判断目前的干扰并非偶然存在的,记录此 次本地从时钟和主时钟之间的时间偏差值,根据该时间偏差值调整本地 从时钟的时间,即可提高本地从时钟同歩到主时钟的精度。如图2,本发明方法针对各设备时钟晶振的速度存在偏差进行补偿具体实施方式
包括以下步骤1 、本地从时钟计算出主时钟连续两次发送同歩报文的时间间隔;2、本地从时钟计算出连续两次接收到主时钟发来的同歩报文的时间间隔;3、 根据上述步骤1和2中计算出的两个时间间隔,用连续两次发送同歩报文的时间间隔减去连续两次接收到主时钟发来的同步报文的时间间隔,若相减结果为0,则表明两台设备的晶振速度一致,不存在偏差; 若相减结果大于0,则说明本地从时钟晶振速度运行较快,需减慢系统时 间的计时,即把计时使能信号的频率降低,也即增加分频系数,同时转 到步骤4;若相减结果小于0,则说明本地从时钟晶振速度运行较慢,需 加快系统时间的计时,即把计时使能信号的频率增加,也即降低分频系 数,同时转到步骤4;4、 根据上述步骤3中计算出的连续两次发送时间间隔和连续两次接收时间间隔的间隔之差,把此间隔之差平均分配到同步间隔之内,即只 有在平均分配的每个点上调整本地从时钟的系统时间,此改进方法即可 以保证调整速度的均匀,使得调整更加稳定,同时还可以保证在同步周期间隔之内把本地从时钟的晶振补偿完成;根据上述步骤4所采用的方法,具体包括4-1.为了把间隔之差平均分配到同步间隔之内,即在平均分配的每个点上调整本地从时钟的系统时间,则首先应算出每次调整一个周期的时间需调整多少次;4-2.根据上述步骤4-1算出的调整次数,算出在同步周期间隔内平均 分配的每个点,即当调整算法启动后,每经过多长时间需调整一次。
权利要求
1、一种提高分布式网络系统中时钟同步精度的方法,包括针对网络不确定性产生的大扰动的调整和针对各设备时钟晶振的速度存在偏差的调整,其特征在于针对于网络不确定性产生的大扰动的调整方法包括如下步骤a.比较第一次本地从时钟和主时钟之间的时间偏差与用户通过寄存器配置的偏差值大小,如果本地从时钟和主时钟之间的时间偏差大于用户通过寄存器配置的偏差值,则作为网络中偶然的一次过大干扰而不予考虑,不对本地从时钟的时间进行调整;如果本地从时钟和主时钟之间的时间偏差小于或等于用户通过寄存器配置的偏差值,根据该时间偏差值调整本地从时钟的时间;b.如果相邻的第二次本地从时钟和主时钟之间的时间偏差仍然大于用户通过寄存器配置的偏差值,则判断目前的干扰并非偶然存在的,记录此次本地从时钟和主时钟之间的时间偏差值,根据该时间偏差值调整本地从时钟的时间;针对各设备时钟晶振的速度存在偏差的调整方法包括如下步骤c.本地从时钟对主时钟连续两次发送Sync同步报文的时间间隔和从时钟连续两次接收到主时钟发来的Sync同步报文的时间间隔进行比较,若两者相等,则认为两台设备的晶振速度一致,不存在偏差;若主时钟连续两次发送Sync同步报文的时间间隔大于从时钟连续两次接收到主时钟发来的Sync同步报文的时间间隔,则认为本地从时钟晶振运行较主时钟快,需要减慢从时钟系统时间的计时,然后转到步骤d;若小于,则认为本地从时钟晶振运行较主时钟慢,需要加快从时钟系统时间的计时,然后转到步骤d;d.将主时钟连续两次发送Sync同步报文的时间间隔和从时钟连续两次接收到主时钟发来的Sync同步报文的时间间隔的间隔之差平均分配到同步间隔之内,即在平均分配的每个点上调整本地从时钟的系统时间。
全文摘要
本发明涉及一种提高分布式网络系统中时钟同步精度的方法。目前同步精度较低。本发明针对不确定性大扰动,只在本地从时钟和主时钟之间的时间偏差小于或等于用户通过寄存器配置的偏差值下进行调整;如果相邻的第二次仍然大于,则根据该时间偏差值调整本地从时钟的时间。针对于时钟晶振的速度存在偏差,本地从时钟对主时钟连续两次发送Sync同步报文的时间间隔和从时钟连续两次接收到主时钟发来的Sync同步报文的时间间隔进行比较,并将时间间隔的间隔之差平均分配到同步间隔之内。本发明方法通过滤波算法和同步间隔内均匀调整主从时钟晶振偏差,来解决时钟同步精度下降问题,从而使同步精度达到了微秒级。
文档编号H04L7/04GK101252429SQ200810059860
公开日2008年8月27日 申请日期2008年2月22日 优先权日2008年2月22日
发明者廉玉平, 艳 张, 陈金龙, 霍明旭, 雁 韩, 韩晓霞 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1