说起以太网,相信大家都很熟悉,毕竟在当下的信息时代,离开了网络的日子是无法想象的。但是,与普通的以太网相比,车载以太网是个什么鬼?为什么要单独提出来说?这二者之间又有什么区别呢?EAVB和TSN又是个什么高大上的东东?别着急,听我慢慢道来。。。
一、传统车载网络简介
很明显的,车载以太网本质上来说就是一种车载网络通信技术。所以,在开始介绍车载以太网之前,我们要先介绍一下传统的车载网络通信技术。传统的车载网络主要有CAN、LIN、FlexRay 及 MOST【他们之间的详细介绍,请参见我的另外一篇博文(几种常见的传统汽车总线传输通信技术)】:
CAN 总线是一个性能稳健并久经车辆实践应用的网络,具备成本低与高可靠性特点,已成为各汽车制造商车载网络设计应用的首选网络;
LIN 总线适合用于汽车车窗、天窗、座椅、车内照明等通信速度较低的应用场景,在满足通信速度需求与无需 CAN 总线性能的同时可进一步降低网络成本,因此在现代汽车应用中通常作为 CAN 总线的补充网络;
FlexRay 提供两个独立信道,采用双信道冗余结构,基于时间发送报文,所有节点共享高准确时基,实现最高级别的可靠性,该总线用于满足汽车环境下独特的网络需求,支持重要的安全线控技术应用,如线控转向、线控制动等,广泛用于德系豪华车的底盘系统与辅助驾驶系统;
MOST 用于满足车载信息娱乐应用的特殊需求,内置流媒体数据信道,高数据带宽,支持多种光纤电缆布线方式,EMC 性能良好,主要应用于汽车音频、视频数据传输;
2010年之后,汽车电子行业开始爆发,导致ECU的数量和运算能力和传输带宽等方面的需求都呈现爆发式增长,而这个现象在ADAS时代和即将到来的无人驾驶时代将会更加明显,这就造成汽车电子系统成本大增:
一方面是ECU系统数量和质量的增加,由于是分布式计算,大量的运算资源被浪费了,由此产生的成本增加大约300-500美元,如果沿用目前的电子架构体系,产生的成本增加最少也是1000美元。
另一方面是线束系统。一辆低端车的线束系统成本只要大约300美元,重量大约30公斤,长度大约1500米,线束大约600根,1200个接点。而目前一辆豪华车的线束系统成本大约550-650美元,重量大约60公斤,线束大约1500根,长度大约5000米,3000个接点。如果沿用目前的电子架构体系,无人车时代的线束成本不会低于1000美元,重量可达100公斤。
二、车载以太网技术简介
如上所述,随着汽车科技化、智能化、网络化的不断发展,汽车 ADAS 系统、高清车载娱乐系统、车联网系统、云服务及大数据等新兴技术在车辆上的应用,现有车载总线无法满足当前需求,亟需一种高带宽、可开放、可扩展、兼容性强及网络聚合便捷的车载网络,同时满足车载严格法规要求、车载电气环境、高可靠性要求。因此,一种新型车载网络(车载以太网)应运而生。
车载以太网是一种连接车内电子单元的新型局域网技术,与普通民用以太网使用 4 对非屏蔽双绞线电缆不同,车载以太网在单对非屏蔽双绞线上可实现 100 Mbit/s 甚至 1 Gbit/s 的数据传输速率,同时满足汽车行业高可靠性、低电磁辐射、低功耗、带宽分配、低延迟以及同步实时性等方面的要求。因此可以理解为,车载以太网在民用以太网协议的基础上,改变了物理接口的电气特性,并结合车载网络需求专门定制了一些新标准。针对车载以太网标准,IEEE组织也对IEEE 802.1和IEEE 802.3标准进行了相应的补充和修订。
车载以太网被定义为下一代车载局域网络技术,短期内无法全部取代现有车载网络,其在汽车行业上的应用需要一个循序渐进的过程。依据车载以太网在汽车网络上的应用过程,大致可分为 3 个阶段:局部网络阶段、子网络阶段、多子网络阶段。
局部网络阶段,可单独在某个子系统上应用车载以太网技术,实现子系统功能,如基于 DoIP 协议的 OBD 诊断、使用 IP 协议的摄像头等;
子网络阶段,可将某几个子系统进行整合,构建车载以太网子系统,实现各子系统的功能,如基于 AVB 协议的多媒体娱乐及显示系统、ADAS 系统等;
多子网络阶段,将多个子网络进行整合,车载以太网作为车载骨干网,集成动力、底盘、车身、娱乐等整车各个域的功能,形成整车级车载以太网络架构,实现车载以太网在车载局域网络上的全面应用。
车载以太网协议是一组多个不同层次上的协议簇,但通常被认为是一个4层协议系统:应用层、传输层、网络层、数据链路层,每一层具有不同的功能。4层结构对应于 OSI 参考模型,并且提供了各种协议框架下形成的协议簇及高层应用程序,车载以太网及其支持的上层协议的技术架构见下图。
三、车载以太网与传统以太网有啥区别
以太网是由鲍勃梅特卡夫(Bob Metcalfe)于1973年提出的,以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,目前通常使用双绞线(UTP线缆)进行组网。包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆网(1Gbit/s)和10G(10Gbit/s)以太网。它们都符合IEEE802.3 。
以太网中所有的传输都是串行传输,就是说在网卡的物理端口会在每一个单位时间内“写入”或是“读取”一个电位值(0或1)。那么这个单位时间对于1Gbps带宽来说就是1÷1000,000,000=1ns,每8个位(bit)相当于1个字节(Byte)。多个字节(Byte)可以组成一个数据帧。以太网传输数据是以帧为单位的。以太网规定每一个数据帧的最小字节是64byte,最大字节是1518byte。实际上每个数据帧之间还会有一个12字节的间隔。
由于带宽通常是由多个设备共享的,这也是以太网的优势所在。但是所有的发送端没有基于时间的流量控制,并且这些发送端永远是尽最大可能发送数据帧。这样来自不同设备的数据流就会在时间上产生重叠,即我们通常所说的冲突。因为所有数据流重叠/冲突的部分会遵循QoS优先机制【QoS,Quality of Service,即服务质量,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准】进行转发,一部分的数据包肯定会被丢弃。在IT专业里有一个不成文的规定。当某个交换机的带宽占用率超过40%时就必须得扩容,其目的就是通过提高网络带宽来避免拥堵的产生。
由于以太网的发明时间太早,并没有考虑实时信息的传输问题。尽管RTP(Realtime Transport Protocol)能在一定程度上保证实时数据的传输,但并不能为按顺序传送数据包提供可靠的传送机制。因此,想要对所有的数据包进行排序,就离不开对数据的缓冲(Buffer)。但一旦采用缓冲的机制就又会带来新的问题—极大的“延时”。换句话说,当数据包在以太网中传输的时候从不考虑延时、排序和可靠交付。
传统以太网最大的缺点是不确定性或者说非实时性,由于Ethernet采用CSMA/CD方式,网络负荷较大时,网络传输的不确定性不能满足工业控制的实时要求,故传统以太网技术难以满足控制系统要求准确定时通信的实时性要求,一直被视为“非确定性”的网络。尽管传统二层网络已经引入了优先级(Priority)机制,三层网络也已内置了服务质量(QoS)机制,仍然无法满足实时性数据的传输。
此外,在传统以太网中,只有当现有的包都处理完后才会处理新到的包,即使是在Gbit/s的速率下也需要几百微秒的延迟,满足不了车内应用的需求。更何况目前是Mbit/s的速率,延迟最多可能达上百毫秒,这肯定是无法接受的。普通以太网采用的是事件触发传输模式,在该模式下端系统可以随时访问网络,对于端系统的服务也是先到先服务。事件触发模式的一个明显的缺点是当几个端系统需要在同一传输媒介上进行数据通讯时,所产生的传输时延和时间抖动会累积。
四、EAVB和TSN技术是什么
随着音视频娱乐大量进入汽车座舱,IEEE开始着手开发用于音视频传输的以太网,这就是EAVB。EAVB即Ethernet Audio VideoBridging,翻译过来就是以太网音视频桥接技术。它是IEEE的802.1任务组于2005开始制定的一套基于新的以太网架构的用于实时音视频的传输协议集。
以太网默认的转发机制叫做“Best Effort”,即尽力而为。也就是说当数据包抵达端口后,本着先入先出的原则转发。当网络的流量稀疏,这本不是一个问题。但在实际环境中,大量的数据包极有可能在一瞬间抵达端口。当然,端口可以在一定程度上缓存并延时转发,但我们一方面是不能容忍过大的延时转发,另一方面交换机的物理端口缓存也非常小,不可能有效解决大量数据包瞬间抵达的问题。这种情况下,我们只能对数据中比较重要或是强调实时性的数据包进行优先转发。这就要依靠QoS来对所有的数据包进行分类和标注,并依据规则来进行较为智能的转发。目前市场上较大多数的需要低延时的实时传输采用QoS这一技术。但QoS能否彻底解决网络拥堵的问题吗?
由于Best Effort的机制,通常具有一定带宽的一个数据流会在每秒中不同时间段传输,尽管所占用的带宽相等,但在每个时间段上的时间节点却不同。如下图所示,这样在多个数据流共存的时候,就会很容易产生带宽重叠的现象,从而导致丢包。
我们所希望看到的是每一个数据流都尽可能按照时间顺序排序从而有效避免不同数据流在同一通道中传输时产生重叠,进而提高带宽的利用率。如下图所示:
我们发现实时音视频流恰好是沿等长的时间间隔发布数据的。比如说:一个24比特48K采样的专业音频通道,每个采样的时间间隔是20.83 µs。如果我们按照每6个采样封装成一个数据包,那么每个数据包的固定间隔就是125 µs。每个数据包是由两个部分组成,数据报头(74字节)+音频通道采样数据(24字节X通道数)。
为了避免带宽重叠,我们所需要做的就是将几个不同的音频流进行流量整形(Traffic shaping)。以达到提高可靠交付的目的。这里大家要注意,我指的是流量整形而不是流量控制(Traffic Control)。
比如在一个带宽里,有非实时数据和3个实时数据流。未经整形的带宽,极易产生重叠:
而经过流量整形每个流所占的带宽会在同一个时间节点。所有的非实时流可以见缝插针提高对带宽的占用率。这就是AVB的基本原理。
AVB不仅可以对发送端比如各种音视频设备的网络端口进行流量整形,还可以对交换机中的每个转发节点进行整形。从而确保每个音视频流只占用各自相应的带宽而不对其他数据产生影响。
EAVB与传统以太网比有4个不同:
必须采用基于MAC地址的传输方式即二层传输或是基于IP地址UDP的传输方式,从而减小数据包的开销以及降低传输延时;
由于二层传输和UDP均不属于可靠交付,因此必须依靠QoS来“尽可能”保障可靠交付;
所有数据包需要有“时间戳”(Time Stamp),数据抵达后根据数据包头的“时间戳”进行回放。因此各个网络终端设备必需进行“时钟同步”也就是通常所说的时钟校准;
数据包被转发时需采用队列协议按序转发,从而尽可能做到低延时;
但是EAVB一直没推广开,原因在于汽车领域内传输音视频流最典型的应用是后座娱乐系统,这种系统完全不用考虑延迟,那就是哄小孩的。而其他应用大多是纯视频,EAVB需要硬件压缩然后再解压,这就大幅度增加成本。纯视频可以采用低成本传输方式,比如GMSL、MIPI或FPDLINK。所以EAVB一直没有什么应用,在2011年3月,美国SAE跨界推出AS 6802标准,这是一种飞机航天领域内以太网应用的标准,也可以在汽车上用。IEEE受到刺激,在2012年11月,将EAVB小组改名为TSN(Time Sensitive Networking),翻译过来就是时间敏感网络。
TSN主要定位数据链路层,在物理层方面,IEEE也做了新标准,这就是IEEE 802.3bp和IEEE 802.3bw,IEEE的目标不仅是车载领域,还包括了工业以太网。TSN主要支持者包括思科、英特尔、瑞萨、德国工业机器人巨头KUKA、三星哈曼、宝马、通用汽车、现代汽车、博世、博通、德州仪器、NXP、三菱电机、LG、Marvell、模拟器件,通用电气。TSN是一系列标准,非常庞大,也非常灵活,可以按需求选择,不过对技术实力差的厂家来说就很痛苦,不知如何选择。