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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FANUC喷涂机器人P-350iA电机过热维修解决方案

发那科喷涂机器人作为自动化喷涂生产线的重要组成部分,其性能稳定性和可靠性对于生产效率和产品质量具有重要影响。然而,在实际使用过程中,FANUC喷涂机器人P-350iA电机过热故障问题往往成为影响其正常运行的主要因素之一。 FANUC机器人M-100…

第一百一十二节 Java面向对象设计 - Java异常处理

Java面向对象设计 - Java异常处理 异常是在没有定义正常执行路径时在Java程序的执行期间可能出现的条件。 Java通过将执行操作的代码与处理错误的代码分离来处理错误。 当发生异常时,Java会创建一个包含有关异常的所有信息的对象,并将其传递给相应的异…

阿里云ECS(CentOS/Alibaba Cloud Linux)安装最新 Docker 方法

最近(6月份)我发现 docker 官方无法正常访问,docker pull 命令也执行失败,用 TZ 也一样😔。 以下步骤适用于 CentOS 7/8或Alibaba Cloud Linux 系统。 1. 更新系统包 首先,确保您的ECS实例系统软件包是最…

Next.js开发中使用useRouter实现点击返回到上一页

在使用Next.js框架做前端页面开发时,如果想返回到上一页,可以利用useRouter钩子提供的back()方法,可以这样做: import {useRouter} from "next/navigation"; import {Space} from "antd"; import {ArrowLeftOutlined} f…

tiaoshixitong

data_interval : 当是ubus 时 重新赋值为 3;当是ws 时 重新赋值为 20; 1. 如何理解data_tik ? 在函数can_packet_check_timer 定时can发送函数里面,data_tik 作为倒计时时间,当倒计时间到,则发送。…

LCB模型引领机器人进入端到端新维度

论文标题: From LLMs to Actions: Latent Codes as Bridges in Hierarchical Robot Control 论文作者: Yide Shentu,Philipp Wu,Aravind Rajeswaran,Pieter Abbeel 项目地址: https://fredshentu.gith…

手把手!从头构建LLaMA3大模型(Python)

1. 前期准备 让我们先来想一想大概需要做什么。 首先是模型架构的选择。原工作用的是 GPT Neo 架构(可以看他们的 config),这个算是很老的模型了,最初是 EleutherAI 用来复现追踪 GPT-3 的工作的,现在用的也比较少了…

JavaScript运行原理和执行过程

参考: https://www.cnblogs.com/hexrui/p/15939592.html 1、执行上下文栈(调用栈) GECGlobal Execution Context(GEC)被放入到ECS(Execution Context Stack,简称ECS)中 GEC开始执…

走嵌入式方向有必要参加数模的比赛,涨一下见识吗?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!参加数模(数学…

MYSQL 四、mysql进阶 3(存储引擎)

mysql中表使用了不同的存储引擎也就决定了我们底层文件系统中文件的相关物理结构。 为了管理方便,人们把连接管理、语法解析、查询优化这些并不涉及真实数据存储的功能划分为 Mysql Server的功能,把真实存取数据的功能划分为存储引擎的功能&…

【Unity】实现分屏开发

前言: 最近有个项目二期需要做分屏开发,今天恰好研究一下为后续的项目做个准备。 原理 整体的实现还是蛮简单的,主要是通过camera的一个targetDisplay属性进行设置 可以看到unity支持最多八个分屏 实现 场景搭建 ,这里直接使…

Linux mongodb安装及简单使用

说明:本文章主要是对mongodb的单击安装 1.创建文件夹,准备安装包 cd /user/local mkdir tools 2.解压mongodb包 mkdir mongodb tar -xvf mongodb-linux-x86_64-rhel70-5.0.11.tgz -C mongodb 3.进入解压目录 cd mongodb cd mongodb-linux-x86_64-…

别再全网找了,这四款良心软件,还你一个清爽的电脑桌面

现在电脑桌面上软件多得吓人。 要是不整理,看着就闹心;整理起来呢,又累得够呛。 所以,很多人干脆就不用那些“用着没意思,删了又觉得可惜”的软件了。 但不管你怎么删,有些软件还是得留着,就像…

数据治理创新路:建设数据集市,强化数据报送一致性新实践

随着信息化和数字化的飞速发展,数据已经成为企业运营和决策的核心要素。然而,数据治理的复杂性和多样性给企业带来了不小的挑战。为了更好地应对这些挑战,许多企业开始探索数据治理的创新路径,其中建设数据集市和强化数据报送一致…

罗盘时钟屏保你见过吗?非常有特色的电脑时钟屏保

很多人都用过屏保,印象中系统自带的屏保,款式比较少,就那几款,在桌面飞来飞去的动画,基本都不怎么好看,特别有印象的就是那种泡泡屏保,这个算是比较美观的了。今天小编给大家介绍一款非常有特色…

正则表达式写起来不简单,但用起来真香

说在前面 🎈整理一些常见常用的正则表达式。 常见的正则表达式 1、手机号码 /^[1][3456789][0-9]{9}$/这个正则表达式 /^[1][3456789][0-9]{9}$/ 用于匹配中国的手机号码的一部分,但不包括全部有效的手机号码格式。下面是对它的详细解释: ^…

Linux 防火墙 Firewall 和 Iptables 的使用

如果我们在Linux服务器的某个端口上运行了个服务,需要外网能访问到,就必须通过防火墙将服务运行端口给开启。Linux中有两种防火墙软件,CentOS7.0以上使用的是firewall,CentOS7.0以下使用的是iptables(使用较少且不建议…

React 通信:深层传递(Props、Context、Children Jsx)

在之前的文章 探讨:围绕 props 阐述 React 通信 中总结了关于“父子”组件传值,但是当需要在组件树中深层传递参数以及需要在组件间复用相同的参数时,传递 props 就会变得很麻烦。 实际案例: 下述展示有两种状态:① 详…

【BFS算法】广度搜索·由起点开始逐层向周围扩散求得最短路径(算法框架+题目)

0、前言 深度优先搜索是DFS(Depth Frst Search),其实就是前面所讲过的回溯算法,它的特点和它的名字一样,首先在一条路径上不断往下(深度)遍历,获得答案之后再返回,再继续往下遍历。…

python 【包含数据预处理】基于词频生成词云图

基于词频生成词云图 背景目的 有一篇中文文章,或者一本小说。想要根据词频来生成词云图。 为什么中文需要分词 中文分词是理解和处理中文文本的关键步骤,它直接影响到后续的文本分析和信息提取的准确性和有效性。 无明显单词分隔:中文文本不…