如果你是汽车电子小白,面对UDS协议一脸懵?别慌!这篇保姆级教程,用“人话”拆解诊断仪与ECU的“加密对话”,让你5分钟掌握核心规则!
诊断请求:Tester如何“发指令”?
ECU就像餐厅后厨,诊断仪是“点菜员”,指令格式决定能吃到什么菜:
1. 标准点菜法:SID + 子功能 + 参数
SID(1字节):点菜大类 → 0x22=“读数据”,0x2E=“写数据”。子功能(1字节):烹饪方式 → 0x01=“清蒸”,0x02=“红烧”。参数(可变):具体菜品 → 如车速ID=0x0D。举个栗子
:
22 01 0D → “师傅,用清蒸做法(0x01)给我来份车速(0x0D)!”2. 快捷点菜法:SID + 参数
无需复杂操作时,直接甩需求:
示例:11 01 → “重启ECU(0x11),立刻马上(01)!”诊断响应:ECU如何“回结果”?
后厨忙完,端菜or拒单?两种响应格式:
1.肯定响应:SID+0x40 + 数据
规则:原SID加0x40,附赠“菜品”。示例:
62 0D 3C → “车速(0x0D)已上菜,60km/h(0x3C=60)!”2.否定响应:0x7F + 原SID + 错误码
固定3字节:直接告诉你“为啥做不了”。高频错误码:0x11:本店无此菜(服务不支持)0x22:火候不够(条件不满足)0x31:点单格式错(参数无效)示例
:
7F 2E 22 → “写数据(0x2E)失败,条件不满足(0x22)!”一图速查表:UDS对话核心规则
角色
格式
示例
解读
诊断请求
SID [+子功能] [+参数]
22 01 0D
读车速数据
肯定响应
SID+0x40 [+数据]
62 0D 3C
车速=60km/h
否定响应
0x7F+原SID+错误码
7F 2E 22
写数据条件不满足
通俗版解读:UDS服务的“核心工具箱”与“高频技能包”
UDS协议就像汽车诊断的“瑞士军刀”,26种功能服务分6大类,但工程师只需重点掌握15种高频工具
,就能搞定90%的实战需求!
6大功能模块一句话总结
(1)会话控制
→ ECU的“钥匙”(如0x10激活扩展会话)
(2)数据读写→ 内存的“读卡器+U盘”(如0x22读数据,0x2E写数据)
(3)故障管理→ 汽车的“体检报告”(如0x19读故障码)
(4)远程控制→ 云端操控的“遥控器”(如0x31启动例程)
(5)程序刷写→ ECU的“系统升级包”(如0x34下载数据)
(6)安全访问→ 数据的“密码锁”(如0x27解锁ECU)UDS协议15种高频服务速查表
服务分类
服务名称
SID
核心功能
请求示例
响应示例
关键注意
会话控制
诊断会话控制
0x10
切换ECU工作模式(默认/扩展会话)
10 03(扩展会话)
50 03(成功)
扩展会话需配合安全访问解锁
ECU复位
0x11
重启ECU(软/硬复位)
11 01(硬件复位)
51 01(复位成功)
操作后需重新建立会话
故障管理
清除诊断信息
0x14
清除ECU存储的故障码或数据
14 FF FF FF(全清)
54(成功)
需在扩展会话下执行
读故障码
0x19
读取当前/历史故障码(DTC)
19 02(当前故障码)
59 02 01 P00010C
解析响应需匹配DTC格式
数据操作
读数据
0x22
读取ECU参数(如车速、温度)
22 0D(车速)
62 0D 3C(60km/h)
数据标识符(DID)需预定义
写数据
0x2E
修改ECU配置参数
2E 10 00 01(写DID)
6E 10 00(成功)
需安全访问解锁
读内存
0x23
直接读取ECU内存原始数据
23 00 10 00 04(4字节)
63 00 10 00 12 34 56 78
高风险操作,需权限
安全控制
安全访问
0x27
解锁ECU高危操作权限
27 01 (请求种子)
67 01 12 34(种子)
需算法生成密钥(Seed→Key)
通信管理
通信控制
0x28
关闭/恢复ECU非诊断通信
28 00 01 关闭应用报文)
68 00
(成功)
操作不当可能导致功能异常
例程控制
例程控制
0x31
触发ECU预定义自动化测试(如自检)
31 01 01(启动例程)
71 01 01 00(执行完成)
例程ID需与ECU定义一致
程序刷写
请求下载
0x34
启动程序刷写,声明数据大小和地址
34 00 00 10 00...
74 20(最大块32字节)
地址需符合ECU内存映射
传输数据
0x36
分块传输程序数据
36 01 AA BB……(第1块)
76 01(确认接收)
按块大小(BS)分片发送
请求退出传输
0x37
结束刷写并校验完整性
37(结束)
77(校验成功)
必须校验防止数据损坏
高危操作
写内存
0x3D
直接写入ECU内存(危险!)
3D 00 10 00 01 02 03
7D 00 10 00(成功)
需严格权限控制
DTC管理
控制DTC设置
0x85
启用/禁用故障码存储功能
85 01(禁用DTC)
C5 01(成功)
测试后需恢复设置
常见的否定响应码NRC请见下表
关注我,获取更多技术干货
以上就是小编为大家整理的请求与响应格式全拆解,秒懂ECU“暗号”对话!,想要了解更多优质的相关资讯,请大家多多关注"大世界日记"。