车载UDS诊断:NRC码详解 🚗🔧
在车载UDS诊断中,NRC码(否定响应码)是一个非常重要的概念。当电子控制单元(ECU)无法执行诊断仪发送的诊断请求时,它会反馈一个NRC码,以指示请求未被执行的具体原因。以下是一些常用的NRC码及其含义:
1️⃣ 常见的NRC码:
0x10:该否定响应不是协议里已定义的。
0x11:请求的服务没有做进去。
0x13:请求报文的长度或格式不正确。
0x22:先决条件不满足。
0x24:请求报文的顺序不正确。
0x31:参数超出范围/数据ID不支持。
0x33:不满足安全策略,请先解锁。
0x35:密钥不匹配(27服务)。
0x36:尝试解锁次数已达上限(27服务)。
0x37:超时时间未到(27服务)。
0x70:不允许上传/下载(34服务)。
0x71:数据传输中止。
0x72:擦除或者烧写内存时错误。
0x73:块序列计数错误。
0x78:已收到请求,但会晚点响应。
0x7E:当前会话下,该子功能不支持。
0x7F:当前会话下该服务不支持。
0x92:电压过高。
0x93:电压过低。
2️⃣ NRC码的优先级:
诊断服务的NRC优先级是指在不同情况下,诊断服务返回的否定响应代码(NRC)的优先级。在实际使用中,NRC的优先级对于诊断服务的正确执行非常重要。例如,如果一个服务请求同时触发了NRC 0x12(子功能不支持)和NRC 0x33(安全访问条件不满足),ECU会优先返回NRC 0x12,因为其优先级更高。这种优先级的判断逻辑确保了诊断服务的准确性和可靠性。NRC的优先级从高到低排列为:
0x11 > 0x7F > 0x13 > 0x12 > 0x7E > 0x33 > 0x24 > 0x31 > 0x22 > 0x78
了解这些NRC码和它们的优先级,可以帮助你更好地理解和解决车载诊断中的问题。
在车载UDS诊断中,NRC码(否定响应码)是一个非常重要的概念。当电子控制单元(ECU)无法执行诊断仪发送的诊断请求时,它会反馈一个NRC码,以指示请求未被执行的具体原因。以下是一些常用的NRC码及其含义:
1️⃣ 常见的NRC码:
0x10:该否定响应不是协议里已定义的。
0x11:请求的服务没有做进去。
0x13:请求报文的长度或格式不正确。
0x22:先决条件不满足。
0x24:请求报文的顺序不正确。
0x31:参数超出范围/数据ID不支持。
0x33:不满足安全策略,请先解锁。
0x35:密钥不匹配(27服务)。
0x36:尝试解锁次数已达上限(27服务)。
0x37:超时时间未到(27服务)。
0x70:不允许上传/下载(34服务)。
0x71:数据传输中止。
0x72:擦除或者烧写内存时错误。
0x73:块序列计数错误。
0x78:已收到请求,但会晚点响应。
0x7E:当前会话下,该子功能不支持。
0x7F:当前会话下该服务不支持。
0x92:电压过高。
0x93:电压过低。
2️⃣ NRC码的优先级:
诊断服务的NRC优先级是指在不同情况下,诊断服务返回的否定响应代码(NRC)的优先级。在实际使用中,NRC的优先级对于诊断服务的正确执行非常重要。例如,如果一个服务请求同时触发了NRC 0x12(子功能不支持)和NRC 0x33(安全访问条件不满足),ECU会优先返回NRC 0x12,因为其优先级更高。这种优先级的判断逻辑确保了诊断服务的准确性和可靠性。NRC的优先级从高到低排列为:
0x11 > 0x7F > 0x13 > 0x12 > 0x7E > 0x33 > 0x24 > 0x31 > 0x22 > 0x78
了解这些NRC码和它们的优先级,可以帮助你更好地理解和解决车载诊断中的问题。
2024‑11‑27
暂无评论内容
来发布第一条评论吧