ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

UDS安全访问0x27服务:35/36/37负响应码排查指南

UDS安全访问0x27服务:35/36/37负响应码排查指南 在台架上调试VCU或BCM的上电刷写流程时最容易卡住的一步往往不是传输层而是安全访问SecurityAccess0x27服务。诊断仪发出27 01请求种子ECU正常返回67 01和一串Seed。你按照算法文档算出Key发过去ECU却回7F 27 35密钥无效。修改算法再试连续几次之后NRC从35变成36等一会儿再试又冒出37。此时很多人的第一反应是“算法抄错了”但在实际项目中真正的原因往往藏在时序、尝试计数器和延迟锁定这三件事上。这篇文章围绕0x27服务SecurityAccess的35、36、37三个负响应码讲清楚各自的触发条件、三者之间的递进关系以及如何在CANoe里抓包定位、用脚本自动化处理。读完你至少能回答为什么连续失败会从35变成3637到底在等什么排查时应该先看哪一层1. 27服务安全访问的基本流程1.1 为什么需要安全访问安全访问是UDSISO 14229定义的一项核心诊断服务用于保护ECU内部的关键操作比如Bootloader刷写、标定写入、故障码清除等。没有通过安全访问验证诊断仪只能读取常规数据无法执行写入类操作。这个设计背后的原因是诊断服务走的是车内网络如果任何人都能直接发送2E写入、31例程控制那么车辆很容易被非法篡改。安全访问相当于一把锁只有持有正确密钥的人才能打开。1.2 种子与密钥的交互时序0x27服务的工作流程分两个阶段第一阶段诊断仪发送请求种子奇数SubFunction如0x01、0x03、0x05ECU返回对应的种子数据。第二阶段诊断仪根据种子计算密钥发送密钥偶数SubFunction如0x02、0x04、0x06ECU校验通过后返回成功响应。注意请求种子和发送密钥的子功能必须配对。例如请求种子用0x01发送密钥就用0x02请求种子用0x03发送密钥就用
返回列表