车载以太网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.新能源电动汽车网关简介实录1943年电动汽车换电全过程,其方式与今日新能源换电如出一辙 火火13万次播放 03:04 在现场给大家看看尊界 S800 超级充电站16万次播放 02:13 新款奥迪A8L登场!比宝马7系还要漂亮,连奔驰S级见了腿都软 超燃解说9.8万次播放 02:49 表哥买车耍无赖,偷车藏车满嘴谎言! 老李讲车12万次播放 13:16 被动拥有S65https://www.dongchedi.com/video/7207340155328430626
2.高尔夫·嘉旅拆车汽车世界焦点 2023年07月26日 MAZDA EZ-6安全挑战拆车大揭秘 旭子工作室 2024年11月07日 欧拉闪电猫的拆车又拆出干货了! 汽车杂谈社 2023年06月02日 拆中国制造很流行 日本拆了瑞银拆 海豹为啥这么招人喜欢呢 汽车鉴闻 2023年09月10日 MG直播的不是拆车!而是自信! https://news.yiche.com/tag/9613808.html
3.通用Cruise无人车网关拆解通用Cruise无人车网关拆解 通用Cruise无人车是按照量产的态度去开发的,也是极少数自主开发无人车计算用芯片的公司,虽然说AI计算用芯片几乎没有技术门槛,但无人车公司做AI计算芯片的也只有Waymo和Cruise。 通用Cruise将来也是要服务于L2.5级智能驾驶系统的,通用Cruise也可看做是通用汽车智能驾驶的前瞻试验室,最终这些https://www.eefocus.com/article/1391913.html
4.智能车时代的车芯投资版图——汽车芯片全景报告6.2主要硬件结构拆解 6.2.1图像传感器 6.2.2车载镜头及模组封装 七、车载网关 7.1 2025年国内车载网关替换需求可达150亿元 7.2车载网关市场集中度高 八、结语 一、存储芯片 存储芯片是汽车计算和感知的粮仓,主要分为闪存和内存,闪存包括EEPROM、NAND FLASH和NOR FLASH,内存主要为DRAM。 https://www.yicai.com/news/101576596.html
5.新能源汽车单车成本拆解2024年电动智能汽车行业报告汇总(点击进入)一 某30万元新能源SUV单车成本拆解数据不是最新的,仅供参考。1、整车成本构成成分类别单车价格(元)占比一、材料(BOM)257,022 85.67%https://www.eet-china.com/mp/a303893.html
6.aqara新网关m2拆解做工没有aqara标准版网关好,有点小失望。只是看重有线口才买的。https://www.mydigit.cn/forum.php?mod=viewthread&tid=218532&page=1
7.CANIDPS汽车网关信息安全要求以及实验方法canidps《汽车网关信息安全技术要求及试验方法》是中国的一项国家标准,编号为GB/T 40857-2021,于2021年10月11日发布,并从2022年5月1日起开始实施 。这项标准由全国汽车标准化技术委员会(TC114)归口,智能网联汽车分会(TC114SC34)执行,主管部门为工业和信息化部。 https://blog.csdn.net/qq_29490749/article/details/141332947
8.宝马旗舰电动车iX车机拆解AET宝马旗舰电动车iX车机拆解 宝马iX的座舱是有史以来最美汽车座舱设计之一,简洁明快、清新淡雅,同时实用价值也丝毫不差。两块大屏幕,一块是12.3英寸液晶仪表曲面屏,分辨率是1920*720,仅次于奔驰MBUX的2400*900。车机屏是一块14.9英寸液晶曲面屏,分辨率为2880*1080,像素密度达206ppi,是目前量产车中最高的,可能由日本http://www.chinaaet.com/article/3000131446
9.(四)张家口市商务局市场建设运行领域百问百答为贯彻落实715号令,适应报废机动车回收拆解行业发展形势需要,根据国家标准委下达的标准修订计划,商务部组织中国汽车技术研究中心有限公司等单位开展标准2008年版的修订工作。标准2019年版的发布实施不仅有利于促进行业拆解技术和安全环保水平提升,也有利于规范企业回收拆解经营行为,促进行业健康发展。 https://www.zjk.gov.cn/content/bwbd/197919.html
10.zigbee网关拆解网关拆解测评zigbee网关如何拆机Zigbee网关是连接Zigbee无线通信网络与以太网(Ethernet)网络的重要设备。本文将介绍Zigbee网关的构成、拆解过程及其作用。 一、Zigbee网关的构成 Zigbee网关通常由三部分组成:主板、无线模块和以太网模块。 主板:主板是Zigbee网关的核心部件,包含了微处理器、存储芯片、电源管理模块等。主板是整个设备的控制中心,负责控制和https://m.hzdusun.com/h-nd-1288.html
11.拆解光猫和天翼网关的内部构造拆解光猫和天翼网关的内部构造2018-10-22科技小能手 1.2万个视频 | 252关注 关注 精彩推荐 美女直播 更多 别点,妹妹害羞 来,吃点不一样的 哥哥,点才艺嘛~ 志玲姐姐温柔哄睡中~评论 PC版| APP专区| 隐私政策 Copyright ? 2024 Sohu Inc. 粤ICP证 网络视听许可证1908336 节目制作经营许可证粤第735号 https://m.56.com/c/v107649955.shtml
12.中国移动融合企业网关简介,高清拆解图赏析163中国移动融合企业网关简介,高清拆解图赏析 这是中国移动融合企业网关H10g-01背部的外部接口,可以看到接口比较多,很全面。从左到右两个有线网络接口(LAN口),一个电话语音接口,两个USB口,一个外置红外遥控接收器接口,一个HDMI高清视频输出接口,一个AV复合视频输出接口及电源接口等。https://m.163.com/dy/article/FA3SC2J7055070TZ.html
13.研华智能接入网关FWA1012VC拆解原创分享(新)刚好手上有一台机房下架的阿里云SAG-1000智能接入网关,到手后直接拆解,上图 通过拆解可以发现,这一代https://www.chiphell.com/thread-2415682-1-1.html
14.新能源汽车检测与维修技术专业2020级专业人才培养方案(2)课程目标:使学生掌握车载网络系统结构与工作原理,能够对新能源汽车中的动力网关控制系统、底盘网关控制系统、车身网关控制系统、信息娱乐网关控制系统进行检测与维修。将课程思政融入教学,弘扬社会主义核心价值观,培养学生精益求精、一丝不苟的职业素养和工匠精神。 (3)课程内容:主要内容包括CAN、LIN、VAN、MOST等总线https://auto.tjtc.edu.cn/info/1987/1736.htm
15.拆解特斯拉Model3域控制器举例来说,作为传统汽车供应链中最核心的供应商之一,博世是最早提出域控制器概念的企业之一。但博世的思路仍然受到传统的模块化电子架构影响,其在 2016 年提出了按照功能分区的五域架构, 将整车的 ECU 整合为驾驶辅助、安全、车辆运动、娱乐信息、车身电子 5 个域,不同域之间https://mp.weixin.qq.com/s?__biz=MzI1MjkzMTcwOQ==&mid=2247617195&idx=5&sn=1700c5cb6607c5f667cf8630113784e8&chksm=e9df71b9dea8f8afc0b39d6b1cbb8739cefa6a596e4869ba4af154eee6164cb5535949d217a1&scene=27
16.一文熟知网络–文章巨长,但是很详细网络编程邹志全HTTP 拆解 构建一个 http 请求报文,先生成一个 request-line,指定好 uri、version 等,会有部分数据存放于 URI 中,这里会进行对应的 urlEncode 进行header 的填充,常用的比如有 keep-alive 可以让链接保活(复用下层链接);User-agent 标示一下客户端信息、Accept 表明一下要接受什么数据、Cookie 记录的端信息等、Cohttps://xie.infoq.cn/article/b2846a30dce06e764716d9049
17.SpringCloud微服务架构进化论微服务的拆分规范和原则为什么服务网关这块就不多说了,没有任何悬念,Spring Cloud Gateway 在各方面都碾压Zuul,Zuul2也基本上是胎死腹中。 熔断限流 Hystrix 2018年12月,Spring官方宣布Netflix的相关项目进入维护模式。不 再开发新的功能,但是Hystrix整体上还是比较稳定的,对于老用户 不必更换,影响也不大。 https://developer.aliyun.com/article/1434526