术语
OBD:车载诊断口,也叫J1962。
FD-CAN:高速CAN网络,普通CAN(500K,250K,1M)与FD-CAN统称为CAN网络。
DOIP:基于IP网络的诊断。
节点:车载网络上的ECU(含CAN节点、DOIP节点)。
一、概述
当前车载网络中同时存在CAN(普通CAN、FD-CAN)、DOIP两种总线协议。这两种协议支持并行通讯,互不影响。
如图:车辆诊断通过OBD口(J1962)实现与车载ECU通讯,ECU通常带网关,即外部诊断设备通过网关实现与车载总线上的各个ECU进行通讯。
诊断OBD口上针脚定义:
DOIP需要5个针脚:OBD.12、OBD.13、OBD.3、OBD.11、OBD.8
CAN支持:OBD.6/OBD.14、OBD.1/OBD.9、OBD.2/OBD.10、OBD.3/OBD.11、OBD.12/OBD.13
如上针脚定义看出后面两路CAN针脚与DOIP是复用的,因此如果要实现CAN、DOIP同时诊断,则后面两路CAN不可使用。
根据目前新能源汽车在车辆维修诊断中各个步骤的耗时分析,ECU刷写所占时间比例超过90%,因此降低刷写所耗时间对车维修效率提示有很大帮助。降低刷写所耗时间有效策略则是实现并行刷写,ECU并行刷写有以下两种方式:
- DOIP节点本身并行;
- DOIP节点与CAN节点并行。
二、DOIP节点本身并行
针对同一台车上如果有多个ECU采用DOIP协议,则这几个ECU刷写是可以并行操作,非并行刷写流程如下:
以上流程为逐个对ECU进行刷写,采用这个刷写流程时完成所有DOIP节点升级需要的时间为各个ECU所需时间的总和。
根据目前数据统计该过程中(100M传输速度)各个步骤耗时比例如下:
数据传输:30%;
软件安装:40%;
ECU重启:30%。
对于一个1G的文件整个过程耗时40-60分钟,甚至更多,而在整个过程中软件安装以及ECU重启对于诊断设备来说几乎处于空闲等待状态,甚至在数据传输过程中大部分时间也是在等待ECU接收响应。这就大大降低了诊断设备的有效使用率,同时也消耗维修人员的时间。
实现多DOIP节点并刷策略
如上图,实现并行刷写后完成所有DOIP节点升级需要的时间为这些ECU中单个耗时最长需要的时间。
三、DOIP节点与CAN节点并行
由于DOIP、CAN为两种完全不同的协议类型,从传输层到物理层完全独立,因此这两种协议理论上支持并行通讯,所以为了能进一步提升刷写效率,DOIP节点与CAN节点能够支持并行。
CAN节点本身是否需要并行?答案:不需要。
原因:
- CAN网络虽然是并行网络,但由于受到带宽影响,当有多个节点同时进行刷写时会因总线负荷过高导致通讯异常;
- 采用CAN升级的ECU通常为MCU升级,文件相对小(大部分为2M左右),需要时间通常在5分钟以内。
实现DOIP节点与CAN节点并行刷写
四、实现并行刷写需要注意的事项
4.1 顺序性
刷写过程中有些ECU刷写会涉及刷写顺序,即刷写B需要先对A进行刷写。
4.2 关联性
所谓关联性指刷写B过程中如果A也在刷写,那么A的刷写操作可能会对B造成影响,比如:A的重启或者上下高压的要求会对B造成影响。
4.3 交互处理
部分ECU刷写过程中可能需要与用户进行交互,如:上下高压、踩刹车等操作,如果在并行刷写中的ECU有多个同时需要与用户进行交互时需要考虑如何进行有效处理。
4.4 网关处理能力
执行并行刷写时需要考虑到车载网关的处理能力,比如数据转发能力、大数据传输时出现错误概率,需要进行严格的压力测试。