MII,RMII,GMII介面詳細解釋

admin @ 2014-03-19 , reply:0

概述
MII,RMII,GMII介面詳細解釋 概述: MII(MediaIndependentInterface(介質無關介面)或稱為媒體獨立介面,它是IEEE-802.3定義的乙太網行……

MII,RMII,GMII介面詳細解釋
 概述:
 MII (Media Independent Interface(介質無關介面)或稱為媒體獨立介面,它是IEEE-802.3定義的乙太網行業標準。它包括一個數據介面和一個MAC和PHY之間的管理介面。
 數據介面包括分別用於發送器和接收器的兩條獨立通道,每條通道都有自己的數據、時鐘和控制信號。MII數據介面總共需要16個信號。
 管理介面是個雙信號介面:一個是時鐘信號,另一個是數據信號。通過管理介面,上層能監視和控制PHY。MII (Management interface)只有兩條信號線。
 MII標準介面用於連接Fast Ethernet MAC-block與PHY。表明在不對MAC硬體重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。在其他速率下工作的與MII等效的介面有:AUI(10M 乙太網)、GMII(Gigabit 乙太網)和XAUI(10-Gigabit 乙太網)。
 MII匯流排
 在IEEE802.3中規定的MII匯流排是一種用於將不同類型的PHY與相同網路控制器(MAC)相連接的通用匯流排。網路控制器可以用同樣的硬體介面與任何PHY進行連接。
 
 MII相關介面介紹:
 乙太網媒體介面有:MII RMII SMII GMII
 所有的這些介面都從MII而來,MII是(Medium Independent Interface)的意思,是指不用考慮媒體是銅軸、光纖、電纜等,因為這些媒體處理的相關工作都有PHY或者叫做MAC的晶元完成。
 MII支持10兆和100兆的操作,一個介面由14根線組成,它的支持還是比較靈活的,但是有一個缺點是因為它一個埠用的信號線太多,如果一個8埠的交換機要用到112根線,16埠就要用到224根線,到32埠的話就要用到448根線,一般按照這個介面做交換機,是不太現實的,所以現代的交換機的製作都會用到其它的一些從MII簡化出來的標準,比如RMII、SMII、GMII等。
 RMII是簡化的MII介面,在數據的收發上它比MII介面少了一倍的信號線,所以它一般要求是50兆的匯流排時鐘。RMII一般用在多埠的交換機,它不是每個埠安排收、發兩個時鐘,而是所有的數據埠公用一個時鐘用於所有埠的收發,這裡就節省了不少的埠數目。RMII的一個埠要求7個數據線,比MII少了一倍,所以交換機能夠接入多一倍數據的埠。和MII一樣,RMII支持10兆和100兆的匯流排介面速度。
 SMII是由思科提出的一種媒體介面,它有比RMII更少的信號線數目,S表示串列的意思。因為它只用一根信號線傳送發送數據,一根信號線傳輸接受數據,所以在時鐘上為了滿足100的需求,它的時鐘頻率很高,達到了125兆,為什麼用125兆,是因為數據線裡面會傳送一些控制信息。SMII一個埠僅用4根信號線完成100信號的傳輸,比起RMII差不多又少了一倍的信號線。SMII在工業界的支持力度是很高的。同理,所有埠的數據收發都公用同一個外部的125M時鐘。
 GMII是千兆網的MII介面,這個也有相應的RGMII介面,表示簡化了的GMII介面。
 
 MII工作原理:
 “媒體獨立”表明在不對MAC硬體重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。包括分別用於發送器和接收器的兩條獨立通道。每條通道都有自己的數據、時鐘和控制信號。
 MII數據介面總共需要16個信號,包括TX_ER,TXD,TX_EN,TX_CLK,COL,RXD,RX_EX,RX_CLK,CRS,RX_DV等。
 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的自己特有的一些功能,驅動需要做相應的修改。
 PHY是物理介面收發器,它實現物理層。包括MII/GMII(介質獨立介面)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。100BaseTX採用4B/5B編碼。
 PHY在發送數據的時候,收到MAC過來的數據(對PHY來說,沒有幀的概念,對它來說,都是數據而不管什麼地址,數據還是CRC),每4bit就增加1bit的檢錯碼,然後把并行數據轉化為串列流數據,再按照物理層的編碼規則把數據編碼,再變為模擬信號把數據送出去。收數據時的流程反之。
 PHY還有個重要的功能就是實現CSMA/CD的部分功能。
 它可以檢測到網路上是否有數據在傳送,如果有數據在傳送中就等待,一旦檢測到網路空閑,再等待一個隨機時間后將送數據出去。如果兩個碰巧同時送出了數據,那樣必將造成衝突,這時候,衝突檢測機構可以檢測到衝突,然後各等待一個隨機的時間重新發送數據。這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重演算法來應付出現概率很低的同兩台主機之間的第二次衝突。
 通信速率通過雙方協商,協商的結果是兩個設備中能同時支持的最大速度和最好的雙工模式,這個技術被稱為Auto Negotiation或者NWAY。
 隔離變壓器把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,並且通過電磁場的轉換耦合到連接網線的另外一端。
 RJ-45中1、2是傳送數據的,3、6是接收數據的。
 新的PHY支持AUTO MDI-X功能,也需要隔離變壓器支持,它可以實現RJ-45介面的1、2上的傳送信號線和3、6上的接收信號線的功能自動互相交換。
 
 GMII介面簡介:
 GMII (Gigabit MII),GMII採用8位介面數據,工作時鐘125MHz,因此傳輸速率可達1000Mbps。同時兼容MII所規定的10/100 Mbps工作方式。
 GMII介面數據結構符合IEEE乙太網標準。該介面定義見IEEE 802.3-2000。
 發送器:
 ◇ GTXCLK——吉比特TX..信號的時鐘信號(125MHz)
 ◇ TXCLK——10/100M信號時鐘
 ◇ TXD[7..0]——被發送數據
 ◇ TXEN——發送器使能信號
 ◇ TXER——發送器錯誤(用於破壞一個數據包)
 註:在千兆速率下,向PHY提供GTXCLK信號,TXD、TXEN、TXER信號與此時鐘信號同步。否則,在10/100M速率下,PHY提供 TXCLK時鐘信號,其它信號與此信號同步。其工作頻率為25MHz(100M網路)或2.5MHz(10M網路)。
 接收器:
 ◇ RXCLK——接收時鐘信號(從收到的數據中提取,因此與GTXCLK無關聯)
 ◇ RXD[7..0]——接收數據
 ◇ RXDV——接收數據有效指示
 ◇ RXER——接收數據出錯指示
 ◇ COL——衝突檢測(僅用於半雙工狀態)
 管理配置
 ◇ MDC——配置介面時鐘
 ◇ MDIO——配置介面I/O
 管理配置介面控制PHY的特性。該介面有32個寄存器地址,每個地址16位。其中前16個已經在“IEEE 802.3,2000-22.2.4 Management Functions”中規定了用途,其餘的則由各器件自己指定。
 
 RMII簡介:
 RMII: Reduced Media Independant Interface 即簡化媒體獨立介面;是標準的乙太網介面之一,比MII有更少的I/O傳輸。
 關於RMII口和MII口的問題
 RMII口是用兩根線來傳輸數據的,
 MII口是用4根線來傳輸數據的,
 GMII是用8根線來傳輸數據的。
 MII/RMII只是一種介面,對於10M線速,MII的速率是2.5M,RMII則是5M;對於100M線速,MII的速率是25M,RMII則是50M。
 MII/RMII 用於傳輸乙太網包,在MII/RMII介面是4/2bit的,在乙太網的PHY里需要做串並轉換、編解碼等才能在雙絞線和光纖上進行傳輸,其幀格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
 乙太網幀的格式為:前導符+開始位+目的mac地址+源mac地址+類型/長度+數據+padding(optional)+32bitCRC
 如果有vlan,則要在類型/長度後面加上2個位元組的vlan tag,其中12bit來表示vlan id,另外4bit表示數據的優先順序!




[admin via 研發互助社區 ] MII,RMII,GMII介面詳細解釋已經有25025次圍觀

http://cocdig.com/docs/show-post-38053.html