一、UDS协议简介
UDS,全称Unified Diagnostic Services,即统一诊断服务,它是一种用于车辆诊断场景的通信协议,被广泛应用于汽车电子中测试设备(诊断仪软件、数据记录器等)和ECU之间的数据通信,它基于ISO-14229标准,通过CAN总线或以太网发送和接收消息。
UDS协议主要用于汽车电子控制单元(ECU)的诊断和调试,诊断仪可以向ECU发送特定的请求,从而获取ECU的状态信息和故障码,这些状态信息被用于辅助开发人员诊断和解决车辆故障问题,比如发动机异常、变速箱问题、防抱死制动系统(ABS)故障等。
UDS协议除了可以查询车辆的关键信息,它也可以让车载ECU执行一些简单的测试用例,或者根据需要重新刷写ECU固件。
UDS通信是基于客户端-服务器(C/S)的通信模式,客户端向服务器发起通信,请求查询诊断信息,服务器做出响应并返回诊断信息或者错误码。
设想的场景,诊断仪与汽车之间的通信:
实际的场景,诊断仪与汽车ECU之间的通信:
UDS通信常见的用途有:
固件刷新后重置ECU。
读取和清除保存在车辆中的诊断故障代码。
使用加解密算法安全访问ECU,以获取车辆中的各种参数。
上传和下载车辆中的数据包。
UDS协议的优点:
UDS协议定义了一套标准的诊断服务,这种标准化允许来自不同供应商的诊断工具与车载ECU之间进行通信。
应用广泛,UDS协议广泛用于现代主流汽车品牌,并已成为大多数车载应用中的主要诊断方案。
支持多种传输协议,灵活性很大,UDS通信报文可以基于多种协议进行传输,包括CAN、FlexRay、以太网等。
安全级别很高,UDS协议支持多种会话模式和安全级别,有助于防止未经授权的数据访问。
二、UDS协议与ISO-14229标准
UDS协议是ISO-14229标准的一个子集, ISO-14229标准中,涉及UDS协议的部分如下:
ISO 14229-1:UDS协议的规范和要求。
ISO 14229-2:UDS协议的会话层服务。
ISO 14229-3:基于CAN总线的统一诊断服务,即UDSonCAN。
ISO 14229-4:基于FlexRay总线的统一诊断服务,即UDSonFR。
ISO 14229-5:基于IP协议的统一诊断服务,即UDSonIP。
ISO 14229-6:基于K-Line总线的统一诊断服务,即UDSonK-Line。
ISO 14229-7:基于LIN总线的统一诊断服务,即UDSonLIN。