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
二、配置方法
1.AUTOSAR CAN时间同步架构
围绕CanTSync模块主要需要下图几个核心模块,分别为:
- CanIf,同步时间将通过CanIf将报文发送至总线
- StbM,用于产生同步时间
- Det(可选)
- Crc(可选)
2. CanIf模块
3. StbM模块
4. CanTSync模块
三、注意事项
在导入DBC文件后,切记时间同步报文不要引入PduR模块,不要引入PduR模块,不要引入PduR模块!根据Vector提供的技术手册,仅需CanIf和StbM即可完成同步报文的发送,若将引入了PduR模块将会导致配置编译报错。
–简单的方法是手动将dbc文件中的同步报文属性进行调整,默认不进入Com及PduR层
测试记录
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的是时间同步方案
Autosar配置CAN时间同步模块笔记相关推荐
- AUTOSAR从入门到精通100讲(四十二)-Autosar架构下的模块详细设计及代码实现--基于配置的编程方法
1.Autosar静态代码和动态代码 Autosar架构下的静态代码(Static)可以理解为不可变(由工具商编写维护)的代码,根据配置进行逻辑/算法处理以及状态机的维持及跳转等.动态(Dynamic ...
- Nginx基础应用配置小结 - 运维笔记
Nginx基础应用配置小结 - 运维笔记 在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介 N ...
- web开发权威,一个合格的初级前端工程师需要掌握的模块笔记
学习路线 第一阶段:网页制作 HTML:常用标签,锚点,列表标签,表单标签,表格标签,标签分类,标签语义化,注释,字符实体 CSS:CSS介绍,全局样式,行内样式,内联样式,选择器,字体样式值,文本样 ...
- 初学前端,学习路线图必不可少,更有【95页】初级前端模块笔记!
前言 在初学前端的时候,我们总会遇到一些问题,我们可以在网上看到很多关于前端的这些问题: 你们都是怎么学web前端的? 零基础,怎么自学好前端? 前端需要学多久,都学哪些知识? 想成为一名合格的前端工 ...
- 一个合格的初级前端工程师需要掌握的模块笔记
一个合格的初级前端工程师需要掌握的模块笔记 文章目录 一个合格的初级前端工程师需要掌握的模块笔记 前言 Web模块 html基本结构 标签属性 事件属性 文本标签 多媒体标签 列表 表格 表单标签 其 ...
- php的cgi的设置,apache中配置php支持模块模式、cgi模式和fastcgi模式
首先安装apache.mysql和php,依次顺序安装. 1.apache.mysql的安装比较简单,略过 2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了 ...
- AUTOSAR从入门到精通100讲(二十二)-AUTOSAR通信篇—CANTP模块
1 CANTP的位置和作用 CanTp是PduR和CANIf模块之间的模块,如图1所示.CANTp模块的主要作用是对CAN I-PDU进行分段和重新组装,使得I-PDU的长度不大于8个字节,对CAN ...
- centos7 关闭防火墙的指令_CentOS7 怎么安装配置chrony时间同步服务?
CentOS7 怎么安装配置chrony时间同步服务? CentOS7 怎么安装配置chrony时间同步服务 介绍 hrony是一个开源软件,像CentOS 7或基于RHEL 7操作系统,已经是默认服 ...
- 【玩转Atlas200DK系列】为Atlas200DK配置wifi外挂模块
[摘要] 为Atlas200DK配置wifi外挂模块 [昇腾] 当你手中有一块Huawei Atlas 200 DK时,那么恭喜你,你拥有了一个可以让你的AI应用落地的利器,但由于开发板并没有wifi ...
- Linux配置自动时间同步
Linux配置自动时间同步 时间同步命令:ntpdate -s time.windows.com 自动时间同步:让linux从time.windows.com自动同步时间 vi /etc/cronta ...
最新文章
- 玩转java(Android)注解
- html javaScript 只能输入数字
- android fragment概念,android Fragment相关概念简介
- Pycharm环境调整
- qt5.5 静态编译 mysql_QT5.3.2+mingw静态编译(生成exe大约14M)
- delphi libeay32 各版本_Zbrush各版本合集
- Spring快速入门及深入
- 全排列的生成算法:字典序法
- java基础学不会_java基础
- python dataframe取一列_python DataFrame列运算
- VS Code 全部快捷键一览表(巨TM全)
- ffmpeg mac 批量脚本_使用批处理脚本(BAT)调用FFMPEG批量编码视频
- LeetCode 536. 从字符串生成二叉树(递归)
- 13-mysql-子查询
- cad2020打印样式放在哪个文件夹_海龙V3.0 QP超级打印,一次性多文件多CAD,跨模型布局完成打印...
- 微信朋友圈图片处理策略
- 手机端通过Es文件浏览器访问windows服务器用File Zilla Sever软件 分享的文件
- 计算机总线拓扑和环形拓扑,网络拓扑结构总线型环形星型,各自的优缺点是什么..._网络编辑_帮考网...
- Win7下安装Mysql5.7.26
- 管理的角度分析:团队建设、团队管理、团队文化、沟通与辅导、招聘与解雇等