CN117856961A - 时钟同步方法及相关装置 - Google Patents

时钟同步方法及相关装置 Download PDF

Info

Publication number
CN117856961A
CN117856961A CN202410173052.2A CN202410173052A CN117856961A CN 117856961 A CN117856961 A CN 117856961A CN 202410173052 A CN202410173052 A CN 202410173052A CN 117856961 A CN117856961 A CN 117856961A
Authority
CN
China
Prior art keywords
clock
synchronization
clock source
standby
source
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
CN202410173052.2A
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.)
Shanghai Jidu Automobile Co Ltd
Original Assignee
Shanghai Jidu 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 Shanghai Jidu Automobile Co Ltd filed Critical Shanghai Jidu Automobile Co Ltd
Priority to CN202410173052.2A priority Critical patent/CN117856961A/zh
Publication of CN117856961A publication Critical patent/CN117856961A/zh
Pending legal-status Critical Current

Links

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
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used

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为本申请实施例提供的报文交互的示意图;
图6为本申请实施例提供的另一报文交互的示意图;
图7为本申请实施例提供的另一种时钟同步方法的流程示意图;
图8为本申请实施例提供的一种时钟同步装置的框图;
图9为本申请实施例提供的另一种时钟同步装置的框图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
申请概述
现有技术中,在一个时钟同步***中,一般是使用一个时钟源,为***内的其他设备提供时钟同步信号,一旦该时钟源出现故障或是其他设备与该时钟源之间的通信链路出现故障,该时钟同步***的通信功能则会受到影响,出现各种问题。例如,车辆上的时钟同步***中,可以采用一个电子控制单元(Electronic Control Unit,ECU)作为***内部的时钟源,为其他ECU提供时钟同步信号。当作为时钟源的ECU发生故障时,则会影响车辆的正常通信,尤其是对智能驾驶车辆,可能会引发安全事故。由此可见,现有的时钟同步方式存在可靠性低的问题。
为了解决前述技术问题,本申请实施例提供了一种时钟同步方案,具体提供了一种时钟同步方法、一种时钟同步装置、一种时钟同步***、一种车辆、一种电子设备、一种计算机程序产品以及一种存储介质等。关于本申请实施例提供的时钟同步方案,具体可见下文。
示例性方法
本申请实施例提供了一种时钟同步方法,可应用于时钟同步***的端节点设备。
如图1所示,该时钟同步***可以包括:主时钟源101、备用时钟源102以及n个端节点设备103,其中,n为大于或等于1的整数。
在该时钟同步***中,每个端节点设备103为需要同步时钟的设备,即时钟同步中的从节点,也即从时钟(Slave time)。主时钟源101和备用时钟源102可以为端节点设备103提供时钟信息,因此,在端节点设备103的时钟同步中,主时钟源101和备用时钟源102为主节点,也即主时钟(Master time)。在本申请实施例中,端节点设备103可同时作为主时钟源和备用时钟源的从节点。
可选地,该时钟同步***还可以包括交换机104。主时钟源101、备用时钟源102以及端节点设备103之间的信息交互,可以通过交换机104实现。如图2所示,主时钟源101、备用时钟源102、端节点设备1 103、端节点设备n 103分别与交换机端口Px、Py、Pz、Pi连接,交换机端口Px、Py、Pz、Pi之间相互连通,密集虚线表示四个端口之间的连接关系。
可选地,该时钟同步***可以是车辆、计算机设备(如手机、电脑等)等中的时钟同步***。在该时钟同步***为车辆中的时钟同步***的情况下,可以将车身控制器、域控制器等作为时钟源。
可选地,该时钟同步***可以基于精确时间协议(Precision Time Protocol,PTP)实现时钟同步。对于车辆上的时钟同步***而言,可以优选基于派生自PTP的gPTP(general Precise Time Protocol)实现时钟同步。gPTP可以提供亚微秒级别的时钟同步精度,主要通过在***中的设备之间交换时间戳信息,实现精准的时钟同步。可以理解的是,该时钟同步***也可以基于其他协议实现时钟同步,如网络时间协议(Network TimeProtocol,NTP)等。
下面以该时钟同步***中的一个端节点设备为例,对该时钟同步方法进行描述。
如图3所示,该时钟同步方法可以包括如下步骤:
步骤301:接收主时钟源发送的第一同步信息,并根据第一同步信息与主时钟源进行时钟同步。
在本申请实施例中,时钟同步***上电后,主时钟源可以周期性发送第一同步信息,时钟同步***的其他设备(如端节点设备、备用时钟源)可以接收第一同步信息,并根据第一同步信息与主时钟源进行时钟同步。
主时钟源的优先级高于备用时钟源,因此,在时钟同步***上电后,端节点设备首先根据第一同步信息与主时钟源进行时钟同步。若与主时钟源完成同步,则端节点设备的时钟源为主时钟源。由于主时钟源是时钟同步***的基准时钟源,因此,在时钟同步***上电后,备用时钟源也与主时钟源进行时钟同步。
本申请实施例中的同步信息包括时钟源的时钟信息,因此,基于该同步信息可以与时钟源进行时钟同步。具体地,主时钟源发送的第一同步信息中包括主时钟源的时钟信息。可选地,该同步信息可以是以报文形式或消息形式进行传输。
步骤302:接收备用时钟源发送的第二同步信息。
其中,第二同步信息为备用时钟源与主时钟源完成同步后发送的,包括备用时钟源的时钟信息。
在端节点设备的时钟源为主时钟源的情况下,若备用时钟源与主时钟源完成时钟同步,则备用时钟源可以周期性的向端节点设备发送第二同步信息。
依据端节点设备发送的第二同步信息,可以与备用时钟源进行时钟同步,但由于端节点设备的时钟源为主时钟源,因此,端节点设备接收到备用时钟源发送的第二同步信息后,并不会与备用时钟源进行同步。
步骤302:在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,根据备用时钟源发送的同步信息,与备用时钟源进行时钟同步。
其中,端节点设备在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,确定无法与主时钟源进行时钟同步,也即主时钟源丢失。这里所述的第一预设时长可以根据实际需求设置,具体可以是能够表征第一同步信息接收异常的时长。
本申请实施例中,在端节点设备无法与主时钟源进行时钟同步的情况下,可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于备用时钟源一直周期性地向端节点设备发送第二同步信息,因此,端节点设备可以及时基于备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性和稳定性,提高时钟同步的可靠性与鲁棒性。
在一些可选实施例中,为实现本申请提供的时钟同步方法,提供了一种多时钟域的时钟同步***。
这里所述的时钟域是指Domain,具体是指一组使用相同时钟源进行时钟同步的设备集合。每个Domain中的设备会选择一个主节点作为时间源,其他设备(即从节点)则根据主节点的时间进行时钟同步,这样,同一个Domain中的所有设备会有统一且精确的时间信息。
具体地,该时钟同步***可以包括:以主时钟源为时钟源的第一时钟域和以备用时钟源为时钟源的第二时钟域。
其中,第一时钟域可以包括:主时钟源、备用时钟源和n个端节点设备。第二时钟域可以包括:备用时钟源和n个端节点设备。
在该多时钟域的时钟同步***中,主时钟源处于第一时钟域,为第一时钟域的时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点发送第一同步信息。
在该多时钟域的时钟同步***中,备用时钟源同时处于第一时钟域和第二时钟域。备用时钟源在第一时钟域中为时钟同步的从节点,可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步。备用时钟源在第二时钟域中为时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点(如端节点设备)发送第二同步信息。
在该多时钟域的时钟同步***中,端节点设备同时处于在第一时钟域和第二时钟域中,并且为多个时钟域中的从节点,既可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步,也可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于主时钟源的优先级高于备用时钟源,因此多个时钟域中的端节点设备均优先与主时钟源进行时钟同步,在无法与主时钟源完成时钟同步的情况下,再与备用时钟源进行时钟同步。
如图4所示,图中的M表示主节点,S表示从节点。白色圆形以及白色圆形之间的实线箭头表示第一时钟域的时钟同步路径;灰色圆形以及灰色圆形之间的稀疏虚线箭头表示第二时钟域的时钟同步路径。接收同步信息的交换机端口赋予从节点角色,转发同步信息的交换机端口赋予主节点角色。
本申请实施例中,基于多时钟域的时钟同步***,端节点设备的时钟源为主时钟源的情况下,也可以同时接收备用时钟源发送的第二同步信息,这样,一旦主时钟源丢失,则可以及时与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性、稳定性以及鲁棒性。
此外,在多时钟域的时钟同步***中,时钟源为静态时钟源,即固定的将某一设备设置为主时钟源,将另外设备设置为备用时钟源。例如,在时钟同步***为车内***的情况下,则可以设置某个端节点设备(如ECU)为车内时钟同步***的主时钟源,设置另外端节点设备(如另一个ECU)为车内时钟同步***的备用时钟源。其他端节点设备在无法继续与第一时钟域中的时钟源进行时钟同步的情况下,可以快速与第二时钟域中的时钟源进行时钟同步,无需进行角色切换,即无需将一个从节点切换为主节点作为新的时钟源使用,这样可以减少角色切换时间,缩短切换时延,使得时间同步的连续性更好。
可选地,本申请实施例中,备用时钟源的数量可以为至少一个。在备用时钟源为多个的情况下,可以分别设置多个时钟源之间的等级关系,依据等级关系进行时钟同步。例如,该时钟同步***可以包括:主时钟源、备用时钟源A和备用时钟源B,主时钟源为第一等级(等级最高),备用时钟源A为第二等级(等级其次),备用时钟源B为第三等级(等级最低)。时钟同步过程中,优先与主时钟源进行同步;在无法与主时钟源同步的情况下,优先与备用时钟源A进行同步;在无法与备用时钟源A同步的情况下,再与备用时钟源B进行同步。需要说明的是,时钟同步***上电后,备用时钟源均与主时钟源进行时钟同步。
在一些可选实施例中,在时钟同步***上电后,该方法还可以包括:
步骤A1:在第三预设时长内未与主时钟源节点完成时钟同步,且接收到备用时钟源发送的第二同步信息的情况下,与备用时钟源进行时钟同步。
步骤A2:在第三预设时长内未与主时钟源节点完成时钟同步,且未接收到备用时钟源发送的同步信息的情况下,重置计时时间,等待与主时钟源进行时钟同步。
本申请实施例中,在时钟同步***上电后,即在端节点设备的起始工作状态下,端节点设备优先与主时钟源进行时钟同步。
若在第三预设时长内接收到主时钟源发送的第一同步信息,则基于该第一同步信息,与主时钟源完成同步。
若在第三预设时长内未能与主时钟源完成同步,如未接收到主时钟源发送的第一同步信息,但能接收到备用时钟源发送的第二同步信息,则基于备用时钟源发送的第二同步信息,与备用时钟源完成同步。
若在第三预设时长内未能与主时钟源完成同步,且未接收到备用时钟源发送的第二同步信息,则重置计时时间,继续等待与主时钟源完成时钟同步。
这里所述的第三预设时长可以根据实际需求设置,具体可以是能够表征同步异常的时长。
本申请实施例中,可以设置超时时间(即第三预设时长),以监控端节点设备与主时钟源的同步情况,这样可以及时根据同步情况,决策后续处理方式,如及时与备用时钟源进行时钟同步,使得端节点设备及时得到精准的时间信息。
前述实施例提到,在端节点设备的时钟源为主时钟源,但无法与主时钟源进行时钟同步的情况下,可以与备用时钟源进行时钟同步。在一些可选实施例中,在完成与备用时钟源的时钟同步后,若检测到无法继续与备用时钟源进行时钟同步,则端节点设备可以基于本地晶体振动器(简称本地晶振)维持自身的时钟信息。
在备用时钟源丢失前,端节点设备已与备用时钟源完成时钟同步,即本地晶振已经过时钟调整,因此,在无其他时钟源可用的情况下,可以利用本地晶振维持自身的时钟信息,保持端节点设备的正常通信功能。
需要说明的是,在端节点设备既未能与主时钟源完成同步,也未能与备用时钟源完成同步的情况下,则难以利用本地晶振维持自身的时钟信息,因为此种情况下本次晶振时间一般为初始时间,如出厂时间,与当前时间存在较大差异。
还需说明的是,在端节点设备的时钟源为备用时钟源的情况下,或在端节点设备基于本地晶振维持自身的时钟信息的情况下,若检测到主时钟源重新恢复上线,或备用时钟源重新恢复上线,可以不与主时钟源或备用时钟源进行时钟同步,因为此时不知时钟源丢失原因,重新恢复上线的时钟源可能无法提供准确的时间,即可能会影响端节点设备的正常通信。
在一些实施例中,时钟同步是基于gPTP实现的情况下,同步信息可以具体包括:同步报文(Sync报文)和跟随报文(Follow_up报文)。
在基于gPTP实现时钟同步的过程中,主节点定期发送Sync报文至从节点,并记录发送Sync报文的本地时间,记为T1。从节点接收到此报文,确定开始进行时钟同步,并记录接收到此报文的本地时间,记为T2。
发送Sync报文之后,主节点会继续发送Follow_up报文至从节点。该Follow_up报文中包括主节点发送Sync报文的精确时间,即T1。
基于gPTP可以实现精确时钟同步的一个原因在于:会计算主节点与从节点之间的路径传输时延以及频率比,该路径传输时延是指主节点发送的报文传输至从节点所需的时间,在时钟同步时考虑路径传输时延,可以帮助从节点得到更加精准的同步时间。该频率比用于进行从节点与主节点的频率同步。参见图5和图6,时钟同步过程具体如下所述:
1、从节点接收到Follow_up报文后,首先发送延迟请求报文(即Pdelay_Req报文)至主节点,标志传输延迟测量的开始,从节点记录该报文的发送时间,记为T3。
2、主节点接收到Pdelay_Req报文后,记录此报文的接收时间,记为T4。之后,主节点向从节点发送延迟应答报文(Pdelay_Resp报文),该报文中包括Pdelay_Req报文的接收时间T4,主节点同时记录Pdelay_Resp报文的发送时间,记为T5。
3、从节点接收到Pdelay_Resp报文后,记录此报文的接收时间,记为T6。
4、主节点发送Pdelay_Req报文后,继续发送延迟应答跟随报文(即Pdelay_Resp_Follow_up报文),该报文中包括Pdelay_Resp报文的发送时间T5。
5、路径传输时延
6、频率比可以根据两组Sync报文和Follow_up报文计算得出,也可以根据两组Pdelay_Req报文、Pdelay_Resp报文以及Pdelay_Resp_Follow_up报文得到。下面以后者为例,进行说明。
如图6所示,频率比
7、从节点的时钟调整公式如下:
GlobalTime=PreciseOriginTimestamp+Pdelay+RateRatio*(t1–t2)。
其中,GlobalTime表示同步时间;PreciseOriginTimestamp表示最新接收到的Follow_up报文中的时钟信息;Pdelay表示路径传输时延(对应上文中的Δt);RateRatio表示频率比;t1表示从节点的本地时间,t2表示从节点接收到最新Sync报文的时间。
从节点根据计算得到的GlobalTime,完成一次时钟同步。其中,时钟同步是周期性进行的,这样可以保证从节点时钟的准确性。
可选地,端节点设备接收到备用时钟源发送的第二同步信息之后,该方法还可以包括:
根据备用时钟源发送的第二同步信息,确定端节点设备与备用时钟源之间的路径传输时延以及频率比。
相应的,步骤302:在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,根据最新接收到的备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步,可以包括:
在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,根据最新接收到的备用时钟源发送的第二同步信息、端节点设备与备用时钟源之间的路径传输时延和频率比,与备用时钟源进行时钟同步。
本申请实施例中,端节点设备接收到备用时钟源发送的第二同步信息后,可以及时计算与备用时钟源之间的路径传输时延和频率比,这样在主时钟源丢失的情况下,可以及时依据该路径传输时延、频率比和最新接收到的第二同步信息,与备用时钟源完成时钟同步,达到快速切换时钟源的目的,有利于时间同步的连续性,缩短故障恢复时间。
在一些可选实施例中,第一预设时长和第二预设时长可以是连续M(M为大于或等于2的整数)个同步信息的发送周期,即:若端节点设备在连续M(M为大于或等于2的整数)个同步信息的发送周期内,均未接收到其时钟源发送的同步信息的情况下,确定时钟源丢失。其中,第一预设时长与第二预设时长可以相同,也可以不同。
例如,在端节点设备的时钟源为主时钟源的情况下,若在连续M(M为大于或等于2的整数)个第一同步信息的发送周期内,均未接收到主时钟源发送的第一同步信息的情况下,则确定主时钟源丢失。之后,则可以向备用时钟源进行时钟同步。
再例如,在端节点设备的时钟源为备用时钟源的情况下,若在连续M(M为大于或等于2的整数)个第二同步信息的发送周期内,均未接收到备用时钟源发送的第二同步信息的情况下,则确定备用时钟源丢失。之后,则可以基于本地晶体振动器(简称本地晶振)维持自身的时钟信息。
可选地,在基于gPTP实现时钟同步的情况下,可以依据Sync报文确定时钟源是否丢失。例如,在连续M(M为大于或等于2的整数)个Sync报文的发送周期内,若端节点设备均未接收到其时钟源发送的Sync报文的情况下,则确定其时钟源丢失。
本申请实施例还提供了另一种时钟同步方法,可应用于时钟同步***的备用时钟源,关于时钟同步***的具体关描述,可参见前述实施例,这里便不再赘述。
如图7所示,该时钟同步方法可以包括:
步骤701:接收主时钟源发送的第一同步信息,并根据第一同步信息与主时钟源进行时钟同步。
在本申请实施例中,时钟同步***上电后,主时钟源可以周期性发送第一同步信息,时钟同步***的其他设备(如端节点设备、备用时钟源)可以接收第一同步信息,并根据第一同步信息与主时钟源进行时钟同步。
主时钟源是时钟同步***的基准时钟源,因此,在时钟同步***上电后,备用时钟源需与主时钟源进行时钟同步,以得到精准的时钟信息。
步骤702:与主时钟源完成时钟同步后,发送第二同步信息至端节点设备。
这里所述的第二同步信息用于在端节点设备的时钟源为主时钟源且在第一预设时长内端节点设备未接收到主时钟源发送的第一同步信息的情况下,与备用时钟源进行时钟同步。
备用时钟源与主时钟源完成时钟同步后,可以周期性的向端节点设备发送第二同步信息。依据备用时钟源发送的第二同步信息,端节点设备可以与备用时钟源进行时钟同步。由于主时钟源的优先级高于备用时钟源,因此,端节点设备会首先与主时钟源进行时钟同步。当端节点设备的时钟源为主时钟源的情况下,端节点设备接收到备用时钟源发送的第二同步信息后,并不会与备用时钟源进行同步。
当端节点设备无法继续与主时钟源进行时钟同步的情况下,则可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于备用时钟源一直周期性地向端节点设备发送第二同步信息,因此,端节点设备可以及时基于备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性和稳定性,提高时钟同步的可靠性与鲁棒性。
在一些可选实施例中,为实现本申请提供的时钟同步方法,该实施例提供了一种多时钟域的时钟同步***。
这里所述的时钟域是指Domain,具体是指一组使用相同时钟源进行时钟同步的设备集合。每个Domain中的设备会选择一个主节点作为时间源,其他设备(即从节点)则根据主节点的时间进行时钟同步,这样,同一个Domain中的所有设备会有统一且精确的时间信息。
具体地,该时钟同步***可以包括:以主时钟源为时钟源的第一时钟域和以备用时钟源为时钟源的第二时钟域。
其中,第一时钟域可以包括:主时钟源、备用时钟源和n个端节点设备。第二时钟域可以包括:备用时钟源和n个端节点设备。
在该多时钟域的时钟同步***中,主时钟源处于第一时钟域,为第一时钟域的时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点发送第一同步信息。
在该多时钟域的时钟同步***中,备用时钟源同时处于第一时钟域和第二时钟域。备用时钟源在第一时钟域中为时钟同步的从节点,可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步。备用时钟源在第二时钟域中为时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点(如端节点设备)发送第二同步信息。
在该多时钟域的时钟同步***中,端节点设备同时处于在第一时钟域和第二时钟域中,并且为多个时钟域中的从节点,既可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步,也可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于主时钟源的优先级高于备用时钟源,因此多个时钟域中的端节点设备均优先与主时钟源进行时钟同步,在无法与主时钟源完成时钟同步的情况下,再与备用时钟源进行时钟同步。
如图4所示,图中的M表示主节点,S表示从节点。白色圆形以及白色圆形之间的实线箭头表示第一时钟域的时钟同步路径;灰色圆形以及灰色圆形之间的稀疏虚线箭头表示第二时钟域的时钟同步路径。接收同步信息的交换机端口赋予从节点角色,转发同步信息的交换机端口赋予主节点角色。
本申请实施例中,基于多时钟域的时钟同步***,端节点设备的时钟源为主时钟源的情况下,也可以同时接收备用时钟源发送的第二同步信息,这样,一旦主时钟源丢失,则可以及时与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性、稳定性以及鲁棒性。
此外,在多时钟域的时钟同步***中,时钟源为静态时钟源,即固定的将某一设备设置为主时钟源,将另一设备设置为备用时钟源,例如,在时钟同步***为车内***的情况下,则可以设置某个端节点设备(如ECU)为车内时钟同步***的主时钟源,设置另一个端节点设备(如另一个ECU)为车内时钟同步***的备用时钟源。其他端节点设备无法继续与第一时钟域中的时钟源进行时钟同步的情况下,可以快速与第二时钟域中的时钟源进行时钟同步,无需进行角色切换,即无需从将一个从节点切换为主节点作为新的时钟源使用,这样可以减少角色切换时间,缩短切换时延,使得时间同步的连续性更好。
可选地,本申请实施例中,备用时钟源的数量可以为至少一个。在备用时钟源为多个的情况下,可以分别设置多个时钟源之间的等级关系,依据等级关系进行时钟同步。例如,该时钟同步***可以包括:主时钟源、备用时钟源A和备用时钟源B,主时钟源为第一等级(等级最高),备用时钟源A为第二等级(等级其次),备用时钟源B为第三等级(等级最低)。时钟同步过程中,优先与主时钟源进行同步;在无法与主时钟源同步的情况下,优先与备用时钟源A进行同步;在无法与备用时钟源A同步的情况下,再与备用时钟源B进行同步。需要说明的是,时钟同步***上电后,备用时钟源均与主时钟源进行时钟同步。
以上即为对本申请实施例提供的时钟同步方法的描述。
综上所述,在本申请提供的技术方案中,在端节点设备在与主时钟源完成时钟同步的情况下,也即端节点设备的时钟源为主时钟源的情况下,若备用时钟源与主时钟源也完成了时钟同步,则备用时钟源也向端节点设备发送同步信息。对于备用时钟源发送的同步信息,端节点设备并不会因此与备用时钟源进行时钟同步,而是在无法与主时钟源同步的情况下,再依据备用时钟源发送的同步信息,与备用时钟源进行时钟同步,这样可以达到快速切换时钟源的目的,缩短故障恢复时间,有利于时间同步的连续性、稳定性以及可靠性。
示例性装置
相应的,本申请实施例还提供了一种时钟同步装置,可应用于时钟同步***的端节点设备,关于时钟同步***的具体关描述,可参见前述实施例,这里便不再赘述。
如图8所示,该装置可以包括:
第一接收模块801,用于接收所述主时钟源发送的第一同步信息,并根据所述第一同步信息与所述主时钟源进行时钟同步。
第二接收模块802,用于接收所述备用时钟源发送的第二同步信息。
其中,所述第二同步信息为所述备用时钟源与所述主时钟源完成同步后发送的。
第一时钟同步模块803,用于在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据最新接收到的所述备用时钟源发送的同步信息,与所述备用时钟源进行时钟同步。
可选地,所述时钟同步***可以包括:第一时钟域和第二时钟域。
其中,所述第一时钟域可以包括:所述主时钟源、所述备用时钟源和所述端节点设备,所述第一时钟域的时钟源为所述主时钟源。
其中,所述第二时钟域可以包括:所述备用时钟源和所述端节点设备,所述第二时钟域的时钟源为所述主时钟源。
可选地,所述装置还可以包括:
确定模块,用于根据所述第二同步信息,确定所述端节点设备与所述备用时钟源之间的路径传输时延以及频率比。
相应的,所述第一时钟同步模块803可以包括:
时钟同步单元,用于在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据最新接收到的所述备用时钟源发送的第二同步信息、所述路径传输时延以及所述频率比,与所述备用时钟源进行时钟同步。
可选地,所述装置还可以包括:
第三时钟同步模块,用于在第二预设时长内未接收到所述备用时钟源发送的第二同步信息的情况下,基于本地晶体振荡器维持所述端节点设备的时钟信息。
可选地,所述装置还可以包括:
第四时钟同步模块,用于在所述时钟同步***上电后的第三预设时长内未与所述主时钟源节点完成时钟同步,且接收到所述备用时钟源发送的第二同步信息的情况下,与所述备用时钟源进行时钟同步。
第五时钟同步模块,用于在所述第三预设时长内未与所述主时钟源节点完成时钟同步,且未接收到所述备用时钟源发送的第二同步信息的情况下,重置计时时间,等待与所述主时钟源进行时钟同步。
本实施例提供的时钟同步装置,与本申请上述实施例所提供的应用于端节点设备的时钟同步方法属于同一申请构思,可执行本申请上述任意实施例所提供的时钟同步方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的时钟同步方法的具体处理内容,此处不再加以赘述。
相应的,本申请实施例还提供了另一种时钟同步装置,可应用于时钟同步***的备用时钟源。
如图7所示,该装置可以包括:
第二时钟同步模块901,用于与所述主时钟源进行时钟同步。
信息发送模块902,用于与所述主时钟源完成时钟同步后,周期性发送同步信息至所述端节点设备。
其中,所述同步信息用于在所述端节点设备的时钟源为所述主时钟源且检测到所述主时钟源丢失的情况下,与所述备用时钟源进行时钟同步。
可选地,所述时钟同步***包括:第一时钟域和第二时钟域。
其中,所述第一时钟域包括:所述主时钟源、所述备用时钟源和所述端节点设备,所述第一时钟域的时钟源为所述主时钟源。
其中,所述第二时钟域包括:所述备用时钟源和所述端节点设备,所述第二时钟域的时钟源为所述主时钟源。
本实施例提供的时钟同步装置,与本申请上述实施例所提供的应用于备用时钟源的时钟同步方法属于同一申请构思,可执行本申请上述任意实施例所提供的时钟同步方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的时钟同步方法的具体处理内容,此处不再加以赘述。
示例性***
本申请实施例提供了一种时钟同步***,如图1所示,该时钟同步***可以包括:主时钟源101、备用时钟源102以及n个端节点设备103,其中,n为大于或等于1的整数。
在该时钟同步***中,每个端节点设备103为需要同步时钟的设备,即时钟同步中的从节点,也即从时钟(Slave time)。主时钟源101和备用时钟源102可以为端节点设备103提供时钟信息,因此,在端节点设备103的时钟同步中,主时钟源101和备用时钟源102为主节点,也即主时钟(Master time)。在本申请实施例中,端节点设备103可同时作为主时钟源和备用时钟源的从节点。
其中,主时钟源用于发送第一同步信息至备用时钟源和端节点设备。
时钟同步***上电后,主时钟源可以周期性发送第一同步信息,时钟同步***的其他设备(如端节点设备、备用时钟源)可以接收第一同步信息,并根据第一同步信息与主时钟源进行时钟同步。
本申请实施例中的同步信息包括时钟源的时钟信息,因此,基于该同步信息可以与时钟源进行时钟同步。具体地,主时钟源发送的第一同步信息中包括主时钟源的时钟信息。可选地,该同步信息可以是以报文形式或消息形式进行传输。
其中,备用时钟源用于根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步,并在与主时钟源完成同步后,发送第二同步信息至端节点设备。
由于主时钟源是时钟同步***的基准时钟源,因此,在时钟同步***上电后,备用时钟源也与主时钟源进行时钟同步,以获得精准时间。
其中,端节点设备用于根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步,以及接收备用时钟源与主时钟源完成同步后发送的第二同步信息,并在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。
端节点设备在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,确定无法与主时钟源进行时钟同步,也即主时钟源丢失。这里所述的第一预设时长可以根据实际需求设置,具体可以是能够表征第一同步信息接收异常的时长。
本申请实施例中,主时钟源的优先级高于备用时钟源,因此,在时钟同步***上电后,端节点设备首先根据第一同步信息与主时钟源进行时钟同步。若与主时钟源完成同步,则端节点设备的时钟源为主时钟源。
在端节点设备的时钟源为主时钟源的情况下,若备用时钟源与主时钟源完成时钟同步,则备用时钟源可以周期性的向端节点设备发送第二同步信息。
依据端节点设备发送的第二同步信息,可以与备用时钟源进行时钟同步,但由于端节点设备的时钟源为主时钟源,因此,端节点设备接收到备用时钟源发送的第二同步信息后,并不会与备用时钟源进行同步。
本申请实施例中,在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,即端节点设备无法与主时钟源进行时钟同步的情况下,可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于备用时钟源一直周期性地向端节点设备发送第二同步信息,因此,端节点设备可以及时基于备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性和稳定性,提高时钟同步的可靠性与鲁棒性。
可选地,该时钟同步***还可以包括交换机104,主时钟源101、备用时钟源102以及端节点设备103之间的信息交互,可以通过交换机104实现。如图2所示,主时钟源101、备用时钟源102、端节点设备1 103、端节点设备n 103分别与交换机端口Px、Py、Pz、Pi连接,交换机端口Px、Py、Pz、Pi之间相互连通。
可选地,在该时钟同步***可以是车辆、计算机设备(如手机、电脑等)等中的时钟同步***。在该时钟同步***为车辆中的时钟同步***的情况下,可以将车身控制器、域控制器等作为时钟源。
可选地,该时钟同步***可以基于精确时间协议(Precision Time Protocol,PTP)实现时钟同步。对于车辆上的时钟同步***而言,可以优选基于派生自PTP的gPTP(general Precise Time Protocol)实现时钟同步。gPTP可以提供亚微秒级别的时钟同步精度,主要通过在***中的设备之间交换时间戳信息,实现精准的时钟同步。可以理解的是,该时钟同步***也可以是基于其他协议实现时钟同步,如网络时间协议(Network TimeProtocol,NTP)等。
在一些实施例中,为了实现本申请提供的时钟同步方法,该实施例提供了一种多时钟域的时钟同步***。
这里所述的时钟域是指Domain,具体是指一组使用相同时钟源进行时钟同步的设备集合。每个Domain中的设备会选择一个主节点作为时间源,其他设备(即从节点)则根据主节点的时间进行时钟同步,这样,同一个Domain中的所有设备会有统一且精确的时间信息。
具体地,该时钟同步***可以包括:以主时钟源为时钟源的第一时钟域和以备用时钟源为时钟源的第二时钟域。
其中,第一时钟域可以包括:主时钟源、备用时钟源和n个端节点设备。第二时钟域可以包括:备用时钟源和n个端节点设备。
在该多时钟域的时钟同步***中,主时钟源处于第一时钟域,为第一时钟域的时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点发送第一同步信息。
在该多时钟域的时钟同步***中,备用时钟源同时处于第一时钟域和第二时钟域。备用时钟源在第一时钟域中为时钟同步的从节点,可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步。备用时钟源在第二时钟域中为时钟源,即为时钟同步中的主节点,可以向时钟同步中的从节点(如端节点设备)发送第二同步信息。
在该多时钟域的时钟同步***中,端节点设备同时处于在第一时钟域和第二时钟域中,并且为多个时钟域中的从节点,既可以根据主时钟源发送的第一同步信息,与主时钟源进行时钟同步,也可以根据备用时钟源发送的第二同步信息,与备用时钟源进行时钟同步。由于主时钟源的优先级高于备用时钟源,因此多个时钟域中的端节点设备均优先与主时钟源进行时钟同步,在无法与主时钟源完成时钟同步的情况下,再与备用时钟源进行时钟同步。
如图4所示,图中的M表示主节点,S表示从节点。白色圆形以及白色圆形之间的实线箭头表示第一时钟域的时钟同步路径;灰色圆形以及灰色圆形之间的稀疏虚线箭头表示第二时钟域的时钟同步路径。接收同步信息的交换机端口赋予从节点角色,转发同步信息的交换机端口赋予主节点角色。
本申请实施例中,基于多时钟域的时钟同步***,端节点设备的时钟源为主时钟源的情况下,也可以同时接收备用时钟源发送的第二同步信息,这样,一旦主时钟源丢失,则可以及时与备用时钟源进行时钟同步,达到快速切换时钟源的目的,从而缩短故障恢复时间,保证时钟同步的连续性、稳定性以及鲁棒性。
此外,在多时钟域的时钟同步***中,时钟源为静态时钟源,即固定的将某一设备设置为主时钟源,将另一设备设置为备用时钟源,例如,在时钟同步***为车内***的情况下,则可以设置某个端节点设备(如ECU)为车内时钟同步***的主时钟源,设置另一个端节点设备(如另一个ECU)为车内时钟同步***的备用时钟源。其他端节点设备在无法继续与第一时钟域中的时钟源同步的情况下,可以快速与第二时钟域中的时钟源进行时钟同步,无需进行角色切换,即无需从将一个从节点切换为主节点作为新的时钟源使用,这样可以减少角色切换时间,缩短切换时延,使得时间同步的连续性更好。
可选地,本申请实施例中,备用时钟源的数量可以为至少一个。在备用时钟源为多个的情况下,可以分别设置多个时钟源之间的等级关系,依据等级关系进行时钟同步。例如,该时钟同步***可以包括:主时钟源、备用时钟源A和备用时钟源B,主时钟源为第一等级(等级最高),备用时钟源A为第二等级(等级其次),备用时钟源B为第三等级(等级最低)。时钟同步过程中,优先与主时钟源进行同步;在无法与主时钟源同步的情况下,优先与备用时钟源A进行同步;在无法与备用时钟源A同步的情况下,再与备用时钟源B进行同步。需要说明的是,时钟同步***上电后,备用时钟源均与主时钟源进行时钟同步。
在一些实施例中,在时钟同步***上电后,端节点设备还可以用于:
在第三预设时长内未与主时钟源节点完成时钟同步,且接收到备用时钟源发送的第二同步信息的情况下,与备用时钟源进行时钟同步;
在第三预设时长内未与主时钟源节点完成时钟同步,且未接收到备用时钟源发送的第二同步信息的情况下,重置计时时间,等待与主时钟源进行时钟同步。
本申请实施例中,在时钟同步***上电后,即在端节点设备的起始工作状态下,端节点设备优先与主时钟源进行时钟同步。
若在第三预设时长内接收到主时钟源发送的第一同步信息,则基于该第一同步信息,与主时钟源完成同步。
若在第三预设时长内未能与主时钟源完成同步,如未接收到主时钟源发送的第一同步信息,但能接收到备用时钟源发送的第二同步信息,则基于备用时钟源发送的第二同步信息,与备用时钟源完成同步。
若在第三预设时长内未能与主时钟源完成同步,且未接收到备用时钟源发送的第二同步信息,则重置计时时间,继续等待与主时钟源完成时钟同步。
这里所述的第三预设时长可以根据实际需求设置,具体可以是能够表征同步异常的时长。
本申请实施例中,可以设置超时时间(即第三预设时长),以监控端节点设备与主时钟源的同步情况,这样可以及时根据同步情况,决策后续处理方式,如及时与备用时钟源进行时钟同步,使得端节点设备及时得到精准的时间信息。
前述实施例提到,在端节点设备的时钟源为主时钟源,但无法与主时钟源进行时钟同步的情况下,可以与备用时钟源进行时钟同步。在一些可选实施例中,在完成与备用时钟源的时钟同步后,若检测到无法继续与备用时钟源同步,则端节点设备可以基于本地晶体振动器(简称本地晶振)维持自身的时钟信息。
在备用时钟源丢失前,端节点设备已与备用时钟源完成时钟同步,即本地晶振已经过时钟调整,因此,在无其他时钟源可用的情况下,可以利用本地晶振维持自身的时钟信息,保持端节点设备的正常通信功能。
需要说明的是,在端节点设备既未能与主时钟源完成同步,也未能与备用时钟源同步的情况下,则难以利用本地晶振维持自身的时钟信息,因为此时本次晶振时间一般为初始时间,如出厂时间,与当前时间存在较大差异。
还需说明的是,在端节点设备的时钟源为备用时钟源的情况下,或在端节点设备基于本地晶振维持自身的时钟信息的情况下,若检测到主时钟源重新恢复上线,或备用时钟源重新恢复上线,可以暂不与主时钟源或备用时钟源进行时钟同步,因为此时不知时钟源丢失原因,重新恢复上线的时钟源可能无法提供准确的时间,即可能会影响端节点设备的正常通信。
在一些实施例中,端节点设备具体可以用于:根据备用时钟源发送的第二同步信息,确定与备用时钟源之间的路径传输时延以及频率比;以及在第一预设时长内未接收到主时钟源发送的第一同步信息的情况下,根据最新接收到的备用时钟源发送的第二同步信息、端节点设备与备用时钟源之间的路径传输时延和频率比,与备用时钟源进行时钟同步。
本申请实施例中,端节点设备接收到备用时钟源发送的第二同步信息后,可以及时计算与备用时钟源之间的路径传输时延和频率比,这样在主时钟源丢失的情况下,可以及时依据该路径传输时延、频率比和最新接收到的第二同步信息,与备用时钟源完成时钟同步,达到快速切换时钟源的目的,有利于时间同步的连续性,缩短故障恢复时间。
关于路径传输时延和频率比的计算方式,具体可参见前述实施例,这里便不再赘述。
在一些可选实施例中,第一预设时长和第二预设时长可以是连续M(M为大于或等于2的整数)个同步信息的发送周期,即:若端节点设备在连续M(M为大于或等于2的整数)个同步信息的发送周期内,均未接收到其时钟源发送的同步信息的情况下,确定时钟源丢失。
例如,在端节点设备的时钟源为主时钟源的情况下,若在连续M(M为大于或等于2的整数)个第一同步信息的发送周期内,均未接收到主时钟源发送的第一同步信息的情况下,则确定主时钟源丢失。之后,则可以向备用时钟源进行时钟同步。
再例如,在端节点设备的时钟源为备用时钟源的情况下,若在连续M(M为大于或等于2的整数)个第二同步信息的发送周期内,均未接收到备用时钟源发送的第二同步信息的情况下,则确定备用时钟源丢失。之后,则可以基于本地晶体振动器(简称本地晶振)维持自身的时钟信息。
可选地,时钟同步是基于gPTP实现的情况下,同步信息可以具体包括:同步报文(Sync报文)和跟随报文(Follow_up报文)。
其中,可以依据Sync报文确定时钟源是否丢失。例如,在连续M(M为大于或等于2的整数)个Sync报文的发送周期内,端节点设备均未接收到其时钟源发送的Sync报文的情况下,则确定其时钟源丢失。
示例性车辆
本申请实施例还提供了一种车辆,该车辆包括如上所述的时钟同步***。
对于车辆上的时钟同步***而言,可以优选基于派生自PTP的gPTP=实现时钟同步。gPTP可以提供亚微秒级别的时钟同步精度,主要通过在***中的设备之间交换时间戳信息,实现精准的时钟同步。
示例性电子设备
本申请实施例还提供了一种电子设备,如图10所示,该电子设备包括:存储器1000和处理器1010。
所述存储器1000与所述处理器1010连接,用于存储程序。
所述处理器1010用于通过运行所述存储器1000中存储的程序,实现上述实施例中的时钟同步方法。
具体的,上述电子设备还可以包括:通信接口1020、输入设备1030、输出设备1040和总线1050。
处理器1010、存储器1000、通信接口1020、输入设备1030和输出设备1040通过总线相互连接。其中:
总线1050可包括一通路,在计算机***各个部件之间传送信息。
处理器1010可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器1010可包括主处理器,还可包括基带芯片、调制解调器等。
存储器1000中保存有执行本发明技术方案的程序,还可以保存有操作***和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器1000可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备1030可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备1040可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口1020可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器1010执行存储器1000中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的时钟同步方法的各个步骤。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本申请实施例中描述的时钟同步方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本申实施例中描述的时钟同步方法中的步骤。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请各实施例中装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种时钟同步方法,其特征在于,应用于时钟同步***中的端节点设备,所述时钟同步***还包括:主时钟源和备用时钟源,所述端节点设备分别与所述主时钟源和所述备用时钟源之间建立有通信连接;
所述时钟同步方法包括:
接收所述主时钟源发送的第一同步信息,并根据所述第一同步信息与所述主时钟源进行时钟同步;
接收所述备用时钟源发送的第二同步信息;所述第二同步信息为所述备用时钟源与所述主时钟源完成同步后发送的;
在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据所述备用时钟源发送的第二同步信息,与所述备用时钟源进行时钟同步。
2.根据权利要求1所述的时钟同步方法,其特征在于,所述时钟同步***包括:第一时钟域和第二时钟域;
所述第一时钟域包括:所述主时钟源、所述备用时钟源和所述端节点设备,所述第一时钟域的时钟源为所述主时钟源;
所述第二时钟域包括:所述备用时钟源和所述端节点设备,所述第二时钟域的时钟源为所述主时钟源。
3.根据权利要求1所述的时钟同步方法,其特征在于,在所述接收所述备用时钟源发送的第二同步信息之后,所述方法还包括:
根据所述第二同步信息,确定所述端节点设备与所述备用时钟源之间的路径传输时延以及频率比;
所述在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据所述备用时钟源发送的第二同步信息,与所述备用时钟源进行时钟同步,包括:
在所述第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据最新接收到的第二同步信息、所述路径传输时延以及所述频率比,与所述备用时钟源进行时钟同步。
4.根据权利要求1所述的时钟同步方法,其特征在于,在与所述备用时钟源完成时钟同步之后,所述方法还包括:
在第二预设时长内未接收到所述备用时钟源发送的第二同步信息的情况下,基于本地晶体振荡器维持所述端节点设备的时钟信息。
5.根据权利要求1所述的时钟同步方法,其特征在于,在所述时钟同步***上电后,所述方法还包括:
在第三预设时长内未与所述主时钟源节点完成时钟同步,且接收到所述备用时钟源发送的第二同步信息的情况下,与所述备用时钟源进行时钟同步;
在所述第三预设时长内未与所述主时钟源节点完成时钟同步,且未接收到所述备用时钟源发送的第二同步信息的情况下,重置计时时间,等待与所述主时钟源进行时钟同步。
6.一种时钟同步方法,其特征在于,应用于时钟同步***中的备用时钟源,所述时钟同步***还包括:主时钟源和端节点设备,所述端节点设备分别与所述主时钟源和所述备用时钟源之间建立有通信连接;
所述时钟同步方法包括:
接收所述主时钟源发送的第一同步信息,并根据所述第一同步信息与所述主时钟源进行时钟同步;
与所述主时钟源完成时钟同步后,发送第二同步信息至所述端节点设备;其中,所述第二同步信息用于在所述端节点设备的时钟源为所述主时钟源且在第一预设时长内所述端节点设备未接收到所述主时钟源发送的第一同步信息的情况下,与所述备用时钟源进行时钟同步。
7.一种时钟同步装置,其特征在于,应用于时钟同步***中的端节点设备,所述时钟同步***还包括:主时钟源和备用时钟源,所述端节点设备分别与所述主时钟源和所述备用时钟源之间建立有通信连接;
所述时钟同步装置包括:
第一接收模块,用于接收所述主时钟源发送的第一同步信息,并根据所述第一同步信息与所述主时钟源进行时钟同步;
第二接收模块,用于接收所述备用时钟源发送的第二同步信息;所述第二同步信息为所述备用时钟源与所述主时钟源完成同步后发送的;
第一时钟同步模块,用于在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据所述备用时钟源发送的第二同步信息,与所述备用时钟源进行时钟同步。
8.一种时钟同步装置,其特征在于,应用于时钟同步***中的备用时钟源,所述时钟同步***还包括:主时钟源和端节点设备,所述端节点设备分别与所述主时钟源和所述备用时钟源之间建立有通信连接;
所述时钟同步装置包括:
第三接收模块,用于接收所述主时钟源发送的第一同步信息,并根据所述第一同步信息与所述主时钟源进行时钟同步;
信息发送模块,用于与所述主时钟源完成时钟同步后,发送第二同步信息至所述端节点设备;其中,所述第二同步信息用于在所述端节点设备的时钟源为所述主时钟源且在第一预设时长内所述端节点设备未接收到所述主时钟源发送的第一同步信息的情况下,与所述备用时钟源进行时钟同步。
9.一种时钟同步***,其特征在于,所述***包括:主时钟源、备用时钟源以及端节点设备;所述端节点设备分别与所述主时钟源和所述备用时钟源之间建立有通信连接;
所述主时钟源用于发送第一同步信息至所述备用时钟源和所述端节点设备;
所述备用时钟源用于根据所述主时钟源发送的第一同步信息,与所述主时钟源进行时钟同步,并在与所述主时钟源完成同步后,发送第二同步信息至所述端节点设备;
所述端节点设备用于根据所述主时钟源发送的第一同步信息,与所述主时钟源进行时钟同步,以及接收所述备用时钟源与所述主时钟源完成同步后发送的第二同步信息,并在第一预设时长内未接收到所述主时钟源发送的第一同步信息的情况下,根据所述备用时钟源发送的第二同步信息,与所述备用时钟源进行时钟同步。
10.一种车辆,其特征在于,所述车辆包括如权利要求9所述的时钟同步***。
CN202410173052.2A 2024-02-06 2024-02-06 时钟同步方法及相关装置 Pending CN117856961A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410173052.2A CN117856961A (zh) 2024-02-06 2024-02-06 时钟同步方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410173052.2A CN117856961A (zh) 2024-02-06 2024-02-06 时钟同步方法及相关装置

Publications (1)

Publication Number Publication Date
CN117856961A true CN117856961A (zh) 2024-04-09

Family

ID=90546197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410173052.2A Pending CN117856961A (zh) 2024-02-06 2024-02-06 时钟同步方法及相关装置

Country Status (1)

Country Link
CN (1) CN117856961A (zh)

Similar Documents

Publication Publication Date Title
US7447237B2 (en) Radio access network system, radio communication method, synchronous server and node
US8738792B2 (en) Server time protocol messages and methods
CN109155788B (zh) 借助明确拆除消息在tsn网络中快速重新配置gm时钟的方法
JP6523497B1 (ja) マスタ制御装置およびこれを用いた同期通信システム
CN110492967B (zh) 一种时间同步方法、中继设备及装置
CN108259109B (zh) Ptp域中的网络设备及tod同步方法
WO2015196685A1 (zh) 时钟同步方法及装置
WO2009043299A1 (en) A determining method and device for the synchronization port of a transparent clock equipment
US20170272190A1 (en) Time synchronization method and apparatus for network devices and time synchronization server
WO2021077289A1 (zh) 一种同步方法及设备
CN104836654B (zh) 一种基于Ethernet POWERLINK的时钟同步方法
CN110266422B (zh) 中间时钟设备报文驻留时间处理方法、装置、设备及介质
Akpinar et al. Improved clock synchronization algorithms for the controller area network (CAN)
CN101420281B (zh) 用于在网络要素之间传送日内时间值的方法和装置
CN115865246A (zh) 时间同步装置、***及方法
Diarra et al. Improved clock synchronization start-up time for Ethernet AVB-based in-vehicle networks
CN117856961A (zh) 时钟同步方法及相关装置
US20170117980A1 (en) Time synchronization for network device
CN113396553A (zh) 一种时钟切换方法、设备及存储介质
Boulanger et al. A time synchronization protocol for A664-P7
JP2023554065A (ja) クロックソースを選択するための方法及び装置
CN113259039A (zh) 时间同步方法、装置、计算机设备和存储介质
CN107995022B (zh) 会话同步方法及装置、存储介质、电子设备
CN115250159B (zh) 时间同步方法、装置、电子设备、存储介质及程序产品
AU2021103351A4 (en) Method and device for synchronizing topological information of low-orbit satellite network

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