Autosar配置CAN时间同步模块笔记

Autosar配置CAN时间同步模块笔记

本文概述了时间同步模块及配置过程中极易出现的问题,排坑指南

  • 基于Vector Davinci(达芬奇)配置工具
  • Autosar:4.3.0以上

文章目录

  • Autosar配置CAN时间同步模块笔记
  • 一、时间同步是什么?
  • 二、配置方法
    • 1.AUTOSAR CAN时间同步架构
    • 2. CanIf模块
    • 3. StbM模块
    • 4. CanTSync模块
  • 三、注意事项
  • 测试记录
  • 总结


一、时间同步是什么?

    汽车上的各个ECU基本都是实时性非常强的控制器,在关联ECU之间或ECU内部各个软件模块之间通常需要在大致同步的时间节拍上运行,特别是在某些高速场景,微时间的偏差可能引发的后果是灾难性的。以ADAS系统为例,感知模块检测到一个障碍物,控制决策模块需要知道这个障碍物是在什么时间检测到的,以此作出响应。如果感知模块和控制模块都在一个控制器内还好,延时不会很大,若是分布在不同的控制器中,感知模块发送的障碍物信息携带的时间戳与实际检测到的时间偏差太大,那么等控制模块作出响应时,可能汽车已经撞到障碍物上了。所以,时间同步显得尤为重要,各个ECU之间要有一个一致的时钟Global Time (GT)来提供相对准确、精度足够的绝对时间值,并且将此时间同步到各个ECU。

    AUTOSAR定义的基于CAN总线时间同步的CanTSyn模块处理CAN总线上的时间信息分发,它以广播的形式将时间信息从master节点™ 传输到各slave节点(TS),还可通过时间网关(TW)将时间同步到其他子网,以解决因各ECU节点的硬件时钟信号偏差、CAN总线传输延时如协议仲裁以及各ECU节点内的软件处理等原因导致的时间延迟。

https://zhuanlan.zhihu.com/p/335715420

Autosar配置CAN时间同步模块笔记_第1张图片

二、配置方法

1.AUTOSAR CAN时间同步架构

围绕CanTSync模块主要需要下图几个核心模块,分别为:

  1. CanIf,同步时间将通过CanIf将报文发送至总线
  2. StbM,用于产生同步时间
  3. Det(可选)
  4. Crc(可选)

Autosar配置CAN时间同步模块笔记_第2张图片

2. CanIf模块

Autosar配置CAN时间同步模块笔记_第3张图片

3. StbM模块

Autosar配置CAN时间同步模块笔记_第4张图片
Autosar配置CAN时间同步模块笔记_第5张图片
Autosar配置CAN时间同步模块笔记_第6张图片

4. CanTSync模块

Autosar配置CAN时间同步模块笔记_第7张图片
Autosar配置CAN时间同步模块笔记_第8张图片

Autosar配置CAN时间同步模块笔记_第9张图片

三、注意事项

    在导入DBC文件后,切记时间同步报文不要引入PduR模块,不要引入PduR模块,不要引入PduR模块!根据Vector提供的技术手册,仅需CanIf和StbM即可完成同步报文的发送,若将引入了PduR模块将会导致配置编译报错。

–简单的方法是手动将dbc文件中的同步报文属性进行调整,默认不进入Com及PduR层
Autosar配置CAN时间同步模块笔记_第10张图片

测试记录

SYNC消息和FUP消息共用一个CAN ID,分时发送,先发送SYNC消息,再发送FUP消息。
在这里插入图片描述

SYNC消息分为两种格式,

  • Type=0x10为不安全的不带CRC校验的报文格式,对应FUP消息类型为0x18;
  • Type=0x20为带CRC校验的安全报文格式,对应FUP消息类型为0x28。
Byte0 时间同步类型:0x20代表当前发送的是带CRC校验的TSync同步消息, 0x28代表当前发送的是对应0x20 SYNC消息的FUP同步消息;0x10代表当前发送的是不带CRC校验的TSync同步消息, 0x18代表当前发送的是对应0x10 SYNC消息的FUP同步消息;
Byte1 byte0为0x20或0x28时,Byte1为该消息的CRC校验值;
Byte2 高4位为时间同步域Time Domain,需要在CANTSync模块里指定;低4位为Sequence Counter,随发送次数循环累加;
Byte3 byte0为0x10或0x20时,Byte3为UserByte0;同步类型为0x28或0x18时,高5位保留, bit3 SGW为时间同步状态(0:SyncToGTM, 1:SyncToSubDomain),bit1-bit0 OVS为时间同步溢出时间overflow of seconds;
Byte4-Byte7 同步时间,同步类型为SYNC消息时为32bits 秒时间,同步类型为FUP消息时为30bits ns时间。

总结

根据上文的记录,即可完成基于CAN的是时间同步方案

你可能感兴趣的:(汽车电子)