UUDS—常见NRC及其含义
1.概述
UDS(Unified Diagnostic Services)是ISO 14229定义的汽车诊断协议,用于ECU(电子控制单元)的故障诊断和通信。NRC(Negative Response Code)是UDS协议中用于表示请求失败的响应代码,通常伴随否定响应(0x7F)出现。
2.常见NRC分类及含义
2.1 通用NRC (0x10-0x5F)
NRC | 名称 | 释义 |
---|---|---|
0x10 | General Reject | 一般拒绝(未明确原因,通常因ECU内部状态不满足条件) |
0x11 | Service Not Supported | 请求的服务不被支持(如请求了代码中未定义的SID) |
0x12 | Sub-Function Not Supported | 请求的子功能不被支持(如子功能参数超出定义范围) |
0x13 | Incorrect Message Length Or Invalid Format | 报文长度错误或格式无效(如数据长度不匹配服务要求) |
0x22 | Conditions Not Correct | 当前ECU状态不满足执行条件(如当前车速信号不满足执行请求条件) |
0x24 | Request Sequence Error | 请求顺序错误(如安全访问跳步请求,31例程请求跳步请求) |
0x31 | Request Out Of Range | 请求参数超出有效范围(如22/2E/31/2F请求DID超出定义范围,2E请求写入的值超出定义范围,2F请求执行参数超出定义范围) |
0x33 | Security Access Denied | 未经安全认证或安全认证失败(如密钥验证未通过),去请求需要安全访问解锁状态的服务 |
0x35 | Invalid Key | 提安全密钥无效(提供的解锁秘钥不正确) |
0x36 | Exceeded Number Of Attempts | 尝试次数超限(安全认证失败次数达到上限) |
0x37 | Requried Time Delay Not Expired | 延时未结束(安全访问的尝试需等待延时) |
2.2 数据相关NRC (0x70-0x8F)
NRC | 名称 | 释义 |
---|---|---|
0x70 | Upload/Download Not Accepted | 上传/下载被拒绝(如内存空间不足或传输模式冲突) |
0x71 | Transfer Data Suspended | 数据传输暂停(ECU主动暂停需重新请求) |
0x72 | General Programming Failure | 编程失败(如Flash写入校验错误) |
0x73 | Wrong Block Sequence Counter | 数据块序列号错误(如顺序不连续) |
0x78 | Request Correctly Received-Response Pending | 请求已接收但响应未就绪(需等待后续发送肯定响应) |
2.3 会话与状态NRC
NRC | 名称 | 释义 |
---|---|---|
0x7E | Sub-Function Not Supported In Active Session | 当前会话下不支持该子功能(如默认会话下尝试执行编程会话状态跳转) |
0x7F | Service Not Supported In Active Session | 当前会话下不支持该服务(如默认会话下请求2E服务) |
2.4 其他NRC
NRC | 名称 | 释义 |
---|---|---|
0x21 | Busy Repeat Request | ECU忙,需重试请求(通常需等待后重新发送) |
0x25 | No Response From Subnet Component | 子网组件无响应(网关类ECU报告下游节点无应答) |