统一诊断服务(UDS)

您所在的位置:网站首页 如何理解清零 统一诊断服务(UDS)

统一诊断服务(UDS)

2023-10-27 23:01| 来源: 网络整理| 查看: 265

统一诊断服务(UDS)- 安全等级是怎么回事儿 怎么解锁安全等级安全等级如何与功能关联

上一篇《统一诊断服务(UDS)- 什么是安全访问》中介绍了安全访问的机制和应用场合。为了易于理解,文中笼统的描述为通过安全访问后ECU就被解锁了。实际上,ECU内部存在着安全等级(Security Level)。通过安全访问服务(Security Access Service, SID 0x27)解锁的不是ECU,而是对应的安全等级。

怎么解锁安全等级

安全等级的解锁需要通过UDS的安全访问服务(SecurityAccess Service, SID 0x27)来实现。关于安全访问服务的具体格式和参数,不在这里具体介绍了。请参考ISO14229-1:2013(E) 9.4 SecurityAccess(0x27) service章节。

这里要重点说明的是安全访问服务的子功能参数。如下是ISO14229-1:2013(E)中对安全访问服务子功能参数的定义。

子功能参数Bits 6-0定义0x00ISO/SAE预留0x01请求种子(requestSeed)功能对应的安全等级由整车厂定义0x02发送密钥(sendKey)该子功能对应的安全等级由整车厂定义0x03,0x05,0x07–0x41请求种子(requestSeed)不同子功能对应的安全等级由整车厂定义0x04, 0x06,0x08–0x42发送密钥(sendKey)不同子功能对应的安全等级由整车厂定义0x43–0x5EISO/SAE预留0x5F请求种子(requestSeed)用于ISO 26021-2标准中规定的车辆报废时对某些控制器进行在线设置0x60发送密钥(sendKey)用于ISO 26021-2标准中规定的车辆报废时对某些控制器进行在线设置0x61–0x7E系统供应商定义0x7FISO/SAE预留

子功能参数中,请求种子(requestSeed)和发送密钥(sendKey)这两个子功能是成对出现的。例如,子功能参数0x01是请求种子(requestSeed),它与子功能参数0x02发送密钥(sendKey)是一对,关联到同一个安全等级。当诊断仪发送请求$02 27 01向ECU请求种子后,需要通过请求$06 27 02 xx xx xx xx向ECU发送对应的密钥才能成功解锁对应的安全等级。类似的,子功能参数0x03(请求种子)与0x04(发送密钥)是一对,关联到同一个安全等级。请求种子(requestSeed)子功能为奇数,而发送密钥(sendKey)子功能为偶数。同一个安全等级的发送密钥(sendKey)子功能数值为请求种子(requestSeed)子功能数值加一。子功能关联的安全等级由整车厂定义。

安全等级如何与功能关联

ECU内部可以有不只一个安全等级。每个安全等级关联了若干功能或诊断服务。只有对应的安全等级被解锁,这些关联的功能和诊断服务才能被允许执行。但同一时刻,只能有一个安全等级处于解锁状态。

举个例子。一个ECU内部定义了两个安全等级 – 安全等级1和安全等级2。安全等级1对应子功能0x01(请求种子)和0x02(发送密钥)。安全等级2对应子功能0x05(请求种子)和0x06(发送密钥)。整车厂做了如下定义:

通过DID写入数据服务(WriteDataByIdentifier Service, SID 0x2E)和通过ID进行输入输出控制服务(InputOutputControlByIdentifier Service, SID 0x2F)需要解锁安全等级1才能被执行。

通过Bootloader更新ECU的程序和标定数据时,涉及到的请求下载服务(RequestDownload Service, SID 0x34)、数据传输服务(TransferData Service, SID 0x36)和结束传输服务(RequestTransferExit Service, SID 0x37)需要解锁安全等级2才能执行。

那么,当需要通过DID写入数据时,诊断仪需要通过安全访问服务(Security Access Service, SID 0x27)和子功能参数0x01/0x02来解锁安全等级1。安全等级1被解锁后,ECU可以通过SID 0x2E服务写入DID数据。否则,ECU在收到通过DID写入数据服务(WriteDataByIdentifier Service, SID 0x2E)后,会给出NRC 0x33的否定相应。如果在安全等级1被解锁后,诊断仪再次通过安全访问服务(Security Access Service, SID 0x27)和子功能参数0x05/0x06解锁了安全等级2。那么,安全等级1将处于锁定状态。SID 0x34、SID 0x36、SID 0x37服务可以正常执行。而SID 0x2E和SID 0x2F服务的执行将被限制。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3