电子电气架构——车载ECU刷写工具vFlash简介

news2025/2/4 15:51:57

电子电气架构——车载ECU刷写工具vFlash简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标准。到最后,既没有活成别人喜欢的样子,也没有活成自己想要的样子。
我们只有接纳真实的自己,不自卑、不自傲,才能拥有更强大的内心;只有找到自己的核心价值,才能活出自己的精彩人生。

随着芯片技术的快速发展,基于需求将以太网技术引进汽车行业,车载控制器所能实现的功能也变得越来越复杂,致使车载控制器的代码量也跟着水涨船高。

每当ECU需要更新软件版本时(修复ECU软件BUG),动辄需要刷写几十兆字节的数据,一些控制器代码量甚至高达成百上千兆字节。特别是现在新电子电气架构下,域控制器的深度应用。对于自动驾驶域、智能座舱域,更新全量数据包所需要的文件大小可达到30G。

若使用500Kb/s的车载CAN总线进行数据传输来刷写ECU,即使在全负载的情况下传输数据,也需要花费数小时才能完成。其中,不包括其他干扰因素导致刷写失败,而不得不重新再刷写的情况。这对于“患有强迫症”的工程师们来说,是不可忍受的。

本文分享如何使用Vector的VN5610(以太网接口卡)与vFlash(上位机工具)通过DoIP协议进行控制器程序刷写。

DoIP协议,全称为Diagnostic communication over Internet Protocol,是基于IP网络的汽车诊断协议。该协议由ISO 13400系列标准定义,作为实现基于Ethernet的诊断通信的方案。

DoIP协议的优势包括更快的诊断响应、更短的传输大量数据的时间(用于软件刷新和参数下载),以及使得远程的直接诊断成为可能。DoIP协议模型中的ISO 13400-1描述了一些通用信息和应用场景,而ISO 13400-4则定义了以太网诊断连接器的要求。

在架构模型方面,DoIP结点是基于DoIP协议通信的网络节点,但只能作为通信节点,不能支持路由DoIP报文。而DoIP网关则是车辆内部网关,实现DoIP协议的主机节点,可以路由其连接的子网与外部设备之间的报文。

此外,DoIP协议在传输层中使用TCP和UDP协议,在网络层中使用IPv4或IPv6。这些协议都是OSI七层模型中从层4到层1这四层协议中的一部分,也就是通用计算机网络所使用的协议。

如何把Flash Data数量大(Software Data一般指ECU运行需要的软件代码,包括APP、Calibration data等)基于DoIP协议刷进汽车控制器?

-> Step 1:待刷写的控制器(ECU);

-> Step 2:准备好刷写上位机 ;

-> Step 3:连接上位机和待刷写ECU;

-> Step 4:刷写及验证刷写是否成功。

一、待刷写的控制器(ECU)

首先找到待刷写控制器的供电定义,并Power On上电,让ECU运行起来,最简单的办法是用上位机工具发送几个简单指令,比如通过CANoe连接ECU,发送简单指令,验证ECU正常运行。

其次确认控制器的以太网类型,一般是100Base-TX,或者100Base-T1。这一步至关重要,需要通过这一步确认总线类型,才可以在接口卡连接器中做相应的配置。

最后,对于待刷写ECU,也需要确认BootLoader开发是否完成,是否支持DoIP刷写功能。这个是基于DoIP刷写ECU的前置条件,需要跟项目接口人确认该ECU当前软件完成情况以及项目信息。

关于准备一把带DoIP的“刷子”。

在安装有Vector的硬件驱动的电脑上找到控制面板,打开Vector Hardware Config。如果电脑已经安装了vFlash,在Application中会找到vFlash图标,双击后在界面中添加以太网通道,如下图红色指示:

vFlash是一款由Vector公司开发的通用软件工具,它支持各种网络通信协议,包括CAN、CAN FD、FlexRay、LIN、Ethernet/DoIP等。vFlash还支持各种格式的刷写文件,如S19、BIN、HEX,以及各大OEM的文件类型,如VBF、CBF等。

此外,vFlash具有广泛的适用性、良好的稳定性和丰富的接口,支持C++、C#、CAPL等多种编程语言。它配合CANoe使用可以实现自动化刷写和批量刷写等功能。

vFlash是一个功能强大的工具,可以帮助开发人员和工程师进行高效的固件刷写和网络通信开发。

将vFlash以太网软件通道分配到Vector VN5610的以太网目标刷写硬件通道上,如下图红色指示:

以太网接口卡是用于将设备连接到以太网网络的硬件设备。它通常具有一个或多个RJ-45连接器,用于插入到以太网电缆中,并支持各种以太网标准,如10BASE-T、100BASE-TX和1000BASE-T等。以太网接口卡通常安装在计算机的扩展插槽中,以便计算机可以通过以太网网络与其他设备通信。除了基本的以太网连接功能之外,一些以太网接口卡还支持其他功能,如网络唤醒(Wake-on-LAN)和流量控制等。

设置以太网类型,双击设备名称,打开Device Configuration进行通道类型设置,根据ECU使用的网口类型,选择汽车以太网还是传统以太网,如下图所示:

ECU上电,设备与控制器以太网接口连接后,检查连接状态,出现Link up字样表示连接成功,如下图红色所示:

步骤三:把控制器“刷”一下

配置刷写工具vFlash的参数,包括控制器的IP地址,Vector的设备IP地址,两个IP地址需要在一个网段内,但是不能相同;以下是对控制器IP地址的设置,如下图红色所示:

以下是对设备IP地址的设置,如下图红色所示

配置完成就可以开始刷写啦,如下图红色所显示的速度,数据坐上了火箭,快速刷写起来!!!

在刷写过程中,vFlash承担刷写上位机功能:

刷写上位机是一种通过上位机软件进行固件刷写的技术。具体来说,上位机软件提供了一个友好的用户界面,使用户能够选择固件文件、指定目标设备、发送刷写命令等操作。在刷写过程中,上位机软件会与目标设备进行通信,将固件文件传输到目标设备中,并控制目标设备进行刷写操作。

刷写上位机通常具有以下功能:

-> 选择固件文件:用户可以通过上位机软件选择要刷写的固件文件,支持多种格式,如S19、BIN、HEX等;

-> 指定目标设备:用户可以指定要刷写的目标设备,例如ECU或微控制器等;

-> 发送刷写命令:上位机软件可以向目标设备发送刷写命令,控制目标设备进行刷写操作(需要以项目形式向Vector定制刷写需求vFlash Template);

-> 进度监控:上位机软件可以实时监控刷写进度,并显示当前刷写的进度百分比等信息;

-> 错误处理:当刷写过程中出现错误时,上位机软件可以提供相应的错误提示和处理机制,帮助用户解决问题。

刷写上位机vFlash是一种方便、高效、可靠的固件刷写技术,广泛应用于汽车电子、智能家居、工业自动化等领域。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

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

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

相关文章

11、YOLO训练后输出时参数不同的原因分析:

网络输出显示: 训练输出显示: 上述Model Summary显示计算不同的原因共有三点: Layers:可以看到验证时网络层数减少了很多 其中一个原因是因为使用了Fuse前向加速推理方法,将Conv和BN层融合在了一起,具体…

工具系列:TimeGPT_(3)处理假期和特殊日期

日历变量和特殊日期是预测应用中最常见的外生变量类型之一。它们为时间序列的当前状态提供了额外的上下文信息,特别是对于基于窗口的模型(如TimeGPT-1)而言。这些变量通常包括添加每个观测的月份、周数、日期或小时数的信息。例如&#xff0c…

创建一台可以安装linux系统的虚拟机的流程

1、打开vmware-->点击左上角文件-->新建虚拟机-->自定义 2、默认选择,直接下一步 3、选中稍后安装操作系统,然后下一步 4、选中Linux,然后下拉框选择CentOS7(64位) 5、设置虚拟机名称及存储位置 6、设置虚拟机处理器数量及核心数 7、…

记录汇川:MODBUS TCP-梯形图

H5U的MODBUS通信不需要编写程序,通过组态MODBUS通信配置表,实现数据通信。 Modbus-TCP 主站即Modbus-TCP客户端,通过Modbus-TCP配置,可最多支持同时与31个 Modbus-TCP服务器(从站)进行通讯。 …

【JavaScript】闭包机制

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

我的数据仓库与数据挖掘期末大作业重置版

文章目录 我的数据仓库与数据挖掘期末大作业重置版准备工作预设定及导入相对应的库库的导入调整 Jupyter Notebook 的预设定调整 MatPlotLib 和 Pandas 的输出设置 任务 1:预测问题数据的保存和读取数据的分析和预处理模型的选择和构建线性回归一元多项式回归 拟合预…

sql_lab之sqli中的堆叠型注入(less-38)

堆叠注入(less-38) 1.判断注入类型 http://127.0.0.3/less-38/?id1 and 12 -- s 没有回显 http://127.0.0.3/less-38/?id1 and 11 -- s 有回显 则说明是单字节’注入 2.查询字段数 http://127.0.0.3/less-38/?id1 order by 4 -- s 报错 http:/…

ResNet网络分析与demo实例

参考自 up主的b站链接:霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 ResNet 详解 原论文地址 [1512.03385] Deep Residual Learning for Image Recognition (arxiv.org) ResNet 网络是在 …

短视频矩阵系统:赋予用户创造与分享的力量

在如今快节奏的社交网络时代,人们对于信息获取和娱乐方式的需求也逐渐发生了变化。作为当下最受欢迎的短视频平台之一,抖音短视频矩阵系统正以其独特的魅力和吸引力,深深地打动着亿万用户。 抖音短视频矩阵系统是一种基于移动端的短视频分享…

基于STC89C52RC的温湿度显示与按键可调的时钟显示

大学时候的课程设计项目,本人只负责软件设计。 课题摘要 摘 要 温湿度参数的检测已经成为人们日常生产生活中的一个重要的参数指标。温度和湿度是两个最基本的环境参数,人们生活与温湿度息息相关。在工农业生产、环保、科研、化工业、制药业等地方&…

客户跟进没效果?这三招请收好!!

在现代商业环境中,与客户进行有效的跟进至关重要。但是,有时候不论我们多么努力地跟进,却依然无法获得预期的结果。 今天就给大家分享三个高效跟进客户的方法,帮助大家提高效率! 首先,了解客户需求是关键…

【MySQL变更】gh-ost原理解读

gh-ost简介 gh-ost是处理MySQL在线表结构变更的工具,与pt-osc 不同,gh-ost不会使用触发器。 gh-ost 可以进行测试,暂停,动态控制和重新配置,审计还有其他许多操作perks。 命名 最初它被命名为gh-osc:Git…

从入门到精通,30天带你学会C++【第九天:排序合集】

Everyday English Never put off what you can do until tomorrow. 今日事,今日毕。 前言 首先跟大家说声抱歉,我已经25天没写博客了,我知道我掉了很多粉丝,但是还有很多人坚持关注着我,在这里我表示感谢…

C++ Qt开发:QSqlDatabase数据库组件

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QSqlDatabase数据库模块的常用方法及灵活运用…

【软件工程大题】白盒测试

给出一个简单的测试样例,然后再进行白盒测试的讲解 if A and B then action1 if C or D then action2 1.语句覆盖 每个语句执行一次 也就是,样例中的每个语句执行一次,至于ABCD取值,要满足IF条件,让四个语句都执行一次 A and B -> T ⇒ AT …

蓝桥杯的学习规划

c语言基础: Python语言基础 学习路径:画框的要着重学习

2023年教程汇总 | 《小杜的生信笔记》

2023年总结 2023年即将结束,我们即将迎来2024年。2023年,我们做了什么呢??这个是个值得深思的问题…? 12月份是个快乐且痛苦时间节点。前一段时间,单位需要提交2023年工作总结,真的是憋了好久才可以下笔…

【数据结构】无向图的最小生成树(Prime,Kruskal算法)

文章目录 前言一、最小生成树二、Kruskal算法1.方法:2.判断是否成环3.代码实现 三、 Prim算法1.方法:2.代码 四、源码 前言 连通图:在无向图中,若从顶点v1到顶点v2有路径,则称顶点v1与顶点v2是连通的。如果图中任意一对…

医院信息化-6 大模型与医疗

之前写了一系列跟医疗信息化相关的内容,其中有提到人工智能,但是写的都是原先的一些AI算法基础上的医疗应用。现在大模型出现的涌现推理能力确实让人惊讶,并且出现可商用化的可能性,因此最近一年关于大模型在医疗的应用也开始出现…

ComfyUI如何中文汉化

comfyui中文地址如下: https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装? 1. git安装 进入项目目录下的custom_nodes目录下,然后进入控制台,运…