统一诊断服务(UDS)协议
诊断OSI模型与协议族
UDS 协议标准规范由国际标准化组织(ISO)在 ISO 14229 中定义。见下图

- ISO 14229-1
规定了诊断服务独立于数据链路的要求,允许诊断测试仪(客户端)控制车载电子控制单元(ECU,服务器)中的诊断功能,例如连接到道路车辆嵌入式串行数据链路的电子燃油喷射、自动变速箱、防抱死制动系统等。 - ISO 14229-2
规定了通用会话层服务和要求,以确保统一诊断服务(ISO 14229-1)与所有传输协议和网络层服务(例如 ISO 13400-2 DoIP、ISO 15765-2 DoCAN、ISO 10681-2 FlexRay 通信、ISO 14230-2 DoK-Line 和 ISO 20794-3 CXPI)之间的独立性。 - ISO 14229-3
规定在道路车辆控制器局域网(CAN/UDSonCAN)上实施一组通用的统一诊断服务(UDS)。 - ISO 15031-5
旨在满足美国、欧洲以及可能采用类似要求的任何其他地区的车载诊断 (OBD) 法规的数据报告要求。 - ISO 15031-6
为机动车辆的电气/电子车载诊断 (OBD) 系统在检测到故障时必须报告的标准化诊断故障代码 (DTC) 提供统一性。 - ISO 15765-2
规定了传输协议和网络层服务,旨在满足 ISO 11898-1 中规定的控制器局域网络 (CAN) 车辆网络系统的要求。 - ISO 11898-1
规定了在实现 CAN 数据链路层的模块之间建立数字信息交换的特性。
UDS协议
协议数据单元结构
应用层诊断服务格式
| 消息类型 | 源地址 | 目标地址 | 目标地址类型 | 远端地址 | SDU长度 | PCI | 数据 |
|---|
| 域名称 | 值 |
|---|---|
| 消息类型 | 诊断,远程诊断,安全诊断,远程安全诊断 |
| 源地址 | 发出诊断请求或响应的节点的逻辑地址。 |
| 目标地址 | 接收诊断请求或响应的节点的逻辑地址,可以是功能地址,也可以是物理地址。对于远程诊断类型,此"目标地址"应为与其他网络交互的本地网关节点的地址。 |
| 目标地址类型 | 物理地址,或功能地址 |
| 远程地址 | 属于其他网络的节点的逻辑地址,该节点将接收来自发送节点的诊断请求或响应。 |