
科普 | 车载以太网入门介绍
车载以太网背景简介
随着汽车智能化和网联化的发展,车载以太网作为该大趋势下的宠儿,得到了长足的发展。而与CAN和Flexray等通讯技术不同,以太网技术本身已经发展多年,并深入我们的生活。“IP地址”和“路由器”等名称相信普罗大众都耳熟能详。本文从入门的角度谈一谈车载以太网,尽量不涉及复杂和晦涩难懂的协议和代码细节等,希望串起初学者对于以太网络的常识,帮助理解。
图1:汽车与以太网契合的概念图
开始正式探讨前,我们先来简单说说OSI 模型。这个抽象模型是通讯领域的一个奠基性的武器,任何通讯领域的技术讨论、培训和考试等,都离不开它,是迅速理解相关技术的重要手段。
OSI本质是一个分层模型,本着精细化分工和各司其职的思想,分为了七个层次。想详细了解该模型的可以移步这一篇文章:(OSI模型文章链接)。这里我们仅抽象概括地来谈一谈。下图是该模型的一个示意图。最底层是物理层,顾名思义就是偏硬件。
图2:OSI 7层模型概念图
第二层数据链路层是连接软硬件的中介层。我们平时常说的MAC地址就是第二层的概念,常说的IP地址就是第三层的。二三两层完成了网络的寻址,亦即找到想通信的节点。所以我们耳熟这两个地址,却没有听到以太网用到其他地址。第四层传输层主要负责端到端的数据传输和建立链接。五层及以上总体来说更偏向场景应用,如果说四层以下主要负责搬砖的话,五层及以上就主要负责砌墙。有时也统称五层以上为高层通信。
分层背后的思想是通过职责划分,让层与层之间解耦,各层之间可以用各种技术排列组合,快速搭积木。而每层内部则可以精耕细作,努力做好一件事。
有了分层模型的抽象化思想,当一个技术或者概念贴上了相应的层次标签,我们就能很快大概了解这是干什么的,相互之间是什么关系。例如我们常见的网线和网口就属于物理层的概念。常说的4G、5G和Wifi技术,主要也是在底下的两层,也就是针对高速无线传输实施的物理通信技术和相应的信号处理底层适配。不管使用4G还是5G,其上层协议,例如三层的IP地址寻址,四层的TCP协议等都是一脉相承的。这就是为什么我们在手机上切换4G或者5G或者Wifi网络可以如此丝滑。
当然从辩证的角度看,有需要分层的时候,就会有需要合并的时候。OSI是一个大而全的分层模型,实际上很多应用场景下会把一些层次合并,柔和在一起。就像大公司里可能会有底层员工,中层夹心和高层领导。而摆摊卖煎饼的大哥则会身兼数职。日常生活网络中常用的TCP/IP模型是一个典型的简化版的OSI模型,各层对应关系如下图。
图3:TCP/IP VS OSI
车载以太网的优势
传统汽车上有很多电子控制器,它们相互之间都要通信。像CAN、LIN、Flexray等都是相对传统的通信技术。而几年来,随着电子控制器算力和性能的提升,车载网络的通信要求越来越高,车载以太网技术已经被普遍承认为车载通信的大趋势。而以太网技术为什么能脱颖而出呢?因为它具备以下四大优势:
1. 高带宽
传统CAN通信速率是1Mb/s,Flexray可以到达10Mb/s。但是随着智能驾驶架构的发展,主流方案是边缘传感器把数据传回中央计算平台再作深度处理。为了支撑多传感器的底层数据融合,就要把传感器的原始数据(raw data)传输到中央计算平台或者智驾域控制器,再利用AI模型完成感知融合。
10Mb/s这样的速率肯定不足以支撑该方案,眼下流行的毫米波雷达和激光雷达等,每秒可以产生的原始数据基本都是几十Mb起步。所幸车载以太网和传统车载通信的带宽不是一个数量级,从100Mb/s起步,向上发展可到5Gb/s甚至更高。
2. 已有成熟丰富的通信协议
以太网技术发展悠久,例如IP地址寻址和IP防火墙等网络技术都是现成可供使用的协议。车载应用只需针对不同层次的协议作少量适配即可应用。
3. 高延展性
现在我们的手机、电视和扫地机器人等都可以相互连接,其中一个重要条件就是它们都支持以太网通信。智能汽车作为重要的终端节点,也必定会更多地接入互联网。车内控制器之间采用以太网通信的话,会让其更容易融入互联网。
4. 易平台化
汽车本身是一个复杂的工艺品,目前销量最大的大众、丰田等无不是将平台化玩的出神入化。这种套娃技术虽然有时会惹来“兰博基尼就是换壳奥迪”等质疑,但它无疑能带来明显的成本质量控制优势。以太网技术着重分层思想,例如底层使用百兆以太网还是千兆以太网,并不影响其上层的TCP协议,这就为平台化提供了良好的土壤。高端车型和入门车型可以方便的在某一层替换,而不影响其他层的应用。
车载以太网与家用以太网
既然以太网这么多成熟的技术可以借鉴,那是不是把我们家里的路由器和网线往车上一装就完事了?那显然不是。汽车作为工业皇冠的明珠,具有很多独特的要求。而家用以太网和车载以太网主要有这些差别:
1. 物理连接鲁棒性。家里用的电脑和网线等都处于稳定状态,动来动去的机会不多。但是汽车本身的使用环境就要求了车载以太网连接必须皮实,能耐振动、耐腐蚀、抗高低温和抗电磁干扰等。
图4:家用与车载以太网的连接器对比
2. 物理线束重量和成本敏感度。家用以太网常用的RJ45接口需要用8根线来传输。但是汽车对线束的重量和成本都很敏感。车载以太网一般都基本采用带T1的标准,如IEEE 100BASE-T1、IEEE 1000BASE-T1,使用一对双绞线共两根线进行数据传输。
图5:家用与车载以太网的线束对比
3. 网络管理。家里的路由器一般插上电就一直在工作,而电脑等终端设备可以采用Wake on LAN来进行网络唤醒。但是车上的电量异常宝贵,以太网网络拓扑也较复杂。因此车载以太网需要更为完善复杂的网络管理机制来保证各个节点正确地休眠唤醒。
4. 时间/丢包敏感度。大家上网看视频或者用手机打游戏的时候遇到网络卡顿或者丢帧的情况,虽然不爽,但也算可以接受。但对一辆时速120公里每小时的汽车来说,如果丢失或者延时收到方向盘转角等重要信息的数据包,那么后果不堪设想。
这些差别点,亦正是车载以太网对普通以太网适配最多的地方。
图6:车载以太网在底层协议和高层协议适配最多
从OSI模型来看,适配最多的地方就是底下两层和高层协议。宏观来看,就是两头的协议改动最多,中间变化不大。
底下两层关系到物理连接和实时性。物理层很好理解。实时性是因为越往高层,装包解包的时间就长,所以实时性主要关注底层部分。
高层协议主要是鲁棒性和使用场景适应。比如要看有没有丢包或传输故障,单看底层是不够的。毕竟底层传输正常,不代表高层协议处理就没问题,因而要在高层协议适配端对端(E2E)保护。而车端有很多特殊应用,例如诊断服务UDS,属于汽车行业通用标准,而且会在各式硬件和操作系统上部署,这就需要最接近应用软件的高层通信协议(亦即DoIP)进行适配。而近年来由SOA(面向服务的架构)带得火热的SOME/IP协议,同样是基于汽车应用适配的高层协议。
中间部分的协议是车载以太网复用传统以太网最多的部分。比如网络层的IPv4协议,和家用以太网基本一致,所以我们常说的IP地址、IP寻址、PING(ICMP的其中一种报文)等在汽车和家用以太网上都基本保持一致。
而中间层协议中,我们还会经常听到TCP和UDP。它们属于平行的两种传输层协议,可以用于支持不同的上层协议。而两者的主要特点如下表格所示:
表1:TCP与UDP对比
上表可见,UDP属于不可靠的传输,但是支持一对多的组播和较好的实时性。而TCP增加了握手机制和控制策略,优点是传输更加可靠,但同时带来的副作用就是实时性差。不同应用场景和需求下可以采用不同的传输层协议。
写在最后
随着智能汽车的发展,相信车载以太网将会更加广泛地应用。但同时我们应该注意,传统以太网已经发展多年,车载以太网也已经应用了十多年。这期间积累的各式协议和规范浩如烟海,我们作为汽车工程师要去熟悉每份协议实属困难。
也许我们可以从抽象的高层次去理解车载以太网,然后再根据各自的具体需求再有针对性地查阅相关具体的协议。例如对如业务应用的算法工程师来说,也许了解下SOME/IP协议就足够了,底层的IP协议、MAC协议等对于上层应用不可见,无需多花时间。而这也是以太网分层协议的初衷。希望这篇文章能够抛砖引玉,帮助大家勾起生活中对以太网的常识,同时对车载以太网有所初识。
本文转载自公众号:焉知智能汽车
