电子电气架构——车载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是一种方便、高效、可靠的固件刷写技术,广泛应用于汽车电子、智能家居、工业自动化等领域。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!