https://cloud.tencent.com/developer/article/2531650
DoIP(Diagnostic communication over Internet Protocol)是一种基于以太网的车辆诊断协议,其核心作用是将传统的UDS(统一诊断服务)应用于高速车载以太网中 。你可以把它理解为UDS诊断在以太网这种"高速公路"上的专用通信规范。

📜 协议基础:ISO 13400标准

DoIP协议由ISO 13400标准系列定义 。该标准明确了如何使用IP网络(TCP/IP协议栈)在外部诊断设备和车辆内部ECU之间传输诊断数据 。

  • 与UDS的关系:DoIP位于OSI模型的传输层,而UDS(ISO 14229)位于应用层。也就是说,DoIP负责将UDS诊断请求和响应可靠地封装和传输 。
  • 核心理念:DoIP不是一个新的诊断协议,而是一个扩展的传输协议 。它解决了如何在以太网上高效、安全地传输UDS数据的问题。

🚗 为什么需要DoIP?

随着汽车智能化发展,传统CAN总线在速度和带宽上已显吃力。DoIP的出现主要解决了以下问题:

  • 高带宽需求:支持100Mbit/s甚至1000Mbit/s的传输速率,极大地缩短了ECU软件刷写(FOTA)和下线检测的时间 。
  • 远程诊断能力:基于IP的网络特性,使技术人员可以通过网络(如Wi-Fi、5G)远程连接车辆进行诊断,无需物理连接 。

🛠️ 核心功能与通信流程

一个典型的DoIP诊断会话,从物理连接到发送诊断指令,通常包含以下几个关键步骤:

  1. 物理连接与IP分配:诊断仪通过OBD接口与车辆的DoIP边缘节点建立以太网连接。随后,通过DHCP或Auto-IP机制为双方分配IP地址 。
  2. 车辆发现:诊断仪需要知道网络中有哪些车辆(或ECU)可供诊断。这通常有两种方式 :
    • 主动宣告:车辆启动后,通过UDP协议向广播地址发送"车辆声明消息"。
    • 被动响应:诊断仪主动发送"车辆识别请求",车辆收到后回复自身信息。
  3. 建立TCP连接:确认目标车辆后,诊断仪向车辆的13400端口发起TCP连接请求(三次握手),建立可靠的通信通道 。
  4. 路由激活:TCP连接建立后,诊断仪需发送"路由激活请求"进行安全认证。车辆ECU验证通过后,激活诊断路由,此时逻辑连接才真正建立 。
  5. 诊断通信:路由激活后,双方即可开始传输标准的UDS诊断消息(如读取故障码、刷写数据等) 。

📦 DoIP报文结构

DoIP协议数据单元包含一个固定的8字节头部和可变长度的负载数据 :

字段名称 长度(字节) 描述
协议版本号 1 标识所使用的ISO 13400版本(如0x04代表2025版) 。
版本号取反 1 协议版本号的按位取反,用于快速校验报文有效性 。
负载类型 2 核心字段。标识该报文的用途,例如:车辆识别、路由激活、诊断消息等 。
负载长度 4 指示后续负载数据的字节数 。

负载类型是关键,常用值包括:0x0001(车辆识别请求)、0x0004(车辆声明)、0x0005(路由激活请求)、0x8001(诊断消息)等 。

🏗️ 车内网络架构

支持DoIP的车辆网络中,主要包含几种逻辑节点 :

  • DoIP网关:连接车内不同网络(如将CAN总线上的ECU接入以太网),负责协议转换和数据路由 。
  • DoIP边缘节点:位于网络的边缘,是连接外部诊断设备的物理接口,通常包含激活线 。
  • DoIP节点:自身支持DoIP协议,可直接被诊断,但不具备为其他节点路由数据的功能 。
  • 激活线:一条特殊的硬件线,用于从物理上唤醒车辆的部分网络,使其进入诊断模式,从而降低待机功耗 。
分类: DoIP协议

0 条评论

发表回复

您的电子邮箱地址不会被公开。