随着汽车电子化的发展,汽车电子控制单元(ECU,Electronic Control Unit)的数量不断增多,为了便于汽车的诊断维修,车载诊断技术就应运而生,UDS(Unified Diagnostic Services)统一诊断服务就是目前通用的汽车诊断协议。
1 UDS基础介绍
UDS 是一套由国际标准化组织(ISO 14229)定义的通讯规范,专门用于车辆诊断。
它是一个应用层协议(ISO 14229-1),既可以在CAN线上实现,也能在Ethernet上实现(DoIP, Diagnostic over Internet protocol)。UDS提
供的是一个诊断服务的基本框架,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务
来,基于UDS协议的诊断又常常被称为Enhanced diagnosis(增强型诊断)。
UDS中有26个诊断服务,每个服务有特定的服务ID,即SID(Service Identifer),是由两位16进制数组成。
这26个服务分为六大类。
2 UDS的26个诊断服务
2.1 诊断和通信功能管理单元
| SID(0x) | 诊断服务名 |
|---|---|
| 10 | 诊断会话控制(Diagnositic Session Control) |
| 11 | ECU复位(ECU Reset) |
| 27 | 安全访问(Security Access) |
| 28 | 通讯控制(Communication Control) |
| 3E | 诊断仪在线(Tester Present) |
| 83 | 访问时间参数(Access Timing Parameter) |
| 84 | 安全数据传输(Secured Data Transmission) |
| 85 | 控制DTC设置(Control DTC Setting) |
| 86 | 事件响应(Response On Event) |
| 87 | 链路控制(Link Control) |
- 10服务是诊断会话控制,用来切换当前的诊断会话状态,如默认会话状态、扩展会话状态等。
- 11服务是用于ECU复位重启
- 27服务是安全解锁ECU,比如当需要向ECU写入重要数据时,解锁后才能写入
- 3E服务是在使用手持诊断仪进行诊断时,判断诊断仪在线的服务
2.2 故障码传输功能单元
| SID(0x) | 诊断服务名 |
|---|---|
| 14 | 清除诊断信息(Clear Diagnostic Information) |
| 19 | 读取故障码信息(Read DTC Information) |
- 19服务是比较常用的服务,用于读取汽车的故障信息(DTC Diagnostic Trouble Code),如故障码、故障详细名称列表、发生故障时的现场数据等
- 14服务是用于清除故障码,比如维修汽车后清除历史故障码
2.3 数据传输单元
| SID(0x) | 诊断服务名 |
|---|---|
| 22 | 通过ID读取数据(Read Data By Identifier) |
| 2E | 通过ID写数据(Write Data By Identifier) |
| 23 | 通过地址读取内存(Read Memory By Address) |
| 24 | 通过ID读比例数据(Read Scaling Data By Identifier) |
| 2A | 通过周期ID读取数据(Read Data By Periodic Identifier) |
| 2C | 动态定义标识符(Dynamically Define Data Identifier) |
| 4D | 通过地址写内存(Write Memory By Address) |
- 22服务是根据数据ID读取ECU中存储的运行时的一些数据,如读取车速
- 2E服务则是据数据ID向ECU中写入一些指定的数据,如写入车架号
2.4 输入输出控制单元
| SID(0x) | 诊断服务名 |
|---|---|
| 2F | 通过ID控制输入输出(Input Output Control By Identifier) |
- 2F服务用于输入输出控制,比如模拟车窗升降,验证车窗执行器是否执行正常
2.5 例行程序功能单元
| SID(0x) | 诊断服务名 |
|---|---|
| 31 | 例行程序控制(Routine Control) |
- 31服务可以运行指定编号例程,比如开发过程中将一些程序功能作为一个独立的例程写到ECU中
2.6 上传和下载功能单元
| SID(0x) | 诊断服务名 |
|---|---|
| 34 | 请求下载(Request Download) |
| 35 | 请求上传(Request Upload) |
| 36 | 数据传输(Transfer Data) |
| 37 | 请求退出传输(Request Transfer Exit) |
| 38 | 请求文件传输(Request File Transfer) |
用于比较庞大的数据读写时,比如给ECU更新固件,通过34、36、37服务将固件写入ECU
3 本篇涉及的一些名词缩写汇总
ECU:Electronic Control Unit,电子控制单元,是现代汽车中负责采集传感器数据、运算决策并控制执行器的核心电子控制装置。ECU按功能可分为:
- 发动机 ECU (ECM/EMS,Engine Control Module/Engine Management System):控制燃油喷射、点火正时、进气量等
- 变速箱 ECU (TCU, Transmission Control Unit):管理自动变速箱换挡逻辑与油压
- 车身 ECU (BCM,Body Control Module):控制灯光、门窗、空调等车身电器
- 底盘 ECU:包括 ABS(Anti-lock Braking System,防抱死)、ESP(Electronic Stability Program,电子稳定程序)等控制单元
- 新能源专属类:电池管理系统(BMS,Battery Management System)、电机控制器(MCU,Motor Controller Unit)
- 其他专用 ECU:如气囊控制、自动驾驶辅助(ADAS,Advanced Driver Assistance Systems)模块等
UDS:Unified Diagnostic Services,统一诊断服务
DTC:Diagnostic Trouble Code,诊断故障码
SID:Service Identifer,服务ID
CAN:Controller Area Network,控制器局域网
DoCAN:Diagnostic Communication over CAN,基于控制器局域网的诊断通信
DoIP:Diagnostic over Internet protocol,基于互联网协议的诊断
4 总结
本篇介绍了汽车电子领域的UDS诊断的基础概念,主要梳理了UDS的26个诊断服务的基本功能。