来源:网络及《硬件十万个为什么》
整理:王耀
MAC(Media Access Control),即媒体访问控制子层协议,该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层(PHY)的物理介质。
PHY是物理接口收发器,它实现物理层。IEEE-802.3标准定义了以太网PHY,包括MII/GMII(介质独立接口)子层,PCS(物理编码子层),PMA(物理介质附加)子层。PMD(物理介质相关)子层,MDI子层。
在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层(PHY)。
在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。该层协议是以太网MAC由IEEE-802.3以太网标准定义。
PHY和MAC之间是如何传送数据和相互沟通的?
通过IEEE定义的标准的MII/GigaMII(Media Independed Interfade,介质独立界面)接口连接MAC和PHY。
MII接口传递了网络的所有数据和数据的控制。
以太网的接口实质是MAC通过MII接口控制PHY的过程,通过这文章我想来梳理一下“MII”接口有哪些,都有些什么特点。
1 100M 接口
100M接口,Fast Ethernet 快速以太网,也称百兆以太网。FE速率模式下各种MII(MediaIndependent Interface)接口对比:
MII接口兼容10/100M以太网,由于占用管脚数太多,主要应用早期的设备接口中,在一般的高密度(8口)端口PHY以及MAC/switch芯片中已经很少使用。
RMII(reduced MII)接口收发的数据位宽为2bit,因此管脚数目大为减少,在高密端口PHY中应用较多,但是由于其是MAC和PHY共用一个参考时钟,接口之间的距离不能太远。
SMII(serial MII)接口收发数据位宽为1bit,另外还有参考时钟和同步信号,相对于RMII管脚更少,但依然是MAC和PHY共用一个参考时钟,接口之间的距离不能太远。
SSMII(serial sync MII)与SMII类似,只是收发采用单独的时钟和同步信号,虽然又多了两个管脚,但是由于其收发具有独立的随路时钟和同步信号,接口之间的传输距离可以更远。
1.1 MII接口:
MII接口一共有16根线,其中TX_CLK, RX_CLK未记入。接口示意图如下图1.2所示。
图1.1 MII接口
TXD[3:0]:数据发送信号,共4根信号线。
RXD[3:0]:数据接收信号,共4根信号线。
TX_ER(TransmitError):发送数据错误提示信号,与TX_CLK同步,高电平有效,表示TX_ER有效期内传输的数据无效。对于10Mbps速率下,TX_ER不起作用。
RX_ER(ReceiveError):接收数据错误提示信号,与RX_CLK同步,高电平有效,表示RX_ER有效期内传输的数据无效。对于10Mbps速率下,RX_ER不起作用。
TX_EN(TransmitEnable):发送使能信号,只有在TX_EN有效期内传的数据才有效。
RX_DV(ReveiveData Valid):接收数据有效信号,作用类型于发送通道的TX_EN。
TX_CLK:发送参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。注意,TX_CLK时钟的方向是从PHY侧指向MAC侧的,因此此时钟是由PHY提供的。
RX_CLK:接收数据参考时钟,100Mbps速率下,时钟频率为25MHz,10Mbps速率下,时钟频率为2.5MHz。RX_CLK也是由PHY侧提供的。
CRS:Carrier Sense,载波侦测信号,不需要同步于参考时钟,只要有数据传输,CRS就有效,另外,CRS只在半双工模式下有效。
COL:Collision Detectd,冲突检测信号,不需要同步于参考时钟,只在半双工模式下有效。
1.2 RMII接口
RMII即Reduced MIIÿ