Professional Documents
Culture Documents
诊断数据包协议
诊断数据包协议
例子:
IDH: 07, IDL: E0, Len: 08, Data: 10 82 36 01 31 46 4D 43
IDH: 07, IDL: E8, Len: 08, Data: 30 00 00 00 00 00 00 00
IDH: 07, IDL: E0, Len: 08, Data: 21 55 30 45 37 38 41 4B
IDH: 07, IDL: E0, Len: 08, Data: 22 42 33 30 34 36 39 FF
IDH: 07, IDL: E0, Len: 08, Data: 23 FF FF FF 2A FF FF FF
例子:
IDH: 07, IDL: E0, Len: 08, Data: 02 10 03 00 00 00 00 00
IDH: 07, IDL: E8, Len: 08, Data: 06 50 03 00 32 01 F4 00
安全访问:
为了执行许多敏感的诊断操作,有必要向 ECU 进行身份验证。 这是通过安全访问服务完成的。 可能有多个
级别的访问。 第一个请求向 ECU 请求加密种子。 ECU 和发送方有一个共享的加密函数和密钥,当给出一个种子
时,它将输出一个响应。 然后发送方发送计算结果回来证明它有钥匙。
例子:
IDH: 07, IDL: 26, Len: 08, Data: 02 27 01 00 00 00 00 00 (发送端发送)
IDH: 07, IDL: 2E, Len: 08, Data: 05 67 01 54 61 B6 00 00 (ECU 返回操作种子)
IDH: 07, IDL: 26, Len: 08, Data: 05 27 02 D0 B6 F1 00 00 (发送端将种子经过算法
计算后返回 ECU)
IDH: 07, IDL: 2E, Len: 08, Data: 02 67 02 00 00 00 00 00 (ECU 确定计算结
果无误,返回正确指令)
经过一些计算后,发送方返回操作种子的结果 D0 B6 F1”。 由于这是正确的值,ECU 以无错误响应响应。
输入输出控制:
这是一种测试特性,允许授权工具控制或监控 ECU 的外部输入。例如,可以告诉 ECU 假装它正在接收某些传
感器值,以便机制能够判断出某些内容是否存在传感器出问题了。 发送到 ECU 的实际值完全依赖于和 ECU 是专
有的下面是一个例子。
IDH: 07, IDL: E0, Len: 08, Data: 06 2F 03 07 03 00 00 00
IDH: 07, IDL: E8, Len: 08, Data: 06 6F 03 07 03 36 90 00
由本地设备发出的输入输入控制
IDH: 07, IDL: 81, Len: 08, Data: 04 30 01 00 01 00 00 00
IDH: 07, IDL: 89, Len: 08, Data: 02 70 01 00 00 00 00 00
这些类型的诊断测试对安全性非常有用研究人员可以验证汽车的某些功能。 下面是一个例子:
在上面的例子中,服务工具告诉正在监听 0781 的 ECU 有 04 字节的数据,并且请求是一个有标识符为 30 的设备
对输入输出系统的请求。接下来的 3 个字节的数据(01 00 01)被用作控制。
常规控制
这个服务类似于 ECU 中的 RPC 服务。它允许用户让 ECU 执行一些预先编程的程序。举个例子。
IDH: 07, IDL: E0, Len: 08, Data: 10 0C 31 01 FF 00 00 01 ,TS: 513745
IDH: 07, IDL: E8, Len: 08, Data: 30 00 00 00 00 00 00 00 ,TS: 513754
IDH: 07, IDL: E0, Len: 08, Data: 21 00 00 00 07 00 00 00 ,TS: 513760
IDH: 07, IDL: E8, Len: 08, Data: 03 7F 31 78 00 00 00 00 ,TS: 513769
IDH: 07, IDL: E8, Len: 08, Data: 03 7F 31 78 00 00 00 00 ,TS: 545021
IDH: 07, IDL: E8, Len: 08, Data: 05 71 01 FF 00 10 00 00 ,TS: 570007
请求下载
这些转储或上传数据到/从 ECU。 让我们考虑请求下载,将数据放在 ECU 上(上传/下载是从 ECU 的角度)。