否定响应格式是一个固定的格式“7F+请求报文里的SID+一个字节的NRC” 看两个名词,一个叫做Subfunction,一个叫做ID,UDS服务支持Subfunction的请求和响应格式,“请求”为“SID+一个字节Subfunction+具体的数据”,肯定响应为“SID+40+Subfunction+具体的数据”,而有的UDS服务里面是不支持Subfunction,是支持DID的,DID...
Receive:7F 10 12(7F即指代错误响应,10为SID,12是NRC,查协议可知其指代sub-function not supported 这个错误) 常用的NRC 11:ServiceNotSupported/服务不支持,诊断仪发送的请求消息中服务标识符无法识别或不支持; 12:SubFunctionNotSupported/不支持子服务,诊断仪发送的请求消息中子服务无法识别或不支持; 13:Incorrect...
否定响应:02 7F 10 22 xx xx xx xx;02同上,7F表示否定响应,10是SID,22是NRC。 $3E待机握手 $3E服务用于向服务器指示诊断仪仍然连接在网络上,之前已经激活的诊断服务功能可以仍然保持激活状态。 例子:02 3E 80 00 00 00 00 00,发送一个3E服务的报文,保持非默认会话状态。80表示无需回复。 $27安全访问 $...
<0x7F> +<SID> +<NRC> //NRC:Negative Response Code(否定响应码) 只要是Negative Response,第一字节就一定是0x7F,第二字节照抄原来的SID,第三个字节是错误响应码,指示具体错误响应的原因,这个NRC可以在协议中查到,并且不同的服务所支持的NRC也有规定。 拿session control 这个service来举例: Send:10 05(现在...
负响应的格式是:“7F+SID+NRC”。 继续来整个例子(这个也是网上抄来的,我解读一下),第一行和第三行分别是10服务的01子服务和02子服务,对于01子服务,回复的就是正响应,其中00 32 00 C8这四个字节的内容是10服务的回话参数,这个在后面介绍10服务的时候再详细介绍。对于10服务的02子服务,回复的就是负响应,...
03同上,7F表示否定响应,10是SID,22是NRC。3E服务用于向服务器指示诊断仪仍然连接在网络上,之前已经激活的诊断服务功能可以仍然保持激活状态。例子:27服务,加上一个子服务,再加上一个钥匙,这样的服务请求可以进行解锁。比如下面的例子,2n-1是某个子服务,通过首轮种子的请求,首轮ECU会返回67+01+...
三、UDS功能服务 ISO14229-1协议中定义了6类功能,26种服务,UDS功能服务主要依托于UDS报文的信息不同,UDS报文的格式为:SID+SF+DID的通用格式,可以衍生出SID、SID+SF、SID+DID的报文格式。 服务中SID的定义规则及规范如下表所示。 正响应:SID+40; 负响应:7F+SID+NRC; ...
ECU:03 7F 27 7800 00 00 00 若为否定响应,7F+27+NRC ECU:0267 0600 00 00 00 00 若为肯定响应,通过安全校验 细说下安全验证算法。安全验证算法包括1个核心,3个主体。 第一个主体通常和ECU有关。比如我们先用22服务读取ECU的SN,取其中4个字节,作为“调味料”参与,显然这个“调味料”对于这个ECU来说是...
当NRC 0x78被使用了,服务端最终都要给一个响应(正响应或否定响应),和SPRMIB的值是否置位无关,和是否是功能寻址,且NRC为0x11,0x7F,0x12,0x7E,0x31无关。 简单来说就是: 1)当服务端回复了NRC 0x78,即使SPRMIB是置位的也要回复正响应; 2)当服务端回复了NRC 0x78,即使发送的请求是功能寻址,且NRC为0x...
ECU:7F1033【7F表示否定响应,10表示否定的SID,33是NRC:代表没有权限】 4. 0x3E服务(诊断仪在线) 每隔⼀段时间(⼩于服务器⾃动跳回默认会话的时间间隔),发送⼀次3E请求给ECU Tester都能配置⾃动发送3E服务请求 image.png 5. 0x27服务(获取安全访问的权限、解锁ECU) ...