以太网MAC 和PHY 之间常用接口有MII、RMII、GMII、RGMII 等。
1、MII(Medium Independent Interface,媒体独立接口):MII 支持10Mbps 和100Mbps 的操作,数据位宽为4 位,在100Mbps 传输速率下,时钟频率为25Mhz。
2、RMII(Reduced MII):RMII 是MII 的简化版,数据位宽为2 位,在100Mbps 传输速率下,时钟频率为50Mhz。
3、GMII(Gigabit MII):GMII 接口向下兼容MII 接口,支持10Mbps、100Mbps 和1000Mbps 的操作,数据位宽为8 位,在1000Mbps 传输速率下,时钟频率为125Mhz。
4、RGMII(Reduced GMII):RGMII 是GMII 的简化版,数据位宽为4 位,在1000Mbps 传输速率下,时钟频率为125Mhz,在时钟的上下沿同时采样数据。在100Mbps 和10Mbps 通信速率下,为单个时钟沿采样。
在千兆以太网中, 常用的接口为RGMII 和GMII 接口。RGMII 接口的优势是同时适用于10M/100M/1000Mbps 通信速率,同时占用的引脚数较少。
一、RGMII接口
接收端:
ETH_RXC:接收数据参考时钟,1000Mbps 速率下,时钟频率为125MHz,时钟为上下沿同时采样;100Mbps 速率下,时钟频率为25MHz;10Mbps 速率下,时钟频率为2.5MHz,ETH_RXC 由PHY 侧提供。
ETH_RXCTL(ETH_RX_DV):接收数据控制信号。
ETH_RXD:四位并行的接收数据线。
发送端:
ETH_TXC:发送参考时钟,1000Mbps 速率下,时钟频率为125MHz,时钟为上下沿同时采样;100Mbps速率下,时钟频率为25MHz;10Mbps 速率下,时钟频率为2.5MHz,ETH_TXC 由MAC 侧提供。
ETH_TXCTL(ETH_TXEN):发送数据控制信号。
ETH_TXD:四位并行的发送数据线。
接收时序(正常模式、延时模式):
发送时序(正常模式、延时模式):
ETH_TXCTL 和ETH_RXCTL 控制信号同样采用DDR 的方式在一个时钟周期内传输两位控制信号,即上升沿发送/接收数据使能(TX_EN/RX_ DV)信号,下降沿发送/接收使能信号与错误信号的异或值(TX_ERR xor TX_EN、RX_ERR xor RX_DV)。当RX_DV 为高电平(表示数据有效),RX_ERR 为低电平(表示数据无错误),则异或的结果值为高电平,因此只有当ETH_RXCTL和ETH_TXCTL 信号的上下沿同时为高电平时,发送和接收的数据有效且正确。
二、GMII接口