基本上,這三個的作用是一樣的,同樣都是連結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使用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
以上大致上是從Wiki看來的東西,其實應該要從IEEE去找SPEC比較準,但這些有個基本的觀念就可以了,至於實作時,當然要了解他的腳位的定義和接法,原則上,會有Independent,就是不管你換了甚麼PHY和甚麼MAC,只要遵循SPEC就可以互通了。
No comments:
Post a Comment