CN115208505A - 时间同步方法及时间同步装置 - Google Patents
时间同步方法及时间同步装置 Download PDFInfo
- Publication number
- CN115208505A CN115208505A CN202211113537.XA CN202211113537A CN115208505A CN 115208505 A CN115208505 A CN 115208505A CN 202211113537 A CN202211113537 A CN 202211113537A CN 115208505 A CN115208505 A CN 115208505A
- Authority
- CN
- China
- Prior art keywords
- time
- target
- timestamp
- clock device
- slave clock
- 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.)
- Pending
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
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- 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
技术领域
本申请属于通信领域,具体涉及一种时间同步方法及时间同步装置。
背景技术
在通信网络中,在确定主钟设备之后,主钟设备和从钟设备之间可以通过交互报文并记录报文的收发时间,计算主钟设备和从钟设备之间的时间偏差,从钟设备按照时间偏差来调整本地时间,就可以实现从钟设备与主钟设备的时间同步。
然而,相关技术中每次进行主钟设备和从钟设备的时间同步时,在计算主钟设备和从钟设备之间的时间偏差的过程中,均需要实时测量主钟设备和从钟设备之间的时延,导致时间同步的速度较慢。
发明内容
本申请实施例的目的是提供一种时间同步方法及时间同步装置,能够解决相关技术中时间同步方法实时动态测量时延导致时间同步的速度较慢的问题。
第一方面,本申请实施例提供了一种时间同步方法,应用于从钟设备,包括:
接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
从所述目标报文中获取所述第一时间戳;
获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
根据所述时间偏差,进行时间同步。
第二方面,本申请实施例提供了一种时间同步装置,包括:
接收模块、获取模块、确定模块、和时间同步模块,
所述接收模块,用于接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
所述获取模块,用于从所述目标报文中获取所述第一时间戳;
所述获取模块,还用于获取第二时间戳,所述第二时间戳用于指示从钟设备接收到所述目标报文的时间;
所述获取模块,还用于获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
所述确定模块,用于基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
所述时间同步模块,用于根据所述时间偏差,进行时间同步。
在本申请实施例中,通过接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;从所述目标报文中获取所述第一时间戳;获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;根据所述时间偏差,进行时间同步。这样,由于目标时延是固定值,无需动态测量目标时延,从钟设备不需要发送任何报文,而是可以接收一种报文或最多两种报文,这种情况下,利用接收到的目标报文的时间戳(例如第一时间戳和第二时间戳)和固定时延,就可以确定出从钟设备相对于主钟设备的时间偏差,简化了时间偏差的计算流程,进而根据时间偏差进行时间同步时能够快速完成时间同步。
附图说明
图1是相关技术中的一种时间同步过程中主、从钟设备交互报文的示意图;
图2是本申请实施例提供的一种时间同步方法的示意性流程图;
图3是本申请实施例提供的另一种时间同步方法的示意性流程图;
图4是本申请实施例提供的另一种时间同步方法的示意性流程图;
图5-1是本申请实施例提供的另一种时间同步方法的示意性流程图;
图5-2是本申请实施例提供的另一种时间同步方法的示意性流程图;
图6是本申请实施例提供的另一种时间同步方法的示意性流程图;
图7是本申请实施例提供的一种时间同步装置的示意性结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
申请人注意到,相关技术中,如图1所示,从钟设备相对主钟设备的时间偏差的计算原理描述如下:
t4 - t3=t-sm - offsset;………………………………………………式(1)
t2 - t1=t-ms + offsset;…………………………………………………式(2)
上式(1)和式(2)中,offset可以为从钟设备相对于主钟设备的时间偏差,主钟设备到从钟设备的时延可以是t-ms,从钟设备到主钟设备的时延可以是t-sm。对于从钟设备而言,第一时间戳t1可以是主钟设备发送同步报文的时戳,包封在同步报文或跟随报文中;第二时间戳t2可以是从钟设备收到同步报文时打的时戳;从钟设备发送延迟请求报文时打上第三时间戳t3,主钟设备收到延迟请求报文时打上第四时间戳t4并通过延迟响应报文将第三时间戳t3和第四时间戳t4回传给从钟设备。
基于上式(1)和式(2),从钟设备相对主钟设备的时间偏差(offset)的计算公式为:
offset=[( t2 - t1)-( t4 - t3)+( t-sm - t-ms)]/2;………………式(3)
由上式(3)可见,相关技术中规定的时间同步方法和单向时延测量是同时进行且互相影响的。若假设了双向时延对称,t-sm 等于 t-ms,这样上式(3)可进一步简化为:
offset=[( t2 - t1)-( t4 - t3)]/2;…………………………………式(4)
由上式(4)可见,相关技术中,从钟设备计算从钟设备的本地时钟和主钟设备的时间偏差需要测量t1、t2、t3和t4。为了获取t1、t2、t3和t4,在实时计算时间偏差之前,从钟设备至少需要利用同步报文、延迟请求报文和延迟响应报文这三种类型的报文;并且,在第一时间戳t1包封在跟随报文中的情况下,还需要利用跟随报文。之后,采用获取的t1、t2、t3和t4,实时计算从钟设备相对主钟设备的时间偏差,由于每次时间同步都需要实时计算时间偏差,存在时间同步的速度较慢的问题。
基于此,本申请实施例提供一种时间同步方法,无需像相关技术描述的那样每次时间同步都去动态测量时延,而可以将时延视为一个固定值进行设备的时间同步。由于时延是固定值,无需动态测量时延,这种情况下,仅利用第一时间戳、第二时间戳和固定时延,就可以确定出从钟设备相对于主钟设备的时间偏差,简化了时间偏差的计算流程,进而根据时间偏差进行时间同步时能够快速地完成时间同步。
其中,本申请实施例提供的时间同步方法可以用于以太网***中的设备。例如,在以太网***是汽车以太网***的场景下,对于一款车辆而言,车辆的以太网网络架构和物理拓扑实际上在出厂甚至设计时就固定下来了,从车辆出厂到车辆生命周期结束,汽车以太网***中网络节点设备之间的连接是不变的。因此汽车以太网***中两个节点设备之间的时延无需像相关技术描述的那样每次时间同步都需要去动态测量,将时延作为一个输入常量计算时间偏差就可以实现时间同步。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的时间同步方法进行详细地说明。
图2是本申请实施例提供的一种时间同步方法的示意性流程图。
如图2所示,本申请实施例提供的时间同步方法,应用于从钟设备,可以包括:
步骤210:接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
在步骤210中,用于进行时间同步的目标报文可以包括同步报文,同步报文可以携带有第一时间戳,第一时间戳用于指示主钟设备发送同步报文的时间。或者,用于进行时间同步的目标报文可以包括同步报文和跟随报文,跟随报文携带有第一时间戳,第一时间戳用于指示主钟设备发送同步报文的时间。
步骤220:从所述目标报文中获取所述第一时间戳;
在步骤220中,目标报文可以包括同步报文,在同步报文携带有第一时间戳的场景下,本申请实施例可以从同步报文中获取第一时间戳。或者,目标报文可以包括同步报文和跟随报文,在跟随报文携带有第一时间戳的场景下,本申请实施例可以从跟随报文中获取第一时间戳。
步骤230:获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
在步骤230中,目标报文可包括同步报文,第二时间戳可以用于指示从钟设备接收到同步报文的时间。本申请实施例具体可以在接收到同步报文的情况下,采用从钟设备的本地时钟生成第二时间戳。
步骤240:获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
在步骤240中,目标时延可以为预先确定的固定值,因而在获取目标时延的过程中,无需实时动态测量得到目标时延,而是可以一次性地获取预先确定好的固定值,作为目标时延。
步骤250:基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
在步骤250中,由于本申请实施例中目标时延是固定值,无需像相关技术中描述的那样每次进行时间同步时都需要去动态测量目标时延,而可以将目标时延作为一个输入常量去计算时间偏差,进而进行时间同步。能够理解的是,由于无需动态测量目标时延,从钟设备自然也没有必要向主钟设备发起延迟请求报文,主钟设备也没有必要回复延迟响应报文,来动态测量目标时延。这种情况下,仅利用目标报文的时间戳(例如上文提到的第一时间戳和第二时间戳),就可以确定出从钟设备相对于所述主钟设备的时间偏差,进而提高了基于时间偏差进行时间同步的速度。
步骤260:根据所述时间偏差,进行时间同步。
在步骤260中,根据从钟设备相对于所述主钟设备的时间偏差,调整从钟设备的时间,以实现从钟设备与主钟设备之间的时间同步。其中,具体调整过程可以是根据上述时间偏差,增高或者降低从钟设备的时间,本申请不作具体限制。
根据本申请实施例提供的时间同步方法,通过接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;从所述目标报文中获取所述第一时间戳;获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;根据所述时间偏差,进行时间同步。这样,由于目标时延是固定值,无需动态测量目标时延,从钟设备不需要发送任何报文,而是可以接收一种报文或最多两种报文,这种情况下,利用接收到的目标报文的时间戳(例如第一时间戳和第二时间戳)和固定时延,就可以确定出从钟设备相对于主钟设备的时间偏差,简化了时间偏差的计算流程,进而根据时间偏差进行时间同步时能够快速完成时间同步。
在一个具体的实施例中,为了快速获取目标时延,目标时延可以预先存储在目标存储器中,在确定时间偏差时直接从目标存储器中获取目标时延。下面以图3为例进行具体说明。
图3是本申请实施例提供的另一种时间同步方法的示意性流程图。
如图3所示,本申请实施例提供的时间同步方法,应用于从钟设备,可以包括:
步骤310:接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
其中,步骤310可以参考步骤210的具体内容,此处不再赘述。
步骤320:从所述目标报文中获取所述第一时间戳;
其中,步骤320可以参考步骤220的具体内容,此处不再赘述。
步骤330:获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
其中,步骤330可以参考步骤230的具体内容,此处不再赘述。
步骤340:从目标存储器中获取预先存储的目标时延,其中,所述目标时延为固定值;
其中,步骤340可以是步骤240的子步骤。
步骤350:基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
其中,步骤350可以参考步骤250的具体内容,此处不再赘述。
步骤360:根据所述时间偏差,进行时间同步。
其中,步骤360可以参考步骤260的具体内容,此处不再赘述。
能够理解的是,在步骤340中,由于目标时延为固定值,无需动态测量目标时延,可以预先准备好目标时延,例如将目标时延预先存储在目标存储器中。其中,目标时延的具体取值可以与从钟设备在以太网***中的位置和链接线路相关。在实际应用中,在从钟设备是汽车以太网***中的设备的场景下,从钟设备在以太网***中的位置和链接线路可以是固定的,进而目标时延也可以视为固定值。
这样,在确定时间偏差之前,可以直接从目标存储器中快速获取预先存储的目标时延,提高了获取目标时延的速度,进而提高了根据目标时延确定时间偏差的速度。
在实际应用中,目标存储器可以为从钟设备外挂的存储器。例如,目标存储器可以是带电可擦可编程只读(EEPROM,Electrically Erasable Programmable read onlymemory)存储器,或者其他类型的存储器,上述步骤340可以包括:从从钟设备外挂的存储器中获取预先存储的目标时延。
这样,将目标时延存储在从钟设备外挂的存储器中,在从钟设备外挂的存储器上电加载时直接从该存储器中快速获得目标时延,而不依赖于从钟设备上电加载时才能从目标存储器获取目标时延,进一步提高了获取目标时延的速度。
当然,在其他实施例中,目标存储器也可以是从钟设备中的存储器,也可以在从钟设备上电加载时从目标存储器获取目标时延,或者通过软件方法在从钟设备上电加载时从从钟设备获取目标时延,等等,本申请对此不作具体限制。
在一个具体的实施例中,可以将第一时间戳、第二时间戳和目标时延作为源数据计算得到时间偏差,简化了时间偏差的计算原理。下面以图4为例进行举例说明。
图4是本申请实施例提供的另一种时间同步方法的示意性流程图。
如图4所示,本申请实施例提供的时间同步方法,应用于从钟设备,可以包括:
步骤410:接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
其中,步骤410可以参考步骤210的具体内容,此处不再赘述。
步骤420:从所述目标报文中获取所述第一时间戳;
其中,步骤420可以参考步骤220的具体内容,此处不再赘述。
步骤430:获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
其中,步骤430可以参考步骤230的具体内容,此处不再赘述。
步骤440:获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
其中,步骤440可以参考步骤240或者步骤340的具体内容,此处不再赘述。
步骤450:计算所述第二时间戳依次减去所述第一时间戳和所述目标时延之后,得到的结果;将所述结果作为所述时间偏差;
其中,步骤450可以是步骤250的子步骤。
步骤460:根据所述时间偏差,进行时间同步。
其中,步骤460可以参考步骤260的具体内容,此处不再赘述。
在步骤450中,时间偏差的计算公式可以是:offset =t2 - t1 - t-ms 。
其中,offset表示时间偏差,t2表示第二时间戳,t1表示第一时间戳,t-ms表示目标时延。
能够理解的是,由于目标时延是固定值,目标时延可以视为一个常量,这种情况下,无需动态测量目标时延,从钟设备自然也没有必要向主钟设备发起延迟请求报文,主钟设备也没有必要回复延迟响应报文,来动态测量目标时延。这种情况下,时间偏差可以由第二时间戳依次减去第一时间戳和目标时延后得到,这样,仅利用目标报文的时间戳(例如上文提到的第一时间戳和第二时间戳)和一个常量(即目标时延),就可以确定出从钟设备相对于所述主钟设备的时间偏差,进而提高了基于时间偏差进行时间同步的速度。
在实际应用中,目标时延的取值可以为0。例如,在从钟设备是汽车以太网***中的设备的应用场景下,汽车以太网***中的任意两个设备之间的连接线长度估计在10米以内,10米以内的线长对应着估计50ns以内的时延,由于汽车以太网***中的设备进行时间同步的时间精度要求可以是1us,也就是说,从钟设备与主钟设备之间的时延远低于汽车以太网的时间精度要求。此时,时延可以忽略不计,即可以将时延默认为0。
这种情况下,时间偏差的计算公式可以是:offset =t2 - t1 。其中,offset表示时间偏差,t2表示第二时间戳,t1表示第一时间戳。这样,由于将目标时延默认为0,本申请实施例可以考虑不设置用于存储目标时延的目标存储器,进一步降低硬件成本。
在另一个实施例中,为了提高从钟设备的稳定度,提高从钟设备的抗干扰能力,可以进行滤除抖动的处理,例如,本申请实施例可以确定多个时间偏差值,计算得到多个时间偏差值的平均值或者均方根值,采用时间偏差的平均值或者均方根值等调整从钟设备的时间。下面以图5-1和图5-2为例进行举例说明。
图5-1是本申请实施例提供的另一种时间同步方法的示意性流程图。
如图5-1所示,本申请实施例提供的时间同步方法,应用于从钟设备,可以包括:
步骤510:接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
其中,步骤510可以参考步骤210的具体内容,此处不再赘述。
步骤520:从所述目标报文中获取所述第一时间戳;
其中,步骤520可以参考步骤220的具体内容,此处不再赘述。
步骤530:获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
其中,步骤530可以参考步骤230的具体内容,此处不再赘述。
步骤540:获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
其中,步骤540可以参考步骤240或者步骤340的具体内容,此处不再赘述。
步骤550:基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
其中,步骤550可以参考步骤240或者步骤440的具体内容,此处不再赘述。
步骤560:在满足目标条件的情况下,针对所述从钟设备所接收的N个目标报文中的每一个目标报文,确定所述从钟设备相对于所述主钟设备的时间偏差,得到N个时间偏差;
在步骤560中,采用步骤510至步骤550所描述的时间偏差的计算方法,针对从钟设备所接收的1个目标报文,可以计算得到1个时间偏差;相应地,针对从钟设备所接收的N个目标报文,可以计算得到N个时间偏差。
在实际应用中,N≥2,或者N≥3、或者N≥4,等等,本申请不作具体限制。
在步骤560中,目标条件包括以下任一个:从钟设备首次进行时间同步;连续M次确定出的时间偏差大于阈值,其中,M大于或等于2。
其中,在从钟设备首次进行时间同步的场景下,计算得到N个时间偏差,后续采用N个时间偏差的平均值调整从钟设备的时间,可以实现时间同步的快速收敛。
其中,在从钟设备非首次进行时间同步、且连续M次确定出的时间偏差大于阈值的场景下,计算得到N个时间偏差,后续采用N个时间偏差的平均值调整从钟设备的时间,可以实现在时间同步之后保持从钟设备的抖动性能。其中,保持性能可以理解为当时间同步信息丢失而从钟设备还能在一段时间内保持一定时间偏差的能力。
这样,采用N个时间偏差的平均值调整从钟设备的时间的方法可以兼顾时间未同步场景下时间同步的快速收敛以及时间同步之后保持从钟设备的抖动性能。
当然,对于从钟设备非首次进行时间同步且确定出的时间偏差小于阈值的场景,本申请另外的实施例仍可以采用N个时间偏差的平均值或者均方根值调整从钟设备的时间,此处不作具体限制。
步骤570:确定所述N个时间偏差的平均值;其中,N大于或等于2;
步骤580:基于所述N个时间偏差的平均值,调整所述从钟设备的时间。
其中,步骤580可以是步骤260的子步骤。
能够理解的是,在实际应用中,主钟设备的时钟源和从钟设备的时钟源容易受到外界干扰(例如环境变化)的影响而表现出时钟频率的漂移和抖动,导致第一时间戳和第二时间戳出现抖动。基于此,在步骤580中,由于计算得到的N个时间偏差的平均值可以滤除时间戳的抖动,基于N个时间偏差的平均值调整从钟设备的时间,可以提高从钟设备的稳定度和抗干扰能力。
下面结合实际应用场景来描述本申请实施例提供的时间同步方法。如图5-2所示,本申请实施例提供的时间同步方法的流程可以包括:
在目标设备上电加载时,获取目标设备的本地时钟等级;
根据目标设备的本地时钟等级和时钟选源算法,确定目标设备是从钟设备;并获取从钟设备相对于主钟设备的时延(t-ms);
其中,本申请实施例可以根据时钟选源算法确定从钟设备的从端口,目标时延具体可以是从钟设备的从端口相对从端口上游的主端口节点(即主钟设备)的时延(t-ms)。
接收同步报文,获取第一时间戳t1和第二时间戳t2,计算时间偏差,offset=t2-t1-t-ms;
其中,同步报文可以携带有第一时间戳t1,从钟设备接收到同步报文时可以用本地钟打上第二时间戳t2;
判断从钟设备是否首次进行时间同步;
在从钟设备首次进行时间同步的情况下,计算得到N个时间偏差,并基于N个时间偏差的平均值调整从钟设备的时间;
或者,在从钟设备非首次进行时间同步,但连续M次确定出的时间偏差大于阈值的情况下,计算得到N个时间偏差,后续采用N个时间偏差的平均值调整从钟设备的时间;
在从钟设备非首次进行时间同步,且确定出的时间偏差小于阈值的情况下,存储offset-i;在时间窗口T内,对存储的多个offset-i值,采用诸如均方根、平均值等算法来计算得到offset-x,并采用offset-x调整从钟设备的时间。
其中,offset-i可以表示第i次根据接收的同步报文计算得到的时间偏差值,i为正整数。其中,offset-x可以表示在一定的时间窗口T内,对计算得到的多个offset-i值采用诸如均方根、平均值等算法而计算得到的值。其中,在一个时间窗口T内可以暂不调整从钟设备的时间,而是计算得到该时间窗口T对应的offset-x;在该时间窗口T的结束时刻采用计算得到的offset-x调整从钟设备的时间。一旦采用计算得到的offset-x调整了从钟设备的时间之后可以进入下一个时间窗口,在下一个时间窗口T内重新收集多个offset-i并计算下一个时间窗口T内的offset-x。其中,本申请实施例可以预先配置时间窗口T的初始值,还可以记录多个时间窗口T对应的多个offset-x,在实际应用中,可以根据多个offset-x之间的偏差,自适应调整时间窗口T的取值,例如,offset-x越趋于零,T的取值可以越大,以拉长调整从钟设备的时间的调整周期。如果主钟设备与从钟设备之间完全同步,从钟设备的时间可以长期不进行调整。如此,使时间同步的精度和稳定度更高。
这样,采用N个时间偏差的平均值或者均方根调整从钟设备的时间,可以兼顾时间未同步场景下时间同步的快速收敛以及时间同步之后保持从钟设备的抖动性能。
需要指出的是,上文提到的时间同步方法实施例是根据第一时间戳、第二时间戳和目标时延确定时间偏差,基于时间偏差调整从钟设备的时间。事实上,本申请实施例还可以提供另一种时间同步方法,可以直接基于第一时间戳(而非时间偏差)调整从钟设备的时间。下面以图6为例进行举例说明。
图6是本申请实施例提供的另一种时间同步方法的示意性流程图。
如图6所示,本申请实施例提供的时间同步方法,应用于从钟设备,可以包括:
步骤610:接收用于进行时间同步的目标报文,所述目标报文携带第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
其中,步骤610可以参考步骤210的具体内容,此处不再赘述。
步骤620:从所述目标报文中获取所述第一时间戳;
其中,步骤620可以参考步骤220的具体内容,此处不再赘述。
步骤630:通过如下任一种方式进行时间同步:在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳指示的时间;或者,获取所述主钟设备和所述从钟设备之间的目标时延;在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳与所述目标时延之和。
在步骤630中,时间同步的方式可以有两种:第一种方式是可以基于第一时间戳调整从钟设备的时间,直接将从钟设备的时间更新为第一时间戳指示的时间,以实现从钟设备与主钟设备的时间同步。第二种方式可以基于第一时间戳和目标时延调整从钟设备的时间,直接将从钟设备的时间更新为第一时间戳与目标时延之和,以实现从钟设备与主钟设备的时间同步。这两种方式均无需考虑第二时间戳,仅采用一种报文,利用目标报文的第一时间戳就可以进行时间同步,能够快速完成时间同步。具体而言,由于无需确定时间偏差,完成时间同步的速度比图2至图5-2任一实施例所述的基于时间偏差进行时间同步的方法速度更快。
并且,对于步骤630所述的两种时间同步方式而言,与第二种方式相比,第一种方式无需考虑目标时延的因素,能够更加快速地完成时间同步。而与第一种方式相比,第二种方式考虑目标时延,能够在快速完成时间同步的前提下,更精准地调整从钟设备的时间。
根据本申请实施例提供的时间同步方法,通过接收用于进行时间同步的目标报文,所述目标报文携带第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;从所述目标报文中获取所述第一时间戳;通过如下任一种方式进行时间同步:在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳指示的时间;或者,获取所述主钟设备和所述从钟设备之间的目标时延;在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳与所述目标时延之和。这样,在进行时间同步的过程中,无需考虑第二时间戳,利用目标报文的第一时间戳就可以进行时间同步,能够快速完成时间同步。
在一个具体的实施例中,在步骤630中进行时间同步的方式具体为将从钟设备的时间更新为第一时间戳与目标时延之和的情况下,本申请实施例提供的时间同步方法还可以包括:在进行时间同步之前,获取所述主钟设备和所述从钟设备之间的目标时延。在获取主钟设备和从钟设备之间的目标时延的情况下,目标时延为固定值。其中,具体获取过程可以参考步骤240或者步骤340的具体内容,此处不再赘述。这样,在基于第一时间戳和目标时延调整从钟设备的时间时,由于目标时延是固定值,无需动态测量目标时延,能够快速完成时间同步。
此外,申请人需要指出的是,由于从钟设备的时间调节的依据是其他设备(例如主钟设备)的时钟源生成的第一时间戳,从钟设备的时间完全依赖于第一时间戳,在主钟设备生成的第一时间戳受外界干扰而抖动的情况下,从钟设备的时间精度和稳定度容易受到主钟设备第一时间戳抖动的影响。与图6所示实施例中基于目标报文的第一时间戳可以进行时间同步相比,图2至图5-2任一实施例中基于时间偏差进行时间同步的稳定性更好。
此外,申请人需要指出的是,在实际应用中,在从钟设备接收用于进行时间同步的目标报文的场景中,上述目标报文的发送频率可以参考快速报文的发送频率,这样,提高目标报文的发送频率,缩短从钟设备接收目标报文的时间,进一步提高从钟设备实现时间同步的速度。
需要说明的是,本申请实施例提供的时间同步方法,执行主体可以为时间同步装置,或者该时间同步装置中的用于执行时间同步的方法的控制模块。本申请实施例中以时间同步装置执行时间同步方法为例,说明本申请实施例提供的时间同步装置。
图7是本申请实施例提供的一种时间同步装置的示意性结构图。
如图7所示,本申请实施例提供的时间同步装置700可以包括:
接收模块710、获取模块720、确定模块730、和时间同步模块740,
所述接收模块,用于接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
所述获取模块,用于从所述目标报文中获取所述第一时间戳;
所述获取模块,还用于获取第二时间戳,所述第二时间戳用于指示从钟设备接收到所述目标报文的时间;
所述获取模块,还用于获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
所述确定模块,用于基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
所述时间同步模块,用于根据所述时间偏差,进行时间同步。
根据本申请实施例提供的时间同步装置,包括接收模块,用于接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;获取模块,用于从所述目标报文中获取所述第一时间戳;获取模块,还用于获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;获取模块,还用于获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;确定模块,用于基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;时间同步模块,用于根据所述时间偏差,进行时间同步。这样,由于目标时延是固定值,无需动态测量目标时延,从钟设备不需要发送任何报文,而是可以接收一种报文或最多两种报文,这种情况下,利用接收到的目标报文的时间戳(例如第一时间戳和第二时间戳)和固定时延,就可以确定出从钟设备相对于主钟设备的时间偏差,简化了时间偏差的计算流程,进而根据时间偏差进行时间同步时能够快速完成时间同步。
可选地,在本申请实施例提供的时间同步装置中,在获取目标时延的过程中,所述获取模块具体用于:从目标存储器中获取预先存储的目标时延。
这样,可以预先准备好目标时延,例如将目标时延预先存储在目标存储器中,在确定时间偏差之前,可以直接从目标存储器中快速获取预先存储的目标时延,提高了获取目标时延的速度,进而提高了根据目标时延确定时间偏差的速度。
可选地,在本申请实施例提供的时间同步装置中,所述目标存储器为从钟设备外挂的存储器。
这样,将目标时延存储在从钟设备外挂的存储器中,在从钟设备外挂的存储器上电加载时直接从该存储器中快速获得目标时延,而不依赖于从钟设备上电加载时才能从目标存储器获取目标时延,进一步提高了获取目标时延的速度。
可选地,在本申请实施例提供的时间同步装置中,所述确定模块,具体用于:
计算所述第二时间戳依次减去所述第一时间戳和所述目标时延之后,得到的结果;
将所述结果作为所述时间偏差。
这样,时间偏差可以由第二时间戳依次减去第一时间戳和目标时延后得到,仅利用目标报文的时间戳(例如上文提到的第一时间戳和第二时间戳)和一个常量(即目标时延),就可以确定出从钟设备相对于所述主钟设备的时间偏差,进而提高了基于时间偏差进行时间同步的速度。
可选地,在本申请实施例提供的时间同步装置中,所述目标时延的取值为0。
这样,由于将目标时延默认为0,本申请实施例可以考虑不设置用于存储目标时延的目标存储器,进一步降低硬件成本。
可选地,本申请实施例提供的时间同步装置中,
所述确定模块,还用于在满足目标条件的情况下,针对所述从钟设备所接收的N个目标报文中的每一个目标报文,确定所述从钟设备相对于所述主钟设备的时间偏差,得到N个时间偏差;
所述确定模块,还用于确定所述N个时间偏差的平均值;其中,N大于或等于2;
所述时间同步模块具体用于:基于所述N个时间偏差的平均值,调整所述从钟设备的时间。
这样,由于计算得到的N个时间偏差的平均值可以滤除时间戳的抖动,基于N个时间偏差的平均值调整从钟设备的时间,可以提高从钟设备的稳定度和抗干扰能力。
在另一具体的实施例中,本申请实施例提供的时间同步装置可以包括:接收模块、获取模块和时间同步模块;
所述接收模块用于:接收用于进行时间同步的目标报文,所述目标报文携带第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
所述获取模块用于:从所述目标报文中获取所述第一时间戳;
所述时间同步模块用于:通过如下任一种方式进行时间同步:在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳指示的时间;或者,获取所述主钟设备和所述从钟设备之间的目标时延;在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳与所述时延之和。
这样,在进行时间同步的过程中,无需考虑第二时间戳,利用目标报文的第一时间戳就可以进行时间同步,能够快速完成时间同步。
本申请实施例中的时间同步装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的时间同步装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为ios操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的时间同步装置能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地 ,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种时间同步方法,其特征在于,应用于从钟设备,包括:
接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
从所述目标报文中获取所述第一时间戳;
获取第二时间戳,所述第二时间戳用于指示所述从钟设备接收到所述目标报文的时间;
获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
根据所述时间偏差,进行时间同步。
2.根据权利要求1所述的时间同步方法,其特征在于,所述获取所述从钟设备与主钟设备之间的目标时延包括:
从目标存储器中获取预先存储的目标时延。
3.根据权利要求2所述的时间同步方法,其特征在于,其中,所述目标存储器为从钟设备外挂的存储器。
4.根据权利要求1-3任一项所述的时间同步方法,其特征在于,基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差,包括:
计算所述第二时间戳依次减去所述第一时间戳和所述目标时延之后,得到的结果;
将所述结果作为所述时间偏差。
5.根据权利要求4所述的时间同步方法,其特征在于,所述目标时延的取值为0。
6.根据权利要求1所述的时间同步方法,其特征在于,所述方法还包括:
在满足目标条件的情况下,针对所述从钟设备所接收的N个目标报文中的每一个目标报文,确定所述从钟设备相对于所述主钟设备的时间偏差,得到N个时间偏差;
确定所述N个时间偏差的平均值;其中,N大于或等于2;
所述根据所述时间偏差,进行时间同步包括:基于所述N个时间偏差的平均值,调整所述从钟设备的时间。
7.根据权利要求6所述的时间同步方法,其特征在于,所述目标条件包括以下任一个:
所述从钟设备首次进行时间同步;
连续M次确定出的时间偏差大于阈值,其中,M大于或等于2。
8.一种时间同步方法,其特征在于,应用于从钟设备,包括:
接收用于进行时间同步的目标报文,所述目标报文携带第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
从所述目标报文中获取所述第一时间戳;
通过如下任一种方式进行时间同步:
在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳指示的时间;
或者,获取所述主钟设备和所述从钟设备之间的目标时延;在接收到下一个目标报文之前,将所述从钟设备的时间更新为所述第一时间戳与所述目标时延之和。
9.根据权利要求8所述的时间同步方法,其特征在于,在获取所述主钟设备和所述从钟设备之间的目标时延的情况下,所述目标时延为固定值。
10.一种时间同步装置,其特征在于,包括:接收模块、获取模块、确定模块、和时间同步模块,
所述接收模块,用于接收用于进行时间同步的目标报文,所述目标报文包括第一时间戳,所述第一时间戳用于指示主钟设备发送所述目标报文的时间;
所述获取模块,用于从所述目标报文中获取所述第一时间戳;
所述获取模块,还用于获取第二时间戳,所述第二时间戳用于指示从钟设备接收到所述目标报文的时间;
所述获取模块,还用于获取所述从钟设备与主钟设备之间的目标时延,其中,所述目标时延为固定值;
所述确定模块,用于基于所述第一时间戳、所述第二时间戳以及所述目标时延,确定所述从钟设备相对于所述主钟设备的时间偏差;
所述时间同步模块,用于根据所述时间偏差,进行时间同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113537.XA CN115208505A (zh) | 2022-09-14 | 2022-09-14 | 时间同步方法及时间同步装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113537.XA CN115208505A (zh) | 2022-09-14 | 2022-09-14 | 时间同步方法及时间同步装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115208505A true CN115208505A (zh) | 2022-10-18 |
Family
ID=83572803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211113537.XA Pending CN115208505A (zh) | 2022-09-14 | 2022-09-14 | 时间同步方法及时间同步装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208505A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162860A (zh) * | 2015-04-27 | 2016-11-23 | 华为技术有限公司 | 一种时间同步的方法及***、网络设备 |
WO2020103540A1 (zh) * | 2018-11-21 | 2020-05-28 | 华为技术有限公司 | 同步的方法和装置 |
CN113411157A (zh) * | 2021-08-20 | 2021-09-17 | 浙江国利信安科技有限公司 | 用于时钟同步的方法、从时钟设备、主时钟设备和*** |
-
2022
- 2022-09-14 CN CN202211113537.XA patent/CN115208505A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162860A (zh) * | 2015-04-27 | 2016-11-23 | 华为技术有限公司 | 一种时间同步的方法及***、网络设备 |
WO2020103540A1 (zh) * | 2018-11-21 | 2020-05-28 | 华为技术有限公司 | 同步的方法和装置 |
CN113411157A (zh) * | 2021-08-20 | 2021-09-17 | 浙江国利信安科技有限公司 | 用于时钟同步的方法、从时钟设备、主时钟设备和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057136B1 (en) | Time correction using extension fields | |
US9722718B2 (en) | System for establishing and maintaining a clock reference indicating one-way latency in a data network | |
US20080031283A1 (en) | Time synchronization for network aware devices | |
CN106603183B (zh) | 一种时间戳过滤方法及装置 | |
CN104243129B (zh) | 接收器、计算时间差的方法以及计算机可读存储介质 | |
KR20150143801A (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
US20140355629A1 (en) | Communication apparatus, communication system, and communication method | |
EP4010777A1 (en) | Systems for timestamping events on edge devices | |
WO2021077289A1 (zh) | 一种同步方法及设备 | |
CN109560889A (zh) | 一种实现App与服务端时间同步的方法 | |
CN104144047A (zh) | 通信网络***的同步方法、中间节点和从节点 | |
CN105680977B (zh) | 同步FlexRay时钟的方法及*** | |
WO2013163793A1 (en) | Automatic time and frequency synchronization over an asynchronous network | |
CN116684028B (zh) | 一种多传感器时间同步方法、装置、设备及存储介质 | |
EP2627040B1 (en) | Method for eliminating systematical error components in a set of one-way delay measurement results for communications between two or more computing systems in a communication network, apparatus for performing the method and computer program product | |
CN115208505A (zh) | 时间同步方法及时间同步装置 | |
CN113141225A (zh) | 时间同步方法、装置、存储介质及终端 | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
CN101420281A (zh) | 用于在网络要素之间传送日内时间值的方法和装置 | |
CN115333660A (zh) | 精确时间戳校正 | |
CN110138487B (zh) | 一种时间噪声传递特性测量方法和网络节点 | |
CN114553895A (zh) | 一种数据同步方法、***、存储介质及电子设备 | |
Depari et al. | Evaluation of timing characteristics of industrial ethernet networks synchronized by means of IEEE 1588 | |
CN113259081B (zh) | 一种跨时间域的数据同步***及方法 | |
CN110492966B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221018 |