1)如果请求的DID不是客户支持的,要回复NRC 0x31,就不是0x12了。因为$22服务没有子功能。 2)如果请求的DID在当前会话不支持,也是回复NRC31,不是0x7E了。 总结:22服务里面没有NRC 0x12、0x7E,其他没有子功能的服务也是如此 2.4 0x2E服务回复NRC的顺序 0x2E服务回复NRC的顺序如下图: 基本上和0x22服务一样...
在车载UDS诊断中,NRC码(否定响应码)是一个非常重要的概念。当电子控制单元(ECU)无法执行诊断仪发送的诊断请求时,它会反馈一个NRC码,以指示请求未被执行的具体原因。以下是一些常用的NRC码及其含义: 1️⃣ 常见的NRC码: 0x10:该否定响应不是协议里已定义的。 0x11:请求的服务没有做进去。 0x13:请求报文的...
其中,SID用于标识要执行的服务,至于子功能:指的是这个服务还能更进一步的划分或者具有启动/暂停之类的子功能。 尽管服务类型不尽相同,但UDS针对这些服务定义了统一的诊断请求包的格式,每个诊断请求由1个Byte的SID+1个Byte的 sub-function(实际上是1bit spr + 7bit sub-function)+不定长的实际数据构成,其格式如下...
1)如果请求的DID不是客户支持的,要回复NRC 0x31,就不是0x12了。因为$22服务没有子功能。 2)如果请求的DID在当前会话不支持,也是回复NRC31,不是0x7E了。 总结:22服务里面没有NRC 0x12、0x7E,其他没有子功能的服务也是如此 2.4 0x2E服务回复NRC的顺序 0x2E服务回复NRC的顺序如下图: 基本上和0x22服务一样...
UDS(Unified Diagnostic Services)协议,即统一诊断服务协议,是由ISO 14229系列标准定义的一种汽车通用诊断协议。它位于OSI模型中的应用层,可在不同的汽车总线(如CAN、LIN、FlexRay、以太网)上实现,用于车辆电子系统的故障诊断和通信。UDS协议提供了一组标准化的诊断服务,允许诊断工具与车辆的电子控制单元(ECU)进行通信...
NRC是UDS否定相应码Negative response code的缩写 什么是NRC优先级? 当诊断请求存在多种条件不满足的情况下,哪个NRC应该回复呢?这里有涉及到NRC优先级的概念;这就是本文讨论的重点。 对于NRC优先级,UDS协议给出了基本推荐;而对于具体服务,USD协议在服务格式定义后面,会有具体的NRC优先级推荐;这里需要注意的是,不是...
简介:[UDS] --- UDS服务应该支持的NRC USD诊断服务的否定响应中包含有导致否定响应原因的编码,称为否定响应码(NRC, Negative Response Code)。否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。0x01 – 0x7F:诊断通信相关的否定响应码。0x...
3.应用层诊断:检查诊断服务子功能参数,确认是否符合UDS(ISO14229)规范 4.环境干扰测试:在屏蔽房内复现故障,排除电磁干扰导致的数据畸变 对于"NRC35"类加密通信错误,标准处置流程包含: 校验证书链完整性(RSA-2048/SHA256) 核对安全访问种子与密钥派生算法(如AES-CBC模式) 检查硬件安全模块(HSM)的温度传感器状态,防止...
今天会着重介绍26个UDS服务里的6个,分别是10诊断会话控制,14清除诊断信息,19读取诊断信息,22由DID读取数据,27安全解锁服务,2E由DID写入数据。 下面我们来看诊断会话控制就是10服务 ECU会有不同的会话控制,所以ECU在不同的阶段,比如说开发,生产,售后阶段也会用到不同的会话模式,因为每个服务功能的不同,也会在诊...
UDS协议一致性测试之Service27环境NRC13、NRC24优先级判断 在实际一个车载控制器项目,首先OEM会提出该控制器的诊断需求规范(本文暂以诊断视角分析问题),对于测试端,会根据需求规范,提炼出测试规范。 测试的目的是验证控制器功能实现是否是按照需求规范定义的内容来实现的,当然这期间会有很多正向、逆向、各种非工况的测...