APAUTOSAR硬核技术(11):时间同步TimeSync

原创 汽车电子与软件 2025-02-19 09:20
全文约8,100字,建议收藏阅读

作者:刘向
出品:汽车电子与软件


 引言和功能概述

  

时间同步在不同应用程序和电子控制单元(ECU)之间至关重要,特别是在需要跨分布式系统关联不同事件的情况下。无论是为了跟踪这些事件的时间,还是为了在特定时间点触发它们,准确的时间同步都是实现系统协同工作的基础。

为此,AUTOSAR提供了一个时间同步API,使应用程序能够获取与其他实体或ECU同步的时间信息。有关所使用时间同步协议的格式、消息序列和语义的详细信息,请参阅AUTOSAR时间同步协议的协议要求规范(PRS)。

时间同步功能通过不同的“时间基础资源”(Time Base Resource,TBR)提供,这些资源根据其特性被分类为以下几种类型:

  • 同步主时间基础:用于提供标准时间源的主时间基础。

  • 偏移主时间基础:提供基于主时间基础的偏移时间。

  • 同步从属时间基础:从主时间基础中获取时间信息的从属时间基础。

  • 偏移从属时间基础:提供基于从属时间基础的偏移时间。

与Synchronized Time Base Manager(StbM)中的情况类似,时间同步模块(TS)提供的TBR与分布式系统中其他节点上的时间基础进行同步。应用程序通过TBR消费和管理时间信息,因此,TBR充当时间基础的代理,提供对同步时间基础的访问。这种抽象使得TS模块能够从“真实”的时间基础提供者中分离出来。   

时间同步作为自适应平台基础设施中的一个功能集群,通过一个库向应用程序提供C++ API,与应用程序链接,以便访问时间同步功能。

缩写/缩略词

描述

backupTimestamp

存储在持久性内存中的全局时间值,用于在启动时计算时间基准的初始值。

Clock Update Counter

表示时间基准更新的计数器值。

DST

夏令时,也称为日光节约时间,是在夏季月份将时钟提前的做法,使得傍晚的日光持续更长,同时牺牲正常的日出时间。

gPTP

通用精确时间协议(Generalized Precision Time Protocol)

NTP

网络时间协议(Network Time Protocol)

OS

操作系统(Operating System)

Pdelay

传播/路径延迟,如IEEE 802.1AS所述

PdelayReq

传播/路径延迟请求消息(Propagation / path delay request message)

PdelayResp

传播/路径延迟响应消息(Propagation / path delay response message)

PdelayRespFollowUp

传播/路径延迟后续消息(Propagation / path delay Follow-Up message)

Sync

时间同步消息(Time synchronization message)

PTP

精确时间协议(Precision Time Protocol)

roc

通过速率适应消除时间偏移的速率(Rate for time offset elimination via Rate Adaption)

rrc

校正时间基准本地实例的当前速率(Current rate for correcting the local instance of the Time Base)

StbM

同步时间基准管理器(Synchronized Time Base Manager)

TBR

时间基准资源(Time Base Resource)

TG

接收到的全局时间值(Received value of the Global Time)

TGStart

全局时间基准Time Master的当前时间(Current time of the global Time Base Time Master)

TGStop

全局时间基准Time Master的当前时间(Current time of the Global Time Base Time Master)

Timesync

时间同步。指通过时间同步协议/总线/消息进行时间同步的行为。

TLSync

在应用全局时间的新值之前,Time Base本地实例的值(Value of the local instance of the Time Base before the new value of the Global Time is applied)

TOStart

由关联Time Base的本地实例提供的当前校正时间(Current corrected time provided by the local instance of the associated Time Base)

TOStop

作为函数参数给出的偏移时间基准的当前偏移(Current Offset of the Offset Time Base given as function parameter)

TS

时间同步(Time Synchronization)

TSP

特定总线的时间同步提供者(A bus specific Time Synchronization Provider)

TSStart

由关联Time Base的本地实例提供的当前校正时间(Current corrected time provided by the local instance of the associated Time Base)

TSStop

由关联Time Base的本地实例提供的当前校正时间(Current corrected time provided by the local instance of the associated Time Base)

TV

虚拟本地时间的当前值(Current value of the Virtual Local Time)

TVStart

关联Time Base的虚拟本地时间的当前时间(Current time of the Virtual Local Time of the associated Time Base)

TVStop

关联Time Base的虚拟本地时间的当前时间(Current time of the Virtual Local Time of the associated Time Base)

TVSync

虚拟本地时间的值(Value of the Virtual Local Time)

UTC

协调世界时(Coordinated Universal Time)




#01
 什么是时间同步?

在自动驾驶汽车中,多个 ECU 需要协同工作以确保车辆的安全和高效运行。例如,摄像头 ECU 负责捕捉道路图像,雷达 ECU 负责检测障碍物,制动 ECU 负责控制刹车系统。这些 ECU 需要精确的时间同步,以确保它们能够在同一时间点共享和处理数据。   

假设摄像头 ECU 和雷达 ECU 的时间不同步,摄像头捕捉到的图像和雷达检测到的障碍物数据之间存在时间差异。这可能导致制动 ECU 接收到不一致的信息,从而无法正确判断何时刹车,最终可能导致交通事故。

通过时间同步,所有 ECU 的时钟都保持一致,摄像头捕捉到的图像和雷达检测到的障碍物数据能够在同一时间点被处理。这样,制动 ECU 可以准确地判断何时刹车,确保车辆的安全运行。



#02
 时间同步的目的

时间同步功能集群旨在确保分布式汽车系统中不同的电子控制单元(ECU)维护同步时间。这对于协调操作、准确记录事件和确保系统可靠性至关重要。
         

 

时间同步(Time Synchronization)是自适应平台基础中的一个功能集群。作为一个功能集群,时间同步通过库向应用程序提供统一的 C++ API,该库(rb-tsync-lib)通常作为 AP 工具链的一部分提供,并与应用程序链接以访问功能,以便其能够获取与其他实体/ECU 同步的时间信息。
         

 



#03
 时间同步模块的职责


在自适应平台中,时间同步功能集群支持跨多个目标 ECU 和/或自适应应用程序的功能分配,通过时间上的事件协调。协调可以包括事件的跟踪(在时间上)和在不同目标 ECU 上同时触发事件。
         

 

时间同步建立一个或多个时间基准资源(Timebase Resources),这些资源通过标准化网络协议 gPTP 与其他目标 ECU 进行同步,形成主或从时间参考。使用提供的 C++ API,自适应应用程序可以访问时间基准资源,因此可以协调其活动。   
         

 



#04
 间同步的架构 

ARA::TIME专注于解决车辆内部时间同步的核心难题,旨在为各类应用程序和电子控制单元(ECU)提供精准的时间一致性。这一能力对于确保车辆各项功能的协调运作及满足严格的时间要求至关重要。


具体而言,ARA::TIME提供以下关键服务:   

1. 分布式ECU时间同步(Time Synchronization across  distributed ECUs):确保车辆内部所有分布式ECU和应用程序的系统时间保持高度一致,从而消除时间差异带来的潜在问题。

2. 时钟管理(Clock Management):提供对系统时钟的全面访问权限,并允许在系统内部进行灵活的时间管理,以满足不同应用场景的需求。

3. 时间测量(Time Measurement):实现高精度的时间间隔测量,这对于监控软件组件的执行效率以及调度具有严格时间要求的任务至关重要。

4. 全局时间概念(Global Time):在涉及车对车(V2V)或车对基础设施(V2I)通信的场景中,ARA::TIME 推广全局时间概念,为这些功能提供一个共同的时间基准,确保通信的准确性和可靠性。

通过克服时间和同步方面的挑战,ARA::TIME 确保车辆的高级功能能够以协调、可靠且高效的方式运行,这是安全关键型汽车应用不可或缺的基础。



#05
 关键组成部分
       

 

一个时间同步网络由一个时间主节点和一个或多个时间从节点组成。时间主节点使用标准化的时间分配协议将全局时间基准(Global Timebase)分配给从节点。时间从节点使用接收到的时间值来更新和维护自己的本地时间(Local Time),随后可以通过时间同步 API 提供给自适应应用程序。

系统可以由多个时间主节点组成——每个节点服务于独立同步的网络。此外,可以配置时间网关节点在一个时间分配网络上作为从节点,在第二个网络上作为主节点,从而转发同步时间。
         

 

  • 全局时间主节点:该组件作为网络中时间同步的参考时钟。它生成同步消息,供其他 ECU(从节点)调整其本地时钟使用。   

  • 全局时间从节点:这些组件接收来自主节点的同步消息,并相应地调整他们的本地时钟。

  • 通信连接器:将时间同步组件绑定到底层通信网络(例如,Ethernet)。
         

 

  

#06
 通用精确时间协议 Generalized Precision Time Protocol
       

 

AUTOSAR 时间同步使用通用精确时间协议(gPTP)来同步时间主节点与从节点之间的时钟。

gPTP通过同步主节点(Time Master)和从节点(Time Slave)的时钟,实现全局一致的时间参考。

以下是gPTP实现主从时间同步的详细过程:

6.1 gPTP时间同步过程 


初始状态:主节点(Master)和从节点(Slave)的时钟起初是不同步的,也就是说它们之间没有任何时间关系。   

         

 

1. 同步请求(Sync Request)

1) 主节点发送同步请求消息给从节点,要求从节点进行同步(Sync)。

2) 从节点记录接收到同步请求的时间(t2),t2是从节点的本地时钟(未同步)。
         

 

2. 跟踪消息(Follow-up Message)

1) 主节点紧接着发送一个跟踪消息(Follow-up)给从节点,包含了主节点发送同步请求时的时间戳(t1)。

2) 从节点接收到跟踪消息后,记录下主节点发送同步请求的时间(t1)和自己接收到同步请求的时间(t2),然后计算两者之间的时差c,并执行初步同步。
         

 

3. 延迟请求(Delay Request)   

1) 为了测量消息的传播延迟,从节点向主节点发送延迟请求(Delay Request)消息,并记录下发送时的时间(t6)。

2) 主节点接收到延迟请求后,记录下接收时的时间(t7),然后将这个时间发送给从节点。
         

 

4. 延迟响应(Delay Response)

从节点接收到主节点的延迟响应消息后,利用t6t7的时间差计算消息传播延迟p。由于从节点的时钟已经因之前的同步引入了传播时间p,因此t6t7之间的差异实际上是2p(因为在发送延迟请求时又引入了一个p)。
         

 

         

 

   

计算与同步 


初始同步

  • 时间差计算:c=t2-t1在初始同步过程中,从节点利用t1和t2计算主从节点的时间差

  • 图中从节点接收到主节点发来Follow-up Message的时间是从节点自己本地时t3old(未同步)

  • 初步同步:t3new = t3old+c(初步同步时间 t3new = 从节点本地时间t3old +主从节点的时间差C )

  • 初步同步时间与实际的同步时间之间差了一个消息传播延迟时间P
         

 

传播延迟

  • 传播延迟计算:通过p=(t7-t6)/2计算传播延迟,这里的 t6和 t7 是从节点接收到消息的时间点。

总时间同步

  • 从节点通过考虑初始时钟差异和消息传播延迟进行准确同步:
    t_slave = t_master +C +C 主从节点的时间差,P传播延迟)

  • 完成同步时间:更新从节点的时间为t8new = t8old +P  (完成同步时间t8new= 初步同步时间t8old+传播延迟P)
         

 

周期性重新同步

  • 漂移校正:随着时间的推移,主节点和从节点的时钟会自然漂移。为了避免漂移变得显著,gPTP协议包含定期重新同步过程,确保主节点和从节点时钟保持同步。  
 
gPTP通过上述步骤实现了主从时间的精确同步,使分布式系统中的多个节点能够以统一的时间基准进行协调和操作。
         

 

         

 

         

 

#07
实  施
       

 

如前所述,不同自适应应用程序和/或ECUs之间的时间同步对于在分布式系统中关联不同事件至关重要,无论是为了能够跟踪这些事件的时间,还是为了在准确的时间点触发它们。因此,AUTOSAR为自适应应用程序提供了一个时间同步API,使它们可以获取与其他ECUs同步的时间信息。这个API由TSync客户端库(librb-tsync.so)实现,任何想要使用同步时间的应用程序都必须链接这个库。
         

 

   

 

7.1 rb-aptpd2 


RTA-VRTE 包含一个 PTP 守护进程 rb-aptpd2,它是基于 IEEE Std 1588-2008 定义的 PTP 版本 2 的实现。rb-aptpd2 负责同步一组局域网(LAN)连接的目标 ECU 的时间基准。因此,每个需要同步的目标 ECU 都需要运行一个 rb-aptpd2 实例。

每个 rb-aptpd2 实例需要使用一组特定的参数来配置其功能。以下表格列出了基本的 rb-aptpd2 配置选项:

命令行选项

描述

-i –interface [dev]

使用的接口(必需)

-d –domain [n]

PTP 域号,链接到配置的全局时间域 ID

-s –slave only

仅从模式

-m –master slave

主模式,当不是最佳 GM 时为从模式

-M –master only

主模式,当不是最佳 GM 时为被动模式

-y –hybrid

混合模式

-U –unicast

单播模式

-u –unicast-destinations [ip/host, …]

单播目标列表

-E –e2e

端到端延迟检测

-P –p2p

点对点延迟检测

–bosch:autosar=

启用 AUTOSAR 支持

–bosch:globaltimepropagationdelay=

静态路径传播延迟(秒)


注意:为了兼容 AUTOSAR,还需要–ptpengine:transport=ethernet 选项。

示例 


以主模式(masteronly,)、多播模式启动 rb-aptpd2 实例,使用虚拟接口 eth1 并链接到全局域 "42":


以仅从模式(slaveonly,)、单播模式启动 rb-aptpd2 实例(指定目标地址:192.169.56.13, 192.169.56.14 和 192.169.56.15),使用虚拟接口 eth1 并链接到全局域 "42":   

         

 

7.2 rb-tsyncd 


时间同步模块提供一个守护进程rb-tsyncd。这个进程管理包含配置的时间基准的共享内存区域。通常 rb-tsyncd 需要通过 ARXML/FlatCFG 文件进行必要的配置。

如果配置不可用或 rb-tsyncd 无法访问配置文件,它将无法启动。这会影响所有提供或使用时间基准资源的进程。

如果 rb-tsyncd 没有创建包含时间基准数据的共享内存文件,这些进程在尝试通过提供的 API 访问这些资源时将会中止。同样,如果这些进程缺乏访问时间同步共享内存文件的必要权限,也会出现相同的问题。

7.2.1 配置 


需要在/AR-PACKAGES/AR-PACKAGE/ELEMENTS/MACHINE/MODULE-INSTANTIATIONS 下定义一个 TimeSyncModuleInstantiation。这个模块实例主要由称为时间基准(Time Bases)的元素组成,这些元素可以是两种类型:同步时间基准提供者(Synchronized Time Base Provider)和同步时间基准消费者(Synchronized Time Base Consumer)。   

同步时间基准提供者需要引用一个全局时间以太网主设备(Global Time Eth Master)作为网络时间提供者参考(Network Time Provider Ref),该主设备定义在要用于该提供者的全局时间域中。同步时间基准提供者的短名称(Short Name)将用于提供者应用程序的 API。

同样,同步时间基准消费者需要引用一个全局时间以太网从设备(Global Time Eth Slave)作为网络时间消费者参考(Network Time Consumer Ref),该从设备定义在要用于该消费者的全局时间域中。同步时间基准消费者的短名称将用于消费者应用程序的 API。

可以在时间同步校正(Time Sync Correction)下为同步时间基准提供者添加额外的配置。此配置包含以下元素:

  • 允许提供者速率校正(Allow Provider Rate Correction):定义是否可以使用SetRateCorrection 方法设置时间基准的速率校正值。

  • 偏移校正适应间隔(Offset Correction Adaptation Interval):定义在此间隔(秒)内,自适应速率校正会消除速率和时间偏差。

  • 偏移校正跳跃阈值(Offset Correction Jump Threshold):定义校正方法的阈值(秒)。低于此值的偏差将通过线性减少在定义的时间跨度内校正。等于或大于此值的偏差将通过立即设置正确的时间和速率来校正。

  • 每测量持续时间的速率校正次数(Rate Corrections per Measurement Duration):用于确定当前速率偏差的同时速率测量次数。   

  • 速率偏差测量持续时间(Rate Deviation Measurement Duration):用于计算速率偏差的时间跨度(秒)。

以下是 ARXML 时间基准配置的示例:

   
下一步是在 /AR-PACKAGES/AR-PACKAGE/ELEMENTS 下定义全局时间域(Global Time Domain)。该元素由域 ID(供 rb-aptpd2 使用)、全局时间主设备和从设备的配置以及以下与循环冗余校验(CRC)相关的一般元素组成:

  • 目标物理地址:定义以太网时间同步消息通信的 MAC 多播地址。

  • FUP Data Id Lists:用于计算 CRC 的 FUP 消息的 DataIDList。只有在定义了所有十六个值时,DataIDList 才有效。

  • Message Compliance:定义以太网时间同步消息对特定标准的合规性。

  • VLAN Priority::定义在使用 VLAN 标签发送消息时应分配给时间同步消息的 VLAN 优先级。

  • CRC Correction Field:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 校正字段。

  • CRC Domain Number:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 域号。

  • CRC Message Length:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 消息长度。

  • CRC Precise Origin Timestamp:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 精确原始时间戳。

  • CRC Sequence Id:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 序列 ID。

  • CRC Source Port Identity:CRC 标志,定义是否在 CRC 计算和验证中考虑消息的 CRC 源端口标识。

如果需要 CRC,则必须定义FUP Data Id Lists和Message Compliance元素。   

全局时间主设备由全局时间以太网主设备(Global Time Eth Master)元素组成,这些元素通过以下元素进行配置:

  • Communication Connector Ref:全局时间以太网主设备需要绑定到以太网通信连接器。

  • Immediate Resume Time:定义“立即”消息和下一条周期消息之间的最短时间。

  • Is System Wide Global Time Master:如果设置为 true,则全局时间以太网主设备将作为全局时间信息的根。

  • Sync Period:表示同步周期(秒)。

  • CRC Secured:定义是否支持 CRC。

  • OFS Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含 OFS 子 TLV 字段。

  • Status Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含状态子 TLV 字段。

  • Time Sub TLV::子 TLV 配置标志,定义是否在时间同步消息中包含时间子 TLV 字段。

  • User Data Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含用户数据子 TLV 字段。

从设备由全局时间以太网从设备(Global Time Eth Slave)元素组成,这些元素通过以下元素进行配置:

  • Communication Connector Ref:全局时间以太网从设备需要绑定到以太网通信连接器。

  • Follow Up Timeout Value:跟随消息的接收超时。

  • Time Leap Future Threshold:定义当前本地时间基准值与新接收的全局时间基准值之间允许的最大正差异。

  • Time Leap Healing Counter:定义在时间基准被认为恢复之前,时间差异必须保持在时间跳跃未来阈值和时间跳跃过去阈值范围内的更新次数。   

  • Time Leap Past Threshold:定义当前本地时间基准值与新接收的全局时间基准值之间允许的最大负差异。

  • CRC Validated:定义是否支持 CRC 验证。

  • Status Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含状态子 TLV 字段。

  • Time Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含时间子 TLV 字段。

  • User Data Sub TLV:子 TLV 配置标志,定义是否在时间同步消息中包含用户数据子 TLV 字段。

注意:由于偏移时间基准正在从 AUTOSAR 时间同步协议规范中移除。

Sub-TLV字段 STATUS 与网关用例相关,目前不在 AUTOSAR 时间同步协议规范的范围内。这些可能会在未来某个时候得到支持。

以下是 ARXML 配置的示例:   

   
         

 

此外,以太网配置必须包含在/AR-PACKAGES/AR-PACKAGE/ELEMENTS/MACHINE DESIGN 下,如下所示:

   


#08
时间同步的使用
       

 

  

8.1 创建 SynchronizedTimeBaseProvider 


打算消费配置的时间基准资源的时间基准信息的进程必须引入时间同步库,并使用在 ECU 配置中找到的实例说明符(Instance Specifier)实例化 `SynchronizedTimeBaseConsumer` 类型,作为同步时间基准消费者的短名称。因此,在创建消费者之前,必须构建一个实例说明符。


传递给构造函数的实例说明符唯一标识了 `SynchronizedTimeBaseConsumer` 实例应使用的时间基准。

SynchronizedTimeBaseProvider provider(rs.Value()); 

这些类型的接口允许进程更新时间基准资源的时间基准信息。可以使用 SetTime 或 UpdateTime 方法提供时钟和用户数据的新时间值。使用 SetTime 还会触发总线上的传输,而使用 UpdateTime 则仅在本地更新时钟值,总线上的传输将在下一个周期发生。   


8.2 创建 SynchronizedTimeBaseConsumer 


打算消费配置的时间基准资源的时间基准信息的进程必须引入时间同步库,并使用在 ECU 配置中找到的实例说明符(Instance Specifier)实例化 SynchronizedTimeBaseConsumer 类型,作为同步时间基准消费者的短名称。因此,在创建消费者之前,必须构建一个实例说明符。


传递给构造函数的实例说明符唯一标识了 SynchronizedTimeBaseConsumer 实例应使用的时间基准。

现在可以使用这个实例说明符构建
SynchronizedTimeBaseConsumer:

SynchronizedTimeBaseConsumer consumer(rs.Value());
 
这种类型的接口允许进程根据时间基准资源获取当前时间等信息。可以使用 GetCurrentTime 和 GetTimeWithStatus 方法获取时间:


这个类的方法的返回值没有使用 ara::core::Result 类型包装,这意味着无法通过此 API 报告错误状态。

8.3 实例展示: 


通过使用rb-tsyncd在同一以太网网络中同步由两台ECU 组成的集群,以访问存储时间基准数据的共享内存区域,并使用rb-aptpd2实现精确时间协议(PTP)来更新网络时间基准。ECU1(蓝色)将运行rb-tsyncd、以主模式运行的rb-aptpd2实例,以及以提供者模式运行的自适应应用tsync-e2e_test。


该应用程序将创建一个ara::tsync::SynchronizedTimeBaseProvider类的对象,通过该对象向网络提供公共时间戳和用户数据,使用UpdateTime方法进行更新。
         

 

第二台ECU2将运行rb-tsyncd、以从模式运行的rb-aptpd2实例,以及以消费者模式运行的自适应应用tsync-e2e_test。在这种情况下,tsync-e2e_test将创建一个ara::tsync::SynchronizedTimeBaseConsumer类的对象,利用GetCurrentTime和GetTimeWithStatus方法分别获取网络时间戳和用户数据。   
         

 

具体来说,在ECU1上将运行一个rb-tsyncd实例和一个作为已配置时间基准sysclock_provider主设备的rb-aptpd2实例,以及每5秒提供时间基准时间戳和用户数据的e2e_qnx_provider。而ECU2将运行一个rb-tsyncd实例和一个作为已配置时间基准sysclock_consumer从设备的rb-aptpd2实例,以及每1秒对齐时间基准时间戳和用户数据的e2e_linux_consumer。
         

 

下图展示了ECU2的日志(左侧)和ECU1的日志(右侧)。需要注意的是,此示例可以在不同机器上运行多个时间域从设备的实例。此外,该示例中的配置可以通过更改SoftwareCluster_0(主设备)和SoftwareCluster_1(从设备)中的进程,来在不同架构上运行时间域主设备和从设备。
         

 




#09
间同步过程梳理
       

 

  
1. 主节点初始化:   

  • Global Timebase主节点配置通信连接器和同步参数。

  • 它开始按定义的间隔广播同步消息。
         

 

2. 从节点初始化:

  • Global Time从节点配置为监听来自主节点的同步消息。

  • 他们设置跟随超时值和时间跃迁修正的阈值。
         

 

3. 消息交换:

  • 同步消息:主节点发送包含其当前时间的同步消息。

  • 跟随消息:主节点发送跟随消息以提供额外的时间信息。

  • 延迟请求:从节点向主节点发送延迟请求以测量往返延迟。

  • 延迟响应:主节点响应延迟请求的时间。
         

 

步骤 5:时间调整

  • 每个从节点使用同步消息和延迟请求中的信息计算其本地时钟和主节点时钟之间的时间差。

  • 从节点根据计算的偏移量调整它们的本地时钟,确保它们与主节点保持同步。
         

 

步骤 6:处理时间偏差

  • 时间跃迁未来/过去阈值:这些阈值定义了可接受的时间差限制。如果从节点接收到的时间超出这些阈值,它将启动修复过程以重新同步。

  • 修复计数器:该计数器计算在阈值范围内成功更新的次数,直到认为该时间基准被视为已修复。
         

 

   
步骤 7:持续同步

  • 定期的同步确保主节点和从节点之间的任何偏差随着时间的推移而得到纠正。

  • 系统持续监控同步状态,并根据需要调整参数。
         

 

步骤 8:自适应应用中的实现

1. 创建 SynchronizedTimeBaseProvider:

  • 需要提供时间的应用程序必须使用唯一实例说明符实例化`SynchronizedTimeBaseProvider`。

  • 使用 `SetTime` 和 `UpdateTime` 等方法来管理时间基准。
         

 

2. 创建 SynchronizedTimeBaseConsumer:

  • 消费配置信息的时间基准资源的应用程序必须实例化`SynchronizedTimeBaseConsumer`。

  • 他们可以使用 `GetCurrentTime` 等方法检索当前时间和状态。
         

 

步骤 9:错误处理和通知

  • 系统未使用结果类型包装返回值,这意味着错误处理必须由应用程序显式管理。

  • 可以注册通知,以在新时间数据可用时通知应用程序。
    
 

#10
小  结
       

 

  
AUTOSAR 中的时间同步功能集群提供了一种结构化的方法来维护多个 ECU 之间的同步时间。该过程包括设置全球时间主节点和从节点、交换同步消息、调整本地时钟以及通过定期更新确保持续同步。通过使用通用精确时间协议(gPTP)和自适应平台的时间同步 API,系统能够实现高精度的时间同步,从而提高车辆的安全性和可靠性。   
         

 

         

 


-end-

本专栏是由汽车电子与软件打造的中立性技术科普专栏,将系统地阐述软件定义汽车下的关键挑战和工程实践。欢迎订阅本专栏!



汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 189浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 123浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 125浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 147浏览
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 131浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 164浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 97浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 144浏览
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 133浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 147浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 113浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 154浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦