此外,还给整车厂及供应商提供了自主定义的会话范围,如供应商可以在10 60至10 7E间开发自己使用的会话服务。 在10服务使用中,如应答为否定应答,则对应的否定NRC代号对应解析: 3.2 27 安全访问 ECU当中有很多数据是整车厂独有的,从保密性角度考虑,ECU上电之后是一个锁定的状态(Locked),在读取一些特殊数据的时候,...
这个是27服务支持的所有NRC是在14229-1里定义,比如说我们常用的12;13;这里注意24是一个请求顺序错误,比如说我们要求的安全解锁状态过程必须是先请求Seed再发送key,如果你没有执行请求seed的请求报文,直接发送了key,就会回复24NRC;比如说35是非法Key,如果Tester发送了非法的密钥给ECU,ECU就会回复35NRC;36是尝试次数超...
对于安全访问,从 0x00 到 0xFF 的子功能可用于不同的安全级别。基本上,所有奇数值都用于种子请求,而下一个偶数值(种子请求安全级别 + 1)将用于通过使用安全访问服务标识符 (0x27) 将安全密钥发送到 ECU 来实现解锁。 如上文所示,为了防止 ECU 被未经授权的人修改,大多数 UDS 服务都被锁定。要访问用于修改 ...
$27安全访问 image.png 27服务,加上一个子服务,再加上一个钥匙,这样的服务请求可以进行解锁。 比如下面的例子,2n-1是某个子服务,通过首轮种子的请求,首轮ECU会返回67+01+AA+BB+CC+DD,AA~DD就是种子了。之后第二轮,诊断端会利用种子进行运算(利用整车厂的算法),生成k1(不一定是1个字节),那么发送请求,27+...
——一对多通信,称为功能寻址或广播寻址。取决于N_NAD值的通信模式如下:——00:不适用,预留用于休眠指令帧;——01-7D:物理寻址类型;——7E:功能寻址类型;——7F:广播寻址类型;——80–FF:专用寻址类型。 所有类型的网络层帧都应支持物理寻址。请求得到响应是在预期中的。 N_NAD值应始终根据从节点中配置的NAD...
NRC 0x12:子功能不支持;NRC 0x7E:在当前会话不支持子功能;NRC 0x33:服务或子功能不支持在当前的...
7E:subFunctionNotSupportedInActiveSession/激活会话不支持该子服务,当前会话模式下ECU不支持请求的子服务; 7F:serviceNotSupportedInActiveSession/激活会话不支持该服务,当前会话模式下ECU不支持请求的服务; 92:voltageTooHigh/电压过高,当前电压值超过了编程允许的最大门限值; ...
请求的服务是功能寻址时,NRC为:服务不支持(0x11),当前会话服务不支持(0x7F),子功能不支持(0x12),当前会话子功能不支持(0x7E),请求超出范围(0x31),不管SPRMIB是否置位,都不会回复NRC。但前提是没有回复NRC 0x78的情况下。括号里面那句话很重要
7E表示当前会话下Sub-function不支持 7F表示当前会话下服务不支持 Sub-function分成了两部分(14229 P39) Bit7,Suppress postive reponse message indication bit,抑制正响应位 为0时,不抑制正响应消息 为1时,抑制响应消息,正响应消息不应该被发送 负响应消息不受抑制正响应位影响,会根据协议规定的限制发送 ...
举个例子,假设扩展会话模式下,读写数据前需要先解锁,比如约定好了,这种场景下解锁采用的是27 01命令。我们发送27 01请求种子;ECU发送67 01 36 57,其中36 57是种子。密钥是种子的二进制补码,于是客户端计算出密钥是C9 A9;随后通过27 02 C9 A9发送密钥给ECU;ECU验证正确后,回复67 02,表明解锁成功。解锁成功后...