淺聊一下各類以太網媒體接口MII/RMII/SMII/GMII/RGMII/SGMII

最近在學習以太網,瞭解到各種各樣的以太網媒體接口:MII、RMII、SMII、GMII等等,有點亂,於是抽空理一下:

MII

MII,即Media Independent Interface,翻譯過來就是介質無關接口,也可以叫做媒體獨立接口,是IEEE-802.3定義的以太網行業標準。“媒體獨立"的意思就是指不用考慮媒體是銅軸、光纖、電纜等,因爲這些媒體處理的相關工作都有PHY或者叫做MAC的芯片完成。

它包括一個數據接口,以及一個MAC和PHY之間的管理接口。數據接口包括分別用於發送器和接收器的兩條獨立信道。每條信道都有自己的數據、時鐘和控制信號。數據接口總共需要16個信號。MII以4位半字節方式傳送數據雙向傳輸,時鐘速率25MHz,工作速率可達100Mb/s。

MII管理接口是個雙信號接口,一個是時鐘信號,另一個是數據信號。通過管理接口,上層能監視和控制PHY。其管理是使用SMI(Serial Management Interface)總線通過讀寫PHY的寄存器來完成的。PHY裏面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態反映到寄存器裏面,MAC通過SMI總線不斷的讀取PHY的狀態寄存器,以得知目前PHY的狀態,例如連接速度,雙工的能力等。當然也可以通過SMI設置PHY的寄存器達到控制的目的,例如流控的打開關閉,自協商模式還是強制模式等。不論是物理連接的MII總線和SMI總線還是PHY的狀態寄存器和控制寄存器都是有IEEE的規範的,因此不同公司的MAC和PHY一樣可以協調工作,當然爲了配合不同公司的PHY的自己特有的一些功能,驅動需要做相應的修改。

MII支持10兆和100兆的操作,一個接口由14根線組成,它的支持還是比較靈活的,但是有一個缺點是因爲它一個端口用的信號線太多,如果一個8端口的交換機要用到112根線,16端口就要用到224根線,到32端口的話就要用到448根線,一般按照這個接口做交換機,是不太現實的,所以現代的交換機的製作都會用到其它的一些從MII簡化出來的標準,比如RMII、SMII、GMII等。

RMII

RMII,Reduced Media Independant Interface,簡化版的MII接口,信號線數量由MII的14根減少爲7根,所以它一般要求是50兆的總線時鐘。

RMII一般用在多端口的交換機,它不是每個端口安排收、發兩個時鐘,而是所有的數據端口公用一個時鐘用於所有端口的收發,這裏就節省了不少的端口數目。RMII的一個端口要求7個數據線,比MII少了一倍,所以交換機能夠接入多一倍數據的端口。和MII一樣,RMII支持10兆和100兆的總線接口速度。

SMII

SMII,即Serial MII,S表示串行的意思,是由思科提出的一種媒體接口,它有比RMII更少的信號線數目。因爲它只用一根信號線傳送發送數據,一根信號線傳輸接受數據,所以在時鐘上爲了滿足100的需求,它的時鐘頻率很高, 達到了125兆,爲什麼用125兆,是因爲數據線裏面會傳送一些控制信息。

SMII一個端口僅用4根信號線完成100信號的傳輸,比起RMII差不多又少了一倍的信號線。SMII在工業界的支持力度是很高的。同理,所有端口的數據收發都公用同一個外部的125M時鐘。

SSMII

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

SSSMII

SSSMII,即Source Sync Serial MII,叫源同步串行MII接口,SSSMII與SSMII的區別在於參考時鐘和同步時鐘的方向,SSMII的TX/RX參考時鐘和同步時鐘都是由PHY芯片提供的,而SSSMII的TX參考時鐘和同步時鐘是由MAC芯片提供的,RX參考時鐘和同步時鐘是由PHY芯片提供的,所以顧名思義叫源同步串行。

GMII

GMII,Gigabit MII,是千兆網的MII接口,這個也有相應的RGMII接口,表示簡化了的GMII接口。

GMII採用8位接口數據,工作時鐘125MHz,因此傳輸速率可達1000Mbps。

同時兼容MII所規定的10/100 Mbps工作方式。

RGMII

RGMII,即Reduced GMII,是RGMII的簡化版本,將接口信號線數量從24根減少到14根,時鐘頻率仍舊爲125MHz,TX/RX數據寬度從8爲變爲4位,爲了保持1000Mbps的傳輸速率不變,RGMII接口在時鐘的上升沿和下降沿都採樣數據。

RGMI同時也兼容100Mbps和10Mbps兩種速率,此時參考時鐘速率分別爲25MHz和2.5MHz。

SGMII

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

在TXD發送的串行數據中,每8比特數據會插入TX_EN/TX_ER 兩比特控制信息,同樣,在RXD接收數據中,每8比特數據會插入RX_DV/RX_ER 兩比特控制信息,所以總的數據速率爲1.25Gbps=625Mbps*2。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章