CN114039692A - 一种硬时钟同步方法 - Google Patents
一种硬时钟同步方法 Download PDFInfo
- Publication number
- CN114039692A CN114039692A CN202111300392.XA CN202111300392A CN114039692A CN 114039692 A CN114039692 A CN 114039692A CN 202111300392 A CN202111300392 A CN 202111300392A CN 114039692 A CN114039692 A CN 114039692A
- Authority
- CN
- China
- Prior art keywords
- node
- child node
- clock synchronization
- child
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种硬时钟同步方法,应用于由分布式***组建的树形网络,该方法包括:根节点下发时钟同步信号;分支节点在收到直连的父节点发来的时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈响应信号;有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送时钟同步信号的时刻以及所述定时计时的时长,计算并记录自身与该子节点之间的实测链路延迟,以基于该实测链路延迟与该子节点进行数据收发;其中,任一所述有子节点为一分支节点或所述根节点。本发明实现了超高精度的分布式时钟同步,可满足工业应用网络***对强实时性的需求。
Description
技术领域
本发明属于时钟同步技术领域,具体涉及一种硬时钟同步方法。
背景技术
在集中式***中,由于所有进程或模块都可以从***唯一的全局时钟中获取时间,因此***内任何两个事件都有着明确的先后关系。而在分布式***中,由于物理上的分散性,***无法为彼此间相互独立的模块提供一个统一的全局时钟,而是由各个进程或模块各自维护它们的本地时钟。由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有本地时钟在某一时刻都被校准,在经过一段时间后,这些本地时钟也会出现不一致。因此,为了使这些本地时钟能够保持相同的时间值,必须进行时钟同步。
现有技术中,实现分布式时钟同步主要采用IEEE1588标准。IEEE1588即网络测量和控制***的精密时钟同步协议标准,简称时钟同步协议(Precision Time Protocol,PTP)。IEEE1588提出了将分散在测量和控制***内的分离节点上独立运行的时钟,同步到一个高精度和高准确度上的时钟协议,该协议标准在基于局域网的分布式数据采集或数据传输***中可以实现微妙级的时钟同步。目前IEEE1588标准已经发展出IEEE1588V1和IEEE1588V2两个版本,后者在前者的基础上提出了透明时钟模型的概念,通过计算报文在网络交换设备内部的延迟,来解决级联网络中的积累性误差问题,从而提髙时钟同步的精度。
然而,尽管IEEE1588v2标准的时钟同步精度已经可以达到100纳秒,其仍然难以满足工业应用网络***对强实时性的需求。因此,如何实现超高精度的分布式时钟同步,从而满足工业应用网络***对强实时性的需求,是现有技术中一个亟待解决的技术问题。
发明内容
为了解决现有技术中所存在的上述技术问题,本发明提供了一种硬时钟同步方法。
本发明要解决的技术问题通过以下技术方案实现:
一种硬时钟同步方法,应用于由分布式***组建的树形网络,所述方法包括:
根节点下发时钟同步信号;
分支节点在收到直连的父节点发来的时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈响应信号;
有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送时钟同步信号的时刻以及所述定时计时的时长,计算并记录自身与该子节点之间的实测链路延迟,以基于该实测链路延迟与该子节点进行数据收发;
其中,任一所述有子节点为一分支节点或所述根节点。
可选地,所述定时计时的时长不低于1024纳秒。
可选地,所述定时计时的时长为2微秒。
可选地,所述实测链路延迟的计算方式包括:
其中,t2为有子节点收到子节点发来响应信号的时刻,t1为有子节点向子节点转发时钟同步信号的时刻,Tcal为所述定时计时的时长,tdelay为计算出的实测链路延迟。
可选地,所述时钟同步信号和所述响应信号均为一帧长度为64字节的数据。
可选地,所述硬时钟同步方法的时钟同步精度为8纳秒。
本发明还提供了另一种硬时钟同步方法,应用于由分布式***组建的树形网络,所述方法包括:
根节点按照预定的时长间隔连续下发多个时钟同步信号;
分支节点在收到直连的父节点发来的任一时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈与该时钟同步信号对应的响应信号;
有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送对应的时钟同步信号的时刻以及所述定时计时的时长,计算自身与该子节点之间的实测链路延迟;
在所述根节点停止发送时钟同步信号后,有子节点根据自身与每个直连的子节点之间的多次实测链路延迟,确定并记录自身与该子节点之间的参考链路延迟,以基于该参考链路延迟与该子节点进行数据收发;
其中,任一所述有子节点为一分支节点或所述根节点。
可选地,所述时长间隔等于或大于所述定时计时的时长。
可选地,有子节点根据自身与每个子节点之间的多次实测链路延迟,确定自身与该子节点之间的参考链路延迟,包括:
有子节点针对每个子节点,求取自身与该子节点之间的多次实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
可选地,有子节点根据自身与每个子节点之间的多次实测链路延迟,确定自身与该子节点之间的参考链路延迟,包括:
有子节点针对每个子节点,利用预设的筛选规则从自身与该子节点之间的多次实测链路延迟中筛选满足要求的实测链路延迟,然后求取所筛选的各实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
本发明的有益效果:
本发明提供的硬时钟同步方法中,由根节点下发时钟同步信号,来触发下面各层的分支节点依次进行时钟同步信号的转发,并在转发的同时开启定时计时,计时结束时分支节点向各自的父节点反馈响应信号。在此过程中,对于有子节点(根节点或分支节点)而言,其向下发送时钟同步信号的时刻、收到子节点反馈的响应信号的时刻均是已知的,且定时计时的时长也是已知的,故而根据这两个时刻和这一时长便可以计算出有子节点与其直连的子节点之间的实测链路延迟;这样,父节点和子节点之间进行数据收发时便可将实测链路延迟考虑在内,从而在整个网络中实现全局单一时钟。由此可见,本发明中节点间的链路延迟是通过硬件实测的方式获得的,故而其时钟同步精度仅由硬件物理芯片的工作频率所决定,例如使用工作频率为133MHz的高速芯片便可以达到8纳秒左右的超高时钟同步精度,可满足工业应用网络***对强实时性的需求。
以下将结合附图及对本发明做进一步详细说明。
附图说明
图1示例性地示出了由一分布式***组建的树形网络的结构示意图;
图2是本发明实施例提供的一种硬时钟同步方法的流程示意图;
图3(a)是图2所示方法中,分支节点及其父节点、子节点的工作时序示意图;
图3(b)是图2所示方法中,有子节点计算实测链路延迟的原理示意图;
图4是本发明实施例提供的另一种硬时钟同步方法的流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了实现超高精度的分布式时钟同步,从而满足工业应用网络***对强实时性的需求,本发明实施例提供了一种硬时钟同步方法,该方法应用于由分布式***组建的树形网络中。图1示例性地示出了由一分布式***组建的树形网络的结构示意图;参见图1所示,树形网络的最顶端是根节点,图1中用root进行表示,该根节点是节点2、节点3和节点4的父节点。在根节点之下,凡具有直连的子节点的节点均为分支节点;如图1中的节点2、节点3、节点4以及节点7均为分支节点;其中,分支节点7的子节点是节点10,即分支节点7是节点10的父节点。树形网络的最末端没有子节点的节点为叶子节点;图1中的节点5、节点6、节点8、节点9以及节点10均为叶子节点。可以理解的是,根节点和分支节点都有直连的子节点,故而将它们统一称为有子节点。也就是说,树形网络中的任意一个有子节点可以是一个分支节点,或者是根节点。
在实际应用中,由分布式***组建树形网络的方法存在多种。例如,可基于STP(Spanning Tree Protocol,生成树协议),RSTP(Rapid Spanning Tree Protocol,快速生成树协议)或者其他基于生成树思想对网络结构进行整形的协议/方法来组建树形网络。这样最终组建出的树形网络中,每个分支节点和叶子节点均有且仅有一个直连的父节点。
举例而言,对于具有任意网络拓扑的***而言,***内相邻节点间通过数据/报文的收发即可组建出树形网络。其中,每个节点向外发送的报文/数据中都携带有该节点所认为的根节点的标识(记为BsetID)以及该节点自身相对于根节点所在的层级(记为level)。在实际应用中,节点自身的ID可以是节点的MAC地址,当然并不局限于此。其中,每个节点初始都认为自己是根节点;也就是说,每个节点最初向相邻节点发送的数据/报文中,BsetID为其自身的ID,level则为根节点的level,可以为0或者1。在正式组网阶段,每个节点循环执行仲裁动作:节点比较自身所认定的BsetID与收到的数据/报文中携带的BsetID大小,以将具有更小ID的节点仲裁为根节点;然后,节点根据所仲裁出的根节点更新数据/报文中的BsetID和level,并继续将更新后的数据/报文向相邻节点进行发送。以上仲裁动作及数据/报文的收发机制持续进行,直至所有节点所认为的根节点相同;此时,根节点已经确定,基于节点间的物理连接关系,则树形网络的层级划分也已经明确,每个节点均可知晓自身上层和下层所连接的节点都有哪些;其中,如果有节点其上层直连有两个或两个以上的节点,则该节点可以从上层的这些节点中择一来作为自身唯一的一个父节点,选择标准可以采用比较节点ID大小的方式来实现,当然并不局限于此;选择了一个父节点后,该节点将上层直连的其余节点间的通信链路断开,并将与同层的节点间的通信拦路断开,以避免在网络中形成环路,由此即可完成树形网络的组网。在实际应用中,可在节点中设置一定的组网时长供节点执行上述过程,该时长通常与***的网络拓扑中的最大可能层级正相关;也就是说,最大可能层级越多,所需要的组网时长越长。
树形网络组建好之后,便可以在网络中应用本发明实施例提供的硬时钟同步方法来进行分布式时钟同步。参见图2所示,本发明实施例提供的硬时钟同步方法包括以下步骤:
S201:根节点下发时钟同步信号。
这里,根节点下发时钟同步信号,即是根节点将时钟同步信号发送给与其直联的子节点。例如在图1中,root节点将时钟同步信号发送给节点2、节点3和节点4。
在实际应用中,时钟同步信号为一帧定义好的数据;例如,该时钟同步信号可以是一个在网络上允许流通的最短通信帧。例如,该时钟同步信号可以是一帧长度为64字节的数据。
S202:分支节点在收到直连的父节点发来的时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈响应信号。
具体实现过程可参见图3(a)所示,假设分支节点和其父节点之间的链路延迟为tdelay1,分支节点和其子节点之间的链路延迟为tdelay2。父节点向分支节点发送时钟同步信号;经过了tdelay1的链路延迟,分支节点收到了该时钟同步信号,此时分支节点立即将该时钟同步信号向下转发给子节点,并同时开启定时计时;当计时结束时,分支节点向父节点反馈响应信号1,该响应信号1同样经过tdelay1的链路延迟后到达了父节点。同理的,分支节点向子节点发送的时钟同步信号经过tdelay2的链路延迟到达了子节点,此时子节点将立即将该时钟同步信号向下转发给其下一层的子节点(图中未示出),并同时开启定时计时;当计时结束时,子节点向分支节点反馈响应信号2;该响应信号2同样经过tdelay的链路延迟后到达分支节点。
结合图1举例而言,节点2、3、4收到其直连的父节点(即根节点)发来的时钟同步信号时,各自都把收到的时钟同步信号转发至直连的子节点;其中,节点2把自己收到的时钟同步信号转发至节点5;节点3把自己收到的时钟同步信号并行地转发至节点6、7、8;节点4把自己收到的时钟同步信号转发至子节点9。此外,由于节点7也是一个分支节点,故而节点7在收到节点3发来的时钟同步信号时,会立即将时钟同步信号再转发给节点10。
可以理解的是,该步骤S202中,分支节点所执行的针对时钟同步信号的转发动作并不局限于严格意义上的数据转发,也可以是分支节点响应于收到的时钟同步信号,即时生成一个相同的时钟同步信号发送至子节点。
在一种可选实现方式中,响应信号和时钟同步信号的长度可以相同,内容也可以相同。
S203:有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送时钟同步信号的时刻以及定时计时的时长,计算并记录自身与该子节点之间的实测链路延迟,以基于该实测链路延迟与该子节点进行数据收发。
参见图3(b)所示,有子节点中实测链路延迟的计算方式如下:
该式中,t1为有子节点向子节点转发时钟同步信号Sync的时刻,t2为有子节点收到子节点反馈来响应信号Ack的时刻,Tcal为定时计时的时长,tdelay为所计算的实测链路延迟。
结合图1举例而言;root节点会收到节点2、3、4反馈的响应信号;其中,root节点根据收到节点2反馈的响应信号的时刻、向节点2发送时钟同步信号的时刻以及定时计时的时长,来计算root节点与节点2之间的实测链路延迟a,然后记录该实测链路延迟a;按照上述过程,root节点对于节点3、4执行相同的动作,从而将root节点与节点3之间的实测链路延迟b、与节点4之间的实测链路延迟c都记录下来。
节点2会收到节点5反馈的响应信号;故节点2会根据收到节点5反馈的响应信号的时刻、向节点5发送时钟同步信号的时刻以及定时计时的时长,来计算节点2与节点5之间的实测链路延迟d,并记录该实测链路延迟d。
节点3会收到节点6、7、8反馈的响应信号;其中,节点3根据收到节点6反馈的响应信号的时刻、向节点6发送时钟同步信号的时刻以及定时计时的时长,来计算节点3与节点6之间的实测链路延迟e,然后记录该实测链路延迟e;按照上述过程,节点3对于节点7、8执行相同的动作,从而将节点3与节点7之间的实测链路延迟f、与节点8之间的实测链路延迟g都记录下来。
节点4会收到节点9反馈的响应信号;故节点4会根据收到节点9反馈的响应信号的时刻、向节点9发送时钟同步信号的时刻以及定时计时的时长,来计算节点4与节点9之间的实测链路延迟h,并记录该实测链路延迟h。
节点7会收到节点10反馈的响应信号;故节点7会根据收到节点10反馈的响应信号的时刻、向节点10发送时钟同步信号的时刻以及定时计时的时长,来计算节点7与节点10之间的实测链路延迟i,并记录该实测链路延迟i。
由此,图1中每两个相邻节点之间的实测链路延迟便都是已知的了。这样,后续节点之间进行数据的收发都可以将链路延迟考虑在内,从而使得数据在传输过程中的时效性便可以得到精确、有效的保证。
在实际应用中,节点间基于实测链路延迟进行数据收发的方式可以包括:当父节点向子节点发送数据时,父节点将实测链路延迟连同待发送的数据一起发送给子节点,这样子节点收到该数据后,根据携带而来的实测链路延迟便可以获知该数据在父节点处真正的产生时间或更新时间。而当子节点向父节点发送数据时,父节点可直接根据收到数据的时间以及所记录的实测链路延迟确定该数据在子节点处真正的产生时间或更新时间。需要说明的是,这里所示出的基于实测链路延迟进行数据收发的方式仅仅作为示例,并不构成对本发明实施例的限定;任何利用本发明实施例中提出的基于硬件实测的方式获知实测链路延迟、并基于实测链路延迟进行节点间数据传送从而实现时钟同步的方式都属于本发明实施例的保护范围。
本发明实施例提供的硬时钟同步方法中,由根节点下发时钟同步信号,来触发各层的分支节点依次进行时钟同步信号的转发,并在转发的同时开启定时计时,计时结束时向各自的父节点反馈响应信号。在此过程中,对于有子节点(根节点或分支节点)而言,其向下发送时钟同步信号的时刻、收到子节点反馈的响应信号的时刻均是已知的,且定时计时的时长也是已知的,故而根据这两个时刻和这一时长便可以计算出有子节点与其直连的子节点之间的实测链路延迟;这样,父节点和子节点之间进行数据收发时便可将实测链路延迟考虑在内,从而在整个网络中实现全局单一时钟。由此可见,本发明实施例中的链路延迟是通过硬件实测的方式获得的,因此称为硬时钟同步方法。正因如此,该硬时钟同步方法的时钟同步精度仅由硬件物理芯片的工作频率所决定,例如使用工作频率为133MHz的高速芯片便可以达到8纳秒左右的超高时钟同步精度,完全可满足工业应用网络***对强实时性的需求。
在一种实现方式中,为了符合目前的以太网协议中对最短通信帧长(64字节)的限制,步骤S202中分支节点在开启定时计时的时候,定时计时的时长不低于1024纳秒。
具体而言,分支节点开始向子节点发送时钟同步信号后,信号的传输需要耗费一定的时间,故而分支节点开启定时计时的目的在于确保时钟同步信号能够完整地传送至子节点之后,再向上一层的父节点反馈响应信号。由于时钟同步信号也是一种通信帧,因此若想要时钟同步信号满足最短通信帧长的限制,则其长度至少为64字节,且以太网协议规定最短通信帧长还有64个字节的延迟;因此,在单个字节的传输需要耗费8纳秒时长的背景下,分支节点的定时计时的时长只有不低于(64+64)×8=1024纳秒,方可确保在时钟同步信号完整传输至子节点后,再向上层的父节点反馈响应信号。在此基础上,分支节点中定时计时的时长优选为2微秒。
当然,由于最短通信帧长仅仅是现有以太网协议的规定,该1024纳秒的限定也仅仅是为了能够使本发明实施例提供的硬时钟同步方法能够更好的适应和匹配现有的以太网。因此,1024纳秒的定时时长仅仅是适应目前以太网的一种选择,这一选择并不影响本发明实施例提供的硬时钟同步方法在未来网络中的应用。也就是说,在未来网络中,如果没有最低通信帧长的限制或者最低通信帧长比64字节更小,那么本发明实施例中分支节点的定时时长也是可低于1024纳秒的。
基于同一发明构思,本发明实施例还提供了另一种硬时钟同步方法,该方法同样应用于由分布式***组建的树形网络。参见图4所示,该方法包括以下步骤:
S401:根节点按照预定的时长间隔连续下发多个时钟同步信号。
可以理解的是,根节点按照预定的时长间隔连续将依次各个时钟同步信号发送给与其直联的子节点;在节点间的通信畅通的情况下,每个与根节点直连的子节点都会收到多个时钟同步信号。
本发明实施例中,根节点连续下发的时钟同步信号的个数可基于树形网络的层数来确定。通常情况下,由分布式***组建的树形网络的层数不会超过10,故而该步骤S401中根节点可连续下发10个时钟同步信号。这样,即使当节点间的通信状况因突发干扰等因素导致漏传了一或两个时钟同步信号时,由于根节点下发的时钟同步信号的个数较多,也不会影响下层的节点的同步工作。当然,这里给出的数值10仅仅作为示例,具体可基于实际的树形网络的层数来确定,可以等于或者略大于该实际的树形网络的层数。
S402:分支节点在收到直连的父节点发来的任一时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈与该时钟同步信号对应的响应信号。
可以理解的是,由于分支节点的父节点会连续地给分支节点发来多个时钟同步信号,故而分支节点会依次对收到的每个时钟同步信号进行响应和处理,每收到一个时钟同步信号,都会对应的向父节点反馈一个响应信号,然后再对下一个时钟同步信号进行响应和处理。其中,分支节点针对单个时钟同步信号的响应和处理方式与上述步骤S202中相同,此处不再进行赘述。
优选地,上述步骤S401中根节点所使用的时长间隔等于或大于该步骤S402中分支节点的定时计时的时长。这样,分支节点中无需启用多个定时器,只需启用一个定时器即可依次对所接收的各个时钟同步响应信号进行响应和处理。
S403:有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送对应的时钟同步信号的时刻以及定时计时的时长,计算自身与该子节点之间的实测链路延迟。
其中,任一有子节点为一分支节点或根节点。
该步骤中,有子节点响应于单个响应信号计算实测联络延迟的方式与上述步骤S203中相同,此处不再进行赘述。而当有子节点同时收到了不同的子节点反馈来的响应信号时,既可以依次计算与每个子节点的实测链路延迟,也可以同时并行地计算其与每个子节点的实测链路延迟;可以理解的是,并行计算对于作为电子设备的有子节点而言也是容易实现的。
S404:在根节点停止发送时钟同步信号后,有子节点根据自身与每个直连的子节点之间的多次实测链路延迟,确定并记录自身与该子节点之间的参考链路延迟,以基于该参考链路延迟与该子节点进行数据收发。
可以理解的是,当根节点停止发送时钟同步信号后,有子节点将在未来一段时间内收不到新的时钟同步信号,这样有子节点便可以确定根节点已停止发送时钟同步信号。然后,有子节点根据自身与每个直连的子节点之间的多次实测链路延迟,来确定自身与该子节点之间的参考链路延迟,并将所确定的参考链路延迟记录下来,以后续基于该参考链路延迟与该子节点进行数据收发。具体的数据收发方式在上文中已经进行过举例说明,这里不再进行赘述。
其中,有子节点根据自身与每个直连的子节点之间的多次实测链路延迟,确定自身与该子节点之间的参考链路延迟的具体实现方式存在多种。
示例性的,在一种实现方式中,有子节点可以针对每个子节点,求取自身与该子节点之间的多次实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
这种实现方式较为适合应用在网络环境的***中,这种***中多次的实测链路延迟相对来说都是真实有效的链路延迟,不容易出现异常数值。
在另一种实现方式中,有子节点可以针对每个子节点,利用预设的筛选规则从自身与该子节点之间的多次实测链路延迟中筛选满足要求的实测链路延迟,然后求取所筛选的各实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
其中,筛选规则可以存在多种,例如,针对每个子节点,从与该子节点之间的多次实测链路延迟中,剔除最大的实测链路延迟和最小的实测链路延迟。或者,针对每个子节点,从自身与该子节点之间的多次实测链路延迟中,筛选出位于一预设范围内的实测链路延迟。该预设范围可根据预先测试的真实链路延迟来设定,主要作用就在于剔除明显异常的链路延迟数据。
可以理解的是,后一种实现方式较为适合应用在网络环境可能存突发状况(如出现突发干扰)的***中,通过剔除异常的链路延迟数据,可以使最终确定的参考链路延迟更加接近节点间真实的链路延迟。
在一个实施例中,为了符合目前的以太网协议中对最短通信帧长(64字节)的限制,步骤S402中分支节点在开启定时计时的时候,定时计时的时长不低于1024纳秒,优选设置为2微秒。
需要说明的是,对于后一种硬时钟同步方法实施例而言,由于其基本相似于前一种硬时钟同步方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的硬时钟同步方法中,由根节点下发时钟同步信号,来触发下面各层的分支节点依次进行时钟同步信号的转发,并在转发的同时开启定时计时,计时结束时分支节点向各自的父节点反馈响应信号。在此过程中,对于有子节点(根节点或分支节点)而言,其向下发送时钟同步信号的时刻、收到子节点反馈的响应信号的时刻均是已知的,且定时计时的时长也是已知的,故而根据这两个时刻和这一时长便可以计算出有子节点与其直连的子节点之间的实测链路延迟。并且,通过使根节点连续下发多个时钟同步信号,可触发分支节点多次地测试其与子节点间的链路延迟;基于多次测试的实测链路延迟,可确定出一个更加精确的参考链路延迟;这样,父节点和子节点之间进行数据收发时便可将该参考链路延迟考虑在内,从而在整个网络中实现全局单一时钟。由于该参考链路延迟是基于硬件实测的链路延迟所确定的,故而本发明实施例的时钟同步精度仅由硬件物理芯片的工作频率所决定,例如使用工作频率为133MHz的高速芯片便可以达到8纳秒左右的超高时钟同步精度,完全可满足工业应用网络***对强实时性的需求。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种硬时钟同步方法,其特征在于,应用于由分布式***组建的树形网络,所述方法包括:
根节点下发时钟同步信号;
分支节点在收到直连的父节点发来的时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈响应信号;
有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送时钟同步信号的时刻以及所述定时计时的时长,计算并记录自身与该子节点之间的实测链路延迟,以基于该实测链路延迟与该子节点进行数据收发;
其中,任一所述有子节点为一分支节点或所述根节点。
2.根据权利要求1所述的硬时钟同步方法,其特征在于,所述定时计时的时长不低于1024纳秒。
3.根据权利要求2所述的硬时钟同步方法,其特征在于,所述定时计时的时长为2微秒。
5.根据权利要求1所述的硬时钟同步方法,其特征在于,所述时钟同步信号和所述响应信号均为一帧长度为64字节的数据。
6.根据权利要求1所述的硬时钟同步方法,其特征在于,所述硬时钟同步方法的时钟同步精度为8纳秒。
7.一种硬时钟同步方法,其特征在于,应用于由分布式***组建的树形网络,所述方法包括:
根节点按照预定的时长间隔连续下发多个时钟同步信号;
分支节点在收到直连的父节点发来的任一时钟同步信号时,将该时钟同步信号转发至直连的子节点,同时开启定时计时,当计时结束时向该父节点反馈与该时钟同步信号对应的响应信号;
有子节点在收到任一直连的子节点反馈来的响应信号时,根据收到该响应信号的时刻、向该子节点发送对应的时钟同步信号的时刻以及所述定时计时的时长,计算自身与该子节点之间的实测链路延迟;
在所述根节点停止发送时钟同步信号后,有子节点根据自身与每个直连的子节点之间的多次实测链路延迟,确定并记录自身与该子节点之间的参考链路延迟,以基于该参考链路延迟与该子节点进行数据收发;
其中,任一所述有子节点为一分支节点或所述根节点。
8.根据权利要求7所述的硬时钟同步方法,其特征在于,所述时长间隔等于或大于所述定时计时的时长。
9.根据权利要求7所述的硬时钟同步方法,其特征在于,有子节点根据自身与每个子节点之间的多次实测链路延迟,确定自身与该子节点之间的参考链路延迟,包括:
有子节点针对每个子节点,求取自身与该子节点之间的多次实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
10.根据权利要求7所述的硬时钟同步方法,其特征在于,有子节点根据自身与每个子节点之间的多次实测链路延迟,确定自身与该子节点之间的参考链路延迟,包括:
有子节点针对每个子节点,利用预设的筛选规则从自身与该子节点之间的多次实测链路延迟中筛选满足要求的实测链路延迟,然后求取所筛选的各实测链路延迟的均值,作为自身与该子节点之间的参考链路延迟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300392.XA CN114039692B (zh) | 2021-11-04 | 2021-11-04 | 一种硬时钟同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300392.XA CN114039692B (zh) | 2021-11-04 | 2021-11-04 | 一种硬时钟同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114039692A true CN114039692A (zh) | 2022-02-11 |
CN114039692B CN114039692B (zh) | 2022-09-30 |
Family
ID=80142818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111300392.XA Active CN114039692B (zh) | 2021-11-04 | 2021-11-04 | 一种硬时钟同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114039692B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232307A1 (en) * | 2002-07-10 | 2005-10-20 | Andersson Leif A J | Synchronous data transfer system for time-sensitive data in packet-switched networks |
CN101588628A (zh) * | 2009-06-19 | 2009-11-25 | 山东省计算中心 | 无线传感器网络时钟同步方法 |
CN103188064A (zh) * | 2011-12-28 | 2013-07-03 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN108599888A (zh) * | 2018-05-09 | 2018-09-28 | 西安电子科技大学 | 一种分布式网络时钟同步*** |
CN113055117A (zh) * | 2021-04-25 | 2021-06-29 | 电子科技大学 | 一种无线分布式网络的时钟同步装置及方法 |
-
2021
- 2021-11-04 CN CN202111300392.XA patent/CN114039692B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232307A1 (en) * | 2002-07-10 | 2005-10-20 | Andersson Leif A J | Synchronous data transfer system for time-sensitive data in packet-switched networks |
CN101588628A (zh) * | 2009-06-19 | 2009-11-25 | 山东省计算中心 | 无线传感器网络时钟同步方法 |
CN103188064A (zh) * | 2011-12-28 | 2013-07-03 | 中兴通讯股份有限公司 | 时钟同步方法及装置 |
CN108599888A (zh) * | 2018-05-09 | 2018-09-28 | 西安电子科技大学 | 一种分布式网络时钟同步*** |
CN113055117A (zh) * | 2021-04-25 | 2021-06-29 | 电子科技大学 | 一种无线分布式网络的时钟同步装置及方法 |
Non-Patent Citations (1)
Title |
---|
魏诺 等: "《一种事件触发型传感器网络时钟同步算法》", 《计算机应用研究》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114039692B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111585683B (zh) | 一种面向时间敏感网络的高可靠时钟同步***及方法 | |
JP4987346B2 (ja) | ネットワークを介した時間同期化システムおよび方法 | |
Moreira et al. | White rabbit: Sub-nanosecond timing distribution over ethernet | |
RU2638645C2 (ru) | Способ для определения опорных синхросигналов, подвергнутых воздействию изменения в асимметрии задержки трассы распространения между узлами в сети связи | |
EP2541815B1 (en) | Clock synchronization network | |
Garner et al. | Synchronization of audio/video bridging networks using IEEE 802.1 AS | |
CN108599888A (zh) | 一种分布式网络时钟同步*** | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
CN105281885A (zh) | 用于网络设备的时间同步方法、装置及时间同步服务器 | |
CN111953442A (zh) | 一种快速高精度时间同步*** | |
CN103441833B (zh) | 一种主从设备频率同步方法及*** | |
CN105978652A (zh) | 冗余以太网的同步对时设备、***及方法 | |
Zarick et al. | Transparent clocks vs. enterprise ethernet switches | |
CN106162856A (zh) | 一种无线AdHoc网络中的节点同步方法 | |
CN114039692B (zh) | 一种硬时钟同步方法 | |
CN114039909B (zh) | 一种快速实时生成树协议的实现方法 | |
US10334539B2 (en) | Metered interface | |
CN105099646A (zh) | 同步链路确定方法及装置 | |
WO2022127924A1 (zh) | 选择时钟源的方法及装置 | |
CN107888315A (zh) | 一种时间同步方法 | |
JP6274918B2 (ja) | 通信システム | |
CN114040262B (zh) | 一种网络交换机 | |
CN100401677C (zh) | 实现固定网短消息平台设备时钟同步的方法 | |
CN112867132B (zh) | 一种基于ptp的多链路时延抖动优化方法及装置 | |
CN108462548A (zh) | 时间同步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |