CN112583678A - 接收方装置、发送方装置以及用于时钟同步的方法 - Google Patents
接收方装置、发送方装置以及用于时钟同步的方法 Download PDFInfo
- Publication number
- CN112583678A CN112583678A CN202011040373.3A CN202011040373A CN112583678A CN 112583678 A CN112583678 A CN 112583678A CN 202011040373 A CN202011040373 A CN 202011040373A CN 112583678 A CN112583678 A CN 112583678A
- Authority
- CN
- China
- Prior art keywords
- node
- frames
- time
- frame
- transmission
- 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
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/027—Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- 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
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了接收方装置、发送方装置以及用于时钟同步的方法,其中接收方装置可以包括接收器和一个或更多个处理器。接收方装置可以被配置成:从第一装置接收指示第一组帧的发送时间的第一组帧,以及从第二装置接收指示第二组帧的发送时间和第一组帧的到达时间的第二组帧。接收方装置可以被配置成:基于第一组帧的发送时间和到达时间来确定第一传输延迟,并且基于第二组帧的发送时间和到达时间来确定第二传输延迟。接收方装置可以被配置成:发送指示第一组帧的到达时间和第二组帧的到达时间以及第三组帧的发送时间的第三组帧。
Description
技术领域
本发明涉及控制器局域网络中的时钟同步,并且具体涉及接收方装置、发送方装置以及用于时钟同步的方法。
背景技术
控制器局域网络(CAN)是使特定系统的节点互连的一个或更多个通信总线的网络。单个节点可以包括由系统使用以执行功能的传感器、致动器、控制器和/或另一装置。在交通工具系统中,节点可以对应于与交通工具的功能相关联的传感器、致动器和/或电子控制单元(ECU)(例如,发动机控制模块(ECM)、动力总成控制模块(PCM)、变速控制模块(TCM)、制动控制模块(BCM)、中央控制模块(CCM)、中央定时模块(CTM)、通用电子模块(GEM)、车体控制模块(BCM)、悬架控制模块(SCM)等)。CAN内的节点使用根据基于消息的通信协议串行发送和/或接收的位串或帧、经由CAN总线彼此通信。尽管CAN总线通常用于交通工具(例如,道路交通工具、越野交通工具、海上交通工具、空中交通工具等),但是CAN总线也可以用于其他应用(例如,工业系统、医疗系统、机器人系统等)。
发明内容
根据一些实现方式,接收方装置可以包括接收器和一个或更多个处理器,所述一个或更多个处理器被配置成:经由通信总线从第一装置接收第一组帧,其中,第一组帧指示第一组帧的发送时间;经由通信总线从第二装置接收第二组帧,其中,第二组帧指示第二组帧的发送时间和第一组帧相对于第二装置的到达时间;基于第一组帧的发送时间和第一组帧相对于接收方装置的到达时间,确定与第一装置相关联的第一传输延迟;基于第二组帧的发送时间和第二组帧相对于接收方装置的到达时间,确定与第二装置相关联的第二传输延迟;以及在接收到第一组帧和第二组帧之后,发送第三组帧,其中,第三组帧指示第一组帧的到达时间、第二组帧的到达时间和第三帧的发送时间。
根据一些实现方式,本申请公开了一种方法,该方法可以包括:由第一装置经由CAN总线从第二装置接收第一组帧,其中,第一组帧指示第一组帧的发送时间;在接收到第一组帧之后,由第一装置经由CAN总线从第三装置接收第二组帧,其中,第二组帧指示第二组帧的发送时间和第一组帧相对于第三装置的到达时间;由第一装置基于第一组帧的发送时间和第一组帧相对于第一装置的到达时间来确定与第二装置相关联的第一传输延迟;由第一装置基于第二组帧的发送时间和第二组帧相对于第一装置的到达时间来确定与第三装置相关联的第二传输延迟;以及在接收到第一组帧和第二组帧之后,由第一装置发送第三组帧,其中,第三组帧指示第一组帧的到达时间、第二组帧的到达时间和第三组帧的发送时间。
根据一些实现方式,发送方装置可以包括发送器和一个或更多个处理器,所述一个或更多个处理器被配置成:经由通信总线发送第一组帧,其中,第一组帧指示第一组帧的发送时间;在发送第一组帧之后,从第一装置接收第二组帧,其中,第二组帧指示第一组帧相对于第一装置的到达时间、第三组帧相对于第一装置的到达时间和第二组帧的发送时间;基于第二组帧来识别第一组帧的到达时间和第二组帧的发送时间;以及基于第一组帧的到达时间和第二组帧的发送时间来确定于与第一装置相关联的传输延迟。
附图说明
图1是其中可以实现本文中描述的系统和/或方法的示例环境的图;
图2A至图2B是同步系统的实现方式的图;
图3A至图3D是本文中描述的同步系统的示例实现方式的图;
图4A至图4B是同步系统的实现方式的图;
图5A至图5D是本文中描述的同步系统的示例实现方式的图;
图6是其中可以实现本文中描述的系统和/或方法的示例环境的图;
图7是用于经由通信总线发送同步消息的示例处理的流程图;以及
图8是用于经由通信总线接收同步消息的示例处理的流程图。
具体实施方式
以下示例实现方式的详细描述参照附图进行。不同附图中的相同附图标记可以标识相同或相似的元素。
如以上所描述的,CAN可以包括使系统(例如,交通工具系统、工业系统、医疗系统、机器人系统等)的节点互连的一个或更多个通信总线的网络。节点可以包括用于执行相关联的系统的功能的传感器、致动器、控制器和/或其他装置。在交通工具中,例如,节点可以对应于与交通工具的节流阀功能、转向功能、制动功能、档位选择功能和/或其他功能相关联的传感器、致动器和/或ECU。节点可以经由根据基于消息的通信协议串行发送和/或接收的帧(例如,位串)与CAN总线上的其他节点通信。例如,节点可以发送可以被另一节点解释为经由传感器提供的信息、用于控制致动器的信息、操作参数、操作条件等的显性位和/或隐性位的帧。根据通信协议,可以在具有较低优先级(例如,具有隐性前导位)的帧之前发送具有较高优先级(例如,具有显性前导位)的帧。可以以多主机布置来设置CAN总线的节点,在多主机布置中,经由CAN总线传送的信息可用于寻求该信息的任何连接节点。
越来越多的系统(例如,交通工具系统)依靠电气控制而不是机械控制来进行操作。这导致对CAN总线的依赖增加,以支持增大的节点之间交换的信息的量以及增加的保持消息的准确定时的需求。在一些情况下,温度和/或另一环境因素的变化可能引起节点之间的时钟同步的偏移(例如,传输延迟的变化)。时钟同步的偏移可能导致能够破坏关联系统的操作的消息的错误解释、重要消息的遗漏、不必要的延迟和/或另一事件。在一些情况下,例如在交通工具系统中,时钟同步的偏移有可能会破坏时间敏感且关键的功能(例如,与节流阀功能、转向功能、制动功能、档位选择功能等相关的信息),这可能进一步引起潜在的安全问题。为了保持消息的准确定时,CAN总线的节点可以周期性地和/或间歇地(例如,在关联系统启动时,交通工具系统中的每个驱动周期以及/或者如在制造时另外限定的时间)执行时钟同步过程以解决传输延迟的变化。因为以多主机布置来布置的CAN总线通常不提供集中式时钟参考,所以CAN总线内的节点可以通过交换带有时间戳的消息来执行单向、双向和/或四向(four-way)时钟同步而彼此同步。
在单向时钟同步中,发送方节点可以向接收方节点发送消息(例如,带有消息的发送时间的时间戳)。接收方节点可以确定消息的到达时间,(例如,基于消息的发送时间和到达时间)确定消息的传输延迟,以及基于与发送方节点相关联的传输延迟来同步接收方节点的内部时钟。在双向时钟同步过程中,接收方节点还可以向发送方节点发送响应消息(例如,带有原始消息的到达时间的时间戳和响应消息的发送时间的时间戳)。发送方节点可以(例如,基于原始消息的发送时间和到达时间、以及响应消息的发送时间和到达时间)类似地确定传输延迟,以及基于与接收方节点相关联的传输延迟来同步发送方节点的内部时钟。在一些情况下,单向时钟同步和双向时钟同步可能涉及另外认证带有时间戳的消息的处理。然而,认证带有时间戳的消息的处理可能会在传输延迟中引入可以使时钟同步偏移的未知延迟。此外,延迟可能是不一致的、不可预测的并且难以解决的。在这样的情况下,为了更好的准确度,可以使用四向时钟同步。
在四向时钟同步中,发送方节点和接收方节点通常遵循双向时钟同步,但是发送与带有时间戳的消息不同的单独补充消息中的带有时间戳的消息的时间戳。例如,发送方节点可以发送(例如,没有时间戳的)第一消息,并且本地存储第一消息的发送时间的时间戳。接收方节点可以确定并且本地存储第一消息的到达时间。发送方节点可以向接收方节点发送(例如,带有第一消息的发送时间的时间戳的)第二消息。接收方节点可以(例如,基于第一消息的发送时间和到达时间)确定传输延迟,并且可以基于传输延迟来同步接收方节点的内部时钟。类似地,接收方节点还可以发送(例如,没有时间戳的)第一响应消息,并且本地存储第一响应消息的发送时间的时间戳。发送方节点可以确定并且本地存储第一响应消息的到达时间。接收方节点可以向发送方节点发送(例如,带有第一消息的到达时间和第一响应消息的发送时间的时间戳)第二响应消息。发送方节点可以(例如,基于第一消息的发送时间和到达时间以及第一响应消息的发送时间和到达时间)确定传输延迟,并且基于传输延迟来同步发送方节点的内部时钟。
尽管单向、双向和/或四向时钟同步可以实现经过认证且准确的同步过程,但是这样的过程依赖于每次同步要交换相当大数量的消息。例如,双向时钟同步针对CAN总线的每个不同的节点对需要交换两条消息。在具有n个节点的CAN总线中,同步会话可以产生n(n-1)个交换的消息。在特定的CAN总线上包括20个节点的系统因此可能需要交换380条消息以便完成同步。四向时钟同步针对CAN总线的每个不同的节点对需要交换四条消息。在具有n个节点的CAN总线中,同步会话可以产生2n(n-1)个交换的消息。具有20个节点的系统因此可能需要交换760条消息以便完成同步。由于CAN总线仅限于串行通信,因此可能需要分别交换消息中的每一个。这会对应相当大量的时间,在此期间CAN总线可能无法用于关联系统的其他重要操作。此外,使用更多消息可能会引入更多潜在的错误,并且消耗更多可以以其他方式用于其他操作的资源(例如,处理器资源、存储器资源、收发器资源、总线资源等)。
本文中描述的一些实现方式提供了一种同步系统,该同步系统以准确且有效的方式实现了认证的时钟同步。例如,关于双向时钟同步,同步系统可以使得单个节点能够向多个节点发送单个同步消息,以及/或者使得多个节点能够从单个节点接收单个同步消息。同步系统可以类似地使得接收到同步消息的节点向多个节点发送单个响应消息,以及/或者使得多个节点从该节点接收单个响应消息。关于四向时钟同步过程,同步系统可以使得单个节点能够向多个节点发送单个同步消息组,以及/或者使得多个节点能够从单个节点接收单个同步消息组。同步系统可以类似地使得接收到同步消息组的节点向多个节点发送单个响应消息组,以及/或者使得多个节点能够从该节点接收单个响应消息组。可以根据各个消息的相应的优先级(例如,基于各个节点的标识符、在制造时限定的时钟同步调度等确定的优先级)来发送响应消息和/或响应消息组。
以这种方式,同步系统可以显著减少为了在CAN总线内执行时钟同步而交换的消息的数目,而不会损害认证并且不会对准确度造成不利影响。例如,在具有n个节点的CAN总线中,同步系统可以实现具有n条消息而不是像当前的双向同步过程那样具有n(n-1)条消息的双向时钟同步。类似地,在具有n个节点的CAN总线中,同步系统可以实现具有2n条消息而不是像当前的四向同步过程那样具有2n(n-1)条消息的四向时钟同步。通过使用较少的消息,同步系统可以在较短的时间段内完成时钟同步,并且在CAN总线上花费的时间显著减少。同步系统因此使得CAN总线能够用于关联系统的其他重要操作。另外,通过使用较少的消息,同步系统减少了由于交换过多消息而引起的对错误的敏感性。此外,通过使用较少的消息并且在CAN总线上花费较少的时间,同步系统节省了资源(例如,处理器资源、存储器资源、收发器资源、总线资源等),可以以其他方式使用这些资源来执行时钟同步。
图1是其中可以实现本文中描述的系统和/或方法的示例环境100的图。如图1所示,环境100可以对应于具有节点、通信总线(例如,CAN总线)和端接电阻器的CAN。节点(例如,节点1、节点2、节点3或节点n)可以包括关联系统的被配置成执行关联系统的功能的传感器、致动器和/或控制器。在交通工具系统中,例如,节点可以对应于与用于操作交通工具的节流阀功能、转向功能、制动功能、档位选择功能和/或其他功能相关联的传感器、致动器和/或ECU。如关于图1中的示例所示出的,通信总线可以包括两个总线端子(例如,高总线端子和低总线端子)。节点可以选择性地将直流(DC)电压信号施加在总线端子两端,以发送显性位或隐性位。例如,节点可以通过将高总线端子驱动至高电压(例如5VDC)并且通过将低总线端子驱动至低电压(例如,0VDC)来发送显性位(例如,逻辑“0”位),并且通过对两个总线端子都不进行驱动来发送隐性位(例如,逻辑“1”位)。总线端子可以在节点之间延伸并且实现信息(例如,经由传感器提供的信息、用于控制致动器的信息、操作参数、操作条件等)在节点之间的交换。端接电阻器可以包括被配置成限制节点之间的信号反射的电阻器。
在一些实现方式中,通信总线可以对应于另一种类型的网络(例如,具有灵活数据速率的控制器局域网络(CAN FD)、超大型控制器局域网络(CAN XL)、本地互连网络(LIN)、FlexRay网络、以太网网络等)的通信总线。尽管示出为具有两个总线端子,但是通信总线可以使用不同数量的总线端子以及/或者使用互连不同布置的节点的不同布置的总线端子来互连节点。在一些示例中,可以以多主机布置来设置通信总线,在多主机布置中,经由通信总线传送的信息对于连接至通信总线的任何节点都是可用的。在一些示例中,可以以环形拓扑的形式(例如,在环形拓扑中,通信总线的端部电耦接至单个主机单元)布置通信总线。另外地或可替选地,通信总线可以包括多个通信总线以及/或者与一个或更多个另外的通信总线选择性通信。尽管CAN总线通常用于交通工具(例如,道路交通工具、越野交通工具、海上交通工具、空中交通工具等),但是CAN总线也可以用于其他应用(例如,工业系统、医疗系统、机器人系统等)。
在一些实现方式中,通信总线的节点可以根据基于消息的通信协议彼此通信。例如,发送方节点可以发送被串行地引入到通信总线中并且由通信总线的接收方节点串行地接收的消息作为位的帧。帧通常可以包括提供与帧中包括的消息有关的不同类型的信息的一个或更多个指定字段。如关于图1中的示例所示出的,帧可以包括帧开始(SOF)字段、标识符字段、有效载荷字段、循环冗余校验(CRC)字段、帧结束(EOF)字段等。SOF字段可以包括指定新消息的开始的一个或更多个位。标识符字段可以包括一个或更多个位,该一个或更多个位用于标识帧的优先级、帧中包括的内容的类型、发送方节点的唯一标识符、接收方节点的唯一标识符和/或可以由接收方节点使用以标识消息的预期接收方的其他信息。有效载荷字段可以包括与消息的基础内容有关的一个或更多个位。CRC字段可以包括被配置成使得接收方节点能够确定接收到的消息与发送的消息之间的一致性的一个或更多个位。EOF字段可以包括指定消息的结束的一个或更多个位。在一些示例中,除了所示出的字段,帧还可以包括另外的字段、更少的字段和/或不同布置的字段。
在一些实现方式中,通信总线的节点可以执行时钟同步以确保消息以及时且准确的方式被发送和/或接收。例如,因为通信总线可能未提供集中式时钟参考,所以通信总线内的各个节点可以通过交换带有时间戳信息(例如,与消息的发送时间、消息的到达时间等有关的信息)的已认证消息来彼此同步。如以下所描述的,节点可以被配置成根据双向同步过程和/或四向同步过程来执行时钟同步。在一些示例中,如以下所描述的,节点可以被配置成执行单向时钟同步过程作为双向同步过程和/或四向同步过程的一部分。节点可以被配置成周期性地、间歇地和/或如(例如,在制造时)以其他限定的方式执行时钟同步。在一些示例中,例如在交通工具中,节点可以被配置成在交通工具的发动机启动时、在新的驾驶周期的初始化时以及/或者如由交通工具的制造商以其他限定的方式执行时钟同步。
图1所示的装置和网络的数量和布置被设置作为一个或更多个示例。实际上,除了图1所示的装置和/或网络以外,可以存在另外的装置和/或网络、更少的装置和/或网络、不同的装置和/或网络、或不同布置的装置和/或网络。此外,图1所示的两个或更多个装置可以在单个装置内实现,或者图1所示的单个装置可以实现为多个分布式装置。另外地或可替选地,环境100的一组装置(例如,一个或更多个装置)可以执行被描述为由环境100的另一组装置执行的一个或更多个功能。
图2A-图2B是同步系统的实现方式200的图。如图2A-图2B所示,实现方式200包括经由通信总线(例如,CAN总线)互连的第一节点(例如,节点1)、第二节点(例如,节点2)和第三节点(例如,节点n)。图2A-图2B呈现了由第一节点、第二节点和/或第三节点执行的以用于(例如,经由单向同步和/或双向同步)执行时钟同步的一个或更多个功能。
如图2A并且通过附图标记202所示,第一节点经由通信总线将用于执行时钟同步的第一消息(例如,与该消息相对应的位的帧)发送至第二节点。第一消息专门用于第二节点。例如,第一消息的帧包括标识符字段,标识符字段具有将第一节点标识为第一消息的发送方以及/或者将第二节点标识为第一消息的预期接收方的信息(例如,一个或更多个唯一标识符)。帧包括具有指示第一消息的发送时间的信息(例如,时间戳)的有效载荷字段。帧指示使得第二节点能够确定与第一节点的传输延迟(例如,Delay1→2)的信息。
如图2A并且通过附图标记204所进一步示出,第二节点确定由第一节点发送的第一消息的到达时间。例如,第二节点接收由第一节点发送的第一消息、确定第一消息的到达时间,并且(例如,在第二节点的本地存储装置中)本地存储第一消息的到达时间。第二节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第一节点标识为第一消息的发送方。第二节点基于相应帧的有效载荷字段来确定第一消息的发送时间。第二节点本地存储第一消息的到达时间和第一消息的发送时间,以用于进一步处理。
如图2A并且通过附图标记206所进一步示出,第二节点确定与第一节点的传输延迟(例如,Delay1→2)。例如,第二节点基于第一消息的发送时间和第一消息的到达时间来确定传输延迟。第二节点基于传输延迟使得执行与第一节点的时钟同步(例如,单向同步)。
如图2A并且通过附图标记208所进一步示出,第一节点经由通信总线将用于执行时钟同步的第二消息发送至第三节点。第二消息专门意在用于第三节点。类似于如以上关于附图标记202所描述的,第二消息的帧包括标识符字段,标识符字段具有将第一节点标识为第二消息的发送方以及/或者将第三节点标识为第二消息的预期接收方的信息。帧包括具有指示第二消息的发送时间的信息的有效载荷字段。帧指示使得第三节点能够确定与第一节点的传输延迟(例如,Delay1→n)的信息。
如图2A并且通过附图标记210所进一步示出,第三节点确定由第一节点发送的第二消息的到达时间。类似于如以上关于附图标记204所描述的,第三节点接收由第一节点发送的第二消息、确定第二消息的到达时间,并且本地存储第二消息的到达时间。第三节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第一节点标识为第二消息的发送方。第三节点基于相应帧的有效载荷字段来确定第二消息的发送时间。第三节点本地存储第二消息的到达时间和第二消息的发送时间,以用于进一步处理。
如图2A并且通过附图标记212所进一步示出,第三节点确定与第一节点的传输延迟(例如,Delay1→n)。类似于如以上关于附图标记206所描述的,第三节点基于第二消息的发送时间和第二消息的到达时间来确定传输延迟。第三节点基于传输延迟使得执行与第一节点的时钟同步(例如,单向同步)。
如图2B并且通过附图标记214所示,第二节点经由通信总线向第一节点发送第一响应消息。第一响应消息专门意在用于第一节点。例如,第一响应消息的帧包括标识符字段,该标识符字段具有将第二节点标识为第一响应消息的发送方以及/或者将第一节点标识为第一响应消息的预期接收方的信息。帧包括具有指示第一响应消息的发送时间和/或第一消息的到达时间的信息的有效载荷字段。例如,帧指示使得第一节点能够确定与第二节点的传输延迟(例如,Delay2→1)的信息。
如图2B并且通过附图标记216所进一步示出,第一节点确定由第二节点发送的第一响应消息的到达时间。例如,第一节点接收与由第二节点发送的第一响应消息相对应的帧、确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。第一节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第二节点标识为第一响应消息的发送方。第一节点基于相应帧的有效载荷字段来确定第一响应消息的发送时间和/或第一消息的到达时间。第一节点本地存储第一响应消息的到达时间、第一响应消息的发送时间和/或第一消息的到达时间,以用于进一步处理。
如图2B并且通过附图标记218所进一步示出,,第一节点确定与第二节点的传输延迟(例如,Delay2→1)。例如,第一节点基于第一消息的发送时间、第一消息的到达时间、第一响应消息的发送时间和/或第一响应消息的到达时间来确定传输延迟。第一节点基于下式来确定传输延迟:
其中,TDelay对应于传输延迟,t′1对应于第一响应消息的到达时间,t1对应于第一消息的发送时间,t′2对应于第一消息的到达时间,并且t2对应于第一响应消息的发送时间。第一节点基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。第一节点基于传输延迟来使得执行与第二节点的时钟同步(例如,双向同步)。
如图2B并且通过附图标记220所进一步示出,第三节点经由通信总线向第一节点发送第二响应消息。第二响应消息专门意在用于第一节点。类似于如以上关于附图标记214所描述的,第二响应消息的帧包括标识符字段,标识符字段具有将第三节点标识为第二响应消息的发送方以及/或者将第一节点标识为第二响应消息的预期接收方的信息。帧包括具有指示第二响应消息的发送时间和/或第二消息的到达时间的信息的有效载荷字段。例如,帧指示使得第一节点能够确定与第三节点的传输延迟(例如,Delayn→1)的信息。
如图2B并且通过附图标记222所进一步示出,第一节点确定由第三节点发送的第二响应消息的到达时间。类似于如以上关于附图标记216所描述的,第一节点接收与由第三节点发送的第二响应消息相对应的帧、确定第二响应消息的到达时间,并且本地存储第二响应消息的到达时间。第一节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第三节点识别为第二响应消息的发送方。第一节点基于相应帧的有效载荷字段来确定第二响应消息的发送时间和/或第二消息的到达时间。第一节点本地存储第二响应消息的到达时间、第二响应消息的发送时间和/或第二消息的到达时间,以用于进一步处理。
如图2B并且通过附图标记224所进一步示出,第一节点确定与第三节点的传输延迟(例如,Delayn→1)。类似于如以上关于附图标记218所描述的,第一节点基于第二消息的发送时间、第二消息的到达时间、第二响应消息的发送时间和/或第二响应消息的到达时间来确定传输延迟。第一节点根据以上等式(1)中描述的关系来确定传输延迟。第一节点基于第二响应消息的发送时间和第二响应消息的到达时间来确定传输延迟。第一节点基于传输延迟来使得与第二节点的时钟同步(例如,双向同步)被执行。
如以上所指示的,图2A-图2B被提供作为同步系统的实现方式。
图3A-图3D是本文中描述的同步系统的示例实现方式300的图。如图3A-图3D所示,(多个)示例实现方式300可以包括经由通信总线(例如,CAN总线)互连的第一节点(例如,节点1)、第二节点(例如,节点2)和第三节点(例如,表示一个或更多个附加节点的节点n)。图3A-图3D呈现了可以由第一节点、第二节点和/或第三节点执行的以用于(例如,经由单向同步、双向同步等)执行时钟同步的一个或更多个功能。在一些示例中,第一节点、第二节点和/或第三节点可以包括关联系统的传感器、致动器、控制器和/或另一装置。例如,第一节点、第二节点和/或第三节点可以执行与交通工具系统的节流阀功能、转向功能、制动功能、档位选择功能和/或其他功能相关联的操作。在一些示例中,第一节点、第二节点和/或第三节点可以执行与工业系统、医疗系统、机器人系统和/或另一基于CAN的系统相关联的操作。描述为由第一节点执行的一个或更多个功能可以由第二节点和/或第三节点执行,以及/或者描述为由第二节点和/或第三节点执行的一个或更多个功能可以由第一节点执行。
如图3A并且通过附图标记302所示,第一节点可以经由通信总线发送用于执行时钟同步的消息(例如,与消息相对应的位的帧)。消息可以意在用于通信总线的多个节点,并且可以包括可以用于同时执行与多个节点的时钟同步的信息。消息的帧可以包括:具有将第一节点标识为消息的发送方的信息(例如,唯一标识符)的标识符字段以及具有指示消息的发送时间的信息(例如,时间戳)的有效载荷字段。例如,帧可以指示使得第二节点能够确定与第一节点的传输延迟(例如,Delay1→2)并且使得第三节点能够确定与第一节点的传输延迟(例如,Delay1→n)的信息。在一些示例中,帧可以标识该帧所意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保消息被第二节点和/或第三节点正确接收。第一节点可以发送消息以(例如,在关联系统启动时,交通工具系统中的每个驱动周期以及/或者如在制造时或制造后另外限定的时间)周期性地和/或间歇地发起时钟同步。
如图3A并且通过附图标记304所进一步示出,第二节点可以确定由第一节点发送的消息的到达时间。例如,第二节点可以接收由第一节点发送的消息、确定消息的到达时间,并且(例如,在第二节点的本地存储装置中)本地存储消息的到达时间。在一些示例中,第二节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第一节点标识为消息的发送方。在一些示例中,第二节点可以基于相应帧的有效载荷字段来确定消息的发送时间。第二节点可以本地存储消息的到达时间和消息的发送时间,以用于进一步处理。
如图3A并且通过附图标记306所进一步示出,第二节点可以确定与第一节点的传输延迟(例如,Delay1→2)。例如,第二节点可以基于消息的发送时间和消息的到达时间(例如,基于消息的发送时间与到达时间之间的差)来确定传输延迟。在一些示例中,第二节点可以基于传输延迟来使与第一节点的时钟同步(例如,单向同步)被执行。在一些示例中,第二节点可以本地存储与第一节点的传输延迟(例如,在诸如索引、映射、表等的数据结构内),以用作为与第一节点交换的未来消息提供参考。第二节点可以保持传输延迟直到从第一节点接收到随后的时钟同步消息为止,以及/或者第二节点可以基于更新的时钟同步消息来更新传输延迟。
如图3A并且通过附图标记308所进一步示出,第三节点可以确定由第一节点发送的消息的到达时间。例如,第三节点可以接收由第一节点发送并且由第二节点接收的消息。类似于如以上关于附图标记304所描述的,第三节点可以确定消息的到达时间,并且本地存储消息的到达时间。在一些示例中,第三节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第一节点标识为消息的发送方。在一些示例中,第三节点可以基于相应帧的有效载荷字段来确定消息的发送时间。因为由第三节点接收的消息与由第二节点接收的消息相对应,所以由第三节点确定的发送时间可以与由第二节点确定的发送时间相同。第三节点可以本地存储消息的到达时间和/或消息的发送时间,以用于进一步处理。
如图3A并且通过附图标记310所进一步示出,第三节点可以确定与第一节点的传输延迟(例如,Delay1→n)。类似于如以上关于附图标记306所描述的,第三节点可以基于消息的发送时间和消息的到达时间来确定传输延迟。在一些示例中,第三节点可以基于传输延迟来使与第一节点的时钟同步(例如,单向同步)被执行。在一些示例中,第三节点可以本地存储与第一节点的传输延迟,以用作为与第一节点交换的未来消息提供参考。第三节点可以保持传输延迟直到从第一节点接收到随后的时钟同步消息为止,以及/或者第三节点可以基于更新的时钟同步消息来更新传输延迟。
如图3B并且通过附图标记312所示,第二节点可以经由通信总线发送第一响应消息。第一响应消息可以意在作为对由第一节点发送的原始消息的响应以及/或者作为到第三节点的原始消息。例如,第一响应消息可以包括可以用于同时执行与第一节点和第三节点的时钟同步的信息。第一响应消息的帧可以包括:具有将第二节点标识为第一响应消息的发送方的信息的标识符字段;以及具有指示第一响应消息的发送时间和/或原始消息的到达时间的信息的有效载荷字段。例如,帧可以指示使得第一节点能够确定与第二节点的传输延迟(例如,Delay2→1)并且/或者使得第三节点能够确定与第二节点的传输延迟(例如,Delay2→n)的信息。在一些示例中,帧可以标识该帧所意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保帧被第一节点和/或第三节点正确接收。
如图3B并且通过附图标记314所进一步示出,第一节点可以确定由第二节点发送的第一响应消息的到达时间。例如,第一节点可以接收与由第二节点发送的第一响应消息相对应的帧、确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。在一些示例中,第一节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息将第二节点标识为第一响应消息的发送方。在一些示例中,第一节点可以基于相应帧的有效载荷字段来确定第一响应消息的发送时间和/或原始消息的到达时间。第一节点可以本地存储第一响应消息的到达时间、第一响应消息的发送时间和/或原始消息的到达时间,以用于进一步处理。
如图3B并且通过附图标记316所进一步示出,第一节点可以确定与第二节点的传输延迟(例如,Delay2→1)。例如,第一节点可以基于原始消息的发送时间、原始消息的到达时间、第一响应消息的发送时间和/或第一响应消息的到达时间来确定传输延迟。在一些示例中,第一节点可以根据以上等式(1)中描述的关系来确定传输延迟。另外地或可替选地,第一节点可以基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。在一些示例中,第一节点可以基于传输延迟来使与第二节点的时钟同步(例如,双向同步)被执行。在一些示例中,第一节点可以本地存储与第二节点的传输延迟,以用作为与第二节点交换的未来消息提供参考。第一节点可以保持传输延迟直到从第二节点接收到随后的时钟同步消息为止,以及/或者第一节点可以基于更新的时钟同步消息来更新传输延迟。
如图3B并且通过附图标记318所进一步示出,第三节点可以确定由第二节点发送的第一响应消息的到达时间。类似于如以上关于附图标记314所描述的,第三节点可以接收与由第二节点发送的第一响应消息相对应的帧、确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。在一些示例中,第三节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第二节点标识为第一响应消息的发送方。在一些示例中,第三节点可以基于相应帧的有效载荷字段来确定第一响应消息的发送时间。第三节点可以本地存储第一响应消息的到达时间和/或第一响应消息的发送时间,以用于进一步处理。在一些示例中,第三节点可以确定并且本地存储原始消息相对于第二节点的到达时间。
如图3B并且通过附图标记320所进一步示出,第三节点可以确定与第二节点的传输延迟(例如,Delay2→n)。类似于如以上关于附图标记316所描述的,第三节点可以基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。在一些示例中,第三节点可以基于传输延迟来使与第二节点的时钟同步(例如,单向同步)被执行。在一些示例中,第三节点可以本地存储与第二节点的传输延迟,以用作为与第二节点交换的未来消息提供参考。第三节点可以保持传输延迟,直到从第二节点接收到随后的时钟同步消息为止,以及/或者基于更新的时钟同步消息来更新传输延迟。
如图3C并且通过附图标记322所示,第三节点可以经由通信总线发送第二响应消息。第二响应消息可以意在作为对由第一节点发送的原始消息的响应和/或作为对由第二节点发送的第一响应消息的响应。例如,第二响应消息可以包括可以用于同时执行与第一节点和第二节点的时钟同步的信息。第二响应消息的帧可以包括:具有将第三节点标识为第二响应消息的发送方的信息的标识符字段,以及具有指示第二响应消息的发送时间、原始消息的到达时间和/或第一响应消息的到达时间的信息的有效载荷字段。例如,帧可以指示使得第一节点能够确定与第三节点的传输延迟(例如,Delayn→1)并且使得第二节点能够确定与第三节点的传输延迟(例如,Delayn→2)的信息。在一些示例中,帧可以标识第二响应消息所意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保第二响应消息被第一节点和/或第二节点正确接收。
如图3C并且通过附图标记324所进一步示出,第一节点可以确定由第三节点发送的第二响应消息的到达时间。例如,第一节点可以接收与第二响应消息相对应的帧、确定第二响应消息的到达时间,并且本地存储第二响应消息的到达时间。在一些示例中,第一节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第三节点标识为第二响应消息的发送方。在一些示例中,第一节点可以基于相应帧的有效载荷字段来确定第二响应消息的发送时间、原始消息的到达时间和/或第一响应消息的到达时间。第一节点可以本地存储第二响应消息的到达时间、第二响应消息的发送时间和/或原始消息的到达时间,以用于进一步处理。在一些示例中,第一节点可以本地存储第一响应消息相对于第三节点的到达时间。
如图3C并且通过附图标记326所进一步示出的,第一节点可以确定与第三节点的传输延迟(例如,Delayn→1)。例如,第一节点可以基于原始消息的发送时间、原始消息的到达时间、第二响应消息的发送时间和/或第二响应消息的到达时间来确定传输延迟。在一些示例中,第一节点可以根据以上等式(1)中描述的关系来确定传输延迟。另外地或可替选地,第一节点可以基于第二响应消息的发送时间和第二响应消息的到达时间来确定传输延迟。在一些示例中,第一节点可以基于传输延迟来使与第三节点的时钟同步(例如,双向同步)被执行。在一些示例中,第一节点可以本地存储与第三节点的传输延迟,以用作为与第三节点交换的未来消息提供参考。第一节点可以保持传输延迟直到从第三节点接收到随后的时钟同步消息为止,以及/或者第一节点可以基于更新的时钟同步消息来更新传输延迟。
如图3C并且通过附图标记328所进一步示出,第二节点可以确定由第三节点发送的第二响应消息的到达时间。类似于如以上关于附图标记324所描述的,第二节点可以接收与由第三节点发送的第二响应消息相对应的帧、确定第二响应消息的到达时间,并且本地存储第二响应消息的到达时间。在一些示例中,第二节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第三节点标识为第二响应消息的发送方。在一些示例中,第二节点可以基于相应帧的有效载荷字段来确定第二响应消息的发送时间、原始消息的到达时间和/或第一响应消息的到达时间。第二节点可以本地存储第二响应消息的到达时间、第二响应消息的发送时间和/或第一响应消息的到达时间,以用于进一步处理。在一些示例中,第二节点可以本地存储原始消息相对于第三节点的到达时间。
如图3C并且通过附图标记330所进一步示出的,第二节点可以确定与第三节点的传输延迟(例如,Delayn→2)。类似于如以上关于附图标记326所描述的,第二节点可以基于第一响应消息的发送时间、第一响应消息的到达时间、第二响应消息的发送时间和/或第二响应消息的到达时间来确定传输延迟。在一些示例中,第二节点可以根据以上等式(1)中描述的关系来确定传输延迟。另外地或可替选地,第二节点可以基于第二响应消息的发送时间和第二响应消息的到达时间来确定传输延迟。在一些示例中,第二节点可以基于传输延迟来使与第三节点的时钟同步(例如,双向同步)被执行。在一些示例中,第二节点可以本地存储与第三节点的传输延迟,以用作为与第三节点交换的未来消息提供参考。第二节点可以保持传输延迟直到从第三节点接收到随后的时钟同步消息为止,以及/或者第二节点可以基于更新的时钟同步消息来更新传输延迟。
在一些实现方式中,第一节点、第二节点和/或第三节点可以被配置成根据时钟同步调度来交换消息(例如,原始消息、响应消息等)。例如,时钟同步调度可以(例如,基于相应的唯一标识符)标识通信总线的节点,并且限定节点彼此同步的序列、次序、模式和/或例程。在一些示例中,可以基于节点的优先级的相应度量来限定时钟同步调度。例如,可以基于与节点相关联的操作的类型、节点的唯一标识符(例如,由节点发送的帧的标识符字段的显性位和/或隐性位的组合)等来确定节点的优先级的度量。在时钟同步期间,节点可以参考时钟同步调度,并且以与优先级的相应度量相对应的次序来确定与其他节点的传输延迟。在一些示例中,时钟同步调度可以是固定的(例如,在制造时或制造之后等指定的)。在一些示例中,时钟同步调度可以是根据关联系统的环境因素、关联系统的操作条件、节点的相应操作等的变化可调整的。
如图3D并且通过附图标记332所示,通信总线的节点(例如,第一节点、第二节点和/或第三节点)可以使结合先前确定的传输延迟中的一个或更多个来执行动作。如以上所描述的,节点可以基于相应的传输延迟使与通信总线的其他节点的时钟同步(例如,经由单向同步和/或双向同步)被执行。在一些示例中,节点可以使与各个传输延迟有关的信息的记录被生成并且存储在本地存储装置等中。在一些示例中,节点可以使相应的传输延迟的索引被生成并且存储在本地存储装置和/或可以与通信总线的其他节点共享并且被通信总线的其他节点所引用的另一存储装置中。另外地或可替选地,节点可以监测传输延迟的不一致。例如,节点可以将先前记录的传输延迟与随后观察到的传输延迟进行比较,并且基于确定随后观察到的传输延迟与先前记录的传输延迟相差阈值量来识别不一致。在一些示例中,节点可以基于识别到传输延迟的不一致来开始进行时钟同步。
以这种方式,(多个)实现方式300可以显著减少为了在通信总线(例如,CAN总线)内执行时钟同步而交换的消息的数目,而不会损害认证并且不会对准确度造成不利影响。例如,在具有n个节点的通信总线中,(多个)实现方式300可以实现具有n条消息而不是像当前的双向同步过程那样的n(n-1)条消息的双向时钟同步。通过使用较少的消息,(多个)实现方式300可以在较短的时间段内完成时钟同步,并且在通信总线上花费的时间显著减少。(多个)实现方式300因此使得通信总线能够用于关联系统的其他重要操作。另外,通过使用较少的消息,(多个)实现方式300减少了由于交换过多消息而引起的对错误的敏感性。此外,通过使用较少的消息并且在通信总线上花费更少的时间,(多个)实现方式300节省了可以以其他方式用于执行时钟同步的资源(例如,处理器资源、存储器资源、收发器资源、总线资源等)。
如以上所指示的,图3A-图3D仅作为示例提供。其他示例是可能的,并且可能与关于图3A至图3D描述的示例不同。
图4A-图4B是同步系统的实现方式400的图。如图4A-图4B所示,实现方式400包括经由通信总线(例如,CAN总线)互连的第一节点(例如,节点1)、第二节点(例如,节点2)和第三节点(例如,节点n)。图4A-图4B呈现了由第一节点、第二节点和/或第三节点执行的以用于(例如,经由四向同步)执行时钟同步的一个或更多个功能。
如图4A并且通过附图标记402所示,第一节点经由通信总线向第二节点发送用于执行时钟同步的第一消息,并且本地存储第一消息的发送时间。第一消息专门意在用于第二节点。第一消息的帧包括标识符字段,该标识符字段具有将第一节点标识为第一消息的发送方以及/或者将第二节点标识为第一消息的预期接收方的信息。
如图4A并且通过附图标记404所进一步示出,第二节点确定由第一节点发送的第一消息的到达时间。例如,第二节点接收由第一节点发送的第一消息、确定第一消息的到达时间,并且本地存储第一消息的到达时间。第二节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息将第一节点标识为第一消息的发送方。
如图4A并且通过附图标记406所进一步示出,第一节点经由通信总线向第二节点发送第二消息。类似于如以上关于附图标记402所描述的,第二消息专门意在用于第二节点。第二消息的帧包括:具有将第一节点标识为第二消息的发送方的信息的标识符字段,以及具有指示第一消息的发送时间的信息的有效载荷字段。
如图4A并且通过附图标记408所进一步示出,第二节点确定与第一节点的传输延迟(例如,Delay1→2)。例如,第二节点基于第一消息的发送时间和第一消息的到达时间来确定传输延迟。第二节点基于传输延迟使与第一节点的时钟同步被执行。
如图4A并且通过附图标记410所进一步示出,第一节点经由通信总线将用于执行时钟同步的第三消息发送至第三节点。第三消息专门意在用于第三节点。类似于如以上关于附图标记402所描述的,第三消息的帧包括标识符字段,该标识符字段具有将第一节点标识为第三消息的发送方以及/或者将第三节点标识为第三消息的预期接收方的信息。
如图4A并且通过附图标记412所进一步示出,第三节点确定由第一节点发送的第三消息的到达时间。类似于如以上关于附图标记404所描述的,第三节点接收由第一节点发送的第三消息、确定第三消息的到达时间,并且本地存储第三消息的到达时间。第三节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第一节点标识为第三消息的发送方。
如图4A并且通过附图标记414所进一步示出,第一节点经由通信总线向第三节点发送第四消息。类似于如以上关于附图标记406所描述的,第四消息专门意在用于第三节点。第四消息的帧包括:具有将第一节点标识为第四消息的发送方的信息的标识符字段,以及具有指示第三消息的发送时间的信息的有效载荷字段。
如图4A并且通过附图标记416所进一步示出,第三节点确定与第一节点的传输延迟(例如,Delay1→n)。类似于如以上关于附图标记408所描述的,第三节点基于第三消息的发送时间和第三消息的到达时间来确定传输延迟。第三节点基于传输延迟使与第一节点的时钟同步被执行。
如图4B并且通过附图标记418所示,第二节点经由通信总线向第一节点发送第一响应消息。第一响应消息专门意在用于第一节点。第一响应消息的帧包括标识符字段,该标识符字段具有将第二节点标识为第一响应消息的发送方以及/或者将第一节点标识为第一响应消息的预期接收方的信息。
如图4B并且通过附图标记420所进一步示出,第一节点确定由第二节点发送的第一响应消息的到达时间。例如,第一节点接收与由第二节点发送的第一响应消息相对应的帧、确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。第一节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息,将第二节点标识为第一响应消息的发送方。
如图4B并且通过附图标记422所进一步示出,第二节点经由通信总线向第一节点发送第二响应消息。类似于如以上关于附图标记418所描述的,第二响应消息专门意在用于第一节点。第二响应消息的帧包括具有将第二节点标识为第二响应消息的发送方的信息的标识符字段以及具有指示第一响应消息的发送时间的信息的有效载荷字段。
如图4B并且通过附图标记424所进一步示出,第一节点确定与第二节点的传输延迟(例如,Delay2→1)。例如,第一节点基于第一消息的发送时间、第一消息的到达时间、第一响应消息的发送时间和/或第一响应消息的到达时间来确定传输延迟。第一节点根据以上等式(1)中描述的关系来确定传输延迟。第一节点基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。第一节点基于传输延迟来使与第二节点的时钟同步(例如,四向同步)被执行。
如图4B并且通过附图标记426所进一步示出,第三节点经由通信总线发送第三响应消息。第三响应消息专门意在用于第一节点。类似于如以上关于附图标记418所描述的,第三响应消息的帧包括标识符字段,该标识符字段具有将第三节点标识为第三响应消息的发送方以及/或者将第一节点标识为第三响应消息的预期接收方的信息。
如图4B并且通过附图标记428所进一步示出,第一节点确定由第三节点发送的第三响应消息的到达时间。类似于如以上关于附图标记420所描述的,第一节点接收与由第三节点发送的第三响应消息相对应的帧、确定第三响应消息的到达时间,并且存储第三响应消息的到达时间。第一节点基于由相应帧的标识符字段指示的唯一标识符和/或其他信息将第三节点标识为第三响应消息的发送方。
如图4B并且通过附图标记430所进一步示出,第三节点经由通信总线向第一节点发送第四响应消息。类似于如以上关于附图标记422所描述的,第四响应消息专门意在用于第一节点。第四响应消息的帧包括:具有将第三节点标识为第四响应消息的发送方的信息的标识符字段,以及具有指示第三响应消息的发送时间的信息的有效载荷字段。
如图4B并且通过附图标记432所进一步示出,第一节点确定与第三节点的传输延迟(例如,Delayn→1)。类似于如以上关于附图标记424所描述的,第一节点基于第三消息的发送时间、第三消息的到达时间、第四响应消息的发送时间和/或第四响应消息的到达时间来确定传输延迟。第一节点根据以上等式(1)中描述的关系来确定传输延迟。第一节点基于第三响应消息的发送时间和第三响应消息的到达时间来确定传输延迟。第一节点基于传输延迟来使与第三节点的时钟同步(例如,四向同步)被执行。
如以上所指示的,图4A-图4B被提供作为同步系统的实现方式。
图5A-图5D是本文中描述的同步系统的示例实现方式500的图。参照图5A-图5D,(多个)示例实现方式500可以包括经由通信总线(例如,CAN总线)互连的第一节点(例如,节点1)、第二节点(例如,节点2)和第三节点(例如,表示一个或更多个另外的节点的节点n)。图5A-图5D呈现了可以由第一节点、第二节点和/或第三节点执行的以用于(例如,经由四向同步等)执行时钟同步的一个或更多个功能。类似于如以上关于(多个)实现方式300所描述的,第一节点、第二节点和/或第三节点可以包括关联系统的传感器、致动器、控制器和/或另一装置。在一些示例中,第一节点、第二节点和/或第三节点可以执行与交通工具系统、工业系统、医疗系统、机器人系统和/或另一基于CAN的系统相关联的操作。
如图5A以及通过附图标记502所示,第一节点可以经由通信总线发送用于执行时钟同步的第一消息并且本地存储第一消息的发送时间。第一消息可以意在用于通信总线的多个节点,并且可以包括可以用于同时执行与所述多个节点的时钟同步的信息。第一消息的帧可以包括标识符字段,该标识符字段具有使得第二节点和/或第三节点能够将第一节点标识为第一消息的发送方的信息。在一些示例中,帧可以标识帧所意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保第一消息被第二节点和/或第三节点正确接收。第一节点可以发送第一消息以周期性地和/或间歇地发起时钟同步。
如图5A以及通过附图标记504所进一步示出,第二节点可以确定由第一节点发送的第一消息的到达时间。例如,第二节点可以接收由第一节点发送的第一消息,确定第一消息的到达时间,并且本地存储第一消息的到达时间。在一些示例中,第二节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第一节点标识为第一消息的发送方,并且将第一节点与第一消息的到达时间相关联。
如图5A以及通过附图标记506所进一步示出,第一节点可以经由通信总线发送第二消息。类似于如以上关于附图标记502所描述的,第二消息可以意在用于通信总线的多个节点。第二消息的帧可以包括:具有将第一节点标识为第二消息的发送方的信息的标识符字段,以及具有指示第一消息的发送时间的信息的有效载荷字段。例如,帧可以指示使得第二节点能够确定与第一节点的传输延迟(例如,Delay1→2)以及使得第三节点能够确定与第一节点的传输延迟(例如,Delay1→n)的信息。
如图5A以及通过附图标记508所进一步示出,第二节点可以确定与第一节点的传输延迟(例如,Delay1→2)。例如,第二节点可以基于第一消息的发送时间和第一消息的到达时间(例如,基于第一消息的发送时间与到达时间之间的差)来确定传输延迟。第二节点可以基于与第二消息相关联的帧的有效载荷字段来确定第一消息的发送时间。在一些示例中,第二节点可以基于传输延迟使与第一节点的时钟同步被执行。在一些示例中,第二节点可以本地存储与第一节点的传输延迟,以用作为与第一节点交换的未来消息提供参考。第二节点可以保持传输延迟直到从第一节点接收到随后的时钟同步消息为止,以及/或者第二节点可以基于更新的时钟同步消息来更新传输延迟。
如图5A以及通过附图标记510所进一步示出,第三节点可以确定由第一节点发送的第一消息的到达时间。类似于如以上关于附图标记504所描述的,第三节点可以确定第一消息的到达时间,并且本地存储第一消息的到达时间。在一些示例中,第三节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第一节点标识为第一消息的发送方,并且将第一节点与第一消息的到达时间相关联。
如图5A以及通过附图标记512所进一步示出,第三节点可以确定与第一节点的传输延迟(例如,Delay1→n)。类似于如以上关于附图标记508所描述的,第三节点可以基于第一消息的发送时间和第一消息的到达时间来确定传输延迟。第三节点可以基于与第二消息相关联的帧的有效载荷字段来确定第一消息的发送时间。在一些示例中,第三节点可以基于传输延迟使与第一节点的时钟同步被执行。在一些示例中,第三节点可以本地存储与第一节点的传输延迟,以用作为与第一节点交换的未来消息提供参考。第三节点可以保持传输延迟,直到从第一节点接收到随后的时钟同步消息为止,以及/或者基于更新的时钟同步消息来更新传输延迟。
如图5B以及通过附图标记514所示,第二节点可以经由通信总线发送第一响应消息,并且本地存储第一响应消息的发送时间。第一响应消息可以意在作为对由通信总线的第一节点发送的一组原始消息(例如,第一消息和/或第二消息)的响应,作为通信总线的第三节点的原始消息和/或作为通信总线的一个或更多个其他节点的原始消息。例如,第一响应消息可以包括可以用于同时执行与第一节点和第三节点的时钟同步的信息。第一响应消息的帧可以包括标识符字段,该标识符字段具有使得第一节点和/或第三节点能够将第二节点标识为第一响应消息的发送方的信息。在一些示例中,帧可以标识帧意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保帧被第一节点和/或第三节点正确接收。
如图5B以及通过附图标记516所进一步示出,第一节点可以确定由第二节点发送的第一响应消息的到达时间。例如,第一节点可以接收与由第二节点发送的第一响应消息,确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。在一些示例中,第一节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第二节点标识为第一响应消息的发送方,并且将第二节点与第一响应消息的到达时间相关联。
如图5B以及通过附图标记518所示,第二节点可以经由通信总线发送第二响应消息。类似于如以上关于附图标记514所描述的,第二响应消息可以意在用于通信总线的多个节点。第二响应消息的帧可以包括:具有将第二节点标识为第二响应消息的发送方的信息的标识符字段,以及具有指示第一响应消息的发送时间的信息的有效载荷字段。例如,帧可以指示使得第一节点能够确定与第二节点的传输延迟(例如,Delay2→1)并且使得第三节点能够确定与第二节点的传输延迟(例如,Delay2→n)的信息。
如图5B以及通过附图标记520所进一步示出,第一节点可以确定与第二节点的传输延迟(例如,Delay2→1)。例如,第一节点可以基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。第一节点可以基于与第二响应消息相关联的帧的有效载荷字段来确定第一响应消息的发送时间。在一些示例中,第一节点可以基于传输延迟使与第二节点的时钟同步被执行。在一些示例中,第一节点可以本地存储与第二节点的传输延迟,以用作为与第二节点交换的未来消息提供参考。第一节点可以保持传输延迟直到从第二节点接收到随后的时钟同步消息为止,以及/或者第一节点可以基于更新的时钟同步消息来更新传输延迟。
如图5B以及通过附图标记522所进一步示出,第三节点可以确定由第二节点发送的第一响应消息的到达时间。类似于如以上关于附图标记516所描述的,第三节点可以确定第一响应消息的到达时间,并且本地存储第一响应消息的到达时间。在一些示例中,第三节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第二节点标识为第一响应消息的发送方,并且将第二节点与第一响应消息的到达时间相关联。
如图5B以及通过附图标记524所进一步示出,第三节点可以确定与第二节点的传输延迟(例如,Delay2→n)。类似于如以上关于附图标记520所描述的,第三节点可以基于第一响应消息的发送时间和第一响应消息的到达时间来确定传输延迟。第三节点可以基于与第二响应消息相关联的帧的有效载荷字段来确定第一响应消息的发送时间。在一些示例中,第三节点可以基于传输延迟使与第二节点的时钟同步被执行。在一些示例中,第三节点可以本地存储与第二节点的传输延迟,以用作为与第二节点交换的未来消息提供参考。第三节点可以保持传输延迟直到从第二节点接收到随后的时钟同步消息为止,以及/或者第三节点可以基于更新的时钟同步消息来更新传输延迟。
如图5C以及通过附图标记526所示,第三节点可以经由通信总线发送第三响应消息,并且本地存储第三响应消息的发送时间。类似于如以上关于附图标记514所描述的,第三响应消息可以意在作为对由通信总线的第一节点发送的一组原始消息(例如,第一消息和/或第二消息)的响应,作为对由通信总线的第二节点发送的一组原始消息(例如,第一响应消息和/或第二响应消息)的响应,以及/或者作为通信总线的一个或更多个其他节点的原始消息。例如,第三响应消息可以包括可以用于同时执行与第一节点和第二节点的时钟同步的信息。第三响应消息的帧可以包括标识符字段,该标识符字段具有使得第一节点和/或第二节点能够将第三节点标识为第三响应消息的发送方的信息。在一些示例中,帧可以标识该帧意在用于的一个节点或一组节点。另外地或可替选地,可以对帧进行认证以确保帧被第一节点和/或第二节点正确接收。
如图5C以及通过附图标记528所进一步示出,第一节点可以确定由第三节点发送的第三响应消息的到达时间。类似于如以上关于附图标记516所描述的,第一节点可以接收由第三节点发送的第三响应消息、确定第三响应消息的到达时间,并且本地存储第三响应消息的到达时间。在一些示例中,第一节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第三节点标识为第三响应消息的发送方,并且将第三节点与第三响应消息的到达时间相关联。
如图5C以及通过附图标记530所示,第三节点可以经由通信总线发送第四响应消息。类似于如以上关于附图标记518所描述的,第四响应消息可以意在用于通信总线的多个节点。第四响应消息的帧可以包括具有将第三节点标识为第四响应消息的发送方的信息的标识符字段以及具有指示第三响应消息的发送时间的信息的有效载荷字段。例如,帧可以指示使得第一节点能够确定与第三节点的传输延迟(例如,Delayn→1)并且使得第二节点能够确定与第三节点的传输延迟(例如,Delayn→2)的信息。
如图5C并且通过附图标记532所进一步示出,第一节点可以确定与第三节点的传输延迟(例如,Delayn→1)。类似于如以上关于附图标记520所描述的,第一节点可以基于第三响应消息的发送时间和第三响应消息的到达时间来确定传输延迟。第一节点可以基于与第四响应消息相关联的帧的有效载荷字段来确定第三响应消息的发送时间。在一些示例中,第一节点可以基于传输延迟使与第三节点的时钟同步被执行。在一些示例中,第一节点可以本地存储与第三节点的传输延迟,以用作为与第三节点交换的未来消息提供参考。第一节点可以保持传输延迟,直到从第三节点接收到随后的时钟同步消息为止,以及/或者基于更新的时钟同步消息来更新传输延迟。
如图5C以及通过附图标记534所进一步示出,第二节点可以确定由第三节点发送的第三响应消息的到达时间。类似于如以上关于附图标记528所描述的,第二节点可以确定第三响应消息的到达时间,并且本地存储第三响应消息的到达时间。在一些示例中,第二节点可以基于由相应帧的标识符字段指示的唯一标识符和/或其他信息来将第三节点标识为第三响应消息的发送方,并且将第三节点与第三响应消息的到达时间相关联。
如图5C以及通过附图标记536所进一步示出,第二节点可以确定与第三节点的传输延迟(例如,Delayn→2)。类似于如以上关于附图标记532所描述的,第二节点可以基于第三响应消息的发送时间和第三响应消息的到达时间来确定传输延迟。第二节点可以基于与第四响应消息相关联的帧的有效载荷字段来确定第三响应消息的发送时间。在一些示例中,第二节点可以基于传输延迟使与第三节点的时钟同步被执行。在一些示例中,第二节点可以本地存储与第三节点的传输延迟,以用作为与第三节点交换的未来消息提供参考。第二节点可以保持传输延迟直到从第三节点接收到随后的时钟同步消息为止,以及/或者第二节点可以基于更新的时钟同步消息来更新传输延迟。
在一些实现方式中,第一节点、第二节点和/或第三节点可以被配置成根据时钟同步调度来交换消息。如以上关于(多个)实现方式300所描述的,时钟同步调度可以标识通信的节点,并且限定通信总线的节点要通过其彼此同步的序列、次序、模式和/或例程。在一些示例中,可以基于各个节点的优先级的度量来限定时钟同步调度。例如,可以基于与节点相关联的操作的类型、节点的唯一标识符等来确定节点的优先级的度量。在时钟同步期间,节点可以参考时钟同步调度,并且按照与相应优先级的度量对应的次序来确定与其他节点的传输延迟。在一些示例中,时钟同步调度可以是固定的或者可以是基于关联系统的环境因素、关联系统的操作条件、节点的相应操作等的变化可调整的。
如图5D以及通过附图标记538所示,如以上关于附图标记332所描述的,通信总线的节点(例如,第一节点、第二节点和/或第三节点)可以结合先前确定的传输延迟中的一个或更多个来执行动作。例如,节点可以基于与其他节点的各个传输延迟来使与通信总线的其他节点的时钟同步(例如,通过四向同步)被执行。在一些示例中,节点可以使和与其他节点的各个传输延迟有关的信息的记录被生成并且/或者被存储在本地存储装置等中。在一些示例中,节点可以使与其他节点的各个传输延迟的索引被生成并且/或者被存储在本地存储装置和/或可以与通信总线的其他节点共享并且被通信总线的其他节点参考的另一存储装置中。另外地或可替选地,节点可以监测传输延迟的不一致,并且/或者基于识别到传输延迟的不一致来使时钟同步被发起。
以这种方式,(多个)实现方式500可以显著减少为了在通信总线(例如,CAN总线)内执行时钟同步而交换的消息的数目,而不会损害认证并且不会对准确度造成不利影响。例如,在具有n个节点的通信总线中,(多个)实现方式500可以实现具有2n条消息而不是像当前的四向同步过程那样具有2n(n-1)条消息的四向时钟同步。通过使用较少的消息,(多个)实现方式500可以在较短的时间段内完成时钟同步,并且在通信总线上花费的时间显著减少。实现方式500因此使得通信总线能够用于关联系统的其他重要操作。另外,通过使用较少的消息,实现方式500减少了由于交换过多消息而引起的对错误的敏感性。此外,通过使用较少的消息并且在通信总线上花费更少的时间,实现方式500节省了可以以其他方式用于执行时钟同步的资源(例如,处理器资源、存储器资源、收发器资源、总线资源等)。
如以上所指示的,图5A-图5D仅作为示例提供。其他示例是可能的,并且可以与关于图5A至图5D描述的示例不同。
图6是其中可以实现本文中描述的系统和/或方法的示例环境600的图。如图6所示,环境600可以包括节点602,该节点602包括处理器604和连接至通信总线608(例如,CAN总线)的收发器606(例如,Tx/Rx)。
节点602包括与例如基于以下数据来控制一个或更多个电气系统和/或电气子系统相关联的一个或更多个装置:由经由节点602的传感器接口部件(未示出)连接至节点602的传感器提供的传感器数据,用于控制经由节点的致动器接口部件(未示出)连接至节点602的致动器的控制数据等。在交通工具系统中,例如,节点602可以包括交通工具的ECU、ECM、PCM、TCM、BCM、CCM、CTM、GEM、BCM、SCM或另一类型的电气系统或电气子系统。
处理器604包括作为嵌入式系统运行以用于提供与节点602相关联的控制功能的装置(例如,一个或更多个集成电路)。例如,处理器604包括允许处理器604作为嵌入式系统运行的一个或更多个中央处理单元(CPU)、存储器和/或可编程输入/输出(I/O)外围装置。在一些示例中,处理器604可以向收发器606发送信息以及/或者从收发器606接收信息。
收发器606包括节点602可以经由其发送和接收信息的部件。例如,收发器606可以包括差分线路收发器或相似类型的部件。在一些示例中,收发器606包括:允许节点602经由通信总线608(例如,向另一节点)发送信息的发送(Tx)部件,以及/或者允许节点602经由通信总线608(例如,从类似于节点602的另一节点)接收信息的接收(Rx)部件。在一些示例中,收发器606可以包括用于在给定时间处启用Tx部件(用于发送信息)或Rx部件(用于接收信息)的线路驱动器。在一些示例中,收发器606可以是LIN收发器、CAN收发器、FlexRay收发器、以太网收发器或与另一类型的通信总线系统相关联的另一类型的收发器。在一些示例中,节点602可以包括多个不同类型的收发器606。
通信总线608包括用于携带来自节点602的信息或去往节点602的信息的总线。在一些示例中,通信总线608可以包括多个节点602经由其彼此连接的连接件(例如,包括一个或更多个端子、接线和/或连接器)。在一些示例中,通信总线608可以包括一组连接件,该组连接件中的每一个与一个或更多个节点602相关联。在一些示例中,通信总线608可以是CAN总线、CAN FD总线、CAN XL总线、LIN总线、FlexRay总线、以太网总线和/或其它类型的总线。在一些示例中,节点602的每个收发器606可以连接至关联的通信总线608。
图6所示的设备的数量和布置被提供作为示例。实际上,与图6所示的装置和/或部件相比,可以存在附加的装置和/或部件、更少的装置和/或部件、不同的装置和/或部件、或不同布置的装置和/或部件。例如,在一些实现方式中,环境600可以包括多个节点602,每个节点经由一个或更多个相关联的通信总线608连接。此外,图6所示的两个或更多个装置和/或部件可以在单个装置和/或部件内实现,或者图6中所示的单个装置和/或单个部件可以被实现为多个分布式装置和/或部件。另外地或可替选地,图6的一组装置和/或部件(例如,一个或更多个装置和/或部件)可以执行被描述为由图6的另一组装置和/或部件执行的一个或更多个功能。
图7是用于经由通信总线发送同步消息的示例处理700的流程图。在一些实现方式中,可以由通信总线(例如,CAN总线)的节点(例如,节点602、发送方装置等)来执行图7的一个或更多个处理框。在一些实现方式中,图7的一个或更多个处理框可以由通信总线的单个节点、一组节点或节点的子集来执行。
如图7所示,处理700可以包括经由通信总线发送第一组帧,其中,第一组帧指示第一组帧的发送时间(框702)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以经由通信总线发送第一组帧。在一些实现方式中,第一组帧可以指示该第一组帧的发送时间。
如图7中进一步示出的,处理700可以包括:在发送第一组帧之后,接收第二组帧,其中,第二组帧指示第一组帧相对于第一装置的到达时间、第三组帧相对于第一装置的到达时间以及第二组帧的发送时间(框704)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以在发送第一组帧之后接收第二组帧。在一些实现方式中,第二组帧可以指示第一组帧相对于第一装置的到达时间、第三组帧相对于第一装置的到达时间以及第二组帧的发送时间。
如图7中进一步示出的,处理700可以包括基于第二组帧来识别第一组帧的到达时间和第二组帧的发送时间(框706)。例如,如以上描述的,节点(例如,使用处理器604、收发器606等)可以基于第二组帧来识别第一组帧的到达时间和第二组帧的发送时间。
如图7中进一步示出的,处理700可以包括基于第一组帧的到达时间和第二组帧的发送时间来确定与第一装置相关联的传输延迟(框708)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以基于第一组帧的到达时间和第二组帧的发送时间来确定与第一装置相关联的传输延迟。
处理700可以包括另外的实现方式,例如以下描述的和/或与本文其他地方描述的一个或更多个其他处理有关的任何单个实现方式或实现方式的任何组合。
在第一实现方式中,第一组帧可以包括单个帧,并且单个帧可以指示该单个帧的发送时间。
在第二实现方式中,第一组帧可以包括第一帧和第二帧。在一些实现方式中,第二帧可以在第一帧之后被发送并且指示第一帧的发送时间。
在第三实现方式中,单独地或者与第一实现方式和第二实现方式中的一个或更多个结合,第二组帧可以包括单个帧,并且单个帧可以指示第一组帧的到达时间、第三组帧的到达时间以及单个帧的发送时间。
在第四实现方式中,单独地或者与第一实现方式至第三实现方式中的一个或更多个结合,第二组帧可以包括第一帧和第二帧。在一些实现方式中,第一帧可以指示第一组帧的到达时间和第三组帧的到达时间。在一些实现方式中,第二帧可以在第一帧之后被接收并且指示第一帧的发送时间。
在第五实现方式中,单独地或者与第一实现方式至第四实现方式中的一个或更多个结合,可以基于第二组帧中的帧的标识符字段或有效载荷字段中的一个或更多个来识别第一组帧的到达时间和第二组帧的发送时间。
在第六实现方式中,单独地或者与第一实现方式至第五实现方式中的一个或更多个结合,处理700还可以包括:在发送第一组帧之后,从第二装置接收第三组帧。在一些实现方式中,第三组帧可以指示第一组帧相对于第二装置的到达时间以及第三组帧的发送时间。在一些实现方式中,处理700还可以包括:基于第三组帧来识别第一组帧的到达时间和第三组帧的发送时间;以及基于第一组帧的到达时间和第三组帧的发送时间来确定与第二装置相关联的传输延迟。
在第七实现方式中,单独地或者与第一实现方式至第六实现方式中的一个或更多个结合,处理700还可以包括:根据时钟同步调度来确定第一装置或第二装置中的一个相对于第一装置中的剩余一个的优先级的度量;以及基于优先级的度量在确定与第一装置相关联的传输延迟或与第二装置相关联的传输延迟中的剩余一个之前确定与第一装置相关联的传输延迟或与第二装置相关联的传输延迟中的一个。
在第八实现方式中,单独地或者与第一实现方式至第七实现方式中的一个或更多个结合,处理700还可以包括:基于传输延迟来使发送方装置与第一装置之间的时钟同步被执行。
尽管图7示出了处理700的示例框,但是在一些实现方式中,相比于图7所描绘的框,处理700可以包括附加框、更少的框、不同的框、或不同地布置的框。另外地或可替选地,处理700的框中的两个或更多个框可以并行执行。
图8是用于经由通信总线接收同步消息的示例处理800的流程图。在一些实现方式中,图8的一个或更多个处理框可以由通信总线(例如,CAN总线)的节点(例如,节点602、接收方装置等)来执行。在一些实现方式中,图8的一个或更多个处理框可以由通信总线的单个节点、一组节点或节点的子集来执行。
如图8所示,处理800可以包括:经由通信总线接收第一组帧,其中,第一组帧指示第一组帧的发送时间(框802)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以经由通信总线接收第一组帧。在一些实现方式中,第一组帧可以指示第一组帧的发送时间。
如图8中进一步示出的,处理800可以包括:经由通信总线接收第二组帧,其中,第二组帧指示第二组帧的发送时间和第一组帧相对于第二装置的到达时间(框804)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以经由通信总线接收第二组帧。在一些实现方式中,第二组帧可以指示第二组帧的发送时间和第一组帧相对于第二装置的到达时间。
如图8中进一步示出的,处理800可以包括:基于第一组帧的发送时间和第一组帧相对于接收方装置的到达时间来确定与第一装置相关联的第一传输延迟(框806)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以基于第一组帧的发送时间和第一组帧相对于接收方装置的到达时间来确定与第一装置相关联的第一传输延迟。
如图8中进一步示出的,处理800可以包括:基于第二组帧的发送时间和第二组帧相对于接收方装置的到达时间来确定与第二装置相关联的第二传输延迟(框808)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以基于第二组帧的发送时间和第二组帧相对于接收方装置的到达时间来确定与第二装置相关联的第二传输延迟。
如图8中进一步示出的,处理800可以包括:在接收到第一组帧和第二组帧之后,发送第三组帧,其中,第三组帧指示第一组帧的到达时间、第二组帧的到达时间和第三组帧的发送时间(框810)。例如,如以上所描述的,节点(例如,使用处理器604、收发器606等)可以在接收到第一组帧和第二组帧之后发送第三组帧。在一些实现方式中,第三组帧可以指示第一组帧的到达时间、第二组帧的到达时间以及第三组帧的发送时间。
处理800可以包括另外的实现方式,例如以下描述的任何单个实现方式、或实现方式的任何组合和/或与本文其他地方描述的一个或更多个其他处理相结合的实现方式。
在第一实现方式中,第三组帧可以包括单个帧。在一些实现方式中,单个帧可以指示第一组帧的到达时间、第二组帧的到达时间以及第三组帧的发送时间。
在第二实现方式中,第三组帧可以包括第一帧和第二帧。在一些实现方式中,第一帧可以指示第一组帧的到达时间和第二组帧的到达时间。在一些实现方式中,第二帧可以在第一帧之后被发送并且指示第一帧的发送时间。
在第三实现方式中,单独地或者与第一实现方式和第二实现方式中的一个或更多个结合,处理800还可以包括:根据时钟同步调度来确定第一装置或第二装置中的一个相对于第一装置或第二装置中的剩余一个的优先级的度量;以及基于优先级的度量来在确定第一传输延迟或第二传输延迟中的剩余一个之前确定第一传输延迟或第二传输延迟中的一个。
在第四实现方式中,单独地或者与第一实现方式至第三实现方式中的一个或更多个结合,处理800还可以包括:基于第一传输延迟,使接收方装置与第一装置之间的时钟同步被执行;以及基于第二传输延迟,使接收方装置与第二装置之间的时钟同步被执行。
尽管图8示出了处理800的示例框,但是在一些实现方式中,相比于图8所描绘的框,处理800可以包括附加框、更少的框、不同的框、或不同地布置的框。另外地或可替选地,处理800的框中的两个或更多个框可以被并行执行。
前述公开内容提供了说明和描述,但是并非意为穷举性的或者将实现方式限制为所公开的确实形式。修改和变化鉴于以上公开内容是可能的,或者可以根据实现方式的实践来获取。
如本文中使用的,术语“部件”旨在被广义地解释为硬件、固件或硬件和软件的组合。
明显的,本文中描述的系统和/或方法可以以硬件、固件或硬件和软件的组合的不同形式来实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为,应当理解的是,可以基于本文中的描述将软件和硬件设计成实现系统和/或方法。
即使在权利要求中限定了以及/或者在说明书中公开了特征的特定组合,这些组合也并非意在限制可能的实现方式的公开内容。实际上,这些特征中的许多特征可以以权利要求中未具体限定以及/或者说明书中未公开的方式组合。尽管所附每个从属权利要求可能直接取决于仅一个权利要求,但是可能的实现方式的公开内容包括结合权利要求组中的每个其他权利要求的每个从属权利要求。
除非对此明确地描述,否则本文中使用的元素、动作或指令均不应当被解释为关键的或必要的。而且,如本文中使用的,冠词“一种”和“一个”意在包括一个或更多个项,并且可以与“一个或更多个”互换使用。此外,如本文中使用的,术语“组”意在包括一个或更多个目(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或更多个”互换使用。在意指仅一项的情况下,使用术语“一个”或类似语言。而且,如本文中使用的,术语“具有”、“有”、“含有”等意在为开放式术语。另外,除非另有明确说明,否则短语“基于”意在表示“至少部分地基于”。
Claims (20)
1.一种接收方装置,包括:
接收器;以及
一个或更多个处理器,其被配置成:
经由通信总线从第一装置接收第一组帧,其中,所述第一组帧指示所述第一组帧的发送时间;
经由所述通信总线从第二装置接收第二组帧,其中,所述第二组帧指示所述第二组帧的发送时间和所述第一组帧相对于所述第二装置的到达时间;
基于所述第一组帧的发送时间和所述第一组帧相对于所述接收方装置的到达时间,确定与所述第一装置相关联的第一传输延迟;
基于所述第二组帧的发送时间和所述第二组帧相对于所述接收方装置的到达时间,确定与所述第二装置相关联的第二传输延迟;以及
在接收到所述第一组帧和所述第二组帧之后,发送第三组帧,其中,所述第三组帧指示所述第一组帧的到达时间、所述第二组帧的到达时间以及所述第三组帧的发送时间。
2.根据权利要求1所述的接收方装置,其中,所述第三组帧包括单个帧;并且
其中,所述单个帧指示所述第一组帧的到达时间、所述第二组帧的到达时间以及所述第三组帧的发送时间。
3.根据权利要求1所述的接收方装置,其中,所述第三组帧包括第一帧和第二帧;
其中,所述第一帧指示所述第一组帧的到达时间和所述第二组帧的到达时间;并且
其中,所述第二帧要在所述第一帧之后被发送并且指示所述第一帧的发送时间。
4.根据权利要求1所述的接收方装置,其中,所述一个或更多个处理器还被配置成:
根据时钟同步调度,确定所述第一装置或所述第二装置中的一个相对于所述第一装置或所述第二装置中的剩余一个的优先级的度量;以及
基于所述优先级的度量,在确定所述第一传输延迟或所述第二传输延迟中的剩余一个之前确定所述第一传输延迟或所述第二传输延迟中的一个。
5.根据权利要求1所述的接收方装置,其中,所述一个或更多个处理器还被配置成:
基于所述第一传输延迟来使所述接收方装置与所述第一装置之间的时钟同步被执行;以及
基于所述第二传输延迟来使所述接收方装置与所述第二装置之间的时钟同步被执行。
6.一种用于时钟同步的方法,包括:
由第一装置经由控制器局域网络CAN总线从第二装置接收第一组帧,其中,所述第一组帧指示所述第一组帧的发送时间;
在接收到所述第一组帧之后,由所述第一装置经由所述CAN总线从第三装置接收第二组帧,其中,所述第二组帧指示所述第二组帧的发送时间和所述第一组帧相对于所述第三装置的到达时间;
由所述第一装置基于所述第一组帧的发送时间和所述第一组帧相对于所述第一装置的到达时间,来确定与所述第二装置相关联的第一传输延迟;
由所述第一装置基于所述第二组帧的发送时间和所述第二组帧相对于所述第一装置的到达时间,来确定与所述第三装置相关联的第二传输延迟;以及
在接收到所述第一组帧和所述第二组帧之后,由所述第一装置发送第三组帧,其中,所述第三组帧指示所述第一组帧的到达时间、所述第二组帧的到达时间以及所述第三组帧的发送时间。
7.根据权利要求6所述的方法,其中,所述第一组帧包括单个帧;并且
其中,所述第二组帧包括单个帧。
8.根据权利要求6所述的方法,其中,所述第一组帧包括第一帧和第二帧;并且
其中,所述第二帧要在所述第一帧之后被接收并且指示所述第一帧的发送时间。
9.根据权利要求6所述的方法,其中,所述第二组帧包括第一帧和第二帧;
其中,所述第一帧指示所述第一组帧相对于所述第三装置的到达时间;并且
其中,所述第二帧要在所述第一帧之后被接收并且指示所述第一帧的发送时间。
10.根据权利要求6所述的方法,还包括:
根据时钟同步调度,确定所述第二装置或所述第三装置中的一个相对于所述第二装置或所述第三装置中的剩余一个的优先级的度量;以及
基于所述优先级的度量,在确定所述第一传输延迟或所述第二传输延迟中的剩余一个之前确定所述第一传输延迟或所述第二传输延迟中的一个。
11.根据权利要求6所述的方法,还包括:
基于所述第一传输延迟来使所述第一装置与所述第二装置之间的时钟同步被执行;以及
基于所述第二传输延迟来使所述第一装置与所述第三装置之间的时钟同步被执行。
12.一种发送方装置,包括:
发送器;以及
一个或更多个处理器,其被配置成:
经由通信总线发送第一组帧,其中,所述第一组帧指示所述第一组帧的发送时间;
在发送所述第一组帧之后,从第一装置接收第二组帧,其中,所述第二组帧指示所述第一组帧相对于所述第一装置的到达时间、第三组帧相对于所述第一装置的到达时间以及所述第二组帧的发送时间;
基于所述第二组帧来识别所述第一组帧的到达时间和所述第二组帧的发送时间;以及
基于所述第一组帧的到达时间和所述第二组帧的发送时间,确定与所述第一装置相关联的传输延迟。
13.根据权利要求12所述的发送方装置,其中,所述第一组帧包括单个帧;并且
其中,所述单个帧指示所述单个帧的发送时间。
14.根据权利要求12所述的发送方装置,其中,所述第一组帧包括第一帧和第二帧;并且
其中,所述第二帧要在所述第一帧之后被发送并且指示所述第一帧的发送时间。
15.根据权利要求12所述的发送方装置,其中,所述第二组帧包括单个帧;并且
其中,所述单个帧指示所述第一组帧的到达时间、所述第三组帧的到达时间以及所述单个帧的发送时间。
16.根据权利要求12所述的发送方装置,其中,所述第二组帧包括第一帧和第二帧;并且
其中,所述第一帧指示所述第一组帧的到达时间和所述第三组帧的到达时间;并且
其中,所述第二帧要在所述第一帧之后被接收并且指示所述第一帧的发送时间。
17.根据权利要求12所述的发送方装置,其中,基于所述第二组帧中的帧的标识符字段或有效载荷字段中的一个或更多个来识别所述第一组帧的到达时间和所述第二组帧的发送时间。
18.根据权利要求12所述的发送方装置,其中,所述一个或更多个处理器还被配置成:
在发送所述第一组帧之后,从第二装置接收所述第三组帧,其中,所述第三组帧指示所述第一组帧相对于所述第二装置的到达时间和所述第三组帧的发送时间;
基于所述第三组帧来识别所述第一组帧的到达时间和所述第三组帧的发送时间;以及
基于所述第一组帧的到达时间和所述第三组帧的发送时间,确定与所述第二装置相关联的传输延迟。
19.根据权利要求12所述的发送方装置,其中,所述一个或更多个处理器还被配置成:
根据时钟同步调度,确定所述第一装置或第二装置中的一个相对于所述第一装置或所述第二装置中的剩余一个的优先级的度量;以及
基于所述优先级的度量,在确定与所述第一装置相关联的传输延迟或与所述第二装置相关联的传输延迟中的剩余一个之前确定与所述第一装置相关联的传输延迟或与所述第二装置相关联的传输延迟中的一个。
20.根据权利要求12所述的发送方装置,其中,所述一个或更多个处理器还被配置成:
基于所述传输延迟来使所述发送方装置与所述第一装置之间的时钟同步被执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/588,545 | 2019-09-30 | ||
US16/588,545 US10797854B1 (en) | 2019-09-30 | 2019-09-30 | Synchronization system for controller area networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583678A true CN112583678A (zh) | 2021-03-30 |
CN112583678B CN112583678B (zh) | 2022-07-22 |
Family
ID=72664232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011040373.3A Active CN112583678B (zh) | 2019-09-30 | 2020-09-28 | 接收方装置、发送方装置以及用于时钟同步的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10797854B1 (zh) |
CN (1) | CN112583678B (zh) |
DE (1) | DE102020125267A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826814A (zh) * | 2022-04-15 | 2022-07-29 | 湖南恩智测控技术有限公司 | 基于不同通信总线之间的数据传输方法和数据传输设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1706124A (zh) * | 2003-07-11 | 2005-12-07 | 三星电子株式会社 | 移动通信系统中发送语音数据的同步方法和系统 |
CN101022329A (zh) * | 2006-02-15 | 2007-08-22 | 华为技术有限公司 | 一种用于数字多媒体广播的信号传输方法和系统 |
CN101631013A (zh) * | 2008-07-17 | 2010-01-20 | 大唐移动通信设备有限公司 | 接入网时钟同步的方法、设备及系统 |
CN101631016A (zh) * | 2009-04-14 | 2010-01-20 | 华中科技大学 | 一种现场总线的时间同步方法 |
CN101958745A (zh) * | 2009-07-20 | 2011-01-26 | 华为技术有限公司 | 实现时间同步的方法、装置及系统 |
CN102013931A (zh) * | 2009-09-08 | 2011-04-13 | 中兴通讯股份有限公司 | 时间同步方法及系统、从属定时设备及主定时设备 |
CN104333429A (zh) * | 2014-10-22 | 2015-02-04 | 小米科技有限责任公司 | 实现时钟同步的方法及装置 |
CN108650051A (zh) * | 2018-05-10 | 2018-10-12 | 西安电子科技大学 | 通用全硬件一步式1588的时钟同步装置及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405275B1 (en) * | 1998-06-15 | 2002-06-11 | Texas Instruments Incorporated | IEEE1394 common isochronous packet (CIP) enhancements for host controllers |
US8363681B2 (en) * | 2008-10-16 | 2013-01-29 | Entropic Communications, Inc. | Method and apparatus for using ranging measurements in a multimedia home network |
US8692937B2 (en) * | 2010-02-25 | 2014-04-08 | Silicon Image, Inc. | Video frame synchronization |
US8675629B2 (en) * | 2011-06-27 | 2014-03-18 | General Motors Llc | Timing adjustment for extending the wireless range of a vehicle telematics unit |
JP5915379B2 (ja) * | 2012-05-25 | 2016-05-11 | 富士通株式会社 | 伝送装置および伝送方法 |
US9407573B2 (en) * | 2013-08-29 | 2016-08-02 | Mentor Graphics Corporation | Bandwidth control in a controller area network (CAN) |
US11190989B2 (en) * | 2018-05-22 | 2021-11-30 | Apple Inc. | Mobility management for inter-gNB (next generation node-b) handover in new radio (NR) systems |
-
2019
- 2019-09-30 US US16/588,545 patent/US10797854B1/en active Active
-
2020
- 2020-09-28 CN CN202011040373.3A patent/CN112583678B/zh active Active
- 2020-09-28 DE DE102020125267.6A patent/DE102020125267A1/de active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1706124A (zh) * | 2003-07-11 | 2005-12-07 | 三星电子株式会社 | 移动通信系统中发送语音数据的同步方法和系统 |
CN101022329A (zh) * | 2006-02-15 | 2007-08-22 | 华为技术有限公司 | 一种用于数字多媒体广播的信号传输方法和系统 |
CN101631013A (zh) * | 2008-07-17 | 2010-01-20 | 大唐移动通信设备有限公司 | 接入网时钟同步的方法、设备及系统 |
CN101631016A (zh) * | 2009-04-14 | 2010-01-20 | 华中科技大学 | 一种现场总线的时间同步方法 |
CN101958745A (zh) * | 2009-07-20 | 2011-01-26 | 华为技术有限公司 | 实现时间同步的方法、装置及系统 |
CN102013931A (zh) * | 2009-09-08 | 2011-04-13 | 中兴通讯股份有限公司 | 时间同步方法及系统、从属定时设备及主定时设备 |
CN104333429A (zh) * | 2014-10-22 | 2015-02-04 | 小米科技有限责任公司 | 实现时钟同步的方法及装置 |
CN108650051A (zh) * | 2018-05-10 | 2018-10-12 | 西安电子科技大学 | 通用全硬件一步式1588的时钟同步装置及方法 |
Non-Patent Citations (1)
Title |
---|
李建彬等: "WCDMA中FDD模式下的RNC-Iub/Iur接口同步方案", 《电讯技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826814A (zh) * | 2022-04-15 | 2022-07-29 | 湖南恩智测控技术有限公司 | 基于不同通信总线之间的数据传输方法和数据传输设备 |
CN114826814B (zh) * | 2022-04-15 | 2023-09-01 | 湖南恩智测控技术有限公司 | 基于不同通信总线之间的数据传输方法和数据传输设备 |
Also Published As
Publication number | Publication date |
---|---|
US10797854B1 (en) | 2020-10-06 |
DE102020125267A1 (de) | 2021-04-01 |
CN112583678B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9252969B2 (en) | Method for transmitting data | |
JP4116384B2 (ja) | バスシステム上での情報伝送方法と装置およびバスシステム | |
US8775681B2 (en) | Cross-network synchronization of application S/W execution using flexray global time | |
CN103842981B (zh) | 总线系统中进行串行数据传输的方法和设备及方法的应用 | |
RU2596582C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
Berwanger et al. | FlexRay–the communication system for advanced automotive control systems | |
JP5814474B2 (ja) | 通信システムを駆動する方法 | |
JP2004535091A (ja) | 多数のttcan−バスのサイクルタイムを同期させる方法と装置及び対応するバスシステム | |
CN112583678B (zh) | 接收方装置、发送方装置以及用于时钟同步的方法 | |
JP2014053741A (ja) | 通信システム | |
US20130258906A1 (en) | Communication configuration and method for debugging, respectively for programming one or more participants of the communication configuration | |
JP4594124B2 (ja) | 通信システム及び通信方法 | |
WO2007024370A2 (en) | System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes | |
JP6410914B1 (ja) | シリアル通信システム | |
Seo et al. | Development of network gateway between CAN and FlexRay protocols for ECU embedded systems | |
JP4737049B2 (ja) | 通信システム及び電子制御装置 | |
Wey et al. | Enhancement of Controller Area Network (CAN) bus arbitration mechanism | |
Rahim et al. | Comparison of CAN, TTP and Flexray Communication Protocols | |
KR101301078B1 (ko) | 플렉스레이 네트워크 제어 시스템, 장치 및 방법 | |
Mathur et al. | An analytical study of communication protocols used in automotive industry | |
Elmenreich et al. | A comparison of fieldbus protocols: LIN 1.3, LIN 2.0, and TTP/A | |
Kammerer | TTCAN | |
Yellambalase et al. | Automatic node discovery in CAN (Controller Area Network) controllers using reserved identifier bits | |
Cena et al. | Protocols and Services in Controller Area Networks | |
Braun et al. | Integration of flexray into the SDL-model-driven development approach |
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 |