Introduction
Media Independent Interface ( MII ),介質獨立接口,起初是定義100M以太網(Fast Ethernet)的 MAC 層與 PHY 芯片之間的傳輸標準(802.3u)。
介質獨立的意思是指,MAC與PHY之間的通信不受具體傳輸介質(雙絞線或光纖等)的影響,任何MAC和PHY都可以通過MII接口互連。
MAC與PHY之間的MII連接可以是可插拔的連接器,或者是同一塊PCB上MAC與PHY之間的走線。
MDIO 是MII接口的一部分,用於在MAC和PHY之間傳遞配置信息。在系統上電瞬間,PHY芯片通過管腳的電平狀態確定原始設置,進而通過MDIO更改配置。
最初MII定義數據 4 bit 發送+ 4 bit 接收,每位數據速率 25MHz ,總數據速率 100Mbps 。
其它 MII 標準的變種,包括 RMII,GMII,RGMII,XGMII,SGMII,基本上都是定位於更高速率或者更少的信號數的目標,下圖表示在以太網通信層次模型中MII接口的位置。
MII
MII接口信號包括三類,分別為:
● 發送端信號:TXCLK, TXD[0-3], TXEN, TXER
● 接收端信號:RXCLK, RXD[0-3], RXDV, RXER, CRS, COL
● 配置信號:MDIO, MDC
信號方向如下圖所示,其中 TXER 為選配。 MII 共計 18 根信號線,只有 MDIO/MDC 信號可以在不同PHY間級聯。假定係統中有 8 個PHY,則MII信號總數為 8*16 + 2 = 130 根!為減少信號數,RMII接口應運而生。
RMII
相比於MII接口,RMII有以下四處變化:
● TXCLK 和 RXCLK 兩個時鐘信號,合併為一個時鐘 REFCLK
● 時鐘速率由 25MHz 上升到 50MHz,單向數據由 4 bits 變為 2 bits
● CRS 和 RXDV 合併為一個信號 CRSDV
● 取消了 COL 信號
RMII信號如下圖所示。 RMII只要 9 根信號線,相比於MII的 18 根信號可謂有不少的刪減,在同一個系統中的多個設備可以共享 MDIO, MDC 和 REFCLK 信號線。
GMII
GMII接口的數據速率可達 1000Mbps,其時鐘頻率為 125MHz ,單向數據位寬 8 bits。 GMII向下兼容MII,可以像MII一樣工作在 100Mbps 和 10Mbps 的數據速率。
GMII接口信號包括三類,分別為:
● 發送端信號:GTXCLK, TXCLK, TXD[0-7], TXEN, TXER
● 接收端信號:RXCLK, RXD[0-7], RXDV, RXER, CRS, COL
● 配置信號:MDIO, MDC
發送端包括兩個時鐘信號GTXCLK 和TXCLK,當設備工作於1000Mbps 模式時,TXD, TXEN, TXER 是與GTXCLK (125MHz)同步的,而在10/100Mbps 工作模式時,以上數據信號是同步於由PHY提供的TXCLK 的,其中100Mbps 時是25MHz,10Mbps 時是2.5MHz。接收端時鐘只有一個時鐘信號 RXCLK,它是從接收數據中恢復的時鐘。
RGMII
RGMII相比於GMII減小將近一半的管腳數(24 → 12),通過以下兩種方式:
● 1000Mbps模式下,在時鐘的上/下邊沿均採樣數據
● 取消不重要的如 CRS, COL 等信號
在RGMII接口中 MAC 在 TXC 上一直提供時鐘信號,而不像在GMII接口中那樣,10/100Mbps 模式下時鐘是由 PHY 提供(TXCLK),而 1000Mbps 模式下時鐘是由 MAC 提供(GTXCLK)。在RGMII中應用到源同步時鐘,即數據與時鐘信號是同步的。這要求在PCB設計中,要對時鐘信號額外增加 1.5~2 ns 的延遲以保證接收端的建立/保持時間滿足要求。在 RGMII v2.0 規範中有定義MAC/PHY內部延遲(RGMII-ID),由此避免PCB設計中再要增加這個延遲。
在RGMII接口中:
● 1000Mbps 模式,數據在時鐘的上/下邊沿均採樣
● 10/100Mbps 模式,數據僅在時鐘上升沿採樣
● RXCTL 和 TXCLT 為複用的傳輸控制信號。 RXCTL 在時鐘的上升沿代表 RXDV,在時鐘的下降沿代表(RXDV xor RXER);TXCTL 在時鐘的上升沿代表 TXEN,在時鐘的下降沿代表(TXEN xor TXER)。
● RGMII v1.3 採用 2.5V CMOS 電平,RGMII v2 採用 1.5V HSTL 電平。
SGMII
SGMII 發送和接收時鐘頻率為 625MHz,採用 DDR 模式,因此數據速率為 1.25Gbps。
●SGMII 相對於 GMII功耗更低,採用 SerDes 接口管腳數更少。SGMII 發送和接收數據各 1 對附加信號(LVDS),另外還有1對differential clock,共6根線。
●對於MAC/PHY中包括時鐘恢復電路(CDR,Clock and Data Recovery Circuits)的系統,TXCLK可以省略,SGMII接口只需要4根線,相比於GMII(24根)和RGMII(12根)信號線驟減!
●TX/RX數據發送端必須同時產生,而接收端的呼叫是可選的,因為可以通過CDR恢復時鐘。
●在10/100Mbps工作模式下,數據重複發送100/10次,因此Clock總是625MHz 。
XGMII
XGMII 是用於10G以太網的MAC與PHY設備間通信的接口標準,它包括32 bits 的數據通道(RXD & TXD),兩組4 bits 的控制通道(RXC & TXC)和兩組時鐘(收/發),時鐘頻率156.25 MHz ,工作在DDR 模式。圖8表示XGMII接口的連接示意圖,注意 RXD/TXD 信號上的 36 表示 32 bits 數據 + 4 bits 控制信號,其中每 8 bits 數據稱為 1 個Lane,共用 1 路控制信號。
● 10 Gbps = 156.25 MHz * 32 bits * 2
● XGMII信號數目(74 根)較多,通常用於芯片內的連接,不適合作為芯片間通信的接口,因此協議定義XGXS(XGMII eXtender Sublayer)子層以縮減信號數目,簡化硬件設計。 ● XGXS 子層主要完成 8b/10b 編碼和不同Lane之間的去偏斜等功能。
●在信號鏈的兩端,MAC和PHY 都包括XGXS子層,XAUI 是 XGXS 之間通信的接口。
●XAUI 接口包括4組發送差分對和4 組接收差分對,共 16 根信號。每組差分對(Lane)的數據速率為3.125 Gbps,因此總的數據速率為4 * 3.125 Gbps = 12.5 Gbps,考慮到8b/10b的效率為80%,因此實際數據速率為12.5Gbps * 80% = 10 Gbps。