虽然11 01 11 11 11 11 是6个字节,byte0也为06,报文长度格式正确,但是NRC依旧为13。这里就是NRC 13的另一种情况: invalid format 无效的格式,这里11服务只能是11 01 只能是2个字节,若发送3个字节或3个字节以上,那么就会发送NRC 13 三、NRC 7F service not supported in active session 当前会话下不支持该...
1)NRC 0x31不管SPRMIB有没有置位,在参数不对或不支持的情况下都回复NRC 0x31; 2)在SID不支持时,SPRMIB没有置位,则回复NRC 0x11或0x7F,看具体情况;但SPRMIB置位了,则一定回复NRC 0x11; 3)在sub-function不支持时,SPRMIB没有置位,则回复NRC 0x12或0x7E,看具体情况;但SPRMIB置位了,则一定回复NRC 0x...
1)NRC 0x31不管SPRMIB有没有置位,在参数不对或不支持的情况下都回复NRC 0x31 2)在SID不支持时,SPRMIB没有置位,则回复NRC 0x11或0x7F,看具体情况;但SPRMIB置位了,则一定回复NRC 0x11 3)在sub-function不支持时,SPRMIB没有置位,则回复NRC 0x12或0x7E,看具体情况;但SPRMIB置位了,则一定回复NRC 0x12...
结合$2E+DID的NRC33,是不是看出答案了。是的,在真正的执行某个服务之前,服务级别的NRC要大于服务对应子服务/参数检查的优先级。 针对$2E服务,没有经过安全解锁($27服务),直接执行$2E服务,则优先回复NRC33而不是NRC13;$2E服务安全解锁以后,$2E服务长度检查优先级(NRC13)>$2E+DID安全校验(NRC33)优先级。 提...
22服务的NRC的含义分别如下:13是请求格式不正确;14读取的数据已经超过了传输的最大值,就是超限了;31是请求的DID不支持,请求的DID在当前会话下不支持;33要求在解锁状态下,而现在没有处于解锁状态执行了响应的请求。 ——2E服务—— 2E服务,请求格式为“2E+DID+需要写入的数值”,对于2E服务的正响应是“6E+DID”...
首先,如下图UDS协议对于NRC判定策略的通用判断: 判断类别有: 1、强制类; 2、可选择类; 3、OEM自定义 常规判断优先级如下: 首先是UDS协议中定义该Service的最小长度判断——NRC13; 该服务是否支持所发送的Subfunction(子服务)——NRCA12; 该服务是否需要进行认证才可以执行——NRC34; 该服务的子服务在当前会话...
诊断协议中的否定响应码(NRC)解析 否定响应码(NRC)在诊断协议中用于表示服务端无法执行诊断请求的情况。NRC分为两类:一种是整个服务不支持(NRC 0x11),一种是特定子功能不支持(NRC 0x12)。NRC的优先级从高到低依次为:0x11、0x7F、0x13、0x12、0x7E、0x33、0x24、0x31、0x22、0x78。...
常用的NRC如下: 这里要说一下NRC 0x22,有些客户要求很细,会将温度过高、温度过低、电压过高、电压过低、发动机转速过高等都要报对应的NRC,不在这些情况内的条件不满足就回复NRC 0x22,这样的话NRC0x22和上面的NRC优先级就是一致的,就看哪个先满足就先回复哪个NRC。
支持的NRC有3个,12subfunction不支持;13请求格式或者长度错误;22条件不支持。 下面我们来看下,安全解锁27服务。 常用到的服务:2E服务通过DID来写入数据;2F通过DID来控制输入输出端口的数值;还有ECU刷写有关的编程服务。这些服务都会改变和影响一些内存里的数据,或者输入输出端口的一些值,所以这些服务是一个被保护的服...
1、在功能寻址情况下,如果出现7E/7F两个NRC,06版协议定义ECU必须给响应,13版为了降低总线负载,不用响应; 2、在13版UDS协议中对NRC优先级做了响应规定,而06版没有; 3、13版协议中ECU刷写做了描述,而06版没有。 2020版UDS协议多了Service29: Service 29功能 ...