UDS 诊断指的是统一诊断服务Unified Diagnostic Services它是汽车电子 ECU 环境下的一种诊断通信协议。
UDS 诊断最主要的目的是能够快速准确地判断车辆或者某个控制器的故障以及故障原因为维修提供可靠的依据。
UDS 诊断由多个部分组成截至 2020 年包括 ISO 1422912020 等 8 个部分在开放系统互连基本参考模型中各类物理层通信都有对应部分的 UDS 诊断协议。
UDS 诊断是一种定向通信的交互协议诊断方发送服务请求ECU 返回响应包括肯定响应和否定响应。它包括 6 大类 26 种服务每种服务都有独立的 ID 即 SID。比如诊断和通信管理功能单元的服务请求和响应就分有子功能和无子功能两类。无子功能的请求和响应机制中诊断方发送包含 SID 的请求数据ECU 接收后返回肯定或否定响应。肯定响应格式为SID+0X40+数据否定响应格式为 0X7F+SID+NRC通过 NRC 可判断否定响应原因。有子功能的请求和响应机制类似只是肯定响应格式为SID+0X40+Subfunction子功能+数据。
UDS 协议具有多种特点比如支持多种总线像 CAN、LIN 等适用性强能提高诊断效率定义了标准诊断服务还增加了诊断功能支持 ECU 编程等。其寻址模式有物理寻址和功能寻址两种物理寻址是点对点、一对一按物理地址访问单个 ECU 节点功能寻址是广播、一对多按功能访问多个 ECU 节点。
总之UDS 诊断协议在汽车电子领域应用广泛为汽车的故障诊断和维修提供了标准化、高效且功能丰富的解决方案。