请求与响应格式全拆解,秒懂ECU“暗号”对话!

请求与响应格式全拆解,秒懂ECU“暗号”对话!如果你是汽车电子小白 面对 UDS 协议一脸懵 别慌 这篇保姆级教程 用 人话 拆解诊断仪与 ECU 的 加密对话 让你 5 分钟掌握核心规则 诊断请求 Tester 如何 发指令 ECU 就像餐厅后厨 诊断仪是 点菜员 指令格式决定能吃到什么菜 1

大家好,欢迎来到IT知识分享网。

如果你是汽车电子小白,面对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%的实战需求!

请求与响应格式全拆解,秒懂ECU“暗号”对话!

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“暗号”对话!

关注我,获取更多技术干货

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/182658.html

(0)
上一篇 2025-07-06 07:33
下一篇 2025-07-06 07:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信