在開(kāi)發(fā)以太網(wǎng)接口的過(guò)程中經(jīng)常看到 MII、RMII、GMII、RGMII 等英文縮寫(xiě)名稱。在開(kāi)發(fā)接口前,先將這些名詞搞清楚。
1 MII
MII(Medium Independent Interface)的縮寫(xiě),翻譯成中文是“介質(zhì)獨(dú)立接口”,該接口一般應(yīng)用于以太網(wǎng)硬件平臺(tái)的 MAC 層和 PHY 層之間,MII 接口的類型有很多,常用的有 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XLAUI 等。
MII 支持 10 兆和 100 兆的操作,一個(gè)接口由 14 根線組成,它的支持還是比較靈活的,但是有一個(gè)缺點(diǎn)是因?yàn)樗粋€(gè)端口用的信號(hào)線太多
RXD(Receive Data)[3:0]:數(shù)據(jù)接收信號(hào),共 4 根信號(hào)線;
TX_ER(Transmit Error):發(fā)送數(shù)據(jù)錯(cuò)誤提示信號(hào),同步于 TX_CLK,高電平有效,表示 TX_ER 有效期內(nèi)傳輸?shù)臄?shù)據(jù)無(wú)效。對(duì)于 10Mbps 速率下,TX_ER 不起作用;
RX_ER(Receive Error):接收數(shù)據(jù)錯(cuò)誤提示信號(hào),同步于 RX_CLK,高電平有效,表示 RX_ER 有效期內(nèi)傳輸?shù)臄?shù)據(jù)無(wú)效。對(duì)于 10Mbps 速率下,RX_ER 不起作用;
TX_EN(Transmit Enable):發(fā)送使能信號(hào),只有在 TX_EN 有效期內(nèi)傳的數(shù)據(jù)才有效;
RX_DV(Reveive Data Valid):接收數(shù)據(jù)有效信號(hào),作用類型于發(fā)送通道的 TX_EN;
TX_CLK:發(fā)送參考時(shí)鐘,100Mbps 速率下,時(shí)鐘頻率為 25MHz,10Mbps 速率下,時(shí)鐘頻率為 2.5MHz。注意,TX_CLK 時(shí)鐘的方向是從 PHY 側(cè)指向 MAC 側(cè)的,因此此時(shí)鐘是由 PHY 提供的。
RX_CLK:接收數(shù)據(jù)參考時(shí)鐘,100Mbps 速率下,時(shí)鐘頻率為 25MHz,10Mbps 速率下,時(shí)鐘頻率為 2.5MHz。RX_CLK 也是由 PHY 側(cè)提供的。
CRS:Carrier Sense,載波偵測(cè)信號(hào),不需要同步于參考時(shí)鐘,只要有數(shù)據(jù)傳輸,CRS 就有效,另外,CRS 只有 PHY 在半雙工模式下有效;
COL:Collision Detectd,沖突檢測(cè)信號(hào),不需要同步于參考時(shí)鐘,只有 PHY 在半雙工模式下有效。
MII 接口一共有 16 根線。
2 RMII
RMII 是簡(jiǎn)化的 MII 接口,在數(shù)據(jù)的收發(fā)上它比 MII 接口少了一倍的信號(hào)線,所以它一般要求是 50 兆的總線時(shí)鐘,是 MII 接口時(shí)鐘的兩倍。
3 GMII
與 MII 接口相比,GMII 的數(shù)據(jù)寬度由 4 位變?yōu)?8 位,GMII 接口中的控制信號(hào)如 TX_ER、TX_EN、RX_ER、RX_DV、CRS 和 COL 的作用同 MII 接口中的一樣,發(fā)送參考時(shí)鐘 GTX_CLK 和接收參考時(shí)鐘 RX_CLK 的頻率均為 125MHz(1000Mbps/8=125MHz)。
在這里有一點(diǎn)需要特別說(shuō)明下,那就是發(fā)送參考時(shí)鐘 GTX_CLK,它和 MII 接口中的 TX_CLK 是不同的,MII 接口中的 TX_CLK 是由 PHY 芯片提供給 MAC 芯片的,而 GMII 接口中的 GTX_CLK 是由 MAC 芯片提供給 PHY 芯片的。兩者方向不一樣。
在實(shí)際應(yīng)用中,絕大多數(shù) GMII 接口都是兼容 MII 接口的,所以,一般的 GMII 接口都有兩個(gè)發(fā)送參考時(shí)鐘:TX_CLK 和 GTX_CLK(兩者的方向是不一樣的,前面已經(jīng)說(shuō)過(guò)了),在用作 MII 模式時(shí),使用 TX_CLK 和 8 根數(shù)據(jù)線中的 4 根。
GMII 是千兆網(wǎng)的 MII 接口。GMII 采用 8 位接口數(shù)據(jù),工作時(shí)鐘 125MHz,因此傳輸速率可達(dá) 1000Mbps。同時(shí)兼容 MII 所規(guī)定的 10/100 Mbps 工作方式。
4 RGMII
RGMII 接口表示簡(jiǎn)化了的 GMII 接口。RGMII 均采用 4 位數(shù)據(jù)接口,工作時(shí)鐘 125MHz,并且在上升沿和下降沿同時(shí)傳輸數(shù)據(jù),因此傳輸速率可達(dá) 1000Mbps。同時(shí)兼容 MII 所規(guī)定的 10/100 Mbps 工作方式,支持傳輸速率:10M/100M/1000Mb/s ,其對(duì)應(yīng) clk 信號(hào)分別為:2.5MHz/25MHz/125MHz。