以太网:MACPHYMIIRMIIGMIIRGMII的区别

Posted 旧年不在cd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太网:MACPHYMIIRMIIGMIIRGMII的区别相关的知识,希望对你有一定的参考价值。

以太网:MAC、PHY、MII、RMII、GMII、RGMII的区别

一、MACPHY结构

从硬件角度来看以太网是由CPUMACPHY三部分组成的,如下图示意:

上图中DMA集成在CPUCPUMACPHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,将MAC集成进CPU而将PHY留在片外,这种结构是最常见的。下图是网络接口内部结构图,虚框表示CPUMAC集成在CPU中,PHY芯片通过MII接口与CPU上的MAC连接:

二、MAC

MAC(Media Access Control) 即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC硬件框图如下图所示:

在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。该层协议是以太网MACIEEE-802. 3以太网标准定义。一般以太网MAC芯片的一端连接PCI总线,另一端连接PHY芯片上通过MII接口连接。

三、PHY

PHYPhysical Layer)是IEEE802.3中定义的一个标准模块,STAStation Management Entity,管理实体,一般为MACCPU)通过MIIMMII Manage Interface)对PHY的行为、状态进行管理和控制,而具体管理和控制动作是通过读写PHY内部的寄存器实现的。PHY的基本结构如下图:

PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据)然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去,收数据时的流程反之。
PHY还有个重要的功能就是实现CSMA/CD的部分功能,它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去.如果两个碰巧同时送出了数据,那样必将造成冲突,这时候冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。

PHY寄存器的地址空间为5位,从031最多可以定义32个寄存器(随着芯片功能不断增加,很多PHY芯片采用分页技术来扩展地址空间以定义更多的寄存器),IEEE802.3定义了地址为0-1516个寄存器的功能,地址16-31的寄存器留给芯片制造商自由定义,如下表所示:

注意:
  • 上图BE表示在特定接口下,寄存器是基本的还是扩展的。例如:MII接口下只有01寄存器是基本的,其它的是扩展的。所为扩展是指留给IEEE以后的扩展特性用,不是给PHY厂商的扩展,PHY厂商自定义的只能是16~31号寄存器 。
  • IEEE标准文档及某些PHY手册中,某寄存器的比特(bit)用X.y表示,如0.15表示第0寄存器的第15位。

四、MII接口

MIIMedia Independent interface)即介质无关接口,它是IEEE-802.3定义的行业标准,是MACPHY之间的接口。MII数据接口包含16个信号和2个管理接口信号,如下图所示:

信号定义如下:

信号名称描述方向
TX_CLK发送时钟PHY → MAC
TX_ER发送数据错误MAC → PHY
TX_EN发送使能MAC → PHY
TXD0发送数据位0(最先传输)MAC → PHY
TXD1发送数据位1MAC → PHY
TXD2发送数据位2MAC → PHY
TXD3发送数据位3MAC → PHY
RX_CLK接收时钟PHY → MAC
RX_DV接收数据有效PHY → MAC
RX_ER接收数据错误PHY → MAC
RXD0接收数据位0(最先传输)PHY → MAC
RXD1接收数据位1PHY → MAC
RXD2接收数据位2PHY → MAC
RXD3接收数据位3PHY → MAC
CRS载波监测PHY → MAC
COL冲突碰撞监测PHY → MAC
MDIO管理数据双向
MDC管理数据时钟MAC → PHY

MAC通过MIIM接口读取PHY状态寄存器以得知目前PHY 的状态。例如连接速度、双工的能力等。也可以通过MIIM设置PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。MII4位半字节方式传送数据双向传输,时钟速率25MHz。其工作速率可达100Mb/s。当时钟频率为2.5MHz时,对应速率为10Mb/s。MII接口虽然很灵活但由于信号线太多限制多接口网口的发展,后续又衍生出RMIISMII等。

五、RMII接口

RMIIReduced Media Independant Interface),精简MII接口,节省了一半的数据线。RMII收发使用2位数据进行传输,收发时钟均采用50MHz时钟源。信号定义如下:

信号名称描述方向
REF_CLK参考时钟MAC→PHY或由外部时钟源提供
TX_EN发送数据使能MAC → PHY
TXD0发送数据位0(最先传输)MAC → PHY
TXD1发送数据位1MAC → PHY
RX_ER接收错误PHY → MAC
RXD0接收数据位0(最先传输)PHY → MAC
RXD1接收数据1PHY → MAC
CRS_DV载波和接收数据有效PHY → MAC
MDIO管理数据双向
MDC管理数据时钟MAC → PHY

其中CRS_DVMIIRX_DVCRS两个信号的合并,当物理层接收到载波信号后CRS_DV变得有效,将数据发送给RXD。当载波信号消失后,CRS_DV会变为无效。在100M以太网速率中,MAC层每个时钟采样一次RXD[1:0]上的数据,在10M以太网速率中,MAC层每10个时钟采样一次RXD[1:0]上的数据,此时物理层接收的每个数据会在RXD[1:0]保留10个时钟。

六、SMII接口

SMIISerial Media Independant Interface),串行MII接口。它包括TXDRXDSYNC三个信号线,共用一个时钟信号,此时钟信号是125MHz,信号线与此时钟同步。信号定义如下:

信号名称描述方向
REF_CLK参考时钟外部时钟源提供125MHz
TXD发送数据MAC → PHY
RXD接收数据PHY → MAC
SYNC同步信号-
MDIO管理数据双向
MDC管理数据时钟MAC → PHY

SYNC是数据收发的同步信号,每10个时钟同步置高一次电平,表示同步。TXDRXD上的数据和控制信息,以10bit为一组。发送部分波形如下:

从波形可以看出,SYNC变高后的10个时钟周期内,TXD依次输出一组10bit的数据即TX_ERTX_ENTXD[0:7],这些控制信息和MII接口含义相同。在100M速率中,每一组的内容都是变换的,在10M速率中,每一组数据需要重复10次,采样任一组都可以。

七、GMII接口

GMII(Gigabit Media Independant Interface),千兆MII接口。GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。GMII接口数据结构符合IEEE以太网标准,该接口定义见IEEE 802.3-2000。信号定义如下:

信号名称描述方向
GTX_CLK1000M发送时钟MAC → PHY
TX_CLK100/10M发送时钟MAC → PHY
TX_ER发送数据错误MAC → PHY
TX_EN发送使能MAC → PHY
TX_[7:0]发送数据8bitMAC → PHY
RX_CLK接收时钟PHY → MAC
RX_DV接收数据有效PHY → MAC
RX_ER接收数据错误PHY → MAC
RX_[7:0]接收数据8bitPHY → MAC
CRS载波监测PHY → MAC
COL冲突碰撞监测PHY → MAC
MDIO管理数据双向
MDC管理数据时钟MAC → PHY

八、RGMII接口

RGMII(Reduced Gigabit Media Independant Interface),精简GMII接口。相对于GMII相比,RGMII具有如下特征:

  • 发送/接收数据线由8条改为4条
  • TX_ERTX_EN复用,通过TX_CTL传送
  • RX_ERRX_DV复用,通过RX_CTL传送
  • 1 Gbit/s速率下,时钟频率为125MHz
  • 100 Mbit/s速率下,时钟频率为25MHz
  • 10 Mbit/s速率下,时钟频率为2.5MHz

信号定义如下:

信号名称描述方向
TXC发送时钟MAC→PHY
TX_CTL发送数据控制MAC → PHY
TXD[3:0]发送数据4bitMAC → PHY
RXC接收时钟PHY → MAC
RX_CTL接收数据控制PHY → MAC
RXD[3:0]接收数据4bitPHY → MAC
MDIO管理数据双向
MDC管理数据时钟MAC → PHY

虽然RGMII信号线减半,但TXC/RXC时钟仍为125Mhz,为了达到1000Mbit的传输速率,TXD/RXD信号线在时钟上升沿发送接收GMII接口中的TXD[3:0]/RXD[3:0],在时钟下降沿发送接收TXD[7:4]/RXD[7:4],并且信号TX_CTL反应了TX_ENTX_ER状态,即在TXC上升沿发送TX_EN,下降沿发送TX_ER,同样的道理试用于RX_CTL,下图为发送接收的时序:

以上是关于以太网:MACPHYMIIRMIIGMIIRGMII的区别的主要内容,如果未能解决你的问题,请参考以下文章

工业数字化转型 — 工业以太网

工业数字化转型 — 工业以太网

以太网是无线网还是有线网?

以太网概述

《通信技术 - 以太网》详解以太网

《通信技术 - 以太网》详解以太网