第二节——计算机网络(四)物理层
- 车载以太网采用差分双绞线
- 车载以太网并未指定特定的连接器,连接方式更为灵活小巧,能够大大减轻线束重量。传统以太网一般使用RJ45连接器连接。
- 车载以太网物理层需满足车载环境下更为严格的EMC要求,对于非屏蔽双绞线的传输距离可达15m(屏蔽双绞线可达40m)。
- 车载以太网(如100BASE-T1)可以通过回音消除技术实现在一对双绞线上进行全双工通信。回音消除技术的主要过程:作为发送方时,节点会将自己的差分电压施加到双绞线上;而作为接收方时,节点会从总电压中减去自己施加的电压,从而得到对方节点发送的电压。此机制属于回音消除技术,也应用在其它以太网系统中。所以在全双工通讯的情况下,示波器是无法读取有效的波形,在单向发送或接收时就可以通过示波器测量相应的数据。
-
车载以太网通信架构的每一条链路都是点对点连接,即每根电缆只连接2个节点。
-
CAN总线中,波特率=比特率。但在以太网中,波特率≠比特率。 这是因为以太网使用了不同的编码方案来传输数据。波特率是指每秒钟传输的符号数(symbols per second),而比特率是指每秒钟传输的比特数(bits per second)。编码方案决定了每个符号代表多少个比特。所以100BASE-T1中的100Mbps指的是比特率为100Mbps,而不是波特率。
-
汽车以太网,涵盖了ISO/OSI分层模型的所有层。
1、车载以太网诞生背景
汽车以太网源于刷写时间的要求,当时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也都无法解决带宽需求。
2、车载以太网与其他总线对比
3、车载以太网分类
汽车上使用的以太网分为两种,
一个是车外:OBD对外的通信:一般通过100BASE-Tx技术。OBD对外通信是两对双绞线。在ISO13400-3中有一些描述,常规使用的是3、11、12、13 这四个引脚,当然还要外加一个8引脚的激活(Activation)线。这是一个通过OBD的对外的DoIP的诊断。
一个是车内:ECU之间的通信:一般通过 100BASE-T1 或 1000BASE-T1 两种技术,具体使用哪种看ECU对通信速率的需求。出于对EMC干扰的考虑,我们选择使用1000BASE-T1的时候,会选择使用一对屏蔽双绞线。
T1(1对双绞线,通过回音消除在一对双绞线上实现发送和接收):用于车内节点的通信。
Tx(2对双绞线,一对专门用于发送数据TX±,另一对专门用于接收数据RX±):用于车内节点与车外节点的通信,常用于诊断。
100BASE-T1:1对非屏蔽双绞线,最大传输距离为 15米。
1000BASE-T1(1G):1对屏蔽双绞线,最大传输距离为 15米。
100BASE-TX:2对非屏蔽双绞线,最大传输距离为 100米。
这个XXBASE的XX指的是比特率,不是波特率。
4、车载以太网应用的网络拓扑(域控制器)
车载以太网典型的网络拓扑是基于Domain架构的,在这种架构里,按逻辑功能将整车功能分为几个功能域,各家的分法可能有些差异,但大致上分为如信息娱乐域,自动驾驶域,车身域,动力域等;各个控制器通过以太网主干网连接,各子网节点通过CAN/LIN/ETH等连接到域控制器。
在上图所示的以太网典型拓扑图里,OBD端通过快速以太网100BASE-TX连接(DoIP,一般做诊断的时候会用到快速以太网),车内主干网/子网通过T1以太网连接,根据带宽需求不同,可以选择100BASE-T1/1000BASE-T1。
5、以太网命名规则
6、主流车载以太网
当下主流的车载以太网协议主要为IEEE 100BASE-T1以及IEEE 1000BASE-T1,常规使用可采用100BASE-T1,如果需要更高带宽,可选择1000BASE-T1。
100Mbps或者1000Mbps并不是Ethernet的全双工模式,仅仅是它的半双工通信速率,如果全双工,按照CAN总线通信速率计算方式,Ethernet的通信速率翻倍。(个人理解:指的是收和发均为100/1000Mbps,而不是收和发加起来才100/1000Mbps)
100BASE-T1在物理连接上使用了一对双绞线实现全双工的信息传输(回音消除技术),而100BASE-TX则使用了两对双绞线实现全双工,一对用于收,另一对用于发。
同步方式:同步符号流。利用主节点和从节点可以解决此问题:主节点生成一个连续符号流,从节点与之同步。(100BASE-T1:微控制器的基础软件将PHY配置为主节点或从节点;1000BASE-T1:主/从节点不是固定的,而是使用自动协商机制进行协商)
100 BASE-T1相比100BASE-Tx具有更好的抗电磁干扰和抗噪声性能,以便于车辆可以在雷雨等恶劣天气中稳定通信。
6.1 100BASE-T1
7、100/1000BASE-T1编码规则
PHY模块结构:我们这里需要注意的是RXD 和TXD都是4个bit。
- 物理层编码规则(以100BASE-T1、1000BASE-T1为例):首先,总线上的电平信号有三种:-1、0、1。数据和电平的编码转换关系如下表:(即2根线的电平即可表示3位bit)
- 主要数据到电平转换过程为以下四步:
- 首先从MII接收到数据(4bit 4bit...)
- (4B→3B时钟转换)接下来分割成(3bit3bit...)进行处理;接收MII传递的数据后,PHY层首先进行4B/3B转换。这种转换不是分块编码,仅是一种时钟转换,25MHz传输的4bit数据块(4B)转换成时钟频率为33.33MHz的3bit数据块(3B)(100/3=33.33)
- (3B→2T编码)根据上表,电平与数据编码的关系,转换为申平信号。即每3bit数据(3B)编码成一对三进制符号(2T),标称值分别为-1,0和+1。
- (2T→PAM3)完成了3B/2T编码的一对三进制符号(2T)后,为了能在双绞线上传输,需要将2T中的-1,0,+1对应成低电平,0或高电平,这种三电平脉冲幅度调制方式即PAM3。对应的电平值分别是-1V、0V、1V。
总结一下,100BASE-T1物理层的工作原理就是通过4B/3B转换,3B/2T编码,PAM3调制,最终通过一对双绞线上的差分信号以及回音消除技术实现100Mb/s的全双工通信。
100Mbps 速度的由来:
在微控制器的每个时钟周期中,MII接口到来的数据是4个bit,PHY从MII接口收到数据后,会首先进行一个4B3B的转换,为了匹配25MHz*4bit=100Mbit/s的速率,PHY的MI接口时钟周期应该是33.3333M每次接收3bit,也实现了33.3333M*3bit=100Mbi t/s的速率。之后PHY要再进行3B2T的操作,将每次接收到的3个bit转化为2个申平值(取值范围是-1,01),具体的对应关系如上图中的表所示。3个bit有8种组合(即2的三次方),两个电平值有9种组成(即3的平方),所以后者可以覆盖前者。此时时钟周期仍然是33.333M,但是每个时钟周期中的两个电平就能够表示3个bit了,所以此时的数据速率仍然是100Mb it/s,每个电平实际上包含了1.5bit信息。最后一步是 PAM3,将逻辑的-1,0,1转化为在双绞线上的电压,所以,最终在总线上信号的波特率(每秒传输的符号数量)是66.666MH z,但是它实现了100Mbit/s的通信速率(每秒传输的比特数量)(66.66*1.5=100)即:66.6MHz的电压频率即可完成100Mbps数字信号的模拟传输
8、物理层
物理层主要作用:1)定义硬件接口;2)定义信号与编码;3)定义数据与信号之间的转换收发;4)确保发送方和接收方的时钟同步,以便正确接收数据。
以太网设计的硬件主要由三个部分组成:
- Processor:常见的MCU,MPU,SoC等
- MAC:Media Access Control。介质访问控制,是典型的数字电路。
- PHY:physical layer。物理层收发器,包含大量模拟器件。
如下图所示,Processor通过DMA直接存储访问与MAC之间进行数据的交互,MAC通过MII介质无关接口与PHY之间进行数据的交互,考虑到芯片面积,以及数模电路混合架构等原因,常见的以太网硬件结构是:将MAC集成进Processor芯片,将PHY留在Processor片外,做成单独的收发器芯片。这也是为什么目前我们在市场看到不同的独立的PHY芯片。
MAC:将数字信号发送给PHY,又能接收PHY转换好的数字信号。
8.1 PHY模块
对于其他总线(eg:CAN、LIN、Flexray),我们习惯简称Transceiver为Trcv。对于Ethernet,我们称对应Transceiver芯片为PHY芯片(Physical Layer,物理接口层)。PHY的主要作用是进行数/模转换,而软件处理中,只关注数字信号。
以太网所有物理层的功能全部集中在一个称为PHY的模块中,它将以太网控制器以及物理介质连接在一起,并且通过一个标准化接口MII连接,同时PHY模块与底层介质通过MDI接口连接,以100BSASE-T1所示,如下图所示:
PHY是IEEE802.3定义的标准模块,主要结构组成如下图所示。在发送数据时,PHY接收从MAC过来的数据,将并行的数据转化为串行流数据,按照物理层的编码规则把数据编码,再变为模拟信号把数据发出去。接收数据时的流程则相反。
Process通过MII接口与PHY进行数据的交互,通过MIIM接口(MDIO/MDC)使用管理帧对PHY进行管理/控制。
1) 100BASE-TX PHY结构
PHY的内部分为了三个子层
PCS:Physical coding Sublayer编码子层,主要进行初始编码,实现特定于以太网速度和传输介质要求的子层中的一部分。
PMA:Physical Medium Attachment介质连接层,结余PMA和PCS之间,其中PM D是按照bit串行处理方式,而PCS则是按照数据块处理方式,因此PMA则是起到中间转换的作用,此外还起到数据冲突检测的功能。
PMD:Physical Medium Dependent介质依赖层,主要职责是转换PMA的数据与实际网络上的信号。发送时,它从PMA读取数据并执行实现该功能所需的必需的低级行编码功能设计的媒介。接收时,它会读取并解释这些内容编码信号,然后将它们转换回位以发送到PMA。
2) 100BASE-T1 PHY结构
PHY的内部分为了两个子层:
PCS物理编码子层:实现MII接口和PMA的数据收发,进行4B/3B和3B/2T编码,
PMA物理介质连接子层:实现PCS和物理介质之间的收发,并且提供连接管理和PHY控制功能。
同样以信号发送为例,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)波特率将数据传输到双绞线上。
常见的100BASE-T1车规级的物理层(PHY)有以下几种,
博通:BCM89810、BCM89811;
恩智浦:TJA1100、TJA1102。
使用不同的速率的Ethernet,对应的PHY芯片不同。不同通信速率的以太网标准有不同的物理层要求,因此需要不同的PHY芯片来实现这些要求。
虽然不同速率的以太网通常需要不同的PHY芯片,但市场上也存在一些多速率PHY芯片,它们可以支持多种速率。例如,有些PHY芯片可以同时支持10/100/1000 Mbps的速率,或者支持1000BASE-T和10GBASE-T。这些多速率PHY芯片通常用于需要灵活适应不同网络环境的设备,如交换机、路由器和网络适配器。