CAN/CANFD
CCP/UDS
Bootloader/OTA
ECU/VCU/FCU
Simulink/ECUCoder
Ethernet
Hardware
Download
上一篇
下一篇
汽车以太网
一.汽车以太网产生的背景
二.汽车以太网相关标准
三.汽车以太网网络分层和拓扑
-3.1.OSI参考模型
-3.2.TCP/IP模型
-3.3.汽车以太网网络分层和拓扑
-3.4.汽车以太网拓扑
四.汽车以太网物理层
-4.1.IEEE 100BASE-T1
-4.2.物理层的物理连接
-4.3.IEEE 100BASE-TX
-4.4.IEEE 1000BASE-T1
五.汽车以太网帧结构
六.网络层与传输层
七.以太网数据传输过程
八.汽车以太网应用层
回到顶部
汽车以太网
一.汽车以太网产生的背景
二.汽车以太网相关标准
三.汽车以太网网络分层和拓扑
-3.1.OSI参考模型
-3.2.TCP/IP模型
-3.3.汽车以太网网络分层和拓扑
-3.4.汽车以太网拓扑
四.汽车以太网物理层
-4.1.IEEE 100BASE-T1
-4.2.物理层的物理连接
-4.3.IEEE 100BASE-TX
-4.4.IEEE 1000BASE-T1
五.汽车以太网帧结构
六.网络层与传输层
七.以太网数据传输过程
八.汽车以太网应用层
回到顶部
# 汽车以太网 ## 一.汽车以太网产生的背景
近几十年来,为了让驾驶更安全、更舒适以及更环保,汽车的功能也越来越多。越来越多电子元件用于实现这些功能,与此同时,这些电子元件对信息交换的需求也在不断增加。电子元件包括电子控制单元(ECU)以及支持自动驾驶且功能日益强大的传感器和执行器。 除了传统的驾驶要求,对于汽车多媒体和信息娱乐系统的要求也越来越高。例如,当前已有各种不同的音视频系统,可满足车辆用户和乘客的娱乐需求。许多车辆具有连接智能手机或其他可连网设备的功能。目前,网络化程度增高的大趋势正进一步影响着这些系统,并将最终增加对于车内数据传输的可用带宽的要求。 几十年来,以太网已被证实是通信系统中的一种灵活、可扩展的网络技术。以太网的主要优势之一是支持多种物理介质,这使其可以应用于汽车。由于物理介质与协议无关,因此可以轻松开发或调整其他传输技术,以满足汽车行业的要求。因此,以太网将在未来车辆平台中长期使用。 ## 二.汽车以太网相关标准
自1980年以来, IEEE一直负责以太网的维护和进一步开发。尽管各家公司都可提供专有的以太网解决方案和增强功能,但大多数情况下,这些公司会将这些解决方案和增强功能交给IEEE以确保涉及更广泛的应用领域,从而获得商业上的成功。工作组 802 负责以太网。因此,所有与以太网相关的标准的编号都以802开头(如IEEE 802.1、IEEE 802.2、IEEE 802.3等)。 OPEN Alliance SIG是主要关注汽车以太网的标准组织。汽车整车厂和供应商组成了OPEN Alliance SIG,致力于促进以太网在汽车行业的进一步发展。多个技术委员会致力于创建规范,以及监控市场渗透率,确保元件、测试和分析工具的可用性。OPEN Alliance SIG携手IEEE,将车载以太网转化为通用标准。 截至目前,OPEN联盟下辖17个技术委员会,TC1~TC17,每个技术委员会都分管汽车以太网的某个部分或者某个方向,17个技术委员会及其规范共同组成了一套比较完整的汽车以太网技术规范。 汽车以太网最主要的两个标准是IEEE 100BASE-T1(也叫IEEE-802.3bw)和IEEE 1000BASE-T1(也叫IEEE-802.3bp)。 ## 三.汽车以太网网络分层和拓扑
### 3.1.OSI参考模型
OSI(Open System Interconnect,开放式系统互联)七层网络参考模型是互联网发展过程中一个重要的基础模型。所有的上网设备都遵循OSI参考模型,因此可以实现互联互通。OSI参考模型各个层的基本功能见下图。 ![](images/2023-09-10-16-26-01-image.png) ### 3.2.TCP/IP模型
OSI参考模型是一个理想的网络参考模型,TCP/IP模型是已经被实际广泛应用的网络分层模型。TCP/IP模型没有对OSI的5~7层做严格区分,统称为应用层。TCP/IP模型与OSI参考模型的对应关系见下图。 ![](images/OSITCPIP.png) 在一些应用场合中,TCP/IP五层模型中把物理层与数据链路层合并为网络接口层的话成为TCP/IP四层网络模型。 ### 3.3.汽车以太网网络分层和拓扑
汽车以太网采用了基于TCP/IP模型的网络分层模型,相比传统以太网,汽车以太网改进了物理层,扩展了应用层,沿用了数据链路层、网络层与传输层。 ### 3.4.汽车以太网拓扑
以太网支持点对点、总线、星型网络等多种拓扑结构,实际应用中以点对点(上网终端对路由器或者交换机)为主要拓扑结构。汽车以太网沿用了传统以太网的拓扑结构:两个节点则采用点对点拓扑,多个节点则以交换机为中心采用发射状点对点拓扑。 ## 四.汽车以太网物理层
相比传统以太网,汽车以太网改进了物理层,其中的主要规范是IEEE 100BASE-T1与IEEE 1000BASE-T1,两者分别规范了100M与1000M汽车以太网物理层。 ### 4.1.IEEE 100BASE-T1
IEEE 100BASE-T1的前身是OABR(Open Alliance BroadR-Reach),起初由Broadcom(博通公司)开发,后由OPEN联盟标准化为IEEE 100BASE-T1,也叫IEEE-802.3bw。 IEEE 100BASE-T1采用传输对称差分电压的双绞电缆用于物理连接。发送方将需要发送的位流编码成用电压表示的符号。接收方将收到的符号流进行解码从而获取其中包含的位。 每根电缆仅连接两个节点。因此,仅支持点对点拓扑结构。某些设备可以连接两个以上的节点,通常是交换机。交换机作为第 2 层连接设备,可以连接多个物理连接,并且可以独立地在分支之间转发报文。下图是两个ECU基于IEEE 100BASE-T1实现连接的典型示例,相比传统以太网的两对双绞线,汽车以太网只需要一对双绞线。 ![](images/2023-09-10-17-22-38-image.png) 该物理层的特点之一是可以用双绞线以100Mbit/s的速度双向传输信息,即两个相互连接的节点可以同时发送信息(全双工)。作为发送方时,节点会将自己的差分电压施加到双绞线上;而作为接收方时,节点会从总电压中减去自己施加的电压,从而得到对方节点发送的电压。此机制属于回波消除法,也应用在其它以太网系统中。 为了计算差分电压,两个节点必须知道新的电压信号的开始时间。这意味着两个节点必须同步符号流。利用主节点和从节点可以解决此问题:主节点生成一个连续符号流,从节点与之同步。微控制器的基础软件将PHY配置为主节点或从节点。 IEEE 100BASE-T1采用4B3B、3B2T和PAM3方法用于编码和解码以及产生差分电压。这些方法由IEEE 100BASE-T1 PHY实现,集成在ECU的一个特定模块中。PHY在物理介质和以太网控制器之间建立连接。下图是4B3B、3B2T和PAM3编码示例。 ![](images/2023-09-10-17-38-49-image.png) ### 4.2.物理层的物理连接
从硬件的角度看,以太网接口电路主要由MAC和PHY两部分组成,如下图所示: ![](images/2023-09-10-18-13-59-image.png) MAC:Media Access Control,媒体访问控制,MAC工作在OSI参考模型的数据链路层。 PHY:Physical Layer,物理层,PHY工作在OSI参考模型的物理层。 MAC和PHY之间通过两个接口连接,分别为MII接口和SMI接口。 ![](images/2023-09-10-18-22-55-image.png) MII:Media Independent Interface,媒体独立接口,MII接口是MAC与PHY连接的标准接口,以太网MAC通过MII接口发出数据帧经过PHY后传输到其它网络节点上,同时其它网络节点的数据先经过PHY后再由MAC接收。MII是IEEE-802.3定义的以太网行业标准,MII提供了MAC与PHY之间的互联技术,MII支持10Mb/s与100Mb/s的数据传输速率,数据传输的位宽为4位。Media Independent媒体独立表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。802.3协议最多支持32个PHY。 SMI:Serial Management Interface,串行管理接口,以太网MAC通过SMI接口可以访问PHY的寄存器,通过对这些寄存器操作可对PHY进行控制和管理。SMI接口包括MDIO(控制和管理PHY以获取PHY的状态)和MDC(为MDIO提供时钟)。MDC由MAC提供,MDIO是一根双向数据线,用来传送MAC的控制信息和PHY的状态信息。MDIO数据与MDC时钟同步,在MDC上升沿有效。 以太网接口实质是MAC通过MII接口控制PHY的过程。典型的以太网接口物理层物理连接如下图所示,一共使用16根线,其中CRS与COL只在半双工模式有效。对于汽车以太网,固定工作在全双工模式下,不需要CRS与COL信号,因此需要使用14根线。 ![](images/2023-09-10-19-00-56-image.png) MII接口有很多衍生版本,比如RMII,GMII,RGMII等。RMII是精简版本的MII,数据发送与接收均减为两根线,删除了TX_ERR信号,合并了CLK_TX与CLK_RX信号,因此RMII只需要使用8根线。GMII是支持1000Mb/s速率的MII,RGMII是支持1000Mb/s速率的RMII。 CPU、MAC、PHY三个部分可以是三个独立的芯片,也可以全部集成在同一个芯片中。在通信行业中,最常见的组合方式是CPU与MAC集成在一个芯片中,PHY位于一个独立的芯片中,MAC与PHY之间通过MII或者RMII接口互联。 ### 4.3.IEEE 100BASE-TX
IEEE 100BASE-TX并不属于汽车以太网的范畴而是传统以太网,但是汽车上使用IEEE 100BASE-TX要早于IEEE 100BASE-T1。目前,IEEE 100BASE-TX主要用于故障诊断即[DoIP](./doip.html)。 对于物理连接,IEEE 100BASE-TX通常需要两个通道(channel),每个通道有两条双绞线。尽管某些以太网可以使用单通道进行通信,但实际上这种情况很少发生,因为这些网络仅支持单工或半双工。 ![](images/2023-09-15-16-21-20-image.png) 双绞线传输对称差分电压,用于表示编码符号。发送方基于所需的位流对符号进行编码。接收方对符号流解码,从而复原发送的位。与IEEE 100BASE-T1不同,IEEE 100BASE-TX通过使用NRZI、4B5B和MLT-3方法进行编码和解码以及生成差分电压。这些方法由IEEE 100BASE-TX PHY实现,集成在ECU的一个特定模块中。PHY在物理介质和以太网控制器之间建立连接。 标准Cat5或Cat5e电缆通常用于IEEE 100BASE-TX。在八条可用线缆中,需要使用四条线缆连接两个通道。EIA/TIA-568A和EIA/TIA-568B标准定义双绞线的分配,以及常用的RJ45接器和插座的引脚分配。 ### 4.4.IEEE 1000BASE-T1
IEEE 1000BASE-T1是在IEEE 100BASE-T1的基础上,提高了时钟与波特率,以支持更高的传输速率,IEEE 1000BASE-T1也叫IEEE-802.3bp。 1000BASE-T1与100BASE-T1都使用单对双绞线进行全双工数据通信。由于电脑上通常使用4对双绞线的RJ45接口,因此将电脑连接到汽车以太网时通常需要使用转换器。 ## 五.汽车以太网帧结构
数据链路层规范了以太网帧结构,IEEE规范定义了不同格式的以太网帧:Ethernet II帧与IEEE-802.3帧。汽车行业通常使用Ethernet II帧,包含可以标志VLAN的扩展信息。因此,可以把以太网帧划分为基本MAC帧(不含VLAN)和标识MAC帧(包含VLAN)。 ![](images/2023-09-10-20-06-07-image.png) - MAC地址:Ethernet II帧通常以接收方/目的地址开头,指定哪些网络节点将接收这帧报文。与发送方/源地址只能使用单播地址不同,接收方/目的地址还可以使用组播或广播地址。对于以太网帧来说,只能有一个发送方,但可以有多个接收方。 - 以太网类型:基本MAC帧和标识MAC帧通过类型字段(以太网类型)进行区分。类型字段通常会标识有效负载数据区域中所包含的数据包(packet),并提供关于更高层(如IPv4)中使用的协议的信息。如果以太网类型的值为0x8100,那么类型字段将向后移动四个字节,并在其原始位置插入一个VLAN标签。 - VLAN标签:VLAN标签由协议标识符(TPID)和控制信息(TCI)组成。TPID包含原始类型字段的值,而TCI由优先级(PCP)、丢弃资格指示符或规范格式指示符(DEI或CFI)和VLAN标识符(VID)组成。标识符和优先级主要应用于汽车行业。标识符为不同的应用领域划分各自的虚拟网络。优先级的设定使得交换机可以通过优先转发重要信息来优化运行时间。 - 有效负载:在字段类型之后,是Ethernet II帧包含的有效负载数据区域。有效负载的最小长度为46个字节(不含VLAN标签)或42个字节(含VLAN标签)。在汽车行业中,有效负载一般最多可包含1500个字节。 - CRC校验和:CRC校验和在Ethernet II帧的末尾。标准算法用于计算校验和,且该算法在发送方和接收方中以相同的方式实现。CRC校验和覆盖以太网II帧所有字段,因此可以确保整个报文的完整性。 为了传输Ethernet II帧,以太网控制器在开始时会插入一个前导码和一个起始帧界定符(SFD),旧的以太网标准以此做为传输开始的标识。所以以太网数据包包括:前导码、起始帧定界符和以太网II帧,如下图所示。 ![](images/2023-09-10-20-12-12-image.png) ## 六.网络层与传输层
汽车以太网网络层与传输层沿用了传统以太网网络层与传输层,用户可以参考《[计算机网络基础知识](https://www.cnblogs.com/maybe2030/p/4781555.html "计算机网络基础知识")》与《[TCP/IP简介](https://www.runoob.com/tcpip/tcpip-tutorial.html "TCP/IP简介")》。 ## 七.以太网数据传输过程
如下图,为发送端A向接收端B传输数据: ![](images/2023-09-10-20-31-33-image.png) 对于发送端A,数据从应用层到物理层是一个数据封装过程。对于接收端B,数据从物理层到应用层是一个数据解封装过程。 数据从应用层开始向下层流动,经过层层封装,最终在物理层转为字节流发送到接收方。 以下过程中源为发送方,目标为接收方。 经过传输层:加上TCP头,组成数据段,所谓的TCP头主要就是加上对源端口和目标端口的描述。 经过网络层:加上IP头,组成数据包,IP头其实就是源IP和目标IP。 经过数据链路层:加上MAC头,组成数据帧,MAC头其实就是源MAC和目标MAC。另外还有一个LLC头(就是TypeField)和一个FCS帧校验序列(就是CRC校验和) 。 经过物理层:将数据帧转为bit流,发送到接收方。 ![](images/2023-09-11-11-20-17-image.png) 解封装过程与封装过程相反,数据从物理层向上层流动,最终经过层层解封,到达对应的应用程序。 ## 八.汽车以太网应用层
汽车以太网扩展了以太网应用层,下图是比较完整的汽车以太网协议架构图,其中白底部分沿用传统以太网,黄底部分为汽车以太网特有协议。 ![](images/aethprotocol.png) 上图中属于应用层的汽车以太网特有协议包括UDP-NM,[XCP](./xcp.html),[DoIP](./doip.html)与[SOME/IP](./someip.html)。