一种TSN网络时间同步方法、设备及储存介质与流程

文档序号:24937534发布日期:2021-05-04 11:29阅读:161来源:国知局
一种TSN网络时间同步方法、设备及储存介质与流程

本发明涉及网络通信技术领域,具体的是一种tsn网络时间同步方法、设备及储存介质。



背景技术:

tsn(timesensitivenetworking,时延敏感网络)最初来源于音视频领域的应用需求,当时该技术被称为avb(ethernetaudio/videobridging,以太网音视频桥接),由于针对音视频网络需要较高的带宽和最大限度的实时性,借助avb能较好的传输高质量音视频。tsn是一项从音视频数据领域延伸至工业领域、汽车领域的技术,它为以太网提供确定性性能,本质上是一个确定性以太网扩展集,以满足许多工业自动化应用对于延迟的要求和实时数据传输的需求。tsn网络的许多功能都建立在时间同步的基础上,它使用ieee802.1as协议来为网络中的一个域提供时间同步功能。

现有的tsn网络主从时钟之间的校时通过发送若干报文完成,主要同步过程为:主时钟发送同步报文及发送该报文的时间给从时钟,从时钟记录收到的时间并发送时延测量请求报文及发送该报文的时间给主时钟,主时钟记录收到时延测量请求报文的时间并将该时间通过时延测量应答报文发送给从时钟。这样,从时钟便可根据得到的时间戳计算出主从时钟之间的时钟偏移,从而修正本地时间,达到主从时钟之间时间同步的目的,此过程如附图1所示。此方法可以在同一域内,最大七跳的情况下实现精度为亚微秒级别的时间同步。

但是现有的tsn网络时间同步方法在多个节点通过交换机同时向主时钟发送时延测量请求报文的时候,交换机队列中会出现碰撞的可能,导致时延测量请求报文需要排队等待发送。此外,当网络中有背景业务流量时,同步过程中的报文也可能与业务背景流报文发生碰撞而导致排队等待,且等待的时间不可知。此时会出现同步过程中的报文到达对端的时间戳中包含了排队等待的时间,在进行时钟偏移计算的时候会不准,从而导致校时不准。在节点数较多,业务背景流量较大的情况下,排队等待时间可能会较长,导致出现时钟偏移计算结果偏差较大,且抖动较大,无法达到亚微秒级别的高精度的时间同步的问题。



技术实现要素:

为解决上述背景技术中提到的不足,本发明的目的在于提供一种tsn网络时间同步方法、设备及储存介质,在校时过程的若干报文中增加用于记录排队等待时间的信息,可以解决同步过程中同步报文之间的碰撞、同步报文和背景流报文之间的碰撞问题,并通过在计算的时候根据排队时间进行补偿的方法,提高时间同步的精度,以达到亚微秒级别的时间同步效果。

本发明的目的可以通过以下技术方案实现:

一种tsn网络时间同步方法,包括以下步骤:

s1、初始上电后先确定主、从时钟,然后主从时钟之间开始以一定周期进行周期校时,基于时间同步协议,主时钟向从时钟发送同步报文k1,所述同步报文k1携带的信息中增加用于记录同步报文k1排队等待时间的字段m1,所述字段m1的值用于从时钟计算时间偏移值;

s2、同步报文k1出现碰撞需要排队等待发送,出队列时将用于记录同步报文k1排队等待时间的字段的值写入m1;

s3、从时钟收到同步报文k1,记录同步报文k1排队等待时间的字段的值,并发送时延测量请求报文k2,所述时延测量请求报文k2所携带的信息中增加用于记录时延测量请求报文k2排队等待时间的字段m2,所述字段m2的值用于主时钟修正接收到时延测量请求报文k2的时间戳;

s4、时延测量请求报文k2出现碰撞需要排队等待发送,出队时将用于记录时延测量请求报文k2排队等待时间的字段的值写入m2;

s5、主时钟接收到时延测量请求报文k2以后,根据m2的值对接收时间值进行补偿,然后,主时钟发送时延测量应答报文k3,k3中携带补偿后的k2的接收时间;

s6、从时钟接收到主时钟发过来的时延测量应答报文k3后,基于时间同步协议并结合从时钟记录的用于记录同步报文k1排队等待时间的字段的值,计算出主从时钟的时间偏移;

s7、从时钟根据计算出的主从时钟之间的偏差,修正本地时间,从而实现与主时钟之间的时间同步。

进一步优选地,所述步骤s1和s6中时间同步协议为ieee802.1as协议。

进一步优选地,所述步骤s1中主、从时钟关系确定的具体步骤为:

s1.1、初始上电时,各时钟向同一个域中的其他时钟发送自己的时钟参数;

s1.2、各时钟每收到一个其他时钟的时钟参数则比较自己的参数,若其他时钟参数更优,则标记自己为从时钟;否则标记为主时钟,同时记录更优的参数;

s1.3、当每个时钟收到所有其他时钟发的自身参数后,则确定了参数最优的那个主时钟,其他则为从时钟,若有两个参数一样优的时钟,则以先发的为主时钟。

进一步优选地,所述步骤s1.2中时钟参数比较的原则为:第一优先级高者获胜,如果第一优先级相同,则时间等级高者获胜;如果时间等级也相同,则时间精度高者获胜;如果时间精度还相同,则第二优先级高者获胜;如果第二优先级依然相同,则接口标识小者获胜,所述接口标识小由时钟编号和接口号共同构成。

进一步优选地,所述步骤s1中字段m1具体为:所述字段m1由单个具体字段组成,则单个字段的记录值即为排队等待时间的值;所述字段m1由两个具体字段组成,通过对所述两个具体字段进行数学计算得出排队等待时间的值。

进一步优选地,所述步骤s3中字段m2具体为:所述字段m2由单个具体字段组成,所述单个字段的记录值即为排队等待时间的值;所述字段m2由两个具体字段组成,通过对所述两个具体字段进行数学计算得出排队等待时间的值。

进一步优选地,所述步骤s6中主从时钟的时间偏移通过下列公式计算:

s=[(t2-t1-t1)-(t'4-t3)]/2

t'4=t4-t2

式中:s为主、从时钟之间的偏差;t1为主时钟发送同步报文k1的时间;t2为从时钟收到同步报文k1的时间;t3为从时钟发送时延测量请求报文k2的时间;t4为主时钟收到时延测量请求报文k2的时间;t'4为经过补偿的主时钟接收到时延测量请求报文k2的时间戳;t1为同步报文k1发生碰撞时的排队等待时间,t2为时延测量请求报文k2发生碰撞时的排队等待时间。

一种具有处理器可执行的非易失程序代码的计算机可读储存介质,程序代码使处理器执行上述tsn网络时间同步方法。

一种tsn网络时间同步设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述时间同步方法进行tsn网络时间同步。

本发明的有益效果:

本发明通过在主从时钟校时过程中的若干报文中增加用于记录排队等待时间的信息,在接收的时候根据该信息进行相应的补偿计算,可以有效的解决在时间同步过程中,由于同步过程中同步报文之间的碰撞或者同步报文和业务流报文之间的碰撞导致的时间同步误差大、校时精度低的问题,实现亚微秒级别的时间同步效果。

附图说明

下面结合附图对本发明作进一步的说明。

图1是本发明主从时钟校时的基本流程图;

图2是本发明单字段记录排队等待时间的结构图;

图3是本发明两个字段记录排队等待时间的结构图;

图4是本发明实施例中提供的一种可能的tsn网络拓扑示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“开孔”、“上”、“下”、“厚度”、“顶”、“中”、“长度”、“内”、“四周”等指示方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本发明的限制。

实施方式一

一种tsn网络时间同步方法,包括以下步骤:

(1)初始上电时,各时钟向同一个域中的其他时钟发送自己的时钟参数;

(2)各时钟每收到一个其他时钟的时钟参数则比较自己的参数,若其他时钟参数更优,则标记自己为从时钟;否则标记为主时钟,同时记录更优的参数;

比较的原则为:第一优先级高者获胜,如果第一优先级相同,则时间等级高者获胜;如果时间等级也相同,则时间精度高者获胜;如果时间精度还相同,则第二优先级高者获胜;如果第二优先级依然相同,则接口标识(由时钟编号和接口号共同构成)小者获胜;

(3)当每个时钟收到所有其他时钟发的自身参数后,则确定了参数最优的那个主时钟,其他则为从时钟,若有两个参数一样优的时钟,则以先发的为准;

(4)确定主从关系之后,主从时钟之间开始以一定周期进行周期校时,主时钟发送同步帧,该帧携带发送时间t1,且该帧的头部在原来的结构基础上增加一个用于记录排队等待时间的字段waittime字段,其默认值为0,附图2是该字段一种可能的添加方式;

(5)若同步帧未发生碰撞,无需排队等待,直接发送,若同步帧发生碰撞,需要排队等待再发送,在队列中计算排队等待时间,该值为出队时间减去入队时间,完成计算后写入waittime字段;

(6)若同步帧需要经过多跳才能到达从时钟,则对每一跳的排队等待时间进行累加作为t1,附图4是一种多跳拓扑的示意图;

(7)从时钟收到同步帧以后,记录收到的时间t2以及总的排队等待时间t1。然后从时钟发送时延测量请求给主时钟,并记录发送时间t3,时延测量请求中在原来的结构基础上增加一个用于记录排队等待时间的字段waittime,默认值为0;

(8)若时延测量请求未与其他帧发生碰撞,无需排队等待,直接发送。若时延测量请求与其他帧发生碰撞,需要排队等待再发送,在队列中计算排队等待时间,该值为出队时间减去入队时间,完成计算后写入waittime字段;

(9)若时延测量请求需要经过多跳才能到达主时钟,则对每一跳的排队等待时间进行累加作为t2;

(10)主时钟收到时延测量请求以后,记录收到的时间t4及排队等待时间t2,然后发送时延测量响应给从时钟,在该响应中携带一个时间戳,该时间戳的值为:t'4=t4-t2,这个响应无需考虑排队等待时间;

(11)从时钟收到时延测量响应以后,记录t'4,此时,从时钟便拥有了t1、t2、t3、t'4四个值,其中t'4是经过补偿后的t4,以及一个排队时间t1,从而可以计算出主从时钟之间的偏差为:

s=[(t2-t1-t1)-(t'4-t3)]/2

(12)从时钟根据计算出的主从时钟之间的偏差,修正本地时间,从而实现与主时钟之间的时间同步。

实施方式二

与实施方式一相比,主时钟发送同步帧,该帧携带发送时间t1,且该帧的头部在原来的结构基础上增加两个用于记录帧入队和出队的字段enquetime和dequetime,两个字段的默认值都为0,附图3是此两个字段的一种可能的添加方式。

若同步帧未发生碰撞,无需排队等待,直接发送;若同步帧发生碰撞,需要排队等待再发送,在队列中将入队时间写入enquetime字段,出队时间写入dequetime字段。

若同步帧需要经过多跳才能到达从时钟,则在每一跳的队列中将出队时间加上上一跳的累加排队时间写入dequetime,将入队时间写入enquetime,其中,上一跳的累加排队时间等于上一跳的dequetime减去上一跳的enquetime。

从时钟收到同步帧以后,记录收到的时间t2,并计算总的排队等待时间,总的排队等待时间等于dequetime减去enquetime,将该值作为t1。然后从时钟发送时延测量请求给主时钟,并记录发送时间t3,时延测量请求中在原来的结构基础上增加两个用于记录帧入队和出队的字段enquetime和dequetime,两个字段的默认值都为0。

若时延测量请求未发生碰撞,无需排队等待,直接发送;若时延测量请求发生碰撞,需要排队等待再发送,在队列中将入队时间写入enquetime字段,出队时间写入dequetime字段。

若时延测量请求需要经过多跳才能到达从时钟,则在每一跳的队列中将出队时间加上上一跳的累加排队时间写入dequetime,将入队时间写入enquetime。其中,上一跳的累加排队时间等于上一跳的dequetime减去上一跳的enquetime。

主时钟收到时延测量请求以后,记录收到的时间t4,并计算总的排队等待时间t2,t2等于dequetime减去enquetime,然后发送时延测量响应给从时钟,在该响应中携带一个时间戳,该时间戳的值为:t'4=t4-t2,这个响应无需考虑排队等待时间。

其他流程同实施方式一。

实施方式三

此实施方式与实施方式一和实施方式二相比,不同之处在于,同步帧使用enquetime和dequetime两个字段来分别记录入队时间和出队时间,而时延测量请求使用waittime一个字段来记录排队等待时间。

其他流程和计算方式和实施方式一及实施方式二相同。

实施方式四

此实施方式与实施方式一和实施方式二相比,不同之处在于,时延测量请求使用enquetime和dequetime两个字段来分别记录入队时间和出队时间,而同步帧使用waittime一个字段来记录排队等待时间。

其他流程和计算方式和实施方式一及实施方式二相同。

一种具有处理器可执行的非易失程序代码的计算机可读储存介质,程序代码使处理器执行上述tsn网络时间同步方法。

一种tsn网络时间同步设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的时间同步方法进行tsn网络时间同步。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1