2013年8月27日 星期二

MAC PHY MII GMII RGMII


OSI Network Stack




ETHERNET 的接口實質是 MAC 通過 MII 匯流排控制 PHY 的過程。


MAC
  • MAC是Media Access Control 的縮寫,即媒體訪問控制子層協議。該協議位於OSI七層協議中數據鏈路層的下半部分,主要負責控制與連接物理層的物理介質。在發送數據的時候,MAC協議可以事先判斷是否可以發送數據,如果可以發送將給數據加上一些控制信息,最終將數據以及控制信息以規定的格式發送到物理層;在接收數據的時候,MAC協議首先判斷輸入的信息並是否發生傳輸錯誤,如果沒有錯誤,則去掉控制信息發送至LLC層。以太網MAC由IEEE-802.3以太網標準定義。 
MII  GMII  RGMII

  • 基本上,這三個的作用是一樣的,同樣都是連結MAC層和PHY層的介面。區別在於編碼、速度、使用的腳位數、I/O clock的頻率不同。


  • MII : 這是IEEE 802.3u制定出來,應用在Fast Ethernet上,連接 Data Link Layer 中的MAC層和Physical Layer 中的PHY層(這樣的說法有點瑕疵,因為Data Link Layer有分為MAC層和LLC層,但Physical Layer沒有分其它的層別,統稱為PHY層)的溝通介面。全名為(Media Independent Interface)。


  • MII即媒體獨立接口, 「媒體獨立」表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。包括分別用於發送器和接收器的兩條 MII使用8B/10B之編碼,所以它運作在125Mbps的時候,可以傳送包含檔頭的100Mbps的資料。(想成有八條水管,同時有125Mbps的資料流進來,通過了一個閘道,要流到十條水管裡去,這十條水管的平均流速就是125Mbps*8/10=100Mbps。)


  •  IC對PHY做讀寫的時候用一組訊號:MDC(Management Data Control)與MDIO(Management Data Input/Output)。


          輸出和輸入各有四個bit的匯流排:Tx[0:3]、Rx[0:3] (輸出是指IC到PHY、輸入是指PHY到IC)

          MII對於Data sampling reference用的兩組clock,頻率為25MHZ,這兩個訊號為Tx_CLK和Rx_CLK。(Ethernet頻率為2.5MHz)

          通知對方準備輸入資料的輸出和輸入的啟動訊號為:Tx_EN、Rx_EN

          輸出、輸入訊號的錯誤通知訊號為:Tx_ER、Rx_ER

          得到有效輸入資料的通知訊號為:Rx_DV

          網路上出現擁塞的Colision訊號為:Col

          作為carrier回覆用的訊號為:CRS (請參考CSMA/CD)

          MII實作的電路電壓可用+5V或是+3.3V


  • GMII:Gigabit Media Independent Interface,可支援到1Gbps,不同於MII,輸出和輸入各有8個bit。

          Tx:GTXCLK、TxCLK、TxD[0:7]、TxEN、TxER

          Rx:RxCLK、RxD[0:7]、RxDV、RxER、COL、CRS

          MDC、MDIO


  • RGMII:Reduced Gigabit Media Independent Interface,顧名思義就是GMII的縮小版(因為減少了PIN腳位數)啦。

          和GMII一樣可以支援10/100/1000Mbps,只有定義12個訊號,比GMII還少一半:RxC、RxD[0:3]、Rx_CTL、TxC、TxD[0:3]、Tx_CTL

  •  IC控制訊號一樣是透過MDC、MDIO


PHY

  • PHY是物理接口收發器,它實現物理層。包括MII/GMII(介質獨立接口)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。

Reference:
http://blog.csdn.net/dark_goldz/article/details/4691773
http://blog.csdn.net/sahusoft/article/details/6908753