康谋分享 | 从CAN到CAN FD:ADTF在汽车网络中的应用

随着汽车电子技术的发展,车辆上配备了越来越多的电子装置,这些设备多采用点对点的方式通信,这也导致了车内存在庞大的线束。造成汽车制造和安装的困难并进一步降低汽车的配置空间,汽车总线逐步开始向网络化方向发展。

在此背景下,CAN(Controller Area Network)总线应运而生,以其高可靠性和灵活性,成为汽车通信系统中不可或缺的一部分,承载着车辆控制、监控和诊断等关键任务。


目录

一、技术演进:从CAN到CAN FD

1、可变数据位速率

2、扩大的有效数据域

3、新的CRC算法

4、新的帧结构

二、ADTF:支持全面的CAN通信协议

1、汽车电子系统开发

2、 仿真和测试

3、 数据记录和分析

三、应用实践:ADTF的技术实现

作者介绍

郑工


一、技术演进:从CAN到CAN FD

随着技术的持续发展,传统的CAN总线在数据传输速率和带宽上逐渐显现出局限性。具体来说,传统的CAN总线波特率最大为1Mbit/s,数据帧中有效数据域最大为8个字节。

这种设计在早期满足了车辆控制和监控的需求,但随着车载系统复杂度的提升,对更高数据传输速率和更大数据容量的需求日益迫切。

因此,CAN FD(CAN with Flexible Data-Rate)随之推出。CAN FD在保持CAN优良特性的基础上,实现了技术上的重大突破:

1、可变数据位速率

CAN FD引入了数据段的波特率可变机制,其传输速率一般5-8Mbit/s,这一段的波特率可变,而其余部分仍使用原来的CAN速率,从而在保持兼容性的同时大幅提升了数据传输速率。

2、扩大的有效数据域

CAN FD将数据帧中有效数据域扩展到64个字节,相比传统CAN的8个字节,显著提高了单帧数据的传输量,使得通信更加灵活、快速、可靠。

3、新的CRC算法

为了适应更大的数据域和提高错误检测的准确性,CAN FD采用了新的CRC算法,并对填充位规则进行了优化,以减少错帧漏检率。

4、新的帧结构

CAN FD在控制场中增加了FDF位、BRS位和ESI位,这些位用于区分CAN报文与CAN FD报文,并确定是否转换为可变速率。同时,DLC编码方式也由线性变为阶梯式,以适应更大的数据长度。

二、ADTF:支持全面的CAN通信协议

ADTF(AUTOMOTIVE DATA & TIME-TRIGGERED FRAMEWORK)是一款汽车数据与时间触发框架,可用于开发车辆驾驶辅助系统。提供一系列功能和工具来支持车辆自动化和驾驶辅助系统的开发和测试。ADTF能用于快速原型设计、仿真、数据记录和验证(后处理)。

图1:ADTF框架

 

在总线方面,ADTF具备多个工具箱以支持其仿真与测试,比如ADTF Device Toolbox,ADTF Calibration Toolbox等。

在ADTF Device Toolbox中提供ARXML数据库文件总线解析,支持汽车总线(CAN 、CANFD 、 Flexray 、 以太网)、Vector®设备、信号处理和可视化等。

在ADTF Calibration Toolbox中支持通过多个过滤器与 ECU 进行 XCP 通信,以便通过 CAN 、 FlexRay 或以太网进行通信。

结合上述工具箱,ADTF可以在应用在以下领域:

1、汽车电子系统开发

ADTF广泛应用于汽车电子控制单元(ECU)的开发,包括发动机控制、底盘控制、车身电子等。

2、 仿真和测试

在汽车电子系统的仿真和测试中,ADTF能够模拟总线通信,进行系统级和组件级的测试。

3、 数据记录和分析

ADTF支持数据记录功能,可以捕获和存储总线上的数据,便于后续分析和故障诊断。

三、应用实践:ADTF的技术实现

ADTF的一个强项就是对总线数据的解析。比如对CAN FD采集的数据,基于DBC配置进行解析和可视化呈现,如图2和3所示。

图2:CAN FD数据回放工程图

图3:CAN FD数据解析效果展示

 

此外,ADTF支持AUTOSAR架构下ARXML CANFD数据的解析。如图4和图5所示的ARXML CANFD数据解析工程。

图4:ARMXL CANFD数据回放工程图

图5:ARMXL CANFD数据解析效果展示

 

ADTF软件以其强大的功能、高度的灵活性和专业的技术支持,成为汽车电子开发领域的重要工具。无论是在产品开发、系统集成还是测试验证阶段,ADTF都能提供有效的解决方案,加速汽车电子系统的开发进程。


作者介绍

郑工

康谋科技高级自动驾驶技术研发工程师,拥有超过5年的汽车电子和自动驾驶数据分析经验专精于高精度传感器数据的获取、整合与优化。数据采集技术方面造诣深厚,尤其在车载网络和实时数采系统上富有实践成果,设计并优化了多种数据采集与传输方案。曾多次代表公司参加海外技术研讨会和培训项目,深入了解国际自动驾驶行业的最新动态和技术趋势,积累了丰富的国际视野。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT绘图项目 - 汽车表盘

目录 前言: 整体代码 widget.h widget.cpp 效果演示 实现刻度文字正确排版 优化代码 达到效果 封装整理代码结构: widget.h widget.cpp 指针样式美化 优化后的指针API 效果演示 设置高速刻度为红色 优化刻度API 效果演示 速度显示优化 给内圈画上黑色 优化速度…

python子类调用其他.py文件的父类

main.py需要使用os.py中的构造类。 os.py中定义了一个Ui_MainWindow类 在main.py中定义了一个MyMainWindow子类,传入两个父类的变量名 super(Ui_MainWindow, self).__init__()super() super() 是一个内置函数,用于返回一个代表父类的对象,…

2024/6/19 英语每日一段

From this story, one might imagine Warwick to be opposed to “killing in the name of conservation”; in fact, though, he’s conflicted. Conservation “is really complicated,” he writes. “There is an old saying that anyone who gives you a simple answer to…

探索磁力搜索引擎:互联网资源获取的新视角

在当今数字化社会中,寻找和获取网络资源变得更加便捷和多样化。磁力搜索引擎作为这一趋势的一部分,提供了一种新颖而有效的方法来定位和获取用户所需的文件、媒体和其他数字内容。本文将深入探讨磁力搜索引擎的工作原理、使用场景及其在网络文化中的影响…

最快安装zabbix

部署zabbix 6.x 建议使用红帽系统。 https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.9-x86_64-minimal.iso1> 配置安装yum源 [rootzabbix ~]# yum install https://mirrors.huaweicloud.com/zabbix/zabbix/6.2/rhel/8/x86_64/zabbix-release-6.2-3.el8…

精度丢失引起的支付失败问题

问题描述 在提交订单时候,输入充值金额和优惠码,后台会返回具体的订单信息,如下图,支付金额应该是1 * (1 - 0.09) 0.91(这个是理想状态),但是表单显示的是0.90999997, 然后点击确…

架构师篇-1、总体架构设计

业务架构哲学本质 定位:赋予业务架构设计能力,具备业务架构设计思维模型,掌握业务架构哲学本质,形成以不变应万变的业务架构设计能力。 架构师所需要的能力: 带领业务成功通过框架思维赋能业务架构师知识体系构建掌…

HDU——2090.算菜价、2091.空心三角形、2093.考试排名

2090.算菜价 题目描述 Problem - 2090 Problem Description 妈妈每天都要出去买菜,但是回来后,兜里的钱也懒得数一数,到底花了多少钱真是一笔糊涂帐。现在好了,作为好儿子(女儿)的你可以给她用程序算一…

Adobe XD是否收费?试试这几款超值的免费软件吧!

Adobe XD是一站式的 UX/UI 设计平台,设计师可以使用Adobe XD完成移动应用app界面设计、网页设计、原型设计等。Adobe XD也是一款结合原型和设计,提供工业性能的跨平台设计产品。而Adobebe。 XD跨平台的特点得到了很好的弥补 Sketch 没有 Windows 版本的缺…

网安人必备!开源网络安全工具TOP 10(附下载地址)

工欲善其事,必先利其器。对于广大的网络安全从业者,以及未来想要从事网络安全的人来说,选择并善用合适的网络安全工具,能有效提升工作效率。 开源网络安全工具之所以能够在众多安全解决方案中脱颖而出,不仅是因为它们…

C++ 68 之 类模版作函数的参数

#include <iostream> // #include <cstring> #include <string> using namespace std;template<class T1, class T2> // 可以设置默认的类型值&#xff0c;后面在使用的时候&#xff0c;就不用再指定类型了 class Students08{ public:T1 m_name;T2 m_a…

SysTools MailXaminer: 电子邮件取证调查中的链接分析和时间线分析

天津鸿萌科贸发展有限公司是 SysTools 系列软件的授权代理商。 SysTools MailXaminer 电子邮件取证软件提供全面强大的解决方案&#xff0c;通过简化的操作&#xff0c;从电子邮件客户端、网络邮箱服务器、磁盘镜像、Skype 通讯工具中解密并搜索证据。软件对调查工作的每一阶段…

c++参考std::string自己设计类hstring

目录 一、前言 二、设计需求 三、设计思想 1.功能一 1.功能二 四、设计过程 1.类hstring搭建 2. 实现有参构造函数 3. 实现副本构造函数 4.完整代码 五、结束语 一、前言 在c中有很多的库&#xff0c;但是在有些时候呢&#xff0c;我们一定要学会自己去设计库&#…

文件扫描工具都有哪些?职场大佬都在用的文本提取工具大盘点~

回想起刚毕业初入职场那阵子&#xff0c;领导让帮忙把纸质文件扫描提取为文本时&#xff0c;还只会傻乎乎地一点点操作&#xff0c;属实是费劲得很&#xff01; 好在后面受朋友安利&#xff0c;找到了4个能够快速实现文件扫描文字提取的方法&#xff0c;这才让我的办公效率蹭蹭…

关于自学\跳槽\转行做网络安全行业的一些建议

很好&#xff0c;如果你是被题目吸引过来的&#xff0c;那请看完再走&#xff0c;还是有的~ 为什么写这篇文章 如何自学入行&#xff1f;如何小白跳槽&#xff0c;年纪大了如何转行等类似问题 &#xff0c;发现很多人都有这样的困惑。下面的文字其实是我以前的一个回答&#…

MyBatis-For input string: “oqm“ 异常

前言 具体的异常信息如下&#xff1a; Error attempting to get column open_id from result set. Cause: java.lang.NumberFormatException: For input string: "oqmJX5ZPU1KOv-YDt30GNAN-Zefk" 乍一看下其实就是无法把open_id字符串类型转为数字类型进行赋值&…

synchronized原理

当线程释放锁&#xff0c;JMM会把线程对应的本地的内存中的共享变量刷新到内存中 当线程获取锁&#xff0c;JMM会帮其他线程中对应的本地的内存中的共享变量设置未无效&#xff0c;从而监视器保护的临界区的代码必须从内存中读取共享变量。&#xff08;临界区为锁之间的代码&am…

3D模型可视化引擎HOOPS Communicator与Visualize的统一化文件加载解决方案

在当今数字化时代&#xff0c;3D可视化技术已成为工程设计、建筑规划和游戏开发等多个领域的核心技术。Tech Soft 3D公司凭借其创新的HOOPS Communicator和HOOPS Visualize两款开发包&#xff0c;分别针对Web端和桌面端提供了强大的3D可视化解决方案。然而&#xff0c;由于两者…

第三集《唯识与净土》

和尚尼慈悲&#xff01;诸位法师、诸位居士&#xff0c;阿弥陀佛&#xff01; 请大家打开讲义第六面&#xff0c;三、业果强弱。 我们身为一个有情众生&#xff0c;在我们的生命当中&#xff0c;我们曾经出现过很多痛苦的果报&#xff0c;当然也出现过很多安乐的果报&#xff0…

c语言回顾-结构体(2)

前言 前面讲了结构体的概念&#xff0c;定义&#xff0c;赋值&#xff0c;访问等知识&#xff0c;本节内容小编将讲解结构体的内存大小的计算以及通过结构体实现位段&#xff0c;话不多说&#xff0c;直接上干货&#xff01;&#xff01;&#xff01; 1.结构体内存对齐 说到计…