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

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

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

  • 181查看
  • 0回复

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

[复制链接]


该用户从未签到

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

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


前面介绍完了DoIP报文中的节点管理报文,本文将介绍剩下的两类DoIP报文:车辆信息报文以及诊断报文。一、车辆信息报文    车辆信息报文包括诊断电源模式信息请求报文、诊断电源模式信息响应报文、DoIP实体状态请求报文(可选)、DoIP实体状态响应报文(可选)。1、诊断电源模式信息请求和响应报文    诊断电源模式信息请求和响应报文用于获取车辆的诊断电源模式。诊断仪可能需要使用车辆的诊断电源模式信息,例如诊断仪需要确认车辆是否处于正确的诊断电源模式,从而允许诊断仪对车辆的零部件执行可靠的诊断。DoIP-116: 每个DoIP实体应支持表34定义的诊断电源模式信息请求报文。DoIP-117: 每个DoIP实体应支持表35定义的诊断电源模式信息响应报文。DoIP-118: 在接收到诊断电源模式信息请求报文后,DoIP实体应在A_DoIP_Ctrl(见表38)时间内发送诊断电源模式信息响应报文进行响应。2、DoIP实体状态信息请求和响应报文    DoIP实体状态信息请求和响应报文用于识别DoIP实体的特定运行状态。例如,允许诊断仪检测当前存在的诊断通信会话以及DoIP实体的能力。DoIP-119: DoIP实体应支持表36定义的DoIP实体状态信息请求报文(如果DoIP实体支持)。DoIP-120: DoIP实体应支持表37定义的DoIP实体状态信息响应报文(如果DoIP实体支持)。DoIP-121:  在接收到DoIP实体状态信息请求报文后,DoIP实体应在A_DoIP_Ctrl(见表38)时间内发送DoIP实体状态信息响应报文进行响应(如果DoIP实体支持)。DoIP实体状态信息响应报文的参数如下:1、节点类型(NT):DoIP节点或DoIP网关;2、最大可同时支持的TCP_DATA套接字(MCTS):DoIP实体允许同时连接的最大TCP_DATA套接字数量,不包括为了套接字处理预留的套接字;3、当前打开的TCP_DATA套接字(COTS):当前已建立连接的套接字数量;4、最大数据量:DoIP实体在一次逻辑请求中能够处理的最大数据量。二、诊断报文    诊断报文包括诊断请求报文和诊断响应报文(诊断正响应、诊断负响应)。    如果诊断报文由诊断仪发送,DoIP实体将总是对这些报文进行响应(正响应或负响应)。诊断报文也可以由DoIP实体发送,例如发送诊断响应报文或发给诊断仪非诊断请求报文(例如基于事件触发的响应)。在这种情况下,诊断仪不会对诊断报文进行响应。DoIP-64:  每个DoIP实体应支持表26定义的诊断报文结构,包括接收的诊断报文(例如,诊断请求报文)和发送的诊断报文(例如,诊断响应报文)。诊断报文的参数如下(全部为强制参数):1、源地址(SA):诊断报文发送方的逻辑地址(例如,诊断仪的地址);2、目标地址(TA):诊断报文接收方的逻辑地址(例如,车辆网络中的特定ECU);3、用户数据(UD):实际的诊断数据(例如,ISO 14229-1中定义的诊断服务请求)。DoIP-65:  每个DoIP实体应按照图10定义的顺序处理在其TCP_DATA套接字上接收到的诊断报文。表27举例说明了一个ISO27145-3诊断请求是如何通过DoIP诊断报文帧进行传输的。图10描述了DoIP诊断报文处理流程。DoIP-66:  每个DoIP实体应支持表28定义的诊断报文正响应。表29定义了诊断报文正响应的响应(ACK)代码。DoIP-67:  当诊断报文被正确处理并复制到目标网络的发送缓存后,每个DoIP实体应立即发送响应代码设置为0x00(见表29)的诊断报文正响应。DoIP-68:  每个DoIP实体应支持表30定义的诊断报文负响应。表31定义了诊断报文负响应的响应(NACK)代码。DoIP-70:  当收到的诊断报文中的源地址没有在接收此诊断报文的TCP_DATA套接字上激活时,每个DoIP实体应发送负响应代码设置为0x02(见表31)的诊断报文负响应并关闭TCP_DATA套接字。DoIP-71:  当收到的诊断报文包含一个未知目标地址(例如,目标地址对应的ECU没有连接到寻址的DoIP网关),每个DoIP实体应发送负响应代码设置为0x03(见表31)的诊断报文负响应。DoIP-72:  当收到的诊断报文超过目标网络或目标ECU所支持的最大传输协议长度时(例如,CAN诊断报文长度大于4095个字节或超过某个特定ECU的报文长度限制),每个DoIP实体应发送负响应代码设置为0x04(见表31)的诊断报文负响应。注释1:这意味着如果功能寻址的DoIP诊断报文必须路由到不同的子网(例如,目标地址设定为WWH-OBD功能组地址0xE000)并且一个或多个子网不支持诊断报文的净荷长度,DoIP实体也要发送诊断报文负响应。例如,如果一个报文净荷大小超过7个字节的功能寻址DoIP报文需要路由到包含一路CAN子网的几个不同的子网,CAN子网限制功能寻址请求报文净荷不能超过7个字节(即仅允许单帧)。DoIP网关应发送负响应代码设置为0x04的诊断报文负响应并丢弃这个DoIP诊断请求报文。DoIP-73:  当诊断报文太长以致不能复制到目标缓存时(例如,传输协议拒绝提供必要缓存的请求),每个DoIP实体应发送负响应代码设置为0x05(见表31)的诊断报文负响应。注释2:如果DoIP网关使用动态缓存分配,以上问题是暂时性的。DoIP-103:  当诊断报文的目标地址指向一个当前不可到达的设备时,每个DoIP实体应发送负响应代码设置为0x06(见表31)的诊断报文负响应(如果DoIP实体支持)。 注释3:以上情况可能是因为一个不可用的目标网络(例如,暂时性网络重组或者网络物理错误)。DoIP-107:   当未知目标网络或传输协议错误发生并且不能被之前的负响应代码覆盖时,每个DoIP实体应发送NACK代码设置为0x07或0x08(见表31)的诊断报文负响应(如果DoIP实体支持)。DoIP-74:   当DoIP-71到DoIP73、DoIP103、DoIP107的诊断报文负响应情况发生时,每个DoIP实体应丢弃收到的诊断报文。
未完待续。。。

快速发帖

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

本版积分规则

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

GMT+8, 20-11-2024 19:31 , Processed in 0.604055 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.