关于DolP协议的理解.docx

上传人:b****6 文档编号:7389409 上传时间:2023-05-11 格式:DOCX 页数:9 大小:1.83MB
下载 相关 举报
关于DolP协议的理解.docx_第1页
第1页 / 共9页
关于DolP协议的理解.docx_第2页
第2页 / 共9页
关于DolP协议的理解.docx_第3页
第3页 / 共9页
关于DolP协议的理解.docx_第4页
第4页 / 共9页
关于DolP协议的理解.docx_第5页
第5页 / 共9页
关于DolP协议的理解.docx_第6页
第6页 / 共9页
关于DolP协议的理解.docx_第7页
第7页 / 共9页
关于DolP协议的理解.docx_第8页
第8页 / 共9页
关于DolP协议的理解.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

关于DolP协议的理解.docx

《关于DolP协议的理解.docx》由会员分享,可在线阅读,更多相关《关于DolP协议的理解.docx(9页珍藏版)》请在冰点文库上搜索。

关于DolP协议的理解.docx

关于DolP协议的理解

关于DolP协议的理解

1

数据链路层与物理层

根据ISO-13400的要求,DoIP通信在物理层支持100BASE-TX(100Mbit/sEthernet)和10BASE-T(10Mbit/sEthernet)两种制式。

2

传输层与网络层

DolP设备的MAC地址也符合IEEE802.3的要求。

 ISO-13400规定,DolP通信在传输层上必须同时支持UDP和TCP,并将UDP和TCP的使用场合进行了定义,对所使用的端口号也进行了定义。

 ISO-13400规定,DolP通信在网络层上使用IPv6协议,但是为了后向兼容的原因,也支持IPv4。

此外,对于IPv4来说,还要支持地址解析协议(ARP),对于IPv6来说,还要支持邻居发现协议(NDP),这两个协议是用于在只知道IP地址的情况下获取MAC地址的。

ABP格式包

NDP介绍

∙NeighborDiscoveryProtocol基于ICMPv6实现,用于替代IPv4中的ARP和ICMP路由器发现

∙基于ICMPv6实现节点发现(主机和路由)、重复地址检测、地址解析、邻居不可达检测和重定向等功能

3

DolP数据帧格式

3.1帧格式说明

以太网帧(具体参考网络帧)

IP段

TCP段

UDP段

DoIP段

 

3.2DolP-协议版本

0x00:

reserved

0x01:

DolPISO/DIS13400-2:

2010

0x02DolPISO13400-2:

2012

0x03...0xFE:

reservedbythispartofISO134000

xFF:

defaultvalueforvehicleidentifcationrequestmessages

3.3DolP-Data Tyte

【0x0001至0x0004】用于汽车标识上报或请求,只能通过UDP报文来发送这种命令,主要用于在汽车和诊断仪进入网络之后、诊断连接建立之前的车辆发现过程。

【0x0005和0x0006】标识的Routingactivationrequest和response用于在socket建立之后,进行诊断通信的请求。

【0x0007和0x0008】用于Alivecheck,用于检查当前建立的诊断连接socket是否仍然在使用中,如果不再使用,则关闭socket释放资源。

【0x8001,Ox8002,0x8003】,分别代表的含义分别是诊断消息、诊断消息正响应和诊断消息负响应。

3.4DolP-Datalength

就是标识后面的userdata的长度。

此外源地址和目标地址可以参考UDS中定义即可,用户数据即为诊断相关服务数据。

4

诊断连接

4.1连接状态

 DolP实体内管理着一个DolPconnectiontable,用来记录和维护诊断通信的逻辑连接。

上图就是这个表中的一个元素,即一个逻辑连接的状态机。

上图中的方框就是连接所处的状态,[Step]是状态之间跳转时发生的事情。

[Step1]当一个新的套接字建立,逻辑连接的状态就从“listen”跳转到“socketinitialized”,同时启动一个定时器,initialinactivitytimer。

[Step2]当DolP实体接收到tester发来的一个routingactivation信息后,逻辑连接的状态就从“socketinitialized”跳转到“Registered[PendingforAuthentication]”,此时initialinactivitytimer被停止,启动一个名为generalinactivitytimer的定时器。

[Step3]在完成Authentication之后,逻辑连接的状态就从“Registered[PendingforAuthentication]”跳转到“Registered[PendingforConfrmation]”。

[Step4]在完成Confrmation之后,逻辑连接的状态就从Registered[PendingforConfrmation]”跳转到“Registered[RoutingActive]。

[Step5]如果initialtimer或generalinactivitytimer过期后仍没收到后续请求,或者authentication和confrmation被拒绝了,又或者外部测试设备对alivecheck消息没有响应,则逻辑连接进入“Finalize"状态。

[Step6]进入Finalize后,此时TCP套接字将被关闭并重新回到"listen”状态。

4.2建立连接和车辆发现

当DolP实体和外部测试设备都连接到一个网络中时,它们会利用DHCP协议获得一个属于自己的IP地址。

在网络中,路由器作为DHCPserver,为新加入到该网络中的设备分配IP地址。

在获取IP地址之后,有两种车辆发现的方法,如上图所示。

一种方法是车辆主动上报自己的信息3次。

如果测试设备没有收到车辆主动上报的信息,则会发送一个identificationrequest,如果网络中有车辆的话,车辆对这个请求进行响应,测试设备便发现了被测车辆。

4.3 会话建立

在诊断仪发现车辆之后,会把车辆添加到自己的车辆列表中。

当用户选择这个列表中的某辆车,如果连接建立成功,用户就可以对车辆进行诊断了。

接下来用户给汽车发出诊断信息,网关会根据信息接收对象把诊断信息转发给网络中相关的ECU,当得到ECU的响应之后,网关再把最终的响应发送给诊断仪。

当用户选择退出时,用于DolP通信的这个套接字就被关闭了。

5

诊断发送

5.1请求DIDF810读取

byte0:

ISO13400版本

byte1:

ISO13400版本逐比特取反

byte2~3:

数据类型,0x8001,表明这是一个诊断信息的数据包

 

byte4~7:

数据长度,在这个例子中的值是7,表示后面有7个字节的数据

 

byte8~9:

源地址

 

byte10~11:

目的地址

byte12~13:

具体的诊断命令,SID是22,表示读取,DID是0xF810

其他诊断服务类似。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2