精确ieee1588协议的透明时钟路径延迟的方法

文档序号:7813795阅读:428来源:国知局
精确ieee1588协议的透明时钟路径延迟的方法
【专利摘要】本发明公开一种精确IEEE1588协议的透明时钟路径延迟的方法,其先通过运行IEEE1588时间同步机制,采用P2P透明时钟机制,得到四个时间戳,再利用时钟同步算法计算出路径延迟值,使用设置阈值法,将路径延迟值与阈值相比较:若小于规定阈值,保存并进入下一次时钟同步,当他们的偏差值大于预先设定的阈值时,进行PID反馈调节,然后再次比较,若还是大于阈值,则认为是错误的,舍弃。若小于规定阈值,则保存并进去下一组同步。本发明能够解决了现有IEEE1588v2时间同步时路径偏差值不稳定而影响同步精度的问题。
【专利说明】精确IEEE1588协议的透明时钟路径延迟的方法

【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种精确IEEE1588协议的透明时钟路径延迟的方法。

【背景技术】
[0002]IEEE1588的全称是“网络测量和控制系统的精密时钟同步协议标准”。IEEE1588v2协议是IEEE协会在2008年颁布的时间同步标准(2002年颁布的版本通常称为第一版本)。虽然目前的IEEE1588v2协议提供了几种时钟同步模式,且理论上可以达到亚微秒的同步精准。国内从事IEEE1588研究的大多处于理论研究阶段,但是真正投入使用实现高精度时钟同步的装置并不多,大多是基于第一版本的同步,第一版本对网络的延迟抖动处理得不是很理想,协议报文在穿越网络各层,MAC层、PHY层、到达应用层时,会有路径延迟,有时候会出现网络报文堵塞,网络不通,这时会产生网络延迟抖动,影响了传输的精度和准确性。另外,在多层次的时钟同步中,也会带来累计误差,由于这些问题,使得利用IEEE1588v2协议来实现分布式测试网络的时钟同步还存在一定的难度。


【发明内容】

[0003]本发明所要解决的是现有IEEE1588协议在时间同步时路径偏差值不稳定影响同步精度的问题,而提供一种精确IEEE1588协议的透明时钟路径延迟的方法。
[0004]为解决上述问题,本发明是通过以下技术方案实现的:
[0005]一种精确IEEE1588协议的透明时钟路径延迟的方法,包括如下步骤:
[0006]步骤1、请求者和响应者均运行IEEE1588协议,进入透明时钟的模式。
[0007]步骤2、根据设置的报文发送间隔,在请求者和响应者之间发送协议消息报文,得至IJ 4个消息时间戳。即
[0008]步骤2.1、请求者发送Pdelay_Req报文给响应者,请求者记下当前发送的消息时间戳Tl。
[0009]步骤2.2、响应者接受请求者发送的Pdelay_Req报文,响应者记下当前接收到的消息时间戳T2。
[0010]步骤2.3、响应者接受到Pdelay_Req报文后,马上向请求者发送Pdelay_Resp报文,响应者记录下发送Pdelay_Resp报文的消息时间戳T3。
[0011]步骤2.4、请求者接受到响应者发送的Pdelay_Resp报文,请求者记录下当前消息时间戳T4。
[0012]步骤3、请求者根据上述所获得的4个消息时间戳Tl?T4,计算路径延迟Q1,其中Ql = [(Τ4-Τ1)-(Τ3-Τ2)]/2。
[0013]步骤4、请求者判断计算得出的路径延迟Ql是否大于预先设置的阈值。如果路径延迟Ql小于阈值,则保存路径延迟Q1,结束本次同步测量,并等待下次同步测量。如果路径延迟Ql大于阈值,则采用PID反馈调节补偿,进行反馈补偿后会得到一个新的路径延迟Q2,并将新的路径延迟Q2与阈值进行比较。如果新的路径延迟Q2小于阈值,则保存新的路径延迟Q2,结束本次同步测量,等待下次同步测量。如果新的路径延迟Q2大于阈值,则舍弃当前测量的所有时间戳,终止本次同步测量。
[0014]在步骤I之前,还进一步包括,在主钟发出同步消息之前,请求者和响应者的主钟将以太网收发器的时钟与时间源的时钟同步。
[0015]在步骤I中,进入的可以是E2E透明时钟模式,也可以进入P2P透明时钟模式,但为了更好地保证同步的精度,进入的最好是P2P透明时钟模式。
[0016]在步骤2中,设定的报文发送间隔为2N秒,其中N为大于等于零的整数。
[0017]所述N的取值范围介于O?6之间。
[0018]在步骤2中,还进一步包括,步骤2.5、响应者先根据消息时间戳T2和T3计算周转时间T3-T2。再根据响应者的时钟类型将周转时间T3-T2加载到相应的报文中,并发送给请求者。即
[0019]如果响应者是单步时钟,则响应者在发送Pdelay_Resp报文之前,将周转时间T3-T2加到Pdelay_Resp报文的修正域中,并且对校验和或Pdelay_Resp报文的其他内容相关字段做任何需要的校正。
[0020]如果响应者是双步时钟,则响应者在发送Pdelay_Resp报文之后,响应者紧接着发送一个Pdelay_Resp_Fol1wJJp报文,该Pdelay_Resp_Follow_Up报文中会携带有周转时间T3-T2。
[0021]在步骤4中,设定的阈值介于10ns?500ns之间。
[0022]本发明先通过运行IEEE1588时间同步机制,采用P2P透明时钟机制,得到四个时间戳,再利用时钟同步算法计算出路径延迟值,使用设置阈值法,将路径延迟值与阈值相比较:若小于规定阈值,保存并进入下一次时钟同步,当他们的偏差值大于预先设定的阈值时,进行PID反馈调节,然后再次比较,若还是大于阈值,则认为是错误的,舍弃。若小于规定阈值,则保存并进去下一组同步。与现有技术相比,本发明通过将计算测出的路径延迟值与阈值相比较,然后利用PID反馈控制,从而解决了现有IEEE1588v2时间同步时路径偏差值不稳定而影响同步精度的问题。

【专利附图】

【附图说明】
[0023]图1是IEEE1588的P2P透明时钟同步原理图。
[0024]图2是一种精确IEEE1588协议的透明时钟路径延迟的方法的流程图。
[0025]图3是一种精确IEEE1588协议的透明时钟路径延迟的装置的模块示意图。
[0026]图4是一种提供的IEEE1588v2协议的软件架构图。

【具体实施方式】
[0027]一种精确IEEE1588协议的透明时钟路径延迟的方法,如图1和图2所示,包括如下步骤:
[0028]步骤1、在主钟发出同步消息之前,请求者和响应者的主钟将以太网收发器的时钟与时间源的时钟同步。
[0029]步骤2、运行IEEE1588协议,进入P2P透明时钟的模式。
[0030]步骤3、在软件的网络层传递 Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Foilow_Up这三个报文消息,并通过传递报文消息,在网络层得到4个消息时间戳。即
[0031]步骤3.1、设置发送Pdelay_Req报文的间隔时间。在本发明优选实施例中,上述间隔时间设为2N秒,即2秒、或4秒、或8秒、......、或64秒。
[0032]步骤3.1、请求者发送Pdelay_Req报文给响应者,请求者记下当前发送的消息时间戳Tl。
[0033]步骤3.2、响应者接受请求者发送的Pdelay_Req报文,响应者记下当前接收到的消息时间戳T2。
[0034]步骤3.3、响应者接受到Pdelay_Req报文后,马上向请求者发送Pdelay_Resp报文,响应者记录下发送Pdelay_Resp报文的消息时间戳T3。
[0035]步骤3.4、请求者接受到响应者发送的Pdelay_Resp报文,请求者记录下当前消息时间戳T4。
[0036]步骤3.5、响应者先根据消息时间戳T2和T3计算周转时间T3-T2,并将周转时间T3-T2的值放到correct1nField中。再根据响应者的时钟类型(单步时钟或双步时钟)将周转时间T3-T2加载到相应的报文中,并发送给请求者。即
[0037]如果响应者是单步时钟,则响应者在发送Pdelay_Resp报文之前,将周转时间T3-T2加到Pdelay_Resp报文的修正域中,并且对校验和或Pdelay_Resp报文的其他内容相关字段做任何需要的校正。
[0038]如果响应者是双步时钟,则响应者在发送Pdelay_Resp报文之后,响应者紧接着发送一个Pdelay_Resp_Fol1wJJp报文,该Pdelay_Resp_Follow_Up报文中会携带有周转时间T3-T2。
[0039]步骤4、请求者根据Pdelay_Resp报文或Pdelay_Resp_Fol 1wJJp报文中所携带的周转时间T3-T2计算路径延迟Q1,其中Ql = [(Τ4-Τ1)-(Τ3-Τ2)]/2。
[0040]步骤5、请求者判断计算得出的路径延迟Ql是否大于预先设置的阈值。如果路径延迟Ql小于阈值,则保存路径延迟Q1,结束本次同步测量,并等待下次同步测量。如果路径延迟Ql大于阈值,则采用PID反馈调节补偿,进行反馈补偿后会得到一个新的路径延迟Q2,并将新的路径延迟Q2与阈值进行比较。如果新的路径延迟Q2小于阈值,则保存新的路径延迟Q2,结束本次同步测量,等待下次同步测量。如果新的路径延迟Q2大于阈值,则舍弃当前测量的所有消息时间戳,终止本次同步测量。
[0041]基于上述方法所涉及的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的装置,如图3所示,其主要由初始化模块、运行模块、检测模块、提取模块、同步模块、比较模块和反馈模块组成。其中
[0042]初始化模块,用于上电时,初始化各芯片,为接下来的ΙΕΕΕ1588协议同步做好准备。
[0043]运行模块,运行ΙΕΕΕ1588协议,进入P2P透明时钟模式,并根据设置的报文发送时间间隔,发送协议消息报文。
[0044]检测模块,当消息来临时,判断是否PTP报文消息。即:在网络端口检测报文类型,当检测到 Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Follow_Up 这 3 个报文消息时,则接受并保存。如果检测到的不是 Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Foilow_Up 这 3 个报文消息时,则舍弃。
[0045]提取模块,当检测到所需报文并保存时,提取报文中所含的时间戳信息以及correct1nField 信息。
[0046]同步模块,收到报文时间戳信息,计算出路径延迟Q1,其中路径延迟Ql的计算公式为 Ql = [(Τ4-Τ1)-(Τ3-Τ2)]/2。
[0047]比较模块,将计算得出的路径延迟Ql与预先设定的阈值相比较。
[0048]反馈模块,若是路径延迟Ql大于阈值,则进入PID反馈补偿,获得一个新的路径延迟Q2,以调整时钟的路径延迟。
[0049]图4是本发明提供的ΙΕΕΕ1588ν2协议的软件架构图。
[0050]protocol, c是整个协议的核心部分,通过它控制整个协议的运行,bmc.c是实现最佳主时钟算法,net.c是整个的协议的网络控制方面,msg.c是整个协议的消息包模块,servo, c是整个协议的核心同步算法。protocol, c规定了协议的九种转换状态,控制整个协议的运行,各个端口的转换,控制协议的九种报文的切换,本发明主要使用了 Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Foilow_Up三种报文来实现了 P2P透明时钟,达到了本发明的要求。
[0051]servo, c控制整个算法,通过接收四个时间戳信息Tl、T2、T3、T4,然后通过路径延迟等于((Τ4-Τ1)-(Τ3-Τ2))/2,得出路径延迟值,将路径延迟值与预先设置的阈值进行比较,若是小于阈值,则保存路径延迟值,等待进入下一次同步测量。若是路径延迟值大于阈值,则进行PID反馈补偿,反馈补偿后得到的数值再与阈值进行比较,若是补偿后的值Q2小于阈值,则保存数据,等待进去下一次同步测量流程,若是Q2大于阈值,则舍弃,终止本次同步测量。
【权利要求】
1.一种精确IEEE1588协议的透明时钟路径延迟的方法,其特征是,包括如下步骤: 步骤1、请求者和响应者均运行IEEE1588协议,进入透明时钟的模式; 步骤2、根据设置的报文发送间隔,在请求者和响应者之间发送协议消息报文,得到4个消息时间戳;即 步骤2.1、请求者发送Pdelay_Req报文给响应者,请求者记下当前发送的消息时间戳Tl ; 步骤2.2、响应者接受请求者发送的Pdelay_Req报文,响应者记下当前接收到的消息时间戳T2 ; 步骤2.3、响应者接受到Pdelay_Req报文后,马上向请求者发送Pdelay_Resp报文,响应者记录下发送Pdelay_Resp报文的消息时间戳T3 ; 步骤2.4、请求者接受到响应者发送的Pdelay_Resp报文,请求者记录下当前消息时间戳T4 ; 步骤3、请求者根据上述所获得的4个消息时间戳Tl?T4,计算路径延迟Q1,其中Ql=[(Τ4-Τ1)-(Τ3-Τ2)]/2 ; 步骤4、请求者判断计算得出的路径延迟Ql是否大于预先设置的阈值;如果路径延迟Ql小于阈值,则保存路径延迟Q1,结束本次同步测量,并等待下次同步测量;如果路径延迟Ql大于阈值,则采用PID反馈调节补偿,进行反馈补偿后会得到一个新的路径延迟Q2,并将新的路径延迟Q2与阈值进行比较;如果新的路径延迟Q2小于阈值,则保存新的路径延迟Q2,结束本次同步测量,等待下次同步测量;如果新的路径延迟Q2大于阈值,则舍弃当前测量的所有时间戳,终止本次同步测量。
2.根据权利要求1所述的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的方法,其特征是,在步骤I之前,还进一步包括,在主钟发出同步消息之前,请求者和响应者的主钟将以太网收发器的时钟与时间源的时钟同步。
3.根据权利要求1所述的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的方法,其特征是,在步骤I中,进入的是P2P透明时钟的模式。
4.根据权利要求1所述的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的方法,其特征是,在步骤2中,设定的报文发送间隔为2Ν秒,其中N为大于等于零的整数。
5.根据权利要求4所述的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的方法,其特征是,所述N的取值范围介于O?6之间。
6.根据权利要求1所述的一种精确ΙΕΕΕ1588协议的透明时钟路径延迟的方法,其特征是,在步骤2中,还进一步包括,步骤2.5、响应者先根据消息时间戳Τ2和Τ3计算周转时间Τ3-Τ2 ;再根据响应者的时钟类型将周转时间Τ3-Τ2加载到相应的报文中,并发送给请求者;即 如果响应者是单步时钟,则响应者在发送Pdelay_Resp报文之前,将周转时间T3-T2加到Pdelay_Resp报文的修正域中,并且对校验和或Pdelay_Resp报文的其他内容相关字段做任何需要的校正; 如果响应者是双步时钟,则响应者在发送Pdelay_ReSp报文之后,响应者紧接着发送一个Pdelay_Resp_Follow_Up报文,该Pdelay_Resp_Follow_Up报文中会携带有周转时间T3-T2。
7.根据权利要求1所述的一种精确IEEE1588协议的透明时钟路径延迟的方法,其特征是,在步骤4中,设定的阈值介于10ns?500ns之间。
【文档编号】H04J3/06GK104184534SQ201410455056
【公开日】2014年12月3日 申请日期:2014年9月9日 优先权日:2014年9月9日
【发明者】朱望纯, 张鑫, 高海英, 宋辉, 曹健 申请人:桂林电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1