中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 901查看
  • 0回复

[模块网络] 关于CAN时间同步的理解

[复制链接]


该用户从未签到

发表于 2-9-2023 08:59:01 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师





01

为什么需要时间同步

对于自动驾驶而言,通常需要摄像头、毫米波雷达、超声波雷达、激光雷达等传感器,而这些传感器的精确的数据采集时间是及其重要的,因为这些数据是感知和决策规划的输入。如果输入数据的时间不同步,可能会引起决策规划出错误的动作,导致车辆做出危险的动作。时间同步技术就是为了解决精确获取传感器采样时间的,在以太网、CAN、Flexray总线上都有相应的实现。时间同步信息以广播的形式从Master(TM)节点发送至各Slave节点(TS),或者通过时间网关将时间同步信息同步至其他子网络(如图1所示),用于解决各ECU因硬件时钟信号偏差、总线仲裁、总线传输、软件处理等原因带来的时间延迟。
关于CAN时间同步的理解w1.jpg

图1 时间同步框图
02

CAN时间同步机制

下面我们主要来梳理基于CAN总线的时间同步。从AUTOSAR规范来看,其主要分为两步,第一步是TM发送SYNC信息,第二步是发送FUP(Timeadjustment message (Follow-Up),时间调整信息),如图2所示。
关于CAN时间同步的理解w2.jpg

图2 CAN时间同步步骤具体如下:1、TM节点在t0r时刻调用接口发送SYNC信号,SYNC信号中包含的时间信息为t0r,在t1r时刻SYNC信号发送完成,此时的时间为t1r。TS节点在t2r时刻接收到了SYNC信号。2、TM节点再次发送FUP信号,信号中包含的时间信息为t4r=t1r-(st0r),其中st0r=t1r-t0r,TS节点在t3r时刻接收到了FUP信号。根据上面两步的时间信息,TS节点可以计算本地的时间同步值为t3r-t2r+t1r。CAN时间同步消息结构CAN时间同步中使用到的SYNC和FUP帧的帧格式如图3所示。
关于CAN时间同步的理解w3.jpg

图3 SYNC和FUP帧格式SYNC帧:1,Byte0用于表示CRC是否起作用,其中Byte0=0x10表示不采用CRC,Byte0=0x20表示采用CRC;2、当Byte0=0x20时,表示采用CRC,则Byte1用于存储CRC的值,当Byte0=0x10时,Byte1的默认值为0;3、Byte2的高4位表示时间同步域,低4位为Sequence Counter,有点类似与应用报文的rolling counter;Byte3为用户自定义;Byte4~Byte7为同步时间,长度为32bits,单位为秒;FUP帧:Byte0同样用于表示是否使用CRC,其中Byte0=0x18表示不适用CRC,Byte0=0x28表示使用CRC;2、当Byte0=0x28时,表示采用CRC,则Byte1用于存储CRC的值,当Byte0=0x18时,Byte1的默认值为0;3、Byte2与SYNC帧一样,高4位表示时间同步域,低4位为Sequence Counter;4、Byte3的高5位为保留位,, bit2为SGW,表示时间同步状态(0:SyncToGTM, 1:SyncToSubDomain),bit1-bit0为OVS,表示时间同步溢出时间(overflow of seconds);5、Byte4~Byte7中的高2位为0,低30位表示同步时间,单位为ns。03

AUTOSAR中CanTSyn的配置

在AUTOSAR中要实现CAN时间同步,其涉及到的模块有3个,分别为STdM、CanIf、CanTSyn,各模块之间的关系如图4所示。
关于CAN时间同步的理解w4.jpg

图4 AUTOSAR中实现CAN时间同步涉及到的模块其中StdM用于同步各软件模块,并提供绝对时间值。涉及到的配置Timebase、时钟源等,主要几个如下所示。
关于CAN时间同步的理解w5.jpg

关于CAN时间同步的理解w6.jpg
对于CanTSyn模块而言,其涉及到的配置如下所示。

关于CAN时间同步的理解w7.jpg

关于CAN时间同步的理解w8.jpg

关于CAN时间同步的理解w9.jpg
而在CanIf模块而言,需要将报文设置为时间同步报文,如下所示。

关于CAN时间同步的理解w10.jpg
小结以上就是CAN时间同步的一个简单介绍,主要是梳理了时间同步技术的缘由、CAN时间同步机制、CAN时间同步在AUTOSAR架构下的实现。参考:部分图片来自CSDN,https://blog.csdn.net/RichardsZ_/article/details/116714179


该用户从未签到

发表于 17-3-2025 21:03:00 | 显示全部楼层
关于CAN时间同步的理解:在自动驾驶系统中,精确的时间同步至关重要。传感器数据采集时间的准确性是感知和决策规划的基础。若传感器数据时间不同步,可能导致决策错误,进而危及车辆安全。时间同步技术旨在确保传感器采样时间的精确性,在CAN等总线系统中均有相应实现。时间同步信息通过Master节点广播至各Slave节点,或通过时间网关同步至其他子网络,以校正ECU硬件时钟信号偏差,确保系统各部分协同工作。因此,时间同步对于保障自动驾驶系统的安全性和稳定性具有重要意义。
回复 支持 反对

使用道具 举报



该用户从未签到

 楼主| 发表于 17-3-2025 21:03:00 | 显示全部楼层
针对您关于CAN时间同步的问题,以下是专业的回复:

在自动驾驶系统中,为确保协同决策和控制动作准确无误,各种传感器数据采集时间的精确同步至关重要。时间同步技术就是用于解决这一问题的关键手段。它能够确保不同电子控制单元(ECU)之间时钟信号的同步性,避免因硬件时钟信号偏差导致的决策误差或危险动作。在CAN等车辆通信总线上,时间同步信息通过广播方式由主节点(TM)发送到各从节点(TS),或者通过时间网关同步至其他子网络,确保所有传感器和ECU的时间同步精度满足系统需求。这对于自动驾驶系统的稳定性和安全性至关重要。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 17-3-2025 21:03:00 | 显示全部楼层
关于CAN时间同步的理解:

时间同步在自动驾驶系统中至关重要。由于自动驾驶系统依赖于多种传感器来感知环境并作出决策,这些传感器必须同步采集数据,以确保决策的准确性和车辆的安全。若不进行时间同步,各传感器采集的数据可能会出现时间偏差,从而影响感知和决策的准确性,甚至可能导致危险动作。因此,时间同步技术能确保所有传感器在同一时间点采集数据,这对于自动驾驶系统的正常运行至关重要。在CAN等车辆通信网络中,时间同步信息以广播形式传输,确保所有ECU都接收并使用同步的时间信息。这样做能够消除硬件时钟信号偏差带来的问题,保证系统的协同工作。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 16-7-2025 12:57 , Processed in 0.542937 second(s), 39 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.