车载以太网DoIP详解牛喀网

当前应用较多的车辆通信网络总线主要有CAN、LIN、FlexRay、MOST、LVDS等,随着车载电子系统的愈加复杂,不断增加的控制器及接口数量对网络带宽的需求增大,车内控制单元和域之间彼此通信需求也增强。这意味着传统总线将渐渐难以满足信息高速传输的需求,因此引入车载以太网技术:车内电子控制单元通过以太网技术实现相互通信并形成局域网(使用单对双绞线即可实现稳定的双全工通信,且传输速率最高可达到1000Mb/s)。

2.DoIP概述

2.1DoIP简介

所谓的DoIP其实就是基于以太网的通讯协议对UDS协议的数据进行传输,即DiagnosticcommunicationoverInternetProtocol。其本身也是一种协议,规范于ISO13400标准。由于DoIP可以传输大量数据,以及响应速度快,且可以通过以太网进行远程诊断,因此DoIP逐步成为代替传统的CAN等总线方式,成为车载网络诊断的必然趋势。

DoIP在车载领域的应用首先汽车系统的整体框架要能够支持DoIP,正因为车载以太网的快速发展,相较于传统的车载系统,目前的车载系统的整体框架都会加入一层DoIP协议层,在TCP/IP之上。并且为了更好的配合OBD诊断,远程诊断,FOTA等等技术,对整体的车载架构进行了调整,利用swich将MPU,MCU,其它以太网ECU统统通过以太网进行连接,并对外网与内网进行隔离。

简单的说,DoIP能够进行车辆发现,状态查询,路由激活(含安全认证),诊断数据收发,这些内容将在后续进行详细的展开。

DoIP(DiagnosticCommunicationoverInternetProtocol,基于IP的诊断协议)主要用于建立外部测试设备与车载网络之间的诊断连接。常见的应用场景有:

1)车辆检查和维修

2)车辆/ECU软件重编程(模块刷新)

3)车辆/ECU的下线检查和维修

在诊断服务中,DoIP相对于传统的CAN诊断具有以下显著优势:

基于DoIP和DoCAN的网络通信在OSI网络模型中的大致架构如下所示,单就协议内容来讲,可以把DoIP协议看作传输层的协议:

对应的ISO标准为ISO-13400,分以下四部分:

Part2:Transportprotocolandnetworklayerservices(协议内容的具体定义)

Part4:Ethernet-basedhigh-speeddatalinkconnector(对应车辆接插件的选型)

ISO13400定义的DoIP各部分内容在OSI网络模型中的架构如下所示:

3.DoIP通信场景

3.1直接点对点连接

单台车辆与外部设备使用双绞线点对点通信,诊断仪与车辆直连后,可以诊断单车所有DoIP节点,一般用于单车故障诊断或者ECU升级刷写等功能。这种方式意味着在进行诊断通信时,系统不会受到来自其他车辆或设备的干扰。

3.2通过网络的点对点连接(通过网络连接单台车辆与单一外部测试设备)

多个车辆和多个外部测试设备被连接到同一个网络,这意味着外部测试设备应有可能识别网络中的车辆,并选择与之建立通信的特定车辆。当然,设备与车辆本身都应具备自动接入到已存在的IP网络的能力。从车辆的角度来看,这意味着车辆应该实现识别机制,并且应该能够处理或拒绝多个连接尝试,因为其他外部测试设备可能会干扰当前建立的通信。

这种通信场景通常发生在车辆连接到现有网络或无线基础设施时,其他车辆和外部测试设备(例如维修车间网络)也使用这些网络或无线基础设施(例如多台车同时在维修店进行检车、维修)。

3.3单个外部测试设备与多个车辆的网络连接

单诊断仪连接多台车辆的形式一般用于产线上生产监控及ECU刷写等。从车辆的角度来看,这个通信场景与3.2中描述的场景相同。只有外部测试设备能够支持多个连接,这种通信场景可能发生在:例如,有一个专用的flash重编程服务器,它可以同时更新多辆汽车(例如,在经销商或制造区域)。

3.4多个外部测试设备与单个车辆的网络连接

多台诊断仪通过交换机级联,诊断同一台汽车,各诊断信道互不干扰,可实现多团队同时作业,提高整体工作效率(例如某台设备需要对车辆进行刷写,而另一台设备需要对该车辆进行诊断)。在这种情况下,车辆应能够清楚地分离负责每个逻辑链路的每个外部测试设备的诊断请求和响应。而对于外部设备,则需要有判断当前车辆是否有在与其他设备进行通讯的能力。

4.1基于DoIP的网络诊断架构

图中分为车内网(Vehiclenetwork)和车外网(Externalnetwork:此部分为外部测试设备,通常为OBD诊断仪或者其他诊断客户端),车内网和车外网之间,有两组重要的线束,其中一组是用于数据传输的以太网线,另一组是用于诊断功能激活的激活线(Activationline)。

以太网线就是我们常见的四线制TX标准网线。而激活线的设计,是用于车内诊断功能的激活。

4.1.1为什么需要激活线?

4.1.2车内网络中节点类型有哪些?

1)DoIP网关节点(DoIPgateway)

车内DoIP网关节点的作用,是实现以太网到其他网络总线(如CAN、LIN)的报文路由,这样便实现了DoIP诊断与传统网络总线的兼容。多种网络总线汇聚到DoIP网关,这大大的降低了布线的复杂性,并且提高了各总线网络中ECU的诊断效率。

2)边缘节点(DoIPedgenode)

它是直接与外部诊断仪进行物理连接的节点。边缘节点可作为一个网络交换机,将车内网与车外网组成同一子网;也可以作为一个网关,将车内网与车外网进行安全隔离,屏蔽非法的网络访问和网络攻击。实际上它同样是个网关,其次他用于连接外部测试设备,在外部设备和车内子网之间路由转发消息;相较于DoIP网关多了以太网激活线的硬线。

3)一般的DoIP节点

这些节点只支持对自身的诊断,而不具备路由功能。

4)其他网络节点(Networknode)

不具备DoIP诊断功能。

4.2一些物理连接要求

4.2.1基本物理连接要求

——支持100Mbit/s为啥还要10Mbit/s的?

如果瞬间达不到100Mbit/s速率,可以降速处理。

4.2.2车辆激活线的要求

下图是车辆和测试设备之间的物理连接示意图,其中要求通信连接线为Cat-5以上,且诊断仪到汽车OBD接口的长度不超过50m。13400-3中提供了该部分车内接口电路的两种设计方案并且所用电路元器件参数都有选型参考。

4.2.3OBD接口要求

OBD接口线如下所示:

13400-4提供了OBD接口的两种布局方案供参考:

5.DoIP协议通信原理

5.1网际协议(IP)

网际协议(IP)是用于在网络中传输数据的基本协议,是一种用于在各种传输介质上进行封包交换的端到端的数据通信协议,网际协议基于数据报,是不可靠的协议。它定义了数据如何封装、寻址、传输、路由和接收。在DoIP协议中,IP作为核心传输机制,允许诊断信息在车辆网络和诊断设备之间流动。

5.2IP地址分配

在DoIP通信中,每个设备都需要一个唯一的IP地址以便识别和通信。IP地址可以通过手动配置(静态)或通过动态主机配置协议(DHCP)自动分配。静态IP地址适用于网络结构不经常变化的环境,而DHCP适用于设备经常变动的情况,如车间诊断。

在激活线激活边缘节点网关后,每个DoIP实体应同时执行基于AutoIP和DHCP分配的IP地址分配程序;

分配结果为IP地址(IPv4)+子网掩码(仅IPv4);

如果DoIP实体集成在网络架构中,则还需默认网关地址(即默认路由器的IP地址)。

5.3DoIP中TCP原理及通信的建立

TCP是一种可靠的传输层协议,它确保数据包正确无误地从源传输到目的地。在DoIP中,TCP用于需要高可靠性的诊断通信,如ECU编程。TCP通过三次握手过程建立连接,确保两端的通信是同步的,并且通过序列号和确认应答机制保证数据的顺序和完整性。

车内所有DoIP实体均应实现TCP;

TCP使用一对端口号来标识连接,TCP连接时目的端口应当是TCP_DATA;

DoIP实体应在创建socket之后监听TCP_DATA,用于与试图连接DoIP实体的外部测试设备建立通信;

外部测试设备应支持多个TCP_DATAsocket,本地端口将在创建socket时自动选择,远程端口应为TCP_DATA。

——三次握手过程建立连接

1)第一次握手

外部测试设备发送连接请求报文段,将标志位SYN置为1,并随机产生一个序列号seq=x;把这个值发送给DoIP实体,此时外部测试设备进入SYN_Sent的状态,等待确认;

2)第二次握手

DoIP实体收到外部测试设备的SYN报文段,由SYN=1ACK=0知道外部测试设备正在请求建立连接。DoIP实体把ack=x+1;同时要发送SYN请求消息,因此把标志位SYN置成1,并随机生成序列号seq=y;DoIP实体把所有信息一并放入报文段(即SYN+ack报文段)发给外部测试设备用来确认连接请求,自此DoIP实体进入了SYN_Receive状态;

3)第三次握手

外部测试设备收到(SYN+ack)报文段检查ack是否等于x+1。如果正确,把ack=y+1,并把数据包发给DoIP实体。DoIP实体会检查ack是否等于y+1,且seq是否等于x+1,如果正确就连接成功,双方都进入Established状态,完成握手,可以开始接收数据。

5.4DoIP中UDP原理及通信的建立

与TCP不同,UDP是一种无连接的协议,它允许数据包在没有事先建立连接的情况下发送。这种方法减少了开销,使得通信更快,但也牺牲了可靠性。在DoIP中,UDP用于那些不需要确认的服务,如车辆发现或基本诊断请求。

车内所有DoIP实体均应实现UDP;

当需要外部设备对车辆IP节点进行广播或多播消息请求时,由于TCP的传输机制限制无法实现,因此须使用UDP。

——用于UDP的两个端口类型

1)UDP_DISCOVERY:外部测试设备和DoIP实体都需要监听此端口,是主动发送数据时的目的端口。

2)UDP_TEST_EQUIPMENT_REQUEST:外部测试设备向DoIP实体发送报文时给自己分配的端口。

——DoIP中的端口类型总结

DoIP协议的实现基于TCP/IP,要想接收DoIP协议的报文,则需要监听一个专门分配给DoIP协议栈使用的端口号,UDP、TCP都要监听此接收端口,而发送端口是一个动态分配的随机值,代码中协议栈要对对端的发送端口进行缓存,用于回送数据。

指定了端口号,客户端和服务端可以在此端口上进行收发数据,并对该端口收到的数据是否真的是DoIP报文进行判断解析(有可能是网络攻击,或是其它应用恰好使用了该端口号)。

总之,不管是TCP还是UDP,都包含源端口号和目的端口号,在DoIP报文中用到了以下三种端口:

——通信建立过程

DoIP实体主动广播时,以UDP_DISCOVERY或UDP_TEST_EQUIPMENT_REQUEST作为源端口,目的端口UDP_DISCOVERY,而外部测试设备则监听UDP_DISCOVERY获得消息。

当外部测试设备向DoIP实体发送UDP时,设置源端口UDP_TEST_EQUIPMENT_REQUEST,目的端口UDP_DISCOVERY。当请求发送给DoIP实体后,外部测试设备保持对UDP_TEST_EQUIPMENT_REQUEST的监听。DoIP实体接收到请求后,将源端口设置为UDP_DISCOVERY或UDP_TEST_EQUIPMENT_REQUEST,目标端口设置为DP_TEST_EQUIPMENT_REQUEST,回复响应。

5.5逻辑地址(LogicalAddress)

逻辑地址用于在DoIP网络中标识不同的设备和服务。它们是独立于物理硬件的,可以是源地址(SA)或目标地址(TA)。逻辑地址使得在网络中的数据传输不依赖于物理位置,提高了网络的灵活性和可扩展性。

物理逻辑地址唯一表示一个诊断实体,包括任一DoIP实体或连接着DoIP网关的ECU;

功能逻辑地址用于将报文发送到车内一组或所有诊断实体。

6.通信协议详解

6.1报文格式——首部格式

DoIP协议支持IPv4与IPv6协议,以及对应的地址解析ARP协议、NDP协议以及控制报文协议ICMP,前面的章节均有描述了。目前车载以太网仍以IPv4协议为主,基于对网络发展的考虑,随着地址的增加,会逐渐过渡到IPv6协议。所有统一网段的DoIP都必须使用相同的IP协议版本。

由于DoIP在OSI模型中位于传输层,故DoIP报文发送前要封装ETH首部、IP首部及TCP/UDP首部,DoIP数据作为SDU层层向下传递,直至构成完整的以太网帧,通过物理层的介质发送出去。封装格式如下所示:

以一条车辆识别请求报文为例:

接下来就是对DoIP报文段的内容做详细的拆解说明,DoIP在其报文的Payload起始段添加了DoIP报头(首部),用来区分不同的DoIP报文类型,实现不同的功能,首部包括协议版本号、版本号取反、负载类型及负载长度。

协议版本(1Byte):使用的DoIP协议的版本,取值及相应版本如下所示:

协议版本取反(1Byte):主要目的是对协议版本进行校验,确保正确的DoIP格式(如协议版本为0x03,则此值为0xFC)。

负载类型(2Byte):有以下三大类负载类型。

负载长度(4Byte):携带的实际数据的长度。

从首部的负载类型可见,总共有三类报文:节点管理类、诊断类和节点状态类。下面将针对这三类报文展开详细的介绍。

6.2节点管理类报文

节点管理类报文有以下四类:

6.2.1DoIP首部否定响应报文

——报文格式:

其中否定响应码取值情况如下所示:

——DoIP首部通用处理流程:DoIP实体收到任何类型的报文时都应先调用首部处理的流程。

——举例如下:

——请求报文的格式:

——响应报文的格式:

其中32字节的Payload2的结构如下:

DoIP实体接收到车辆信息请求之后会随机延时再回复响应报文,以防止UDP报文激增;

——车辆识别请求报文处理流程:收到车辆识别请求报文的时候,DoIP实体中的处理逻辑应当按如下流程进行:

THE END
1.东风风神皓极CAN网络系统故障B.通过维修资料得知该车网关系统集成在CCM。 检查CCM。 A.对CCM各CAN网络线路进行测试。 B.检查车顶线束与ADAS摄像头连接插件时故障现象消失,CAN网络电压恢复正常。 C.重新晃动连接线束和插件进行故障模拟,确认故障点为插件线路连接不良导致CAN网络电压波动产生的故障。 http://www.gzweix.com/article/sort0253/sort0254/sort0675/info-338050.html
2.分析及检修大众车系舒适系统总线故障此外.在维修过程中线束及连接器的拔插及元件的更换等操作都有可能导致舒适系统总线出现故障。笔者以大众车系为例,详细介绍舒适系统总线的特点及诊断方法.并记录了1个故障诊断案例,供维修人员参考。 1大众车系舒适系统总线的结构特点 目前,大众车系广泛采用的是CAN数据总线技术。这种数据总线可以实现各控制单元在一条https://www.yoojia.com/ask/7-9659308589674228268.html
3.新能源汽车动力电池故障检修一、新能源汽车故障分类 不同的故障对整车的影响不同,以北汽EU5为例,故障划分为四个等级。 二、动力蓄电池故障典型案例分析 1. 故障现象: 起动车辆,仪表上READY灯不亮,系统故障灯点亮,动力电池故障灯点亮,动力电池电量为0,连接充电枪,车辆不能充电。 https://www.dongchedi.com/article/7446413664988512802
4.汽车CAN总线12篇(全文)为了方便驾驶员了解整车状态参量, 可以选择CAN总线仪表, 将车身控制模块和动力传动模块集成网关, 获得车速信号、转速信号、各类传感器信号和变速器挡位信号。这些信号通过仪表显示出来, 使驾驶员能够及时了解各类信息并判断汽车的运行状态。 3 中央控制器网络节点功能分析 https://www.99xueshu.com/w/ikey8k1a8ki8.html
5.新能源汽车检测与维修技术专业2020级专业人才培养方案(4)掌握新能源汽车构造和工作原理。 (5)掌握新能源汽车性能使用与维护、检测与诊断技术及汽车维修业务的基本知识和方法。 (6)掌握发动机系统、驱动电机系统、动力电池系统、充电系统的组成和原理以及故障检测、诊断和排除的基本知识。 (7)了解新能源汽车检测与维修技术相关行业企业技术标准、国家标准和国际标准,熟悉与https://auto.tjtc.edu.cn/info/1987/1736.htm
6.风神AX7(2019款)东风汽车原厂汽车维修及诊断手册风神AX7(2019款)东风汽车原厂维修资料手册、电路图、线路图、维修诊断信息: 包括发动机、底盘、车身等维修资料,此外您还可以在畅易汽车维修资料库(技术支持平台)中查看上千车型的汽车维修信息。欢迎立刻免费下载体验!https://m.car388.com/index.php/cars/5621.html
7.汽车车载网络系统及检修(刘春晖)简介,目录书摘二、LAN总线在汽车上的应用68 第四节BSD总线68 一、BSD总线简介68 二、BSD总线的应用69 第五节车载蓝牙系统74 一、蓝牙技术概述74 二、车载蓝牙系统的组成与原理75 三、蓝牙技术在汽车上的应用76 第六节网关78 一、网关的作用与原理78 二、网关的安装位置及其电路80 https://www.jd.com/hhyx/dcb35399f40514cf.html
8.大众POLO车载网络系统的原理与检修一、CAN数据传输系统的组成与工作原理 CAN数据传输系统将传统的多线传输系统改变为双线(总线) 传输系统(如图1所示)。这样一辆汽车不论有多少控制模块,也不管其信息容量有多大,每个控制模块都只需引出两条线接在两个节点上,这两条导线称为数据总线。数据总线好比一条信息高速公路,信息通过在高速公路上行驶的BUS来传递https://www.360doc.cn/article/9332969_197329473.html
9.新能源汽车运用与维修专业人才培养方案新能源汽车构造与维修 了解新能源汽车构与原理; 掌握新能源汽车的主要组成系统:充电装置、电能储存装置、驱动电机、电驱动系统的电力元件功率变换装置等的基本概念、结构特点与原理;掌握混合动力电动汽车的总体结构及其总成的特点,混合动力电动汽车的结构特点与工作原理。 https://www.gpyzx.com/newsinfo/5994910.html
10.吉利帝豪汽车CAN/LIN总线系统解析与维修"EC718车的CAN/LIN总线系统方案主要讲解了吉利帝豪汽车的CAN-bus系统,包括其原理、优点、基本概念、拓扑结构、传输形式,以及帝豪车型的CAN/LIN总线系统诊断。课程旨在使学员掌握汽车数据传输的两种形式,理解CAN-bus系统的优势,以及CAN总线、网关和协议的基本概念。此外,还涵盖了CAN系统的组成、工作原理、数据传递过程和https://wenku.csdn.net/doc/6h8tnxjqri
11.汽车总线系统原理与检修(2010年机械工业出版社出版的图书)第四章MOST总线与光缆的检查维修 一、光缆及传输原理 二、使用光缆时的注意事项 三、MOST系统 四、光缆的检查与维修 复习题 第五章子总线系统和蓝牙技术 一、概述 二、LIN总线 三、K总线协议 四、BSD总线 五、蓝牙技术 复习题 第六章网关与K总线 一、网关 二、K总线(车身总线)复习题 第七章典型车型总线系统https://baike.baidu.com/item/%E6%B1%BD%E8%BD%A6%E6%80%BB%E7%BA%BF%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86%E4%B8%8E%E6%A3%80%E4%BF%AE/7715873