传统的车载领域诊断技术是通过CAN/LIN/Flexray/MOST的总线方式,对UDS协议数据进行传输的技术。
与传统车载诊断相比,所谓DoIP就是通过以太网通信的形式对UDS协议数据进行传输,即DoIP:Diagnostic communication over Internet Protocol
。其本身也是一种协议,由ISO13400 系列标准定义,作为实现基于Ethernet的诊断通信的方案。本标准的各部分内容如下:
— Part 1: General information and use case defnition
— Part 2: Transport protocol and network layer services
— Part 3: Wired vehicle interface based on IEEE 802.3
— Part 4: Ethernet Diagnostic Connector
— Part 5: Conformance test specifcation
因DoIP可以传输大量数据,以及响应速度快,且可以通过以太网进行远程诊断,因此DoIP成为了车载诊断的必然趋势。
DoIP Entity:实现DoIP协议的节点(DoIP gateway或者DoIP node)
DoIP Edge Node:连接以太网激活线的DoIP节点
Network Node:连在IP网络上,但不能实现DoIP的节点
Logical Addressing(Phy/Fun):逻辑寻址
SA:Source Address-源逻辑地址
TA:Target Address-目的逻辑地址
EID:Entity Identification实体标识符,唯一标识DoIP节点,一般是MAC地址
GID:Group Identification组标识符,当VIN码未配置的时候替代VIN使用,车内节点同步边缘节点的GID
VIN:Vehicle Identification Number-车辆识别码,Length:17bytes
允许车辆与外部测试设备之间的通信。通常,该协议标准由一个或多个DolP实体实现,具体取决于车辆的网络架构。ISO13400-2中下图显示了车辆网络架构的一个示例。
从图中可以看出整体的网络拓扑被分为了两个部分,即车内网和车外网。
该网络拓扑由如下四个角色组成的
DoIP edge node gateway可以同时支持Server端和Client端:
Server端-测试设备可以诊断该网关下的某个ECU节点
Client端-OTA升级,DoIP edge node gateway的应用层可以跑一个OTA客户端程序,进行对内网ECU的诊断及刷写
DoIP数据映射到以太网帧中
DoIP数据作为SDU层向下传递,直至构成完整的以太网帧,通过物理层的介质发送出去。DoIP的数据内容分为5个部分:
①所使用的ISO13400版本信息,占用1个字节
②所使用的ISO13400版本信息依比特取反,占用1个字节
③数据类型,占用2个字节(标识本帧数据的用途,比如用于上报或请求车辆信息、诊断命令、诊断逻辑链接激活、alive check等)
④数据长度,占用4个字节(标识后面的数据长度)
⑤诊断数据,长度为0至2的32次方减1,这里的数据又分为sender address、receiver address、 应用数据这三部分。
ISO13400中定义了DoIP的4种使用场景,如下四幅图所示:
①网线
②外部测试设备
③车辆
④逻辑连接
①以太网交换机和WLAN接入点
②网线
③WLAN
④外部测试设备1
⑤外部测试设备2
⑥车辆1
⑦车辆2
⑧逻辑连接1(4和6)
⑨逻辑连接2(5和7)
①授权经销商或者维修厂网络
②网线
③WLAN
④外部测试设备
⑤网络服务器
⑥车辆1
⑦车辆2
⑧车辆3
⑨逻辑连接1(4和6)
⑩逻辑连接2(4和8)
①授权经销商或者维修厂网络
②网线
③WLAN
④外部测试设备1
5.外部测试设备2
6.网络服务器
7.车辆1
8.车辆2
9.车辆3
10.逻辑连接1(4和8)
11.逻辑连接2(4和8)
12.逻辑连接3(5和9)
13.逻辑连接4(6和9)