核心UDS诊断命令表(EOL电检场景)
服务ID | 服务名称 | 功能说明 | 典型用例 | 协议交互示例 |
---|---|---|---|---|
0x10 | Diagnostic Session Control | 切换ECU诊断会话模式,包含子功能: 01(默认会话)、02(编程会话)、03(扩展会话)。 编程会话需通过扩展会话过渡,不同会话对应不同权限 |
EOL测试时需从默认会话切换至编程会话(0x10 02),以解锁刷写权限;扩展会话(0x10 03)用于参数配置。 | 请求:10 02 响应: 50 02 00 22 01 F4 (含P2Server_max和P2*Server_max参数) |
0x27 | Security Access | 安全验证分两步: 1. 发送奇数子功能(如0x01)请求种子(Seed); 2. 发送偶数子功能(如0x02)提交密钥(Key),算法需符合OEM规范 |
程序刷写前需完成安全验证,例如发送27 01 获取种子,再通过加密算法生成密钥并发送27 02 [Key] |
请求:27 01 响应: 67 01 12 34 56 78 (返回Seed) |
0x3E | Tester Present | 维持非默认会话状态,子功能0x80表示无需ECU响应,避免会话超时回退 | 编程会话中周期性发送3E 80 (间隔需小于P2*Server_max时间)以保持连接 |
请求:3E 80 响应:无(子功能0x80不要求响应) |
0x2E | Write Data by Identifier | 通过DID(2字节标识符)写入配置数据,支持单帧(≤7字节)或多帧传输 | 写入VIN码(DID 0xF190):2E F1 90 [VIN数据] 写入后需通过0x22服务验证 |
请求:2E F1 90 4C 48 56... 响应: 6E F1 90 (写入成功) |
0x22 | Read Data by Identifier | 通过DID读取ECU数据,支持动态数据(如传感器状态)和静态数据(如固件版本) | 读取软件版本(DID 0xF180):22 F1 80 响应包含版本号及校验信息 |
请求:22 F1 80 响应: 62 F1 80 56 32 31 30 (版本V2.10) |
0x14 | Clear Diagnostic Information | 清除DTC及其关联的冻结帧数据,子功能0xFF表示清除所有DTC | EOL测试前发送14 FF FF FF 清空历史故障码,确保测试环境干净 |
请求:14 FF FF FF 响应: 54 (清除成功) |
0x19 | Read DTC Information | 读取DTC状态及环境快照,子功能02(报告已存储的DTC)和0A(读取扩展信息) | 测试后检查ECU是否生成预期DTC:19 02 FF 返回DTC列表及状态掩码 |
请求:19 02 FF 响应: 59 02 [DTC列表] |
0x28 | Communication Control | 控制ECU通信行为,子功能0x01禁用非诊断报文,0x00恢复通信 | 刷写程序时禁用ECU正常通信(28 01 ),减少总线负载;完成后恢复(28 00 ) |
请求:28 01 01 (禁用接收)响应: 68 01 01 |
0x85 | Control DTC Setting | 控制DTC记录功能,子功能0x02禁用记录,0x01启用记录 | 程序更新前禁用DTC记录(85 02 ),防止临时故障干扰测试结果 |
请求:85 02 响应: C5 02 (禁用成功) |
0x34/36/37 | 程序刷写服务 | 0x34(请求下载)、0x36(数据传输)、0x37(退出传输),用于分段传输固件 | 刷写流程: 1. 34 [地址][长度] 初始化下载;2. 36 [数据块] 分段传输;3. 37 结束并校验 |
请求:34 00 00 00 00 00 10 00 (下载16KB数据)响应: 74 [块大小] |
扩展说明:EOL电检关键流程与协议细节
1. 会话管理与安全验证流程
- 步骤:默认会话(0x10 01) → 扩展会话(0x10 03) → 安全访问(0x27) → 编程会话(0x10 02)
- 权限控制:编程会话下可执行刷写操作,需配合安全访问解锁;扩展会话支持参数读写,但需定期发送0x3E保活
2. 数据写入与校验机制
- DID规范:不同ECU的DID定义可能不同(如VIN码DID为0xF190或0xF0C1),需参考OEM文档
- 多帧传输:长数据需分帧发送(首帧FF标识+连续帧CF),网络层参数(STmin、BS)需与ECU匹配
3. 程序刷写优化策略
- 通信控制:刷写前通过0x28关闭非必要通信,提升总线效率
- 错误恢复:若传输中断,需重新初始化下载(0x34)并校验数据完整性
4. 故障码管理
- DTC格式:3字节编码(例:P0001),包含故障类型、系统标识及失效模式
- 快照数据:0x19服务可读取故障发生时的环境参数(如车速、电压)
注意事项与常见问题
- 否定响应处理
- 若收到
7F [SID] [NRC]
,需根据NRC调整操作(如NRC 0x22表示条件不满足,需检查会话状态)
- 时序要求
- 保活信号(0x3E)发送间隔需小于ECU的P2*Server_max时间(通常2-5秒)
- 车型适配性
- 不同车型可能限制部分DID或子功能(如某些ECU不支持0x2F输入输出控制)
参考来源:本文内容综合自ISO 14229标准及多篇技术文档,详细实现需结合具体车型诊断规范