一种PTP系统时间同步方法以及装置制造方法及图纸

技术编号:11244483 阅读:130 留言:0更新日期:2015-04-01 17:57
本发明专利技术提供一种PTP系统时间同步方法以及装置,该方法包括:根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;根据所述与上游设备表征时间的偏差值更新向下游设备发送的同步信息,以使PTP系统中上游设备与下游设备间的表征时间同步。

【技术实现步骤摘要】
一种PTP系统时间同步方法以及装置
本专利技术涉及通信
,尤其涉及一种PTP(PrecisionTimeProtocol,精确时间协议)系统同步方法以及装置。
技术介绍
PTP用于实现设备之间的高精度时间同步,也可用于设备之间的频率同步。在PTP系统中,由上游设备向下游设备发布同步时间,发布同步时间的上游设备可以称为主时钟,而接收同步时间的下游设备则称为从时钟。在实现PTP系统的时间同步时,由从时钟记录主、从时钟之间交互的时间同步消息的时戳,通过将该时戳上报至中央处理器CPU,由CPU计算时间同步消息往返的时间差,以及根据该往返的时间差计算主、从时钟之间的往返总延时。如果网络是对称的,则往返总延时的一半就是单向延时,并根据这个单向延时计算出主、从时钟之间的时钟偏差值。CPU可以通过控制从时钟按照该时钟偏差值来调整本地时间,从而实现从时钟与主时钟之间的同步。然而,通常CPU从计算主、从时钟之间的时钟偏差值到控制从时钟按照该时钟偏差值来调整本地时间的过程较长,如果从时钟在一个时间周期中可调整本地时间的时间范围外接收到主时钟发送的时间同步消息,那么,CPU则会在下个时间周期控制从时钟调整本地时间,从而导致后续的主、从时钟之间时间出现较大偏差,且偏差不固定的问题。
技术实现思路
有鉴于此,本专利技术提供了一种PTP系统时间同步方法以及装置来解决现有技术中的问题。本专利技术提供一种PTP系统时间同步方法,其中该方法包括:根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;根据所述与上游设备表征时间的偏差值更新向下游设备发送的同步信息。本专利技术还提供一种PTP系统时间同步装置,所述装置包括:获取单元,用于根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;更新单元,用于根据所述与上游设备表征时间的偏差值更新向下游设备发送的同步信息。本专利技术提供的PTP系统时间同步方法以及装置,使用获取到的与上游设备表征时间的偏差值更新向下游设备发送的同步信息,以使PTP系统中上游设备与下游设备间的表征时间同步。附图说明图1是现有技术中上游设备与下游设备的1PPS频率及相位示意图;图2是本专利技术实施例所应用的PTP系统组网环境示意图;图3是本专利技术实施例中请求应答机制实现过程示意图;图4是本专利技术实施例中PTP系统时间同步方法流程示意图;图5为本专利技术实施例中上游设备与下游设备的1PPS频率及相位示意图;图6是本专利技术实施例中PTP系统时间同步装置所在本地设备硬件架构示意图;图7为本专利技术实施例中PTP系统时间同步装置的逻辑结构示意图。具体实施方式应用了PTP协议的网络可以称为PTP域或者PTP系统,PTP系统内有且只有一个同步时钟,也称为最优时钟(GrandmasterClock,GM)。通过各设备间PTP协议报文的交互,最优时钟的时间最终将被向下同步传递,因此也可称最优时钟为时钟源。在实现PTP系统中的时间同步时,下游设备(从时钟)接收上游设备(主时钟,也可以是时钟源)发布的同步(Sync)报文,并通过该Sync报文以及与上游设备交互的回应报文(Delay_Req报文以及Delay_Resp报文)获取多个时间戳,根据该多个时间戳计算出表征时间的偏差值(Offset)。现有技术中,在计算出该Offset后,从时钟根据该Offset调节自身的本地时间,以保持与主时钟(或者时钟源)的时间同步。假设,1秒为一个时间周期,在计算出Offset后,将(1+/-Offset)保存在PHY(物理层)芯片对应的清零阈值寄存器,并且在接收到内部PHY芯片发送的1PPS(1PulsePerSecond,秒脉冲)时,开启内部的计数器进行计数,在计数时间等于或者大于(1+/-Offset)的时间时,通过发送1PPS控制内部的计数器清零,并重新开始计数。请参考图1所示的上游设备与下游设备的1PPS频率及相位示意图,通过上述反复的处理,本地设备输出的1PPS可以与上游设备的1PPS的频率和相位保持基本一致,从而本地设备的时间最终与上游设备的时间保持完全一致(误差在纳秒范围)。然而,在获取时间同步消息的报文时戳,再进行Offset计算,以及使用Offset对本地时间进行调整所使用的时间通常都在毫秒级,若在时间周期1秒的末尾时间(剩余时间不足以进行计算Offset并调整本地时间)接收到上游设备的Sync报文,那么CPU则会在下个时间周期控制本地设备调整本地时间,从而导致后续的上、下游之间时间出现较大偏差的问题。图2所示为一PTP系统组网环境示意图,在PTP系统中包括上游设备(R1)、本地设备(R2)以及下游设备(R3),其中R1为R2的主时钟(Masterclock),R2为R3的主时钟,R2为R1的从时钟(Slaveclock),R3为R2的从时钟。本申请一PTP系统时间同步方法例子的处理流程如图3所示,该方法具体可以应用在PTP系统中的PTP设备上,本例以应用于一本地设备为例说明,包括以下步骤:步骤301,根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;PTP系统的各设备中,发布同步时间的端口称为主(Master)端口,而接收同步时间的端口则称为从(Slave)端口。在初始的状态,本地设备内部还未分配具体的主端口以及从端口,在本地设备接收到上游设备发送的Sync报文时,可以通过BMC(BestMasterClock,最佳主时钟)算法选取本地设备中的主端口以及从端口,也可以根据需要,或者随机选取出主端口以及从端口,后续可以使用选取的主端口以及从端口发送或接收时间同步消息。在选取出从端口后,可以将与该选取的从端口对应的清零阈值寄存器设置一个固定数值,例如1秒,使清零阈值寄存器不再随计算出的时钟偏差值发生变化。本例子中,还设置了与所述清零阈值寄存器对应的计数器,在计数器的计数时长到达预设的固定数值(例如1秒)时,将所述计数器的计数清零并重新计数。在该计数器计数的过程中,若接收到时间同步消息,将接收到时间同步消息时的计数器当前的计数时间作为接收该时间同步消息的报文时戳的纳秒值,将系统内部保存的TOD时间作为报文时戳的秒值。在实现PTP系统中的时间同步时,可通过请求应答机制中交互的时间同步消息获取报文时戳。PTP系统中上游设备向下游设备发送时间同步消息可以有两种发送模式,一种是单步模式,一种是双步模式。单步模式下,该同步消息可以包括接收上游设备R1发布的Sync(同步)报文、本地设备R2根据该Sync报文向上游设备R1回复的Delay_Req(延时请求)报文,以及接收上游设备根据该Delay_Req报文回应的Delay_Resp(延时回应)报文。并可以根据所述Sync报文获取上游设备R1发送所述Sync报文的第一时戳t1,以及本地设备R2接收到所述Sync报文时,将与清零阈值寄存器对应的计数器当前的计数时间作为的第二时戳t2的纳秒值,同时将系统内部保存的TOD时间作为第二时戳t2的秒值;本地设备R2向上游设备R1发送Delay_Req报文时,获取发送Delay_Req的第三时戳t3(获取方法与第二时戳t2相同),以及根据Delay_Resp报文获取上游设备R1接收Delay_Req报文的第四时戳t4。图4为上游设备以双步本文档来自技高网...

【技术保护点】
一种精确时间协议PTP系统时间同步方法,其特征在于,所述方法包括:根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;根据所述与上游设备表征时间的偏差值更新向下游设备发送的同步信息。

【技术特征摘要】
1.一种精确时间协议PTP系统时间同步方法,其特征在于,所述方法包括:根据与上游设备交互的时间同步消息的时戳获取与上游设备表征时间的偏差值;根据所述与上游设备表征时间的偏差值更新向下游设备发送的同步信息;其中,所述同步信息包括同步Sync报文,所述根据与上游设备表征时间的偏差值更新向下游设备发送的同步信息具体包括:若向下游设备发送同步信息的端口的发送模式是单步模式,则判断所述与上游设备表征时间的偏差值是否小于1秒,若是,将所述与上游设备表征时间的偏差值添加至所述Sync报文中,发送至下游设备。2.如权利要求1所述的方法,其特征在于,所述同步信息包括Sync报文和跟随Follow_Up报文,所述根据与上游设备表征时间的偏差值更新向下游设备发送的同步信息具体包括:若向下游设备发送同步信息的端口的发送模式是双步模式,在发送Sync报文之后,获取发送所述Sync报文的第五时戳;若判断所述与上游设备表征时间的偏差值为正数,将所述第五时戳的纳秒值与所述与上游设备表征时间的偏差值的纳秒值相加,并判断相加后的数值是否需要向所述第五时戳的秒值进位,若是,则将所述进位后得到的余数作为更新后的第五时戳的纳秒值,将进位后的第五时戳的秒值作为更新后的第五时戳的秒值,否则,将所述相加后的数值作为所述更新后的第五时戳的纳秒值,将所述第五时戳的秒值作为更新后的第五时戳的秒值;若判断所述与上游设备表征时间的偏差值为负数,在所述第五时戳的纳秒值大于或等于所述与上游设备表征时间的偏差值的纳秒值的绝对值时,使用所述第五时戳的纳秒值减去所述与上游设备表征时间的偏差值的纳秒值的绝对值作为所述更新后的第五时戳的纳秒值,将所述第五时戳的秒值作为更新后的第五时戳的秒值;在所述第五时戳的纳秒值小于所述与上游设备表征时间的偏差值的纳秒值的绝对值时,将所述第五时戳的纳秒值加上1秒再减去所述与上游设备表征时间的偏差值的纳秒值的绝对值得到更新后的第五时戳的纳秒值,并将所述第五时戳的秒值减去1秒得到所述更新后的第五时戳的秒值;将所述更新后的第五时戳的纳秒值以及秒值添加至所述Follow_Up报文中,发送至下游设备。3.如权利要求2所述的方法,其特征在于,所述同步信息还包括延时回应Delay_Resp报文,所述根据与上游设备表征时间的偏差值更新向下游设备发送的同步信息具体包括:在向下游设备发送Sync报文或Follow_Up报文后,若接收到下游设备发送的延时请求Delay_Req报文,将接收Delay_Req报文时,与清零阈值寄存器对应的计数器当前的计数时间作为第六时戳t6的纳秒值,将当前系统内部保存的TOD时间作为第六时戳t6的秒值;若检查所述与上游设备表征时间的偏差值是正数,将所述第六时戳的纳秒值与所述Offset的纳秒值相加,并判断相加后的数值是否需要进位,若是,将进位后得到的余数作为更新后的第六时戳的纳秒值,将进位后的秒值作为更新后的第六时戳的秒值;否则,将所述相加后的数值作为所述更新后的第六时戳的纳秒值,将所述第六时戳的秒值作为更新后的第六时戳的秒值;若判断所述与上游设备表征时间的偏差值为负数,在所述第六时戳的纳秒值大于或等于所述与上游设备表征时间的偏差值的纳秒值的绝对值时,使用所述第六时戳的纳秒值减去所述与上游设备表征时间的偏差值的纳秒值的绝对值作为所述更新后的第六时戳的纳秒值,将所述第六时戳的秒值作为更新后的第六时戳的秒值;在所述第六时戳的纳秒值小于所述与上游设备表征时间的偏差值的纳秒值的绝对值时,将所述第六时戳的纳秒值加上1秒再减去所述与上游设备表征时间的偏差值的纳秒值的绝对值得到更新后的第六时戳的纳秒值,并将所述第六时戳的秒值减去1秒得到所述更新后的第六时戳的秒值;将所述更新后的第六时戳的纳秒值以及秒值添加至所述Delay_Resp报文中,发送至下游设备。4.如权利要求1所述的方法,其特征在于,所述同步信息包括秒脉冲信号和TOD信息,所述根据与上游设备表征时间的偏差值更新向下游设备发送的同步信息具体包括:在接收到秒脉冲信号时,开启计数器;若所述与上游设备表征时间的偏差值为正数,在所述计数器的计数时间到达所述与上游设备表征时间的偏差值的纳秒值时,向下游设备发送秒脉冲信号,并且将接收到秒脉冲信号的时间的秒值组装为TOD信息,在到达预设时间后,将组装后的TOD信息通过TOD接口输出至下游设备;若所述表征时间的偏差值为负数,在所述计数器的计数时间到达由1秒减去所述与上游设备表征时间的偏差值的绝对值时,向下游设备发送秒脉冲信号,并且将接收到秒脉冲信号的时间的秒值加上1秒作为当前时间的秒值组装为TOD信息,在到达预设时间后,将组装后的TOD信息通过TOD接口输出至下游设备。5.如权利要求1所述的方法,其特征在于,所述与上游设备交互的时间同步消息包括由上游设备发送的Sync报文,所述方法还包括:接收上游设备发送的Sync报文;若所述上游设备发送所述Sync报文的端口为单步模式,获取所述Sync报文中携带的初始第一时戳;检查所述Sync报文中的指定字段是否为默认值,若是,将所述初始第一时戳作为第一时戳t1;若否,将初始第一时戳t1结合指定字段的数值进行修正,并得到第一时戳t1。6.如权利要求5所述的方法,其特征在于,在接收上游设备发送的Sync报文后,若所述上游设备发送所述Sync报文的端口为双步模式,在接收到上游设备发送的Follow_Up报文时,获取所述Follow_Up报文中携带的第一时戳t1。7.如权利要求5或6所述的方法,其特征在于,所述与上游设备交互的时间同步消息包括向上游设备发送的Delay_Req报文以及由上游设备发送的Delay_Resp报文,所述方法还包括:将接收所述Sync报文的端口对应的清零阈值寄存器的数值设置为固定数值,用于在与所述清零阈值寄存器对应的计数器的计数时长到达所述固定数值时,将所述计数器的计数清零并重新计数;接收到所述Sync报文时,将所述计数器当前的计数时间作为第二时戳t2的纳秒值,将内部保存的当前的日时间TOD时间作为所述第二时戳t2的秒值;向上游设备发送Delay_Req报文,将发送Delay_Req报文时所述计数器的计数时间作为第三时戳t3的纳秒值,将内部保存的TOD时间作为第三时戳t3的秒值;接收上游设备发送的Delay_Resp报文,获取上游设备接收到所述Delay_Req报文的第四时戳t4;所述根据与上游设备交互的时间同步消息的时戳获取与上游设备的表征时间的偏差值具体包括通过如下公式计算与上游设备的表征时间的偏差...

【专利技术属性】
技术研发人员:刘靖
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1