DoIP(三)—— 通信流程

DoIP(三)—— 通信流程,第1张

DoIP(三)—— 通信流程

本文我们来梳理一下DoIP诊断通信的整个流程。

1. 物理连接建立与车辆发现

首先第一步是将外部诊断设备与车上的DoIP节点网络连接起来,有以下两种连接方法:

(1)直接连接

拓扑图如下图所示:

(2)网络连接

网络连接中,诊断设备和DoIP节点之间不再是直接连接,而是通过路由器进行连接

不管是哪种连接方式,都要经历以下几个步骤:

① 物理层连接与IP地址分配

最先要做的是在诊断设备和DoIP节点间建立物理连接,即连接以太网线。之后采用DHCP协议进行IP地址分配。【目前车上的以太网节点还比较少,通常都是固定IP地址,这时候就不需要动态分配了】

有的时候一辆车上是存在多个DoIP节点的,这个时候与诊断设备相连的DoIP节点叫做边缘节点-Edge Node(或DoIP master),其余DoIP节点是普通节点,普通节点与诊断设备之间的DoIP通信都需要经过DoIP边缘节点的转发,所以边缘节点充当了路由器的作用,在直接连接的情况下有时也会作为DHCP Server,为诊断设备和车上其它DoIP节点分配IP地址。

详细步骤如下图所示,需要注意的一点是DoIP边缘节点有一个硬线激活线,在建立物理连接的时候要连接该硬线激活线,才能激活边缘节点的DoIP通信。边缘节点与车上其它节点的连接如何激活标准中没有定义,主机厂可自定义。

② DoIP节点发送车辆声明报文

我们前文讲过车辆声明报文,就是用在这个时候,由DoIP节点主动发送3次,用UDP协议向整个网络进行广播,目的端口是UDP_DISCOVERY,源端口可以是UDP_DISCOVERY,也可以动态分配。

③ 诊断设备请求车辆信息

如果诊断设备没有收到DoIP节点的车辆声明报文,则需要主动请求车辆信息,使用UDP协议,目的端口是UDP_DISCOVERY,源端口是动态定义的UDP_TEST_EQUIPMENT_REQUEST。

2. DoIP会话

所谓DoIP会话就是指DoIP传输诊断数据的整个流程,如下图所示:

① 添加车辆至列表

在经过上文的物理连接建立和车辆发现步骤后,诊断设备已经获取到了DoIP节点的必要信息,此时诊断设备应将该DoIP节点的信息添加至车辆列表中,供 *** 作人员选择。

② 建立TCP连接

*** 作人员选择该车辆后,诊断设备与DoIP节点间建立TCP连接。

③ 路由激活

TCP连接建立成功后,诊断设备发送路由激活报文,DoIP节点给出响应。诊断设备向 *** 作人员指示连接成功。

④ 诊断通信

路由激活步骤执行完毕后,就可以进行诊断通信了,在诊断设备和DoIP节点间传输诊断数据。

⑤ *** 作结束,关闭TCP连接

所有诊断 *** 作完成后, *** 作人员注销诊断设备,诊断设备关闭与DoIP节点间的TCP连接。

以上就是诊断通信的最基础的步骤。

3. GID同步

我们前文讲过,GID是同一辆车上一组DoIP节点的组标识,通常情况下也可以用VIN来标识一辆车上所有的DoIP节点,能起到GID同样的作用,但又有时候VIN可能还没有被写入DoIP节点中,如测试时或下线标定之前,这个时候就需要用GID来标识车上的一组DoIP节点。

DoIP节点刚被装到车上的时候,GID也是没有同步过的,我们前文讲DoIP报文类型的时候,提到车辆声明报文中有一个VIN/GID同步状态,初始状态就是未同步。这个时候一辆车上的多有DoIP节点首先要进行GID同步,再进行通信。

GID同步由边缘节点发起,具体的通信协议标准中没有定义,主机厂可以自己定义,总之能够实现车上的所有节点都存储了相同的GID即可。GID是6个字节,通常会使用DoIP边缘节点的MAC地址作为所有节点的GID。

流程如下图所示:

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5636988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存