CN115250159A - 时间同步方法、装置、电子设备、存储介质及程序产品 - Google Patents

时间同步方法、装置、电子设备、存储介质及程序产品 Download PDF

Info

Publication number
CN115250159A
CN115250159A CN202210844110.0A CN202210844110A CN115250159A CN 115250159 A CN115250159 A CN 115250159A CN 202210844110 A CN202210844110 A CN 202210844110A CN 115250159 A CN115250159 A CN 115250159A
Authority
CN
China
Prior art keywords
node
time synchronization
time
clock source
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
Application number
CN202210844110.0A
Other languages
English (en)
Inventor
王敏
黄杰
陈德芮
侯亚飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202210844110.0A priority Critical patent/CN115250159A/zh
Publication of CN115250159A publication Critical patent/CN115250159A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps

Abstract

本发明提供一种时间同步方法,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述方法包括:获取每个节点控制器的启动速度和晶振精度;基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。本发明提出的一种基于TSN的车载时间同步方法,解决了传统TSN使用卫星时钟作为时钟源进行同步存在的时钟源丢失、跳变问题,使同步系统更加高效。

Description

时间同步方法、装置、电子设备、存储介质及程序产品
技术领域
本申请涉及自动驾驶技术领域,具体涉及一种时间同步方法、装置、电子设备、存储介质及程序产品。
背景技术
随着车辆中智能驾驶的快速发展,对传感器融合数据的同步性要求也随着变高。目前车辆中各雷达控制器并未做时间同步,在控制器上电后,按各自的时间基准进行计时,而智驾应用又需要融合各个控制器同一时间的数据,当各控制器时间基准不一致时,融合的数据也会跟实际场景相不符,导致智驾的决策错误,严重甚至会影响到人身安全。
另外,车辆记录排查故障也需要一个同步的时间。现在车辆中各控制器记录的时间都是来自于接收卫星时间的控制器通过应用报文的方式发出来,控制器收到后则以报文的时间记录,只能代表一个粗略时间。但是报文中的时间是周期发送,则记录的时间会有较大的延时,会增大故障排查的难度。
同时,时间同步是应用Qbv技术的一个必要基础。随着车载通信网络的发展,TSNQbv也逐渐被应用于车载网络中来保证数据低延时、确定性的传输。而Qbv则需要一个全局时间来做数据发送的统一调度,所以需要时间同步来保证车内控制器都处于统一时间基础之下。
TSN(Time-Sensitive Network,时间敏感网络)时间同步能够确保连接在网络中的各个节点时间同步达到甚至ns级的精度。目前,大多数使用卫星时钟对车内各控制器使用TSN进行同步来解决问题,但是在卫星时钟出现信号中断时,车辆无法进行时间同步,导致车内各控制器系统时间不一致。而相对稳定的本地时钟作为时钟源则没有兼顾节点有北京时间的需求。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种时间同步方法、装置、电子设备、存储介质及程序产品,以解决上述技术问题。
本发明提供的一种时间同步方法,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述方法包括:
获取每个节点控制器的启动速度和晶振精度;
基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;
启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
于本发明一实施例中,所述基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源,包括:
将每一个节点控制器的晶振精度与设定阈值进行比较,以所述晶振精度大于设定阈值的节点控制器作为候选节点控制器;
将多个所述候选节点控制器的启动时间进行两两比较,获取启动时间最短的候选节点控制器,并将启动时间最短的候选节点控制器作为时钟源。
于本发明一实施例中,在启动所述时钟源后,所述方法还包括错误检测处理步骤,所述错误检测处理步骤包括:
在所述时钟源启动的第一个时间同步周期内,检测与所述主节点相邻的下游节点在设定时间内是否接收到所述主节点发送的第一时间同步报文;
若所述主节点相邻的下游节点没有接收到所述第一时间同步报文,则将所述主节点相邻的下游节点的本地时间作为时间戳封装到第一时间同步报文中,得到第二时间同步报文;
将所述第二时间同步报文发送至与所述下游节点相邻的节点。
于本发明一实施例中,所述错误检测处理步骤还包括:
在所述时钟源启动后的第一个时间同步周期后,检测当前时间同步周期内某一节点在设定时间内是否接收到上游节点发送的时间同步报文;
若所述某一节点没有接收到所述上游节点发送的时间同步报文,则以所述某一节点在当前时间同步周期的前一个时间同步周期的时间戳作为当前时间同步周期的后一个时间同步周期的时间戳,并将所述后一个时间同步周期的时间戳封装到第二时间同步报文中,得到第三时间同步报文;
将所述第三时间同步报文发送至所述某一个节点的下游节点。
于本发明一实施例中,在所述错误检测处理步骤后还包括:
根据所述时钟源输出的时间值的格式判断所述时钟源的类型;
若所述时钟源输出的时间值为第一格式,则所述时钟源的类型为本地时钟;若所述时钟源输出的时间值为第二格式,则所述时钟源的类型为北京时钟。
于本发明一实施例中,在以所述本地时钟完成所述主节点与所述从节点的时间同步后,所述方法还包括:
通过所述主节点从具有北京时钟的从节点处获取北京时间以及时间同步报文从所述主节点传输至所述从节点的延迟时间;
以所述延迟时间对所述北京时间进行补偿,使所述主节点具有补偿后的北京时间。
于本发明一实施例中,以所述延迟时间对所述北京时间进行补偿,包括:
对所述北京时间与所述延迟时间进行求和,得到补偿后的北京时间。
于本发明一实施例中,在完成主节点与从节点的时间同步后,所述方法还包括:
在所述从节点在当前时间同步周期内接收到时间同步报文时,将时间同步报文中的时间戳与上一时间同步周期收到时间同步报文的时间戳进行差值计算;若差值大于设定阈值,则认为时钟源异常,停止主节点与从节点的时间同步。
本发明提供的一种时间同步装置,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述装置包括:
参数获取模块,用于获取每个节点控制器的启动速度和晶振精度;
时钟源选择模块,用于基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;
同步模块,用于启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
本发明提供的一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现所述的时间同步方法。
本发明提供的一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行所述的时间同步方法。
本发明提供的一种计算机程序产品,其特征在于,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行所述的时间同步方法的计算机程序。
本发明的有益效果:
本发明中的一种时间同步方法,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述方法包括:获取每个节点控制器的启动速度和晶振精度;基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。本发明提出的一种基于TSN的车载时间同步方法,解决了传统TSN使用卫星时钟作为时钟源进行同步存在的时钟源丢失、跳变问题,使同步系统更加高效。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的时间同步方法的实施环境示意图;
图2是本申请的一示例性实施例示出的时间同步所涉及的节点组成的同步系统示意图;
图3是本申请的一示例性实施例示出的时间同步方法的流程图;
图4是本申请的一示例性实施例示出的步骤S220的详细说明图;
图5是本申请的一示例性实施例示出的错误检测处理步骤示意图;
图6是本申请的另一示例性实施例示出的错误检测处理步骤示意图;
图7是本申请的另一示例性实施例示出的时间同步方法的流程图;
图8是本申请的又一示例性实施例示出的时间同步方法的流程图;
图9是本申请的一示例性实施例示出的北京时间获取的示意图;
图10是本申请的一示例性实施例示出的时间同步装置的框图;
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
时间同步,就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。在集中式系统中,由于所有进程或者模块都可以从系统唯一的全局时钟中获取时间,因此系统内任何两个事件都有着明确的先后关系。而在分布式系统中,由于物理上的分散性,系统无法为彼此间相互独立的模块提供一个统一的全局时钟,而由各个进程或模块各自维护它们的本地时钟。由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有本地时钟在某一时刻都被校准,一段时间后,这些本地时钟也会出现不一致。为了这些本地时钟再次达到相同的时间值,必须进行时间同步操作。因此,本申请提供了一种时间同步方法。
图1是本申请一种示例性时间同步方法实施环境的示意图。请参阅图1,该实施环境中包括终端设备101和服务器102,终端设备101和服务器102之间通过有线或者无线网络进行通信。
应该理解,图1中的终端设备101和服务器102的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备101和服务器102。
其中,终端设备101对应客户端,其可以是任意具有用户输入接口的电子设备,包括但不限于智能手机、平板、笔记本电脑、计算机、车载电脑等等,其中,用户输入接口包括但不限于触摸屏、键盘、物理按键、音频拾取装置等。
其中,服务器102对应服务端,其可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
终端设备101可以通过3G(第三代的移动信息技术)、4G(第四代的移动信息技术)、5G(第五代的移动信息技术)等无线网络与服务端102进行通信,本处也不对此进行限制。
请参阅图2,图2是本申请的一示例性实施例示出的时间同步方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的终端设备101具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
本申请提供的时间同步方法,用于对多个节点进行时间同步。其中,所述多个节点组成车载以太网的TSN网络,车载以太网的TSN网络中包括ECU(控制器)、交换机Switch。请参阅图2,图2为本申请一示例性的时间同步所涉及的节点。而现实车载网络中可能包括更多的节点与链路,组成的系统可能会更复杂,本发明实施例对此不作限定。
在图2中,控制器1与控制器2分别为一个节点,TSN网络的节点可以包括多种不同的节点,如图3所示,在控制器1(节点1)中,包括有芯片和交换机1,而在控制器2(节点2)中则只包括有芯片,而不包括交换机。为了实现节点1与节点2之间的通信,因此,在节点1与节点2之间还设置有交换机2。需要说明的是,节点1带有本地时钟,而节点2带有卫星时钟,带卫星时钟的控制器用于获取北京时间。控制器1与控制器2用于竞争同步的时钟源。当然控制器还可以同时包括卫星时钟和本地时钟。
请参阅图3,图3为本申请一示例性的一种时间同步方法的流程图,需要说明的是,其中,每个节点至少包括一个节点控制器,所述方法至少包括步骤S310至步骤S330:
步骤S310获取每个节点控制器的启动速度和晶振精度;
步骤S320基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;
步骤S330启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
本发明提出的一种基于TSN的车载时间同步方法,解决了传统TSN使用卫星时钟作为时钟源进行同步存在的时钟源丢失、跳变问题,使同步系统更加高效。
以下通过具体实施例对本发明的时间同步方法的详细步骤进行说明。
在步骤S310中,获取每个节点控制器的启动速度和晶振精度。
在一示例性实施例中,时钟源是动态选择出来的,例如使用BMCA(最佳主时钟算法,Best Master ClockAlgorithm,BMCA)算法动态确定最优时钟源。在另一示例性实施例中,时钟源也可能是静态确定的,例如直接指定某个控制器的本地时钟或卫星时钟为时钟源。在另一示例性实施例中,结合控制器的启动时间以及控制器晶振的晶振精度来选择时钟源。
在步骤S320中,基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源。
具体地,收集所有节点所需时钟源判断条件的集合。集合的表现形式为{节点1(要求1,要求2,...,要求n),节点2(要求1,要求2,...,要求n),...,节点n(要求1,要求2,...,要求n)}。在一些实施例中,节点所需时钟源判断条件为北京时间,例如,在车辆系统中,能获取北京时间的一般为Tbox或惯导等一些有卫星时钟的控制器作为时钟源的节点。在一示例性实施例中,为保证时间同步的精度,节点所需时钟源判断条件为节点的晶振精度,例如晶振精度大于设定阈值,则认为符合作为时钟源的条件。在另一示例性实施例中,为保证时间同步的速度与稳定性,节点所需时钟源判断条件为各节点的启动时间,例如启动时间最短的节点的时钟源作为时钟源。在另一示例性实施例中,判断是否满足时钟源的要求为,首先判断各节点的启动时间,选出启动时间最快的节点作为备选节点,再判断当前的节点的晶振精度是否满足要求的阈值,若满足,则当前节点为时钟源,并作为时钟源;若不满足,则选取启动时间第二快的节点为备选节点,依此类推,直到选出时钟源。在一示例性实施例中,请参阅图4,图4为步骤S220的详细说明图,如图4所示,所述基于所述启动速度和所述晶振精度对多个节点控制器的时钟源进行选择,以确定时钟源,包括:
S410将每一个节点控制器的晶振精度与设定阈值进行比较,以所述晶振精度大于设定阈值的节点控制器作为候选节点控制器;
例如,若设定阈值为A,当节点控制器A1的晶振精度大于A时,将节控制器A1作为候选节点控制器;节点控制器A2的晶振精度大于A,则节点控制器A2作为候选节点控制器;节点控制器A3的晶振精度小于A,则节点控制器A3不作为候选节点控制器。
S420将多个所述候选节点控制器的启动时间进行两两比较,获取启动时间最短的候选节点控制器,并将启动时间最短的候选节点控制器作为时钟源。
在上步骤S410中已经选择出了候选节点控制器A1、A2,那么将候选节点控制器A1、A2的启动时间进行比较,若候选节点控制器A1的启动时间较候选节点控制A2短,则候选节点控制器A1最为时钟源。
在步骤S330中,启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
具体地,主节点发送时间同步报文到从节点,时间同步报文中包括有时钟源的时间戳,通过主时钟对主节点与从节点进行同步,即将从节点的时间戳变换为主节点的时间戳,以完成主节点与从节点的时间同步。
请参阅图5,图5为本申请一示例性实施例错误检测处理步骤示意图,包括步骤S510~步骤S530。具体地,在启动所述时钟源后,所述方法还包括错误检测处理步骤,所述错误检测处理步骤包括:
S510在所述时钟源启动的第一个时间同步周期内,检测与所述主节点相邻的下游节点在设定时间内是否接收到所述主节点发送的第一时间同步报文;
S520若所述主节点相邻的下游节点没有接收到所述第一时间同步报文,则将所述主节点相邻的下游节点的本地时间作为时间戳封装到第一时间同步报文中,得到第二时间同步报文;
S530将所述第二时间同步报文发送至与所述下游节点相邻的节点。
下游节点相邻的节点会根据第二时间同步报文完成时间同步。
需要说明的是,错误检测处理为检测到时钟源启动异常时的处理方式。这里的错误检测处理方式适用于节点刚上电时,第一次接收时间同步报文,即在第一个时间同步周期内第一次接收时间同步报文。所述启动异常是指与时钟源(与主节点)相邻的下游节点没有在某一设定时间内收到时间同步报文,即在系统启动(时钟源启动)时,时钟源故障未发出时间同步报文或与下游节点之间链路故障,导致时钟源的下游节点并未收到时间同步报文;此时,时钟源的下游节点进入代理模式;所述代理模式指以时钟源相邻的下游节点(以下被描述为当前节点)的本地时钟作为时间戳同步下游节点。
更加具体地,错误检测处理步骤包括:
S501,与主节点相邻的下游节点(下文被描述为当前节点)接收时间同步报文;
S502,当前节点判断接收时间同步报文的时间;
S503,若接收时间同步报文的时间在阈值时间内,则跳转到S504做正常处理,若不在阈值时间内,则跳转到S505进行启动错误处理。
S504,正常处理。正常处理为接收时间同步报文后,按时间同步报文中的时间戳、校验值、频率值校正当前节点的时间,使得当前节点与时钟源同处一个时间域内,并按设定的时间同步周期发出时间同步报文继续同步后续下游节点的时间,以此完成所有节点的时间同步。
S505,启动错误处理。启动错误处理指在车辆启动上电时,当前节点在规定阈值时间内并未收到时间同步报文。针对这种情况,当前节点的时钟源则充当时钟源的角色,将当前节点的本地时间作为时间戳封装到时间同步报文中发出,则后续从节点在这种模式下,都是基于当前节点的本地时钟基准来同步的;在当前节点一旦收到了正确的时间同步报文后,则切换为正常状态,所谓正常状态指发出的时间同步报文中填充的时间戳的值为时钟源的时间戳。
请参阅图6,图6为本申请一示例性实施例错误检测处理步骤示意图,包括步骤S610~步骤S630,
步骤S610,在所述时钟源启动后的第一个时间同步周期后,检测当前时间同步周期内某一节点在设定时间内是否接收到上游节点发送的时间同步报文;
步骤S620,若所述某一节点没有接收到所述上游节点发送的时间同步报文,则以所述某一节点在当前时间同步周期的前一个时间同步周期的时间戳作为当前时间同步周期的后一个时间同步周期的时间戳,并将所述后一个时间同步周期的时间戳封装到第二时间同步报文中,得到第三时间同步报文;
步骤S630,将所述第三时间同步报文发送至所述某一个节点的下游节点。
下游节点根据第三时间同步报文完成时间同步。
需要说明的是,这里的错误检测处理方式适用于对中途故障的处理方式,中途故障指故障发生在第二个时间同步周期或更多的时间同步周期。具体指,某一节点(后续被描述为当前节点)在某一时间内由于当前节点的上游节点没有发出同步时间报文或链路故障导致当前节点没有接收到时间同步报文。此时,当前时间同步周期的当前节点以最后一次收到的时间戳为基准继续向下游节点同步。
更加具体地,错误检测处理步骤包括:
S601,当前节点接收时间同步报文。
S602,当前节点判断接收时间同步报文的时间。
S603,若接收到的时间同步报文的时间在阈值时间内,则跳转到S604判断时间戳是否正确,若接收到的时间同步报文的时间不在阈值时间内,则跳转到S606进行错误处理。
S604,若接收到的时间戳正确,则跳转到S605做正常处理,若时间戳错误,则跳转到S606。在一些实施例中,收到的时间戳正确与否判断条件为:与前一周期收到的时间戳进行差值计算,若差值在阈值范围内,则认为当前时间戳是正确的,若差值大于阈值,则认为时间戳错误。
S605正常处理。正常处理为接收时间同步报文后,按时间同步报文中的时间戳、校验值、频率值校正当前节点的时间,并按设定的周期发出时间同步报文继续同步后续节点的时间,以此完成所有节点的时间同步。
S606,错误处理,当判断接收的时间戳错误时,丢弃此报文,按未收到此报文处理。
请参阅图7,图7为本申请一示例性实施例时间同步方法的流程图。于本发明的一实施例中,在所述错误检测处理步骤后还包括:
S710根据所述时钟源输出的时间值的格式判断所述时钟源的类型;
S720若所述时钟源输出的时间值为第一格式,则所述时钟源的类型为本地时钟;若所述时钟源输出的时间值为第二格式,则所述时钟源的类型为北京时钟。
时钟源的类型决定了后续步骤的处理方式,不同的时钟源类型对应不同的处理步骤。时钟源的类型包括本地时间和北京同时。时钟源输出的时间值包括第一格式的时间值和第二格式的时间值。例如,若以1970开始的时间值,则时间值的格式为第一格式,此时时钟源的类型被认定为本地时钟。若以20**开始的时间值,则时间值的格式为第二格式,此时时钟源的类型被认定为北京时钟。其中“20**”中的“**”表示的是0~9中的任意数值。
在判断时钟源的类型为北京时钟时,则以北京时钟同步需要时间同步的节点;若时钟源类型为本地时钟,则以本地时钟同步需要时间同步的节点。需要说明的是,若为本地时钟,但节点还具有北京时间的需求,则可以获取北京时间,这样既能拥有同步的本地时间,又能获得北京时间。
请参阅图8,图8为本申请一示例性实施例时间同步方法的流程图。于本申请的一示例性实施例中,在以所述本地时钟完成所述主节点与所述从节点的时间同步后,所述方法还包括:
S810通过所述主节点从具有北京时钟的从节点处获取北京时间以及时间同步报文从所述主节点传输至所述从节点的延迟时间;
S820以所述延迟时间对所述北京时间进行补偿,使所述主节点具有补偿后的北京时间。
于本申请的一示例性实施例中,以所述延迟时间对所述北京时间进行补偿,包括:对所述北京时间与所述延迟时间进行求和,得到补偿后的北京时间。
在经过时间同步后,各节点可获得时间同步后的时间t。请参阅图9,图9为北京时间获取的示意图,假设控制器1-芯片想获取北京时间,而北京时间源为控制器2,则控制器2在获取北京时间T2的同时获取其系统的同步时间t2,将这两个时间同时封装到报文中,当报文到达控制器1-芯片时,记录控制器1的系统同步时间t1,则控制器1-芯片通过以下公式得到北京时间T1:
T1=T2+(t1-t2)
t1-t2为北京时间从控制器2到控制器1-芯片传输产生的延时。在另一些实施例中,可以利用上述公式的一种变形来封装应用报文,如可以先将控制器2的北京时间与同步时间进行差值运算,再将运算后的时间放入报文发送,此方式在发送端发送报文中只可填充一个差值时间,较上一种方式少一个时间数据的填充,并且在接收端也会少一个计算步骤。
北京时间的同步报文发送类型可为周期型,也可为事件型。如有多个接收端则采用组播形式发送,定向发给需要北京时间的节点。以下为北京时间获取的具体示例:
如当前控制器2的北京时间为1January 197009:01:02s 2ns,同步时间为2s+45ns,则T2=32462s+2ns,以1January 197000:00:00TAI为计时起点,将当前同步时间与计时起点的差值以秒+纳秒的形式表示则:
T2=0x000000007ECE seconds and 0x00000002nanoseconds;
t2=0x000000000002seconds and 0x0000002D nanoseconds;
当控制器1-芯片接收到控制器2发出的北京时间报文时,记录当前的同步时间t1,假设t1=4s+4600ns,则:
T1=T2+(t1-t2)=32464s+4557ns
当前控制器1-芯片的北京时间为:T2+1January 197000:00:00=1January197009:01:04s 4557ns。
与传统直接通过应用报文来获取北京时间的方式不同,本实施例中通过两个节点时间同步过后的时间差值来作为两个节点之间的北京时间报文传输产生的延迟时间,获取较为准确的北京时间,即将有北京时间的控制器获取北京时间填入应用报文的同时,将时间同步后的本地时间也填入应用报文,应用报文发送到相关控制器后,提取应用报文的同时记录下控制器同步后的本地时间,计算两个控制器的本地同步时间的差值来作为北京时间应用报文链路的延时,将此时间补偿到应用报文中的北京时间中,以此得到一个比较精确的北京时间。
于本发明的一实施例中,在完成主节点与从节点的时间同步后,所述方法还包括:
在所述从节点在当前时间同步周期内接收到时间同步报文时,将时间同步报文中的时间戳与上一时间同步周期收到时间同步报文的时间戳进行差值计算;若差值大于设定阈值,则认为时钟源异常,停止主节点与从节点的时间同步。
请参阅图10,图10为本申请一示例性实施例一种时间同步装置的原理框图,该时间同步装置用于对多个节点进行时间同步,具体包括:
参数获取模块110,用于获取每个节点控制器的启动速度和晶振精度;
时钟源选择模块120,用于基于所述启动速度和所述晶振精度对多个节点控制器的时钟源进行选择,以确定时钟源;
同步模块130,用于启动所述时钟源,并以所述时钟源所属节点作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
需要说明的是,上述实施例所提供的时间同步装置与上述实施例所提供的时间同步方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的时间同步装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的时间同步方法。
图11示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统1100包括中央处理单元(Central Processing Unit,CPU)1101,其可以根据存储在只读存储器(Read-Only Memory,ROM)1102中的程序或者从储存部分1108加载到随机访问存储器(Random Access Memory,RAM)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(Input/Output,I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1107;包括硬盘等的储存部分1108;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入储存部分1108。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的时间同步方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的时间同步方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (12)

1.一种时间同步方法,其特征在于,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述方法包括:
获取每个节点控制器的启动速度和晶振精度;
基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;
启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
2.根据权利要求1所述的时间同步方法,其特征在于,所述基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源,包括:
将每一个节点控制器的晶振精度与设定阈值进行比较,以所述晶振精度大于设定阈值的节点控制器作为候选节点控制器;
将多个所述候选节点控制器的启动时间进行两两比较,获取启动时间最短的候选节点控制器,并将启动时间最短的候选节点控制器作为时钟源。
3.根据权利要求1所述的时间同步方法,其特征在于,在启动所述时钟源后,所述方法还包括错误检测处理步骤,所述错误检测处理步骤包括:
在所述时钟源启动后的第一个时间同步周期内,检测与所述主节点相邻的下游节点在设定时间内是否接收到所述主节点发送的第一时间同步报文;
若所述主节点相邻的下游节点没有接收到所述第一时间同步报文,则将所述主节点相邻的下游节点的本地时间作为时间戳封装到第一时间同步报文中,得到第二时间同步报文;
将所述第二时间同步报文发送至与所述下游节点相邻的节点。
4.根据权利要求3所述的时间同步方法,其特征在于,所述错误检测处理步骤还包括:
在所述时钟源启动后的第一个时间同步周期后,检测当前时间同步周期内某一节点在设定时间内是否接收到上游节点发送的时间同步报文;
若所述某一节点没有接收到所述上游节点发送的时间同步报文,则以所述某一节点在当前时间同步周期的前一个时间同步周期的时间戳作为当前时间同步周期的后一个时间同步周期的时间戳,并将所述后一个时间同步周期的时间戳封装到第二时间同步报文中,得到第三时间同步报文;
将所述第三时间同步报文发送至所述某一个节点的下游节点。
5.根据权利要求3或4所述的时间同步方法,其特征在于,在所述错误检测处理步骤后还包括:
根据所述时钟源输出的时间值的格式判断所述时钟源的类型;
若所述时钟源输出的时间值为第一格式,则所述时钟源的类型为本地时钟;若所述时钟源输出的时间值为第二格式,则所述时钟源的类型为北京时钟。
6.根据权利要求5所述的时间同步方法,其特征在于,在以所述本地时钟完成所述主节点与所述从节点的时间同步后,所述方法还包括:
通过所述主节点从具有北京时钟的从节点处获取北京时间以及时间同步报文从所述主节点传输至所述从节点的延迟时间;
以所述延迟时间对所述北京时间进行补偿,使所述主节点具有补偿后的北京时间。
7.根据权利要求6所述的时间同步方法,其特征在于,以所述延迟时间对所述北京时间进行补偿,包括:
对所述北京时间与所述延迟时间进行求和,得到补偿后的北京时间。
8.根据权利要求1所述的时间同步方法,其特征在于,在完成主节点与从节点的时间同步后,所述方法还包括:
在所述从节点在当前时间同步周期内接收到时间同步报文时,将时间同步报文中的时间戳与上一时间同步周期收到时间同步报文的时间戳进行差值计算;若差值大于设定阈值,则认为时钟源异常,停止主节点与从节点的时间同步。
9.一种时间同步装置,其特征在于,用于对多个节点进行时间同步,其中,每个节点至少包括一个节点控制器,所述装置包括:
参数获取模块,用于获取每个节点控制器的启动速度和晶振精度;
时钟源选择模块,用于基于所述启动速度和所述晶振精度对多个节点控制器进行选择,以确定时钟源;
同步模块,用于启动所述时钟源,并以所述时钟源作为主节点,其余节点作为从节点,利用所述时钟源完成所述主节点与所述从节点的时间同步。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至8中任一项所述的时间同步方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如权利要求1至8中任一项所述的时间同步方法。
12.一种计算机程序产品,其特征在于,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行如权利要求1至8中任一项所述的时间同步方法的计算机程序。
CN202210844110.0A 2022-07-18 2022-07-18 时间同步方法、装置、电子设备、存储介质及程序产品 Pending CN115250159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210844110.0A CN115250159A (zh) 2022-07-18 2022-07-18 时间同步方法、装置、电子设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210844110.0A CN115250159A (zh) 2022-07-18 2022-07-18 时间同步方法、装置、电子设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN115250159A true CN115250159A (zh) 2022-10-28

Family

ID=83700549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210844110.0A Pending CN115250159A (zh) 2022-07-18 2022-07-18 时间同步方法、装置、电子设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN115250159A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025656A1 (zh) * 2008-09-02 2010-03-11 中兴通讯股份有限公司 一种多核系统的时间同步方法及系统
CN102036361A (zh) * 2009-09-25 2011-04-27 华为技术有限公司 时钟源选择的处理方法、装置和系统
CN102195769A (zh) * 2011-06-02 2011-09-21 合肥工业大学 一种用于汽车can网络的时钟同步方法
CN106105103A (zh) * 2014-03-05 2016-11-09 华为技术有限公司 时钟同步方法、设备及通信系统
CN108810100A (zh) * 2018-05-22 2018-11-13 郑州云海信息技术有限公司 一种主节点的选举方法、装置及设备
CN110809041A (zh) * 2019-10-30 2020-02-18 北京百度网讯科技有限公司 一种数据同步方法、装置、电子设备及存储介质
CN113839734A (zh) * 2021-11-25 2021-12-24 智道网联科技(北京)有限公司 时间同步方法、装置、电子设备、存储介质及车辆

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025656A1 (zh) * 2008-09-02 2010-03-11 中兴通讯股份有限公司 一种多核系统的时间同步方法及系统
CN102036361A (zh) * 2009-09-25 2011-04-27 华为技术有限公司 时钟源选择的处理方法、装置和系统
CN102195769A (zh) * 2011-06-02 2011-09-21 合肥工业大学 一种用于汽车can网络的时钟同步方法
CN106105103A (zh) * 2014-03-05 2016-11-09 华为技术有限公司 时钟同步方法、设备及通信系统
CN108810100A (zh) * 2018-05-22 2018-11-13 郑州云海信息技术有限公司 一种主节点的选举方法、装置及设备
CN110809041A (zh) * 2019-10-30 2020-02-18 北京百度网讯科技有限公司 一种数据同步方法、装置、电子设备及存储介质
CN113839734A (zh) * 2021-11-25 2021-12-24 智道网联科技(北京)有限公司 时间同步方法、装置、电子设备、存储介质及车辆

Similar Documents

Publication Publication Date Title
CN105577308B (zh) 使用冗余主时钟提供车载网络时间同步的方法和设备
US11789938B1 (en) Ensuring globally consistent transactions
KR101109980B1 (ko) 조정된 타이밍 네트워크 내의 서버 동기화 촉진
EP2378718B1 (en) Method, node and system for controlling version in distributed system
KR20090088381A (ko) 네트워크에서의 복원 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN111901341B (zh) 状态同步方法及设备
CN102195769A (zh) 一种用于汽车can网络的时钟同步方法
CN113992469B (zh) 数据融合方法、装置、电子设备和计算机可读介质
CN112017462B (zh) 用于生成场景信息的方法、装置、电子设备和介质
CN115250159A (zh) 时间同步方法、装置、电子设备、存储介质及程序产品
CN112925477A (zh) 一种数据处理方法、装置以及存储系统
CN112769517A (zh) 一种t-box时间同步方法和装置
CN111443685A (zh) 用于在控制设备中提供通用时间的方法以及控制设备
CN110750424B (zh) 资源巡检方法和装置
CN115082038A (zh) 系统集成方法、装置及电子设备
CN113259039A (zh) 时间同步方法、装置、计算机设备和存储介质
US7924807B2 (en) System and method for synchronizing communicating entities in a decentralized network
CN111628913A (zh) 在线时长的确定方法、装置、可读介质和电子设备
CN111291011B (zh) 文件同步方法及装置、电子设备和可读存储介质
US20230259156A1 (en) Estimation of Event Generation Times to Synchronize Recordation Data
CN111787107B (zh) 消息处理方法、装置、可读介质和电子设备
US11115142B1 (en) Timing synchronization service and distribution system
Bezet et al. Timestamping uncertainties in distributed data acquisition systems
CN117856961A (zh) 时钟同步方法及相关装置
CN117970996A (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