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

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

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

  • 426查看
  • 0回复

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

[复制链接]


该用户从未签到

发表于 30-3-2024 17:01:51 | 显示全部楼层 |阅读模式

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


ISO 13400-2定义了诊断仪和车辆ECU之间使用DoIP诊断协议(应用层)、IP协议(网络层)、TCP协议(传输层)以及UDP协议(传输层)进行诊断通信的设计需求。

    首先基于下面的典型车辆网络架构图介绍标准中涉及的术语:

  

车载以太网-DoIP ISO 13400-2(1)w1.jpg

1、主机(host):连接到基于IP协议的网络的节点。在互联网世界中,主机这个词很常用。在车载以太网中,我们可以将主机理解为支持IP协议的车辆ECU。2、DoIP节点(DoIP node):车辆内支持DoIP诊断协议的主机,仅支持对自身的DoIP诊断。3、DoIP网关(DoIP gateway):车辆内支持DoIP诊断协议的主机,它不仅支持对自身的DoIP诊断,还可以支持对其所连接的车辆子网络上ECU的诊断。4、DoIP边缘节点(DoIP edge node):以太网激活线(在ISO 13400-3中有定义,可以简单理解为诊断仪用来触发DoIP诊断的硬线信号)所连接的DoIP网关。5、DoIP实体(DoIP Entity):DoIP节点和DoIP网关统称为DoIP实体。6、诊断电源模式:在之前的文章“整车电源模式”中,笔者对什么是电源模式进行过详细的介绍。诊断电源模式是影响车辆内网络上所有ECU诊断能力的抽象的车辆内部电源供电状态。诊断仪通过诊断电源模式来识别所有网关所连接子网络上的所有ECU的状态是否允许诊断通信。引入诊断电源模式的目的是提供给诊断仪关于所连接车辆是否可以进行诊断的信息或者是否需要将车辆设置为不同诊断电源模式。

    接下来按照OSI七层模型从应用层的DoIP诊断协议开始介绍。建议读者在阅读以下内容之前先阅读上一篇文章“DoIP技术基础(一)”。DoIP诊断协议的作用是将诊断应用程序需要传输的数据,比如ISO14229-5(UDSonIP)定义的诊断服务按照一定的格式进行封装。表11(本文中的表格编号和图编号与标准保持一致,便于读者对照标准查阅)描述了DoIP报文的通用结构。DoIP报文由“通用报头”和“特定净荷类型报文数据”组成。通用报头由“协议版本”、“反协议版本”、“净荷类型”、“净荷长度”组成。其中净荷长度使用4个字节表示,单位为字节,因此净荷的最大数据量为4GB。表12介绍了各种净荷类型DoIP报文。根据所包含报文数据内容的不同,DoIP报文分为节点管理报文(净荷类型值为0x0xxx)、车辆信息报文(净荷类型值为0x4xxx)和诊断报文(净荷类型值为0x8xxx)。

节点管理报文包括:DoIP报头负响应报文、车辆识别请求报文、带有EID的车辆识别请求报文(可选)、带有VIN的车辆识别请求报文、车辆公告报文或车辆识别响应报文、路由激活请求报文、路由激活响应报文、活动检查请求报文、活动检查响应报文。

车辆信息报文包括:DoIP实体状态请求报文(可选)、DoIP实体状态响应报文(可选)、诊断电源模式请求报文、诊断电源模式响应报文。

诊断报文包括:诊断报文、诊断报文正响应、诊断报文负响应。

以下为DoIP通用报头处理的相关设计需求定义(本文中设计需求编号与标准保持一致,便于读者对照查看):

DoIP-036:DoIP实体发送的所有DoIP报文应使用表11定义的通用报头结构。DoIP-156:DoIP实体应支持表11定义的车辆识别请求报文的协议版本默认值,当诊断仪同时支持多个协议版本并且它不知道DoIP实体支持的协议版本时,诊断仪应在车辆识别请求报文中使用协议版本默认值。DoIP-037:每个DoIP实体应按照图7定义的顺序处理所有DoIP报文的通用报头。DoIP-038: 每个DoIP实体应支持表13定义的DoIP报头负响应。

DoIP-087: 在发送完DoIP报头负响应后,每个DoIP实体应按照表14执行所需动作。DoIP-039: 每个DoIP实体应忽略接收到的DoIP报头负响应。

DoIP-040: 在接收到DoIP实体发送的不正确DoIP报文时,诊断仪不应发送DoIP报头负响应。DoIP报头负响应仅用来判定之前发送的DoIP报文的错误状态。在开发阶段为了验证DoIP实体是否正确使用了DoIP报文,诊断仪可以使用DoIP报头负响应。但在量产阶段诊断仪不应发送报头负响应,以免DoIP报文在诊断仪与DoIP实体之间不停地来回发送。DoIP-041: 如果报头中的协议版本或反协议版本不符合表11定义的格式,每个DoIP实体应发送负响应码为0x00的DoIP报头负响应。DoIP-042: 如果DoIP实体不支持报头中的净荷类型,每个DoIP实体应发送负响应码为0x01的DoIP报头负响应。DoIP-043:  如果报头中的净荷长度超出了DoIP实体支持的最大DoIP报文大小(不考虑当前内存使用情况),每个DoIP实体应发送负响应码为0x02的DoIP报头负响应。DoIP-044:  如果报头中的净荷长度超出了当前可用的DoIP协议处理程序内存,每个DoIP实体应发送负响应码为0x03的DoIP报头负响应。DoIP-045: 如果报头中的净荷长度与特定净荷类型规定的净荷长度不匹配(包括特定净荷类型的最小长度、固定长度和最大长度的检测。),每个DoIP实体应发送负响应码为0x04的DoIP报头负响应。

未完待续。。。

快速发帖

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

本版积分规则

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

GMT+8, 20-11-2024 17:40 , Processed in 0.376998 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.