常见的UDS服务标识符
3E 保持会话激活 0x3E00[需要响应] / 0x3E80[抑制响应]27 解锁[密钥]28 管理ECU通信状态(设为静默)11 ECU Reset [OTA后强制重启]2E/22 写入/读取DID对应参数19 获取DTC状态信息[DTC是指诊断故障代码]14 清除DTC存储区31 对ECU发控制指令 [01启动 02停止 03查询例程]10 切换ECU操作权限与限级 [01 限权 02 编程 03 扩展]34/36/37 请求下载/传输数据/退出下载 [用于ECU刷写]负响应应答码为 [7F+SID+[NRC]]
正响应应答码为 [(SID+40)]
UDS刷写流程
1.预编程阶段进入扩展会话模式发送:0x10 0x03等待响应:0x50 0x03安全访问请求安全种子:发送:0x27 0x01接收:0x67 0x01 [Seed]计算密钥并发送:计算密钥(使用预设算法,如AES加密)。发送:0x27 0x02 [Key]等待响应:0x67 0x02禁止非诊断通信发送:0x28 0x01等待响应:0x68 0x012.主编程阶段擦除Flash区域发送:0x31 0x01 [RoutineID](例如 0xEE00)等待响应:0x71 0x01数据传输定义数据块:发送:0x34 [Start Address] [Length]等待响应:0x74传输固件数据:分块发送:0x36 [Block Number] [Data]等待响应:0x76退出传输:发送:0x37等待响应:0x773.后编程阶段完整性校验发送:0x31 0x01 [RoutineID](例如 0xDDFF)等待响应:0x71 0x01ECU复位发送:0x11 0x01等待响应:0x51 0x01恢复通信发送:0x28 0x00等待响应:0x68 0x00