目录
一、MII
二、RMII
三、GMII
四、RGMII
以太网硬件主要包括OSI的最下面两层,物理层和数据链路层,前者的芯片为PHY,后者的芯片为MAC控制器。而MAC与PHY之间的常用的数据传输接口有MII、RMII、GMII、RGMII。
模式 | 时钟 | 位宽 | 速率 |
MII | 2.5MHz/25MHz | 4 | 10/100Mbps |
GMII | 2.5MHz/25MHz/125MHz | 8 | 10/100/1000Mpbs |
RMII | 5MHz/50MHz | 2 | 10/100Mpbs |
RGMII | 2.5MHz/25MHz/125MHz | 4 | 10/100/1000Mpbs |
一、MII
MII 支持 10Mbps 和 100Mbps 的操作,数据位宽为 4 位
- 在 100Mbps 传输速率下,时钟频率为 25Mhz
- 在 10Mbps 传输速率下,时钟频率为 2.5Mhz
- 支持全双工、半双工两种工作模式
MII 接口兼容10/100M以太网,由于占用管脚数太多,主要应用早期的设备接口中,在一般的高密度(8口)端口PHY以及MAC/switch芯片中已经很少使用。
MII接口中的接收时钟和发送时钟是分开的,而且都是由PHY芯片提供给MAC芯片的。
二、RMII
RMII(Reduced MII): RMII 是 MII 的简化版, 数据位宽为 2 位
- 在 100Mbps 传输速率下,时钟频率为 50Mhz(外部或MAC提供时钟)
- 在 10Mbps 传输速率下,时钟频率为 5Mhz
RMII接口收发的数据位宽为2bit,因此管脚数目大为减少,在高密端口PHY中应用较多,但是由于其是MAC和PHY共用一个参考时钟,接口之间的距离不能太远;
三、GMII
GMII(Gigabit MII): GMII 接口向下兼容 MII 接口, 支持 10Mbps、 100Mbps 和 1000Mbps 的操作,数据位宽为 8 位
- 在 1000Mbps 传输速率下,时钟频率为 125Mhz
- 在 100Mbps 传输速率下,时钟频率为 25Mhz
- 在 10Mbps 传输速率下,时钟频率为 2.5Mhz
- GMII只支持全双工模式
一般的GMII接口都有两个发送参考时钟:TX_CLK和GTX_CLK,两者的方向是不一样的,前者有PHY提供(同MII),后者由MAC或外部参考时钟源提供,
绝大多数GMII接口都是兼容MII接口的,在用作MII模式时,使用TX_CLK和8根数据线中的4根。
四、RGMII
RGMII(Reduced GMII): RGMII 是 GMII 的简化版,数据位宽为 4 位
- 在 1000Mbps 传输速率下,时钟频率为 125Mhz,在时钟的上下沿同时采样数据
- 在 100Mbps传输速率下,时钟频率为25MHz,为单个时钟沿采样
- 在 10Mbps传输速率下,时钟频率为2.5MHz,为单个时钟沿采样
在千兆以太网中,常用的接口为 RGMII 和 GMII 接口。 RGMII 接口的优势是同时适用于10M/100M/1000Mbps 通信速率,同时占用的引脚数较少。但 RGMII 接口也有其缺点,就是在 PCB 布线时需要尽可能对时钟、控制和数据线进行等长处理,且时序约束相对也更为严格。