车载以太网学习笔记2——DOIP协议

ISO 14229-1:2013 Road vehicles - Unified Diagnostic Services (UDS)Part1: Specification and

requirements;

ISO 14229-2:2013 Road vehicles - Unified Diagnostic Services (UDS)Part 2: Session layer

services;

ISO 14229-5:2013 Road vehicles - Unified Diagnostic Services (UDS)Part 5: Unified diagnostic

services on Internet Protocol implementation (UDSonIP);

ISO 13400-2:2012 Road vehicles - Diagnostic communication over Internet Protocol (DoIP) Part

2: Transport protocol and network layer services;

可以看到,ISO13400涉及到的主要分布在传输层、网络层、数据链路层、物理层四层中。

ISO13400-1处于应用层(层7)之上,是对一些通用信息、应用场景的描述。

应用层基于ISO14229-1和ISO14229-5,前者是UDS的完整定义,后者是UDS通过网络协议IP传输的实现。

会话层(层5),ISO14229-2对于所有的诊断通信都是一样的,目的是为上层提供统一的接口,使上层应用不需要随着底层通信技术的变化而改变。

传输层和网络层(层4和层3)由ISO13400-2定义,ISO13400-2中规定了DoIP通信在传输层中使用TCP和UDP协议,在网络层中使用IPv4或IPv6。此标准中还定义了专属于DoIP通信的信息内容,这些信息和上层的诊断命令共同构成了传给TCP或UDP协议的SDU。

ISO13400-2定义了DoIP诊断通信对Ethernet数据链路层(层2)和物理层(层1)的要求,比如,规定DoIP通信在这两层上支持100BASE-T1(100 Mbit/s Ethernet) 和10BASE-T (10 Mbit/s Ethernet) 两种方案。

DoIP数据的前两个部分分别是DoIP版本和DoIP版本逐比特取反,DoIP版本的取值范围如下:
0x00: reserved
0x01: DoIP ISO/DIS 13400-2:2010
0x02: DoIP ISO 13400-2:2012
0x03…0xFE: reserved by this part of ISO 13400
0xFF: default value for vehicle identifcation request messages

DoIP数据的第三个部分是data type,即描述数据包中的数据类型,取值范围如下图所示

preview

 

其中最常用的数据类型应该是0x8001,0x8002,0x8003了,代表的含义分别是诊断消息、诊断消息正响应和诊断消息负响应。
0x0001至0x0004用于汽车标识上报或请求,只能通过UDP报文来发送这种命令,主要用于在汽车和诊断仪进入网络之后、诊断连接建立之前的车辆发现过程。
0x0005 和0x0006标识的Routing activation request 和 response用于在socket建立之后,进行诊断通信的请求。
0x0007和0x0008用于Alive check,用于检查当前建立的诊断连接socket是否仍然在使用中,如果不再使用,则关闭socket释放资源。

DoIP数据的第五部分很简单,分别用来标识数据的发送者和接收者,以及具体的诊断数据。

下图是一个DoIP数据完整结构的举例:

preview

byte 0:ISO13400 版本
byte 1:ISO13400 版本逐比特取反
byte 2~3:数据类型,0x8001,表明这是一个诊断信息的数据包
byte 4~7:数据长度,在这个例子中的值是7,表示后面有7个字节的数据
byte 8~9:源地址
byte 10~11:目的地址
byte 12~13:具体的诊断命令,SID是22,表示读取,DID是0xF8 10
这个数据段作为SDU传递给下层协议,逐层封装成为完整的以太网帧发送出去。

 

  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: DOIP(Diagnostics over Internet Protocol)协议是汽车电子制造商和车辆维修市场共同开发的一种用于在Internet Protocol(IP)网络上进行诊断通信的标准。而车载DOIP协议栈的13400规范是一种对DOIP协议进行了详细规定的标准,主要用于车辆电子控制单元(ECU)之间的诊断通讯。 车载DOIP协议13400规范是由SAE(Society of Automotive Engineers)负责开发制定的,其主要特点是能够支持多种传输层协议,例如TCP/IP协议、UDP协议等,具有更高的可靠性和实时性。同时,由于其可扩展性较强,能够允许新的功能或协议的集成。 在实际应用中,车载DOIP协议13400规范可以实现诊断信息的快速传输,支持多种类型的传输数据,通过互联网的方式,实现了诊断仪器和车辆ECU的远程连通。同时,其还能够支持多种诊断应用程序,例如控制单元编程、码值读取、数据流分析等诊断操作,大大提高了故障排除效率和安全性。 总体来说,车载DOIP协议13400规范是领先互联网汽车技术的方向,它的出现是为了满足不同汽车制造商的需求,实现了诊断通讯的标准化,为整个汽车维修行业打下了坚实的基础。 ### 回答2: 车载doip协议13400规范是指一种用于车辆诊断的网络协议。该规范定义了在汽车数据网络(CAN)上实现诊断功能的数据交换过程,为车辆制造商和诊断工具开发商提供了一种通用的标准接口。 在车载doip协议13400规范中,数据在物理层上通过以太网或IEEE 802.11 Wi-Fi无线网络传输,数据在网络层上使用TCP/IP协议实现,通过诊断应用协议(UDS)来实现车辆诊断操作。 这个规范包含了一个四层协议结构,其中物理层、数据链路层、网络层和应用层,分别定义了通过网络通信的具体实现。应用层包含UDS数据通信方式,使用服务和标识符来定义报文,并且包括基本的计划工具来支持诊断。 车载doip协议13400规范在汽车维修行业中被广泛应用。像汽车制造商和诊断工具开发商,都可以遵守这个标准建立通信接口,用于新车型和诊断工具的开发。通过这个规范,能够帮助提高车辆故障诊断的速度和准确性,更好地保证车辆的可靠性和安全性。 总之,车载doip协议13400规范为车辆诊断提供了一种标准的网络通信协议,对于汽车制造商和诊断工具开发商的合作和车辆维修保养的实现都具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值