目录
总览
车载以太网发展历史
首先第一个问题,以太网从哪里来?
第二个问题,汽车以太网从哪里来?
汽车以太网标准
汽车以太网的优势
汽车以太网分类
一个是车外:OBD对外的通信:
一个是车内:ECU之间的通信:
扩展
车载以太网协议栈
物理层
以太网应用
以太网命名规则
物理层结构
100BASE-TX物理层结构
100BASE-T1物理层结构
目前车内总线类型繁多,汽车厂商需要使用多种总线技术用于车内网络:
如经常用到的CAN,LIN,FlexRay;用于新型娱乐的MOST;用于传输音频的A2B;用于传输视频的LVDS;以及本期主要分享的Ethernet...
如此多的总线造成车辆线缆总长度过长/总重量过重/装配成本过高等问题。
多数厂商希望将汽车总线技术压缩到2-4种,下图列出车内总线技术,其中纵轴表示总线的带宽。图中红色的五角星表示以太网,从图中可以看出,以太网的带宽从10Mbps到10Gbps都有分布,所以应用场景也比较广泛,除此之外以太网本身在时延/可扩展性/安全性等方面的巨大优势,称为当前的研究热点。
以太网最初是由Xerox公司开发的一种基带局域网技术,被设计用来满足非持续性网络数据传输的需要,使用同轴电缆作为网络媒体,采用载波侦听多路访问和冲突检测(CSMA/CD)机制,数据传输速率达到10Mpbs。
该图是以太网发明人Robert M. Metcalfe手工绘制,用于向1976年的美国计算机会议展示以太网。
汽车以太网源于刷写时间的要求,当时BMW需要将1GB的数据在15min内刷完,使用CAN总线大概需要16h,而使用快速以太网100Base-TX可以达到目标。
于是BMW在2008年将100Base-TX应用到OBD口。也就有了我们现在常听到的DoIP!
而100Base-TX是基于两对双绞线的以太网,CAN等传统总线技术是基于一对双绞线,100Base-TX以太网相对于CAN来说,在总线上是没有优势的。
因此BMW通过与Broadcom等公司合作,发明了基于一对双绞线的BroadR-Reach汽车以太网,这也就是后来被IEEE规范化的100Base-T1的以太网技术!
当然,现在大多数厂商除了100Base-T1以外,也已经使用了1000Base-T1。现在可能1Gbps也都无法解决带宽需求。
在了解汽车以太网标准之前,我们先来看一下IEEE802标准,因为与以太网相关的很多标准都是在IEEE802里面定义的。
上图中,
IEEE802.1主要是关于Bridge,VLAN以及AVB/TSN等的定义。
IEEE802.3主要是对以太网的定义。
IEEE802.11是关于WLAN的
还有蓝牙等,也都是在IEEE802协议里面定义的。
现在我们再来看看汽车以太网,行业上有多个组织在制定汽车以太网的标准:
OPEN Aliance SIG组织(OPEN联盟)主要制定物理层和数据链路层的标准和测试标准,如100BASE-T1(上文中提到的基于一对双绞线的BroadR-Reach汽车以太网);TC8测试协议(车载以太网ECU测试规范);TC10(车载以太网休眠唤醒规范)
AVNU主要关注AVB/TSN的测试标准
AUTOSAR对TCP/IP协议栈进行了一些定义和测试标准,另外制定了SOME/IP,SOME/IP-SD,和UDPNM等协议。
IEEE组织主要定义汽车以太网的物理层标准和数据链路层标准
ISO定义了DoIP和汽车以太网的标准化
IETF任务组定义了最初的TCP/IP协议族和一些性能测试标准。
以太网本来不属于汽车行业的,既然要选择那肯定有它的一些优势。
从总线技术来说,我们现在车上的总线包括CAN/FD、Flexray、MOST、LIN等,然后现在又加入了新的成员以太网。
并不是说因为以太网的加入会导致其他的总线就能够彻底的去取消掉,因为这个涉及到原有的电子架构跟新的电子架构的融合,不可能把原先的整套全部舍弃掉。
我们需要用最简单、最低的成本去把我们的架构一点一点的往上升级,所以就慢慢地引入了百兆、千兆,亦或是将来的万兆以太网。
以太网的相对优势如下图所示:
上图中,我们可以看到,以太网的优势在于:
当前,以太网的应用已不仅限于百兆以太网,随着汽车行业的高速发展越来越依赖高带宽,低延时,高算力的通信,而以太网便是高带宽、低延时、高算力通信的基础。
当前在L3 自动驾驶域控制器中,会以太网为骨干网,AUTOSAR和激光雷达作为标配,其中以太网是基础;
目前架构会随着ECU数目增加而改变,这也会造成分布计算资源的浪费,为了避免分布式资源的浪费,我们可以使用以太网,将原先分布式上的计算资源进行域融合,进而减少ECU的数量,节省资源线束重量,这样可以减少80%的车内连接成本,30%的线束重量。
对于带宽要求高的各种传感器,特别是激光雷达和高分辨摄像头必须使用以太网传输数据,节省LVDS总线成本;
还有车云交互方面,4G/5G以及V2X生态的逐渐成熟,远程代驾/泊车,哨兵等功能可以更完美落地。
首先从最底层的一些物理介质来看的话,汽车上使用的以太网分为两种,
OBD对外通信是两对双绞线。在ISO13400-3中有一些描述,常规使用的是3、11、12、13 这四个引脚,当然还要外加一个8引脚的激活(Activation)线。这是一个通过OBD的对外的DoIP的诊断。
OBD对外通信一般可以使用100BASE-TX,2对双绞线,速率是100M,总线类型是星型。
用的是一对双绞线进行通信,沿用原先CAN的这种单对双绞线传输数据。但是带宽使用的是百兆以太网的技术。
ECU之间的通信,一般通过 100BASE-T1 或 1000BASE-T1 两种技术,具体使用哪种看ECU对通信速率的需求。出于对EMC干扰的考虑,我们选择使用1000BASE-T1的时候,会选择使用一对屏蔽双绞线。
还有正在制定的 10BASE-T1S ,它是一种类似于CAN的总线型技术。主要是弥补百兆以下的车载以太网的空白,其目的是为了考虑未来是否可以统一车内的总线类型。当然,这是一个漫长的过程。
正由于上述IEEE组织,OPEN Aliance SIG组织, AVNU组织,AUTOSAR组织的共同发展与合作,进而规范了车载以太网符合OSI模型的整体架构,如下图所示:
图中标记为“IT”则为传统以太网技术协议规范,而标记为“Automotive”则为车载以太网技术协议规范。
汽车以太网主要是通过AVB/TSN定义的同步,资源管理,预留,QoS,冗余等机制来保障的可靠性要求的。
首先,看一下汽车以太网的主要应用场景。目前,汽车以太网典型的网络拓扑是基于Domain架构的,在这种架构里,按逻辑功能将整车功能分为几个功能域,各家的分法可能有些差异,但大致上分为如信息娱乐域,自动驾驶域,车身域,动力域等;各个控制器通过以太网主干网连接,各子网节点通过CAN/LIN/ETH等连接到域控制器。
在图1所示的以太网典型拓扑图里,
OBD端通过快速以太网100BASE-TX连接(DoIP,一般做诊断的时候会用到快速以太网),
车内主干网/子网通过T1以太网连接,根据带宽需求不同,可以选择100BASE-T1/100BASE-T1/NG/10BASE-T1S。
刚才提到了100BASE-TX和各种T1以太网,为了方便大家记忆,我们看一下以太网的命名规则。IEEE802.3组织负责以太网网络标准的制定,使用简单的命名方式[XBaseY],来表示各种规则的以太网。其中
X代表带宽
Y若为数字,则代表最大传输距离;若为字母。则代表传输介质
Base代表基频Baseband
下图a)列举了X和Y几种常见的情况,当X为10/100/1000时,分别代表10/100/1000Mpbs;当Y为数字5时,代表传输距离为500米,当Y为字母T时,代表传输介质时Twisted pair双绞线,当Y为字母F时,代表传输介质为Optical fiber光纤。
图b)列举了比较有名/常见的以太网,如最早期的10Base5以太网,带宽为10Mpbs,使用同轴电缆传输,最大传输距离为500米;快速以太网100BASE-TX,带宽为100Mpbs,使用双绞线进行传输,最大传输距离为100米;100 BaseFX以太网,宽带为100Mpbs,使用光纤进行传输,因为光纤衰减少等特性,最大传输距离可以达到2000米;以及我们经常提到的100BASE-T1和1000BASE-T1汽车以太网技术,都是基于一对双绞线进行传输,最大传输距离可以达到15米。
名称 |
带宽 |
线材 |
距离 |
IEEE标准 |
通过年份 |
10Base5 |
10Mbps |
同轴电缆 |
500米 |
802.3 |
1983 |
10BaseT |
10Mbps |
双绞线 |
100米 |
802.3j |
1990 |
100BaseTX |
100Mbps |
双绞线 |
100米 |
802.3u |
1995 |
100BaseFX |
100Mbps |
光纤 |
2000米 |
802.3u |
1995 |
1000BaseT |
1000Mbps |
双绞线 |
100米 |
802.3ab |
1999 |
100BaseT1 |
100Mbps |
双绞线 |
15米 |
802.3bw |
2015 |
1000BaseT1 |
1000Mbps |
双绞线 |
15米 |
802.3bp |
2016 |
以太网设计的硬件主要由三个部分组成:
Processor:常见的MCU,MPU,SoC等
MAC:Media Access Control。介质访问控制,是典型的数字电路
PHY:physical layer。物理层收发器,包含大量模拟器件。
如下图所示,Processor通过DMA直接存储访问与MAC之间进行数据的交互,MAC通过MII介质无关接口与PHY之间进行数据的交互,考虑到芯片面积,以及数模电路混合架构等原因,常见的以太网硬件结构是
将MAC集成进Processor芯片
将PHY留在Processor片外,做成单独的收发器芯片
这也是为什么目前我们在市场看到不同的独立的PHY芯片。
PHY是IEEE802.3定义的标准模块,主要结构组成如下图所示。在发送数据时,PHY接收从MAC过来的数据,将并行的数据转化为串行流数据,按照物理层的编码规则把数据编码,再变为模拟信号把数据发出去。接收数据时的流程则相反。
另外,Process通过MII接口与PHY进行数据的交互,通过MIIM接口(MDIO/MDC)使用管理帧对PHY进行管理/控制。
100BASE-TX以太网在OSI参考模型中的关系如下图所示,通过MII介质无关接口与上层MAC进行交互,通过MDI介质相关接口与传输介质进行交互
PHY的内部分为了三个子层
PCS:Physical coding Sublayer
PMA:Physical Medium Attachment
PMD:Physical Medium Dependent
1. PHY的PCS物理编码子层以25MHz的速率从MII接收数据宽为4bit的数据,然后使用4B/5B分块编解码技术进行编码,把4bit的数据转换为5bit的Code-group,因为4Bit的数据有16种组合,5bit的数据有32种组合,转换后的数据可以保证一组编码至少有2个“1”,不多于3个“0”,保证信号码元组至少发生2次跳变,如“0100”转换为“01010”.
2. PCS转换后的数据以125Mbps(4/5bit*25MHz=100/125Mpbs,这边125Mbps,是因为4Bit变成5Bit,位宽变了,数据速率上升了)的速率传递给PMA物理介质连接子层,进行NRZI非归零反向编码。经过NRZI编码后,电平只有正负电平之分没有零电平。其中,电平反转代表“0”,电平保持不变代表“1”。
3. 接着PMA以125Mbps的速率将数组传递给PMD物理介质相关子层,进行MTL-3三阶基带编码,以降低频率降低衰减。在进行编码时,若数据位“1”,电平跳转到下一电平(1,0,-1,0,1),符号与上一个非0 值符号相反;若数据为“0”,则用不变化电平表示。
经过上述处理后,PHY以125MBaud波特率将数据传输到双绞线上,接收数据时,处理过程则相反。
ISO13400定义了100BASE-TX在诊断连接器的PIN脚,其中3,11,12,13PIN用于100BASE-TX的TX/RX,PIN8用于以太网的Activation line。
相比于100BASE-TX以太网,100BASE-T1以太网在物理层仅更改了PHY,在IEEE802.3标准MAC上实现100Mbps的对称传输,在一对双绞线上实现100Mbps的全双工通信
100BASE-TX1 PHY的内部分为了两个子层
PCS物理编码子层
PMA物理介质连接子层
其中PCS子层实现MII接口和PMA的数据收发,进行4B/3B和3B/2T编码,
PMA子层实现PCS和物理介质之间的收发,并且提供连接管理和PHY控制功能。
100BASE-T1信号传输
同样以信号发送为例,100BASE-T1在进行信号传输时,主要进行了以下几个过程处理。
1. PHY的PCS物理编码子层以25MHz的速率从MII接收数据位宽为4bit的数据,然后使用4B/3B分块编解码技术进行编码,把4Bit的数据转换为3bit的code-Group,如果数据长度不是3bit的整数倍,在帧结束时还需要插入1或2bit的填充位。
2. PCS进一步会把3bit的比特字映射到三级符号,即3B/2T映射。把经过扰码后的3比特字Sdn[2:0]映射到三级符号向量(An,Bn)。当PHY处于不同的模式(空闲模式,数据模式)时,有不同的映射关系。
3. PCS转换后的数据以33.3MHz(25MHz*4bit/3bit = 33.3MHz)的速率传递给PMA物理介质连接子层,接着PMA将2D的三级符号向量转换为1D,然后使用PAM3三级脉冲幅度调制发送信号。
4. 经过上述处理后,PHY以66.7MBaud(100/3*2)波特率将数据传输到双绞线上。接收数据时,处理过程则相反。下图时上述处理过程的一个编码示例,从MII过里啊的三字节数据,经过4B/3B转换,转换为8个3bit码元组,接着根据数据传输模式进行3B/2T映射,映射后的三级符号向量通过PAM3发送到总线上。
100BASE-T1以太网通过使用混合电路(Hybrid)和回声消除(Echo cancellation)在一对双绞线上实现真正的全双工通信。
Hybrid电路:
通过允许在同一对电线上同时发送和接收符号来实现“真”全双工传输
通过消除其引脚在某一时刻的发送信号,以获得接受信号:
比如发送器在发送数据A的同时会监听到总线的数据(A+B),一方面会将发送的数据(A)返回给接收器。
接收器通过将总线数据(A+B)减掉发送数据(B)即为接收数据(A),以此来完成全双工的传输
远端需要匹配电阻来消除回声,近端回声由四电阻消除