MII接口詳解

詞條簡介
    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表示數據的優先級!

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