中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 137查看
  • 0回复

[电子架构] 车载以太网-DoIP ISO 13400-2(5)

[复制链接]

该用户从未签到

发表于 30-3-2024 16:31:36 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


之前的文章DoIP ISO 13400-2(1)-(4)详细了介绍了DoIP协议的内容,本文通过一个简单易懂的DoIP协议标准流程示例,帮助读者更好地理解在一个正确的DoIP协议运行中(不包括可能发生的特例和错误),DoIP协议中各个元素、运行机制和事件发生的顺序。一、建立连接和发现车辆1、直接连接场景当诊断仪与车辆直接连接时,必须使用交叉以太网电缆或者诊断仪和DoIP实体任意一个支持Auto-MDI(X)。假设不存在DHCP服务器,因此在初始化完成后,DHCP分配IP地址的过程失败,DoIP实体将通过自动配置机制确定本地有效IP地址。一旦DoIP实体的网络接口通过获取的IP地址配置完成,DoIP实体将通过车辆公告报文广播它的VIN、EID、GID和逻辑地址。车辆公告报文将以UDP_DISCOVERY为目的端口广播(UDP)3次。由于某些操作系统只有在DHCP失败后才会启动本地自动IP分配机制,诊断仪的自动IP机制可能会延迟启动。由于DoIP实体会同时启动DHCP和自动IP机制,因此DoIP实体的IP配置很可能更快地完成,导致诊断仪收不到初始车辆公告报文。如果诊断仪未能及时完成用于接收初始车辆公告报文的TCP/IP通信配置,诊断仪可能需要使用车辆识别请求报文查询车辆。图17描述了在直接连接场景下的建立连接和发现车辆过程。
车载以太网-DoIP ISO 13400-2(5)w1.jpg
2、网络连接场景当诊断仪与车辆通过网络连接时,建立连接和发现车辆的过程与直接连接场景有微小区别。诊断仪和DoIP实体连接到网络的物理接连不是必须在时间上保持同步,网络接口配置完成并允许TCP/IP连接尝试的时间点也可能存在明显的差别。如果诊断仪还没有接收到期望的DoIP实体或者车辆(可能存在多个车辆通过网络发送车辆公告报文)发送的车辆公告报文,诊断仪应通过发送车辆识别请求报文查询车辆。图18描述了网络连接场景下建立连接和发现车辆的过程。
车载以太网-DoIP ISO 13400-2(5)w2.jpg
二、DoIP会话1、创建套接字连接要开始创建诊断仪和车辆内DoIP实体之间的连接,第一步是打开一个套接字(目标端口是TCP_DATA),这个步骤必须在任何报文交换之前完成。DoIP实体必须提供用于处理接收到通信请求的资源(例如,套接字资源)。DoIP实体必须提供足够的套接字资源用于处理需要同时支持的特定DoIP会话数量(例如,支持n+1个套接字,n为会话数量,见DoIP-002)。如果DoIP实体同时接收到超过n+1个连接尝试,则可能出现由于没有更多的资源可用而导致第n+2个连接尝试被拒绝(因为不再有任何套接字处于监听状态,而不是因为DoIP协议处理的原因)。套接字连接建立之后必须执行一些初始化动作。例如,要给套接字分配一个初始不活动定时器(见7.2.3)和一个通用不活动定时器(见7.2.2)并启动定时器。此外还需要设定此套接字连接为“已初始化”状态(见7.2.1.3),以确保除了路由激活请求报文之外,不对任何接收到的数据进行路由和处理。所有后续的报文应通过这个TCP_DATA套接字进行发送和接收。为了在已初始化的套接字连接上进行路由激活,诊断仪需要向DoIP实体发送路由激活请求报文(见7.1.5)。如果诊断仪合法并且当前DoIP实体已注册的活动连接数小于n,则此连接的初始定时器停止如果假设后续不需要额外的认证和确认过程,则此套接字连接切换为“已注册”状态(路由激活),这个状态通过正响应的路由激活响应报文来告知诊断仪,通用不活动计时器重新启动并且保持活动状态。到此为止有效的DoIP报文(例如DoIP诊断报文)可以被路由或处理了。2、DoIP报文处理当接收到任何种类的数据时,DoIP实体首先调用DoIP报文头处理程序。如果净荷包含一个诊断报文(DoIP报文头中净荷类型为0x8001,见7.1.6),则调用诊断报文处理程序来处理净荷。当接收到一个诊断报文时,如果诊断报文成功通过了诊断报文处理程序(正响应确认),即报文已经通过相应的内部路由机制(假设DoIP实体是DoIP网关)但还没有必要发送给目的ECU。此时,DoIP实体应立即将DoIP报文正响应确认信息发送给诊断仪。如果是符合UDS的诊断报文净荷,目标ECU发送诊断响应回复诊断仪。这种行为通过封装在DoIP报文中的相应诊断协议来描述,不属于13400-2的范围。3、套接字资源释放当诊断仪不再需要套接字连接时,此连接应总是通过TCP/IP协议关闭。DoIP实体发起此连接的终止过程。这个连接终止释放了相应的资源,从而使此套接字可以用于新的连接。如果此连接没有被终止,在通用不活动计时器超时或在执行活动检查后此套接字资源被释放。图19描述了DoIP会话示例。
车载以太网-DoIP ISO 13400-2(5)w3.jpg
三、车辆网络集成1、车辆识别(车辆视角)车辆识别(车辆视角)主要说明车辆和车辆内的DoIP实体如何被发现以及如何与它们在网络上的IP地址关联。车辆一般通过VIN码进行识别。在生产或者售后环境,几个DoIP实体可能安装在同一辆车上,但此时车辆特定的VIN仍没有及时配置。为了将新安装的未配置VIN的DoIP实体和特定的车辆关联,可能使用组标识符(GID)来代替VIN。这种方法意味着需要存在一个VIN/GID主节点(例如DoIP边缘节点),在同步的过程中所有其它DoIP实体从主节点接收VIN/GID。因为这个同步过程需要一些时间(例如一个新的DoIP实体添加到车辆),在同步完成之前需要定义一个无效值(见表40)提供给DoIP实体使用。DoIP实体之间的VIN/GID同步的具体规范超出了13400-2的范围,由整车厂自行决定。DoIP-143: 如果车辆内的存在的DoIP实体数量大于1个且不能保证每个DoIP实体总是配置有效的VIN,那么每个DoIP实体应支持车辆GID同步。注释:可以使用GID主节点的MAC地址作为GID来保证GID的全球唯一性。图20展示了同一车辆内的2个独立的DoIP实体VIN/GID同步和识别过程。
车载以太网-DoIP ISO 13400-2(5)w4.jpg
2、车辆识别(诊断仪视角)车辆识别(诊断仪视角)说明了诊断仪如何将DoIP网络所连接的所有车辆的DoIP实体进行识别并分组的过程。图23展示了经过简化的诊断仪执行车辆识别的过程示例。当车辆已经连接到DoIP网络并且完成IP地址分配(见图21)时,DoIP实体在等待A_DoIP_Announce_Wait时间后发送车辆公告报文。如果诊断仪在以上动作完成之后连接到DoIP网络,诊断仪应通过发送广播式的车辆识别请求来触发车辆公告报文或车辆识别请求响应报文。所有车辆的DoIP实体应在A_DoIP_Ctrl时间内发送车辆识别请求的响应报文。如果诊断仪接收到的车辆公告或车辆识别响应报文包含的VIN/GID同步状态为0x10(未完成同步),则意味着车辆内存在DoIP实体没有完成VIN或GID同步,此时诊断仪将对这辆车(通过VIN/GID主节点发送的车辆公告或车辆识别响应报文中的VIN/GID来识别车辆)启动车辆发现定时器。以上机制允许VIN/GID主节点告知诊断仪车辆内的一些DoIP实体需要更多的时间进行VIN/GID同步。当车辆发现定时器超时,诊断仪要向初始发送的车辆公告或车辆识别响应报文中VIN/GID为无效的DoIP实体发送另外一个车辆识别请求报文。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 2-5-2024 10:18 , Processed in 0.292867 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.