3.2 启用发送一般通讯报文(28 00 01 XX XX) 使用28 通信控制服务启用在刷写前停止收发的一般通讯报文。 3.3 各 ECU 恢复故障码的检测(85 01) 恢复故障码检测,使用85诊断故障码设置服务设置故障码设置类型为ON(01)恢复DTC的存储。 3.4 ECU 回到默认模式(10 01) 从拓展会话切换回默认会话。 刷写流程图 安全...
另外在从事项目开发的过程中,无论是平台开发还是客户项目开发,针对Subfuntion的定义取值还是带有很大的随意性,并没有按照UDS14229-1规范中的要求实施,因此有必要在此说明下27服务的Subfuntion的取值定义说明,如下图6所示: 图6 27服务Subfunction的取值定义 请求实例 以27 01 请求种子(Request Seed)为例,...
肯定响应:67 01 36 57(0x36和0x57就是Seed,前面是高位后面是低位) Step2:发送Key 发送请求:27 02 C9 A9(0x02表示发送Key) 肯定响应:67 02 (2)Server在“Unlocked”状态 请求Seed 发送请求:27 01(0x01表示请求Seed) 肯定响应:67 01 00 00(这里Seed全为0是因为此时的安全等级已经是解锁状态,只对请求进行...
发送请求:27 01(0x01表示请求Seed) 肯定响应:67 01 36 57(0x36和0x57就是Seed,前面是高位后面是低位) Step2:发送Key 发送请求:27 02 C9 A9(0x02表示发送Key 肯定响应:67 02 (2)Server在“Unlocked”状态 请求Seed 发送请求:27 01(0x01表示请求Seed) 肯定响应:67 01 00 00(这里Seed全为0是因为此时的...
以27 01 请求种子(Request Seed)为例,如下图7所示: 图7 27 01诊断请求示例 假设此时Server通过正响应并给到的Seed(0x36 0x57), 然后Client便会基于该Seed计算出对应的Key(假设为0x C9 0xA9),并发送如下Send Key请求实例(27 02): 图8 27 03 诊断请求示例 从图7与图8可以看出,请求Seed的字节数目与算出...
从上图中可以看出,27诊断服务的正响应由以下三个部分组成: Response ID:该参数固定为SID+0x40 = 0x67; SubFunction:该参数为request seed(如01)或者Send Key(02)的取值; securitySeed:该参数仅针对subfunction为Request Seed时才会回复该参数,其他情况下,Server仅会回复前两个字节(response SID + SubFunction),...
Tester:27 01 ECU: 67 01 seed(4byte) Tester: 27 02 key(4byte) ECU : 67 02 服务解析: 01和02定义由主机厂定义,但格式保持请求种子2n-1.请求密钥2n.请求顺序也必须先请求种子,再请求密钥,若顺序不对,则ECU会回复NRC 24,告诉你顺序反了。
这里,不同会话模式会使用不同的子功能SF,且可能使用不同的加密算法,比如扩展会话使用27 01, 27 02,编程会话使用27 03, 27 04。 3.3 其他服务 3.3.1诊断相关服务$14和$19 故障诊断中,$14和$19服务用于操作存储在ECU中的DTC,其中$14服务是清除故障服务,其请求格式为:SID+ groupOfDTC(3字节),正响应为:54...
肯定响应:67 01 36 57(0x36和0x57是Seed的高位和低位)。步骤2:发送密钥。发送请求:27 02 C9 A9(0x02表示发送密钥)。肯定响应:67 02。(2)服务器处于“解锁”状态。请求种子。发送请求:27 01(0x01表示请求种子)。肯定响应:67 01 00 00(响应为全零,表示当前安全等级已解锁)。更多...
举个例子,假设扩展会话模式下,读写数据前需要先解锁,比如约定好了,这种场景下解锁采用的是27 01命令。我们发送27 01请求种子;ECU发送67 01 36 57,其中36 57是种子。密钥是种子的二进制补码,于是客户端计算出密钥是C9 A9;随后通过27 02 C9 A9发送密钥给ECU;ECU验证正确后,回复67 02,表明解锁成功。解锁成功后...