伴随着需求不断提升(车身数据传输速率和带宽需求),为了满足需求将以太网引进到车载网络中。车载以太网在诊断传输层的应用协议是ISO 13400(Diagnostic On IP—DoIP),定义的是从物理层到应用层搭建通信桥梁的规则。
-
DoIP—协议框架
-
DoIP—物理连接
-
DoIP—车辆声明
-
DoIP——通信建立
-
DoIP—诊断通信
-
DoIP—Alive Check
-
关于DoIP文章汇总和思考
-
基于DoIP使用CANoe.DiVa用于UDS一致性测试
-
基于CANoe的DoIP测试实现
-
CANoe—基于DoIP通过CAPL实现与ECU通信测试
上述文章自己总结的都是偏向具备内容,针对的是在基于车载以太网进行诊断通信,搭建通信桥梁的整个过程(对于DoIP可以理解为DoIP是搭建通信桥梁的规则)。
今天自己想基于ISO 13400协议总结下偏系统的概述性的内容,以方便后续自己查阅。
-
需要选定车载总线类型:-Tx、-T1、BroadR-Reach,具体选定那种总线类型,需要参看各家车规芯片、接口特性;
-
Software、Hardware工程师根据不同类型定义驱动;
-
基于诊断范畴需求参看IEEE 802.3(国际上定义无线通信的协议簇)、ISO 13400-3定义以太网在车身做诊断接口参数(比如激活线特性);
上述内容可以在如上图OSI七层模型清晰看到(对应协议名称)。
在车载诊断范畴,传输层中应用的协议是ISO 13400。
该协议的目的是建立物理层到应用层的通信桥梁,该规则可以保证诊断通信链路的稳定和安全。
DoIP是Diagnostic on IP,相当于诊断在车载以太网的应用。
报文传输的载体还是传统互联网的TCP/UDP/IP协议(这些协议1980年就已经提出,经历了时间和市场的考验),DoIP协议就是定义一系列规则,使用不同的帧类型(在协议中,通过Payload Type)来搭建通信流程:
在ISO 14229-2中定义了诊断范畴需要用到的时间参数:
该ISO 14229子类中定义了诊断过程中相应的时间参数(P2、P2*、S3等)
通过示意图,详细直观说明了时间参数在诊断过程中的定义。
应用层是实现诊断功能(OSI七层模型),具体的诊断功能如下所示:
都是在此层实现,对应的协议是ISO 14229-1。
因为此时诊断报文是基于车载以太网传输,所以需要查看ISO 14229-5(该文是UDS协议在在车载以太网上的具体应用和具体限制),因为UDS在不同的车载总线应用是不同的,因此通过不同的子类(子类-3到-7,对应不同的车载总线)加以说明。
由于车载以太网有很好的网络延展性,可以点对点,也可以应用交换机等策略实现良好的车载网络拓扑。
考虑到车载以太网后续会有远程无线应用,在ISO 13400中给出了如下网络拓扑示意图:
在ISO 13400协议中只有边缘节点可以连接外部Tester(严格按照ISO协议的话)。并且车身内部节点定义时会有逻辑地址,这样的话,Tester只知道车内节点的逻辑地址,Tester将该请求发送至GW时,GW内部有逻辑地址和真实地址的Map关系表,这样可以有效的保护车内节点数据安全。
只有GW可以解析逻辑地址和真实地址之间的关系,这样虽然可以有效的保护数据安全,但是也造成了GW很大的负荷,会形成通信“堵塞”现象。
让Tester经过安全认证,GW充当路由功能,Tester直接根据真实地址直接跟ECU进行通信(GW无脑转发)。
最新版 ISO 13400协议将信息安全因素考虑进去,在整个通信桥梁搭建过程中增加了TLS(Transport Layer Security),具体通信流程如下图:
在ISO 13400协议中关于车辆边缘节点IP地址有两种方式:
但考虑到现阶段整车数量,多数OEM采用是静态IP地址(IPV4偏多)。
车辆将自身的识别信息以广播形式自发三次(上电后)于所在网络,Tester若未获取,进行通信前可进行车辆信息请求.
PS:需要注意的是这个过程有许多时间参数需要注意,后续我会以文章形式整理出来。
以DoIP Payload Type 0005/0006来激活车载以太网诊断通信套接字(Socket),也就是TCP进行三次握手连接后,执行该动作,激活诊断通信功能。
此时Tester会发送DoIP Payload Type 8001的诊断请求进行诊断通信,边缘节点接受到请求后会回复DoIP Payload Type 8002的ACK,告知Tester收到诊断请求,与此同时会发送诊断请求给车内具体节点。车内节点收到后会给予诊断相应(此时DoIP Payload Type 8001)。
PS:若边缘节点判定Tester发送的诊断请求有无效信息时:
等等,此时边缘节点会回复DoIP Payload Type 8003的NACK。
PS:车内节点之间通信可不用严格按照DoIP协议定义流程(俗称阉割版DoIP协议)。
———————————–
作者简介 | 穿拖鞋的汉子
汽车电子工程师
公众号:车载诊断技术
[email protected]
来,每天进步一点点!
原文始发于微信公众号(车载诊断技术):DoIP协议概述