close

 MII是英文Medium Independent Interface的縮寫,翻譯成中文是“介質獨立介面”,該介面一般應用於乙太網硬體平臺的MAC層和PHY層之間,MII介面的類型有很多,常用的有MIIRMIISMIISSMIISSSMIIGMIIRGMIISGMIITBIRTBIXGMIIXAUIXLAUI等。下面對它們進行一一介紹。

 

MII介面:

 

 MII   

 

TXD(Transmit Data)[3:0]:資料發送信號,共4根信號線;

RXD(Receive Data)[3:0]:資料接收信號,共4根信號線;

TX_ER(Transmit Error) 發送資料錯誤提示信號,同步于TX_CLK,高電平有效,表示TX_ER有效期內傳輸的資料無效。對於10Mbps速率下,TX_ER不起作用;

RX_ER(Receive Error) 接收資料錯誤提示信號,同步于RX_CLK,高電平有效,表示RX_ER有效期內傳輸的資料無效。對於10Mbps速率下,RX_ER不起作用;

TX_EN(Transmit Enable) 發送使能信號,只有在TX_EN有效期內傳的資料才有效;

RX_DV(Reveive Data Valid) 接收資料有效信號,作用類型於發送通道的TX_EN

TX_CLK:發送參考時鐘,100Mbps速率下,時鐘頻率為25MHz10Mbps速率下,時鐘頻率為2.5MHz。注意,TX_CLK時鐘的方向是從PHY側指向MAC側的,因此此時鐘是由PHY提供的。

RX_CLK:接收資料參考時鐘,100Mbps速率下,時鐘頻率為25MHz10Mbps速率下,時鐘頻率為2.5MHzRX_CLK也是由PHY側提供的。

CRSCarrier Sense,載波偵測信號,不需要同步於參考時鐘,只要有資料傳輸,CRS就有效,另外,CRS只有PHY在半雙工模式下有效;

COLCollision Detectd,衝突檢測信號,不需要同步於參考時鐘,只有PHY在半雙工模式下有效。

MII介面一共有16根線。

 

RMII介面:

 

 RMII  

 

RMIIReduced MII,是MII的簡化板,連線數量由MII16根減少為8根。

TXD[1:0]:資料發送信號線,資料位元寬為2,是MII介面的一半;

RXD[1:0]:資料接收信號線,資料位元寬為2,是MII介面的一半;

TX_EN(Transmit Enable):資料發送使能信號,與MII介面中的該信號線功能一樣;

RX_ER(Receive Error):資料接收錯誤提示信號,與MII介面中的該信號線功能一樣;

CLK_REF:是由外部時鐘源提供的50MHz參考時鐘,與MII介面不同,MII介面中的接收時鐘和發送時鐘是分開的,而且都是由PHY晶片提供給MAC晶片的。這裡需要注意的是,由於資料接收時鐘是由外部晶振提供而不是由載波信號提取的,所以在PHY層晶片內的資料接收部分需要設計一個FIFO,用來協調兩個不同的時鐘,在發送接收的資料時提供緩衝。PHY層晶片的發送部分則不需要FIFO,它直接將接收到的資料發送到MAC就可以了。

CRS_DV:此信號是由MII介面中的RX_DVCRS兩個信號合併而成。當介質不空閒時,CRS_DVRE_CLK相非同步的方式給出。當CRSRX_DV早結束時(即載波消失而佇列中還有資料要傳輸時),就會出現CRS_DV在半位元組的邊界以25MHz/2.5MHz的頻率在01之間的來回切換。因此,MAC能夠從 CRS_DV中精確的恢復出RX_DVCRS

100Mbps速率時,TX/RX每個時鐘週期採樣一個資料;在10Mbps速率時,TX/RX每隔10個週期採樣一個資料,因而TX/RX資料需要在資料線上保留10個週期,相當於一個資料發送10次。

PHY層晶片收到有效的載波信號後,CRS_DV信號變為有效,此時如果FIFO中還沒有資料,則它會發送出全0的資料給MAC,然後當FIFO中填入有效的資料幀,資料幀的開頭是“101010---”交叉的前導碼,當資料中出現“01”的比特時,代表正式資料傳輸開始,MAC晶片檢測到這一變化,從而開始接收資料。

當外部載波信號消失後,CRS_DV會變為無效,但如果FIFO中還有資料要發送時,CRS_DV在下一週期又會變為有效,然後再無效再有效,直到FIFO中資料發送完為止。在接收過程中如果出現無效的載波信號或者無效的資料編碼,則RX_ER會變為有效,表示實體層晶片接收出錯。

 

 

SMII介面:

 

 SMII  

SMIISerial MII,串列MII的意思,跟RMII相比,連線進一步減少到4根;

 

TXD:發送資料信號,位元寬為1

RXD:接收資料信號,位元寬為1

SYNC:收發資料同步信號,每10個時鐘週期置1次高電平,指示同步。

CLK_REF:所有埠共用的一個參考時鐘,頻率為125MHz,為什麼100Mbps速率要用125MHz時鐘?因為在每8位元資料中會插入2位元控制信號,請看下面介紹。

TXD/RXD10比特為一組,以SYNC為高電平來指示一組資料的開始,在SYNC變高後的10個時鐘週期內,TXD上依次輸出的資料是:TXD[7:0]TX_ENTX_ER,控制信號的含義與MII介面中的相同;RXD上依次輸出的資料是:RXD[7:0]RX_DVCRSRXD[7:0]的含義與RX_DV有關,當RX_DV為有效時(高電平)RXD[7:0]上傳輸的是實體層接收的資料。當RX_DV為無效時(低電平)RXD[7:0]上傳輸的是實體層的狀態資訊資料。見下表

 

當速率為10Mbps時,每一組資料要重複10次,MAC/PHY晶片每10個週期採樣一次。

MAC/PHY晶片在接收到資料後會進行串/並轉換。

 

SSMII介面:

 

SSMII  

SSMIISerial Sync MII,叫串列同步介面,跟SMII介面很類似,只是收發使用獨立的參考時鐘和同步時鐘,不再像SMII那樣收發共用參考時鐘和同步時鐘,傳輸距離比SMII更遠。

 

 

SSSMII介面:

 

SSSMII  

SSSMIISource Sync Serial MII,叫源同步串列MII介面,SSSMIISSMII的區別在於參考時鐘和同步時鐘的方向,SSMIITX/RX參考時鐘和同步時鐘都是由PHY晶片提供的,而SSSMIITX參考時鐘和同步時鐘是由MAC晶片提供的,RX參考時鐘和同步時鐘是由PHY晶片提供的,所以顧名思義叫源同步串列。

 

 

 

GMII介面:

 

 GMII 

 

MII介面相比,GMII的資料寬度由4位元變為8位元,GMII介面中的控制信號如TX_ERTX_ENRX_ERRX_DVCRSCOL的作用同MII介面中的一樣,發送參考時鐘GTX_CLK和接收參考時鐘RX_CLK的頻率均為125MHz(1000Mbps/8=125MHz)

在這裡有一點需要特別說明下,那就是發送參考時鐘GTX_CLK,它和MII介面中的TX_CLK是不同的,MII介面中的TX_CLK是由PHY晶片提供給MAC晶片的,而GMII介面中的GTX_CLK是由MAC晶片提供給PHY晶片的。兩者方向不一樣。

在實際應用中,絕大多數GMII介面都是相容MII介面的,所以,一般的GMII介面都有兩個發送參考時鐘:TX_CLKGTX_CLK(兩者的方向是不一樣的,前面已經說過了),在用作MII模式時,使用TX_CLK8根資料線中的4根。

 

RGMII介面:

 

RGMII  

RGMIIReduced GMII,是RGMII的簡化版本,將介面信號線數量從24根減少到14(COL/CRS埠狀態指示信號,這裡沒有畫出),時鐘頻率仍舊為125MHzTX/RX資料寬度從8為變為4位,為了保持1000Mbps的傳輸速率不變,RGMII介面在時鐘的上升沿和下降沿都採樣資料。在參考時鐘的上升沿發送GMII介面中的TXD[3:0]/RXD[3:0],在參考時鐘的下降沿發送GMII介面中的TXD[7:4]/RXD[7:4]RGMI同時也相容100Mbps10Mbps兩種速率,此時參考時脈速率分別為25MHz2.5MHz

TX_EN信號線上傳送TX_ENTX_ER兩種資訊,在TX_CLK的上升沿發送TX_EN,下降沿發送TX_ER;同樣的,RX_DV信號線上也傳送RX_DVRX_ER兩種資訊,在RX_CLK的上升沿發送RX_DV,下降沿發送RX_ER

 

 

SGMII介面:

 

SGMII  

 

SGMIISerial GMII,串列GMII,收發各一對差分信號線,時鐘頻率625MHz,在時鐘信號的上升沿和下降沿均採樣,參考時鐘RX_CLKPHY提供,是可選的,主要用於MAC側沒有時鐘的情況,一般情況下,RX_CLK不使用。收發都可以從資料中恢復出時鐘。

TXD發送的串列資料中,每8比特資料會插入TX_EN/TX_ER 兩比特控制資訊,同樣,在RXD接收資料中,每8比特資料會插入RX_DV/RX_ER 兩比特控制資訊,所以總的資料速率為1.25Gbps=625Mbps*2.

其實,大多數MAC晶片的SGMII介面都可以配置成SerDes介面(在物理上完全相容,只需配置寄存器即可),直接外接光模組,而不需要PHY層晶片,此時時脈速率仍舊是625MHz,不過此時跟SGMII介面不同,SGMII介面速率被提高到1.25Gbps是因為插入了控制資訊,而SerDes埠速率被提高是因為進行了8B/10B變換,本來8B/10B變換是PHY晶片的工作,在SerDes介面中,因為外面不接PHY晶片,此時8B/10B變換在MAC晶片中完成了。8B/10B變換的主要作用是擾碼,讓信號中不出現過長的連“0”和連“1”情況,影響時鐘資訊的提取,關於8B/10B變換知識,我後續會單獨介紹。

 

TBI介面:

 

 TBI  

 

 

TBITen Bit Interface的意思,介面資料位元寬由GMII介面的8位元增加到10位元,其實,TBI介面跟GMII介面的差別不是很大,多出來的2位元資料主要是因為在TBI介面下,MAC晶片在將資料發給PHY晶片之前進行了8B/10B變換(8B/10B變換本是在PHY晶片中完成的,前面已經說過了),另外,RX_CLK+/-是從接收資料中恢復出來的半頻時鐘,頻率為62.5MHzRX_CLK+/-不是差分信號,而是兩個獨立的信號,兩者之間有180度的相位差,在這兩個時鐘的上升沿都採樣資料。RX_CLK+/-也叫偽差分信號。除掉上面說到的之外,剩下的信號都跟GMII介面中的相同。

大多數晶片的TBI介面和GMII介面相容。在用作TBI介面時,CRSCOL一般不用。

 

RTBI介面:

 

RTBI  

 

RTBIReduced TBI,簡化版TBI,介面資料位元寬為5bit,時鐘頻率為125MHz,在時鐘的上升沿和下降沿都採樣資料,同RGMII介面一樣,TX_EN線上會傳送TX_ENTX_ER兩種資訊,在時鐘的上升沿傳TX_EN,下降沿傳TX_ERRX_DV線上傳送RX_DVRX_ER兩種資訊,在RX_CLK上升沿傳RX_DV,下降沿傳RX_ER

 

 

萬兆乙太網介面的埠速率為10Gbps,主要有XGMIIXAUI兩種,另外還有HIGIG,不過HIGIGBroadcom公司的私有標準,這裡暫不介紹。

 

XGMII介面:

 

SGMII  

 

TXD[31:0]:資料發送通道,32位元並行資料。

RXD[31:0]:資料接收通道,32位元並行資料。

TXC[3:0]:發送通道控制信號,TXC=0時,表示TXD上傳輸的是資料;TXC=1時,表示TXD上傳輸的是控制字元。TXC[3:0]分別對應TXD[31:24], TXD[23:16], TXD[15:8], TXD[7:0]

RXC[3:0]:接收通道控制信號,RXC=0時,表示RXD上傳輸的是資料;RXC=1時,表示RXD上傳輸的是控制字元。RXC[3:0]分別對應RXD[31:24], RXD[23:16], RXD[15:8], RXD[7:0]

TX_CLKTXDTXC的參考時鐘,時鐘頻率156.25MHz,在時鐘信號的上升沿和下降沿都採樣資料。156.25MHz * 2 * 32 = 10Gbps

RX_CLKRXDRXC的參考時鐘,時鐘頻率156.25MHz,在時鐘信號的上升沿和下降沿都採樣資料。

 

XGMII介面共74根連線,單端信號,採用HSTL/SSTL_2邏輯,埠電壓1.5V/2.5V,由於SSTL_2的埠電壓高,功耗大,現在已很少使用。HSTLHigh Speed Transceiver Logic,高速發送邏輯的意思。SSTL,即Stub Series Terminated Logic,短路終止邏輯,主要用於高速記憶體介面,SSTL目前存在兩種標準,SSTL_33.3V標準;SSTL_22.5V標準。

 

XAUI介面:

 

XAUI  

由於受電氣特性的影響,XGMII介面的PCB走線最大傳輸距離僅有7cm,並且XGMII介面的連線數量太多,給實際應用帶來不便,因此,在實際應用中,XGMII介面通常被XAUI介面代替,XAUI10 Gigabit attachment unit interface10G附屬單元介面,XAUIXGMII的基礎上實現了XGMII介面的物理距離擴展,將PCB走線的傳輸距離增加到50cm,使背板走線成為可能。

源端XGMII把收發32位寬度資料流程分為4個獨立的lane通道,每個lane通道對應一個位元組,經XGXS(XGMII Extender Sublayer)完成8B/10B編碼後,將4lane分別對應XAUI4個獨立通道,XAUI埠速率為:2.5Gbps * 1.25 * 412.5Gbps

 

 

在發送端的XGXS模組中,將TXD[31:0]/ RXD[31:0],TXC[3:0]/ RXC[3:0], TX_CLK/ RX_CLK轉換成串列資料從TX Lane[3:0]/ RX Lane[3:0]中發出去,在接收端的XGXS模組中,串列資料被轉換成並行,並且進行時鐘恢復和補償,完成時鐘去抖,經過5B/4B解碼後,重新聚合成XGMII

 

XAUI介面採用差分線,收發各四對,CML邏輯,AC耦合方式,耦合電容在10nF~100nF之間。

 

XAUI介面可以直接接光模組,如XENPAK/X2等。也可以轉換成一路10G信號XFI,接XFP/SFP+等。

 

有些晶片不支援XAUI介面,只支援XGMII介面,這時可以用專門的晶片進行XGMIIà XAUI介面轉換,如BCM8011等。

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 暴風雲 的頭像
    暴風雲

    EE人蔘

    暴風雲 發表在 痞客邦 留言(2) 人氣()