【1】DOIP诊断路由
转自:车载网关测试入门4【路由功能】补充3-DOIP诊断路由-CSDN博客
1.DOIP诊断路由的应用
DolP(Diagnostics over Internet Protocol)诊断路由的应用场景广泛覆盖了车辆全生命周期,从生产制造、售后服务到智能化功能迭代,其高速、灵活和标准化的特性使其成为现代汽车电子系统诊断的核心技术。
以下是其典型应用场景:
1.大规模ECU软件升级(OTA/FOTA);
2.大数据上传云平台;
3.远程诊断;
4.等等
DOIP诊断路由应用十分广泛,典型以太网网关简易拓扑图如下:

可知,外部诊断设备(Tester)可对车内DOIP节点以及CAN节点进行诊断以及刷写;当然OTA也能完成对车内节点的诊断以及刷写。
2.DOIP诊断路由原理
2.1 DOIP报文结构

2.2 DOIP路由相关机制
1.逻辑地址与物理地址映射
逻辑寻址:诊断工具使用UDS定义的逻辑地址(如ECU的Functional Address或Physical Address)标识目标ECU。
物理寻址:网关维护路由表,将逻辑地址映射到目标ECU的物理比地址(如IP地址+端口号或CANID)。
路由表示例:

2.路由通信流程
进行DOIP诊断路由的前,必须完成以下步骤:
- 建立物理层连接
- 车辆选择
- 建立TCP连接
- 路由激活
通信流程如下图:

3.DOIP路由处理机制
- 接收DOIP请求:网关通过以太网接口接收诊断工具发送的DolP报文。
- 解析Payload Type:判断报文类型(如诊断消息、路由激活请求)。
- 提取逻辑地址:从UDS服务标识符(SID)或地址扩展字节中提取目目标ECU的逻辑地址。
- 查询路由表:根据逻辑地址匹配目标ECU的物理地址及所在的网络。
- 协议转换与转发:
- 同类型网络(以太网→以太网):直接转发至目标IP地址。
- 跨网络(以太网→CAN):将DolP载荷转换为CAN帧(ISO-TP协议义),填充目标CANID。
- 响应返回:目标ECU的响应逆向路由至诊断工具。
(1) 单播诊断(Unicast)
- 场景:诊断工具请求特定ECU的数据(如读取发动机转速)。
- 路由过程:
- 诊断工具发送DolP报文,Payload Type为0x8001,UDS请求包含目标逻辑地址0x1001。
- 网关解析逻辑地址0x1001,查询路由表得知目标ECU位于以太网(如IP:192.168.90.10)
- 网关通过TCP连接转发DolP报文至该IP地址。
- 目标ECU返回响应,网关反向路由至诊断工具。
- 场景:同时配置多个ECU(如批量重置故障码)。
- 路由过程:
- 诊断工具发送广播DolP报文(UDP),Payload Type为0x8001,逻辑地址设为广播地址(如0xFFFF)。
- 网关根据路由表,识别哪些ECU需响应广播请求。
- 网关将请求转换为各目标网络协议(如多个CAN帧),分别发送至不同总线
- 各ECU响应经网关聚合后返回诊断工具。
3.DOIP诊断路由分类
整车的诊断入口有三种:- OBD-CAN
诊断仪连接OBD-DCAN,通过网关实现对车内ECU(CAN和Ethernet节点)的诊断;
- OBD-Ethernet
- TBOX/中央域控

浙公网安备 33010602011771号