电子电气架构——车载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)和流量控制等。