一种时间同步方法、装置及网络系统与流程

文档序号:17984484发布日期:2019-06-22 00:18阅读:147来源:国知局
一种时间同步方法、装置及网络系统与流程

本发明涉及通信领域,具体而言,涉及一种时间同步方法、装置及网络系统。



背景技术:

工业化和信息化的融合,促进了工业互联网的快速发展,实时以太网在工业互联网中有非常多的应用场景,以太网交换机是实现实时以太网的关键网络设备,而时间同步协议又决定着实时以太网的实时性和确定性等重要特性。

高速发展的网络技术对网络的时间同步提出了挑战,在主要的网络设备中,时间同步对于系统来说起到了关键的作用,时间同步广泛应用于航空航天、轨道交通、工业自动化等领域,测量控制领域的系统和釆用分布式结构的系统设备里,由于设备规模逐渐增大,随之而来的网络系统呈现出更加分散的趋势,以及许多系统中的网络设备对于实时性的时间要求极其严格,使得存在于设备网络系统中的各个结点设备之间的时间同步的需求越来越高。在网络系统中的设备之间的同步误差主要由以下两点产生,第一,设备自身的独立的时间计数装置依赖于硬件系统,在严格要求的应用下这种本地时钟的质量往往不够精确。第二,由于网络传输路径本身的物理拓扑结构,网络数据在传输过程中往往会带来不同程度的线路延迟。



技术实现要素:

本发明提供一种时间同步方法、装置及网络系统,用以克服现有技术中存在的至少一个问题。

为达到上述目的,本发明提供了一种时间同步方法,包括:根据配置的时钟优先级,确定本地时钟是主时钟或从时钟;当为主时钟时,每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;或者当为从时钟时,接收同步帧;并根据该同步帧同步本地时钟。

可选地,根据配置的时钟优先级,确定本地时钟是主时钟或从时钟,包括:以预定间隔发送数据包,该数据包包括本地时钟标识和配置的时钟优先级;根据返回的信息确定本地时钟是主时钟或从时钟。

可选地,根据该同步帧同步本地时钟,包括:根据主时钟广播该同步帧的时刻、该主时钟至从时钟之间的线长时延、以及该从时钟完成同步的时长确定该从时钟的校正时间;将该本地时钟设定为该校正时间。

可选地,当确定为从时钟时,在根据该同步帧同步本地时钟之后,还包括:转发该同步帧。

为达到上述目的,本发明还提供了一种时间同步装置,包括:确定模块,用于根据配置的时钟优先级,确定本地时钟是主时钟或从时钟;同步模块,用于在为主时钟时,每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;或者在为从时钟时,接收同步帧;并根据该同步帧同步本地时钟。

可选地,确定模块包括:优先级发送单元,用于以预定间隔发送数据包,该数据包包括本地时钟标识和配置的时钟优先级;确定单元,用于根据返回的信息确定本地时钟是主时钟或从时钟。

可选地,在为从时钟时,该同步模块用于:根据主时钟广播该同步帧的时刻、该主时钟至从时钟之间的线长时延、以及该从时钟完成同步的时长确定该从时钟的校正时间;将该本地时钟设定为该校正时间。

可选地,时间同步装置,还包括:转发模块,用于转发该同步帧。

为达到上述目的,本发明还提供了一种网络系统,包括:一台主设备,用于每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;以及一台或多台从设备,用于接收该同步帧;并根据该同步帧同步本地时钟。

可选地,该系统,还包括:选主模块,用于接收该系统中的各设备以预定间隔发送的数据包,该数据包包括各设备的本地时钟标识和配置的时钟优先级;根据该各设备的时钟优先级确定主时钟和从时钟,并返回至对应的设备,以使各设备根据返回的信息确定本地时钟是主时钟或从时钟。

本发明的有益效果如下:根据配置的时钟优先级,确定本地时钟是主时钟或从时钟;当为主时钟时,每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;或者当为从时钟时,接收同步帧;并根据该同步帧同步本地时钟;采用本发明提供的方案,能够实现系统中各设备之间的精确时间同步。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的时间同步方法的流程图;

图2示出了本发明实施例中主时钟和从时钟同步的过程示意图;

图3示出了本发明实施例中确定线长时延的原理示意图;

图4示出了根据本发明实施例的时间同步装置的结构示意图;

图5示出了根据本发明实施例的网络系统的示意图。

具体实施方式

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

数据传输是通信网络中的一个主要操作,在庞大的网络设备中,存在一个共同的时间基准作为公共时间的参考,从而才能对各种网络结点设备进行时间同步,网络结点之间才有可能正常处理来自互相结点设备的数据。设备受到本地时钟源晶振固有误差的影响,器件的老化影响,加上工况环境下的温度变化和各种空间分布的电磁干扰的影响等多种原因共同作用下,使得设备的时钟往往是不精确的,随着时间的推移,这种时钟误差会逐渐积累,时间同步的问题就会突显出来。

时钟的目的是将分步在不同地方的设备各自的时钟计时单位实时地调整到一个准确的时间值上或者满足一定的时间精度,这样才能使得整个系统能够维护一个统一的、全局一致性的时间标准,使系统中的各种控制过程保证准确的逻辑性。

时间同步的意义在于,各个结点通过接受到的时间信息来调整各自结点的当前时刻值。时间同步有两个重要功能,授时和守时,授时的作用就是通过不定期或者定期的对表操作,维持本地的时刻值与系统标准时刻值之间的相位同步;守时的作用是保证频率同步,在对表的间隙里,维持本地的时刻值与标准的时刻值之间的偏差在一个可以容许的范围内。

本发明提供了一种基于ieee1588协议的实时以太网交换机时间同步协议,系统选举一个主时钟,其他时钟都作为从时钟,从时钟要和主时钟同步。依赖透明时钟完成主时钟与从时钟的时间同步,主时钟广播同步帧,把同步帧发送到线路上,从设备接收到同步帧,经过一定的时间后,从设备完成与主设备的时间同步,从而实现了同步帧在交换机中的透明传输。当同步帧在多个交换机之间转发后,也实现了同步帧在网络中的透明传输。

具体地,基于各设备的时钟优先级选择最高优先级的时钟作为当前的主时钟。一个网络中通常只有一个主时钟,主时钟主动发送同步sync帧,其他交换机同步主时钟的sync帧。从时钟接收sync帧,同步本地时钟,并将该sync帧转发到其他交换机端口,从而完成从时钟和主时钟的时钟同步。

图1是根据本发明实施例的时间同步方法的流程图。如图1所示,根据本发明实施例的时间同步方法包括:

s101,根据配置的时钟优先级,确定本地时钟是主时钟或从时钟。

可选地,根据配置的时钟优先级,确定本地时钟是主时钟或从时钟,包括:以预定间隔发送数据包,该数据包包括本地时钟标识和配置的时钟优先级;根据返回的信息确定本地时钟是主时钟或从时钟。

在具体实施时,各设备可以每一秒发一次udp(userdatagramprotocol,用户数据包协议)数据包(或者称为选主包),该包携带了本地时钟标识clock_id和配置的时钟优先级clock_priority。具体地,该udp包的格式可以是:clock_id(4字节),clock_priority(1字节),同步clock_id(4字节),同步clock_priority(1字节)。将时钟优先级最高的作为主时钟,并配置硬件寄存器,告知fpga当前是主时钟还是从时钟。设备根据寄存器的值得知当前是主时钟还是从时钟。

s102,当为主时钟时,每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;或者当为从时钟时,接收同步帧;并根据该同步帧同步本地时钟。

在具体实施时,该同步帧可以由交换机硬件每100毫秒发送一次。该sync帧的格式参考了rfc1588协议的格式,但简化了部分字段的计算方式(如表1所示),因此不与其他支持rfc1588的设备互通。

表1部分字段对比表

可选地,根据该同步帧同步本地时钟,包括:根据主时钟广播该同步帧的时刻、该主时钟至从时钟之间的线长时延、以及该从时钟完成同步的时长确定该从时钟的校正时间;将该本地时钟设定为该校正时间。

可选地,当确定为从时钟时,在根据该同步帧同步本地时钟之后,还包括:转发该同步帧。

图2示出了本发明实施例中主时钟和从时钟同步的过程示意图。如图2所示,主时钟在t0时刻广播同步帧,经过d0时间后同步帧发送到线路上,经过l0的时间后从设备1接收到同步帧;再经过d1的时间从设备完成与主设备的时间同步;于是从设备1的校正时间是t1=t0+d0+l0+d1;然后从设备1将同步帧转发至从设备2,同理可以计算出从设备2的校正时间是t2=t0+d0+l0+d1+d2+l1+d3其中,d1+d2是同步帧在一个交换机中的时延。其中,l0是主设备和从设备1之间的线长时延。线长时延是动态计算相邻交换机之间的线长的参数,能够适应不同线长的变化。

图3示出了本发明实施例中确定线长时延的原理示意图。如图3所示,两个交换机a和b之间的线长时延delay_time的确定过程可以如下:

1.交换机a发送request

交换机a的cpu软件,发送request请求(该帧携带有一个correctionfield字段,为0)。该request请求是特殊的sync帧,在经过fpga向外发送时,fpga将此时发送出去的时间戳填充在correctionfield字段,即t1。

2.交换机b接收request

交换机b接收到request后,先经过fpga,在帧头,打上此时接收的时间戳t2,然后上送交换机b的cpu软件。

3.交换机b发送response

交换机b的cpu在接收到fpga上送的request请求帧后,解析该帧,获取到t1和t2时间戳,将t1-t2计算后的值,填充在response帧的correctionfield字段后,再发送给fpga,fpga也会将此时发送出去的时间戳填充在correctionfiled字段,即此时correctionfiled字段,是t3+t1-t2计算后的值。这样从交换机b发送出的response帧,携带了t3+t1-t2计算后的时间戳。

4.交换机a接收response

交换机a接收到response后,先经过fpga,在帧头,打上此时接收的时间戳t4,然后上送交换机a的cpu软件。此时交换机a的cpu接收到的response帧,是携带有t4时间戳和t3+t1-t2计算后的时间戳,解析该帧,获取到这两个时间戳相减,然后除以2,即执行如下计算:(t4-(t3+t1-t2))/2。将该计算后的值,写入交换机a所对应的端口、所对应的delay寄存器(fpga中寄存器),即完成了交换机a上的delay计算。交换机b所对应的端口、所对应的delay寄存器地计算,也是同理。

采用根据本发明实施例的时间同步方法,实现了同步帧在设备间的透明传输,以及在系统中的透明传输,能够实现系统中各设备之间的精确时间同步。

图4示出了根据本发明实施例的时间同步装置的结构示意图。如图4所示,根据本发明实施例的时间同步装置400,包括:确定模块401,用于根据配置的时钟优先级,确定本地时钟是主时钟或从时钟;同步模块402,用于在为主时钟时,每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;或者在为从时钟时,接收同步帧;并根据该同步帧同步本地时钟。

在具体实施时,该时间同步装置的实施可以参见时间同步方法的实施,重复之处不再赘述。

可选地,确定模块包括:优先级发送单元,用于以预定间隔发送数据包,该数据包包括本地时钟标识和配置的时钟优先级;确定单元,用于根据返回的信息确定本地时钟是主时钟或从时钟。

可选地,在为从时钟时,该同步模块用于:根据主时钟广播该同步帧的时刻、该主时钟至从时钟之间的线长时延、以及该从时钟完成同步的时长确定该从时钟的校正时间;将该本地时钟设定为该校正时间。

可选地,时间同步装置,还包括:转发模块,用于转发该同步帧。

采用根据本发明实施例的时间同步装置,实现了同步帧在设备间的透明传输,以及在系统中的透明传输,能够实现系统中各设备之间的精确时间同步。

图5示出了根据本发明实施例的网络系统的示意图。如图5所示,根据本发明实施例的网络系统500,包括:一台主设备501,用于每隔预定时间将本地时钟作为主时钟写入同步帧并广播发送该同步帧;以及一台或多台从设备502,用于接收该同步帧;并根据该同步帧同步本地时钟。

可选地,该系统500,还包括:选主模块503,用于接收该系统中的各设备以预定间隔发送的数据包,该数据包包括各设备的本地时钟标识和配置的时钟优先级;根据该各设备的时钟优先级确定主时钟和从时钟,并返回至对应的设备,以使各设备根据返回的信息确定本地时钟是主时钟或从时钟。

采用根据本发明实施例的网络系统,实现了同步帧在设备间的透明传输,以及在系统中的透明传输,能够实现系统中各设备之间的精确时间同步。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

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