以太网驱动详解之RMII、SMII、GMII、RGMII接口

        上一章节讲到MII接口虽然很灵活,但是有一个缺点是因为它一个端口用的信号线有14根之多,如果一个 8 端口的交换机要用到 112 根线,16 端口就要用到 224 根线,到 32 端口的话就要用到 448 根线。一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从 MII 简化出来的标准,比如 RMII、SMII、GMII等。

MII

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

以太网驱动详解之RMII、SMII、GMII、RGMII接口_第1张图片

信号定义如下:

以太网驱动详解之RMII、SMII、GMII、RGMII接口_第2张图片         MAC 通过MII 接口读取PHY 状态寄存器以得知目前PHY 的状态。例如连接速度、双工的能力等。也可以通过 MII设置PHY的寄存器达到控制的目的。例如流控的打开关闭、自协商模式还是强制模式等。MII以4位半字节方式传送数据双向传输,时钟速率25MHz,其工作速率可达100Mb/s;当时钟频率为2.5MHz时,对应速率为10Mb/s。

RMII

RMII(Reduced Media Independant Interface),精简MII接口,节省了一半的数据线。RMII收发使用2位数据进行传输,收发时钟均采用50MHz时钟源。信号定义如下:
以太网驱动详解之RMII、SMII、GMII、RGMII接口_第3张图片

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

SMII

SMII(Serial Media Independant Interface),串行MII接口。它包括TXD,RXD,SYNC三个信号线,共用一个时钟信号,此时钟信号是125MHz,信号线与此时钟同步。信号定义如下:
以太网驱动详解之RMII、SMII、GMII、RGMII接口_第4张图片

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

从波形可以看出,SYNC变高后的10个时钟周期内,TXD依次输出一组10bit的数据即TX_ER,TX_EN,TXD[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。信号定义如下:
以太网驱动详解之RMII、SMII、GMII、RGMII接口_第5张图片

RGMII

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

    发送/接收数据线由8条改为4条
    TX_ER和TX_EN复用,通过TX_CTL传送
    RX_ER与RX_DV复用,通过RX_CTL传送
    1 Gbit/s速率下,时钟频率为125MHz
    100 Mbit/s速率下,时钟频率为25MHz
    10 Mbit/s速率下,时钟频率为2.5MHz
信号定义如下:

以太网驱动详解之RMII、SMII、GMII、RGMII接口_第6张图片

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

你可能感兴趣的:(linux驱动,驱动开发,arm开发,嵌入式硬件)