MII
1.什么是MII
MII是介質(zhì)無(wú)關(guān)接口的英文簡(jiǎn)稱(chēng),又稱(chēng)為媒體獨(dú)立接口,它是IEEE-802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn)。它包括一個(gè)數(shù)據(jù)接口,以及一個(gè)MAC和PHY之間的管理接口。數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨(dú)立信道。每條信道都有自己的數(shù)據(jù)、時(shí)鐘和控制信號(hào)。MII數(shù)據(jù)接口總共需要16個(gè)信號(hào)。管理接口是個(gè)雙信號(hào)接口:一個(gè)是時(shí)鐘信號(hào),另一個(gè)是數(shù)據(jù)信號(hào)。通過(guò)管理接口,上層能監(jiān)視和控制PHY。MII (Management interface)只有兩條信號(hào)線。
MII標(biāo)準(zhǔn)接口用于連快Fast Ethernet MAC-block與PHY。"介質(zhì)無(wú)關(guān)"表明在不對(duì)MAC硬件重新設(shè)計(jì)或替換的情況下,任何類(lèi)型的PHY設(shè)備都可以正常工作。在其他速率下工作的與 MII等效的接口有:AUI(10M 以太網(wǎng))、GMII(Gigabit 以太網(wǎng))和XAUI(10-Gigabit 以太網(wǎng))。
2.MII的工作原理
“媒體獨(dú)立”表明在不對(duì)MAC硬件重新設(shè)計(jì)或替換的情況下,任何類(lèi)型的PHY設(shè)備都可以正常工作。包括分別用于發(fā)送器和接收器的兩條獨(dú)立信道。每條信道都有自己的數(shù)據(jù)、時(shí)鐘和控制信號(hào)。
MII數(shù)據(jù)接口總共需要16個(gè)信號(hào),包括TX_ER,TXD,TX_EN,TX_CLK,COL,RXD,RX_EX,RX_CLK,CRS,RX_DV等。
MII以4位半字節(jié)方式傳送數(shù)據(jù)雙向傳輸,時(shí)鐘速率25MHz。其工作速率可達(dá)100Mb/s。
MII管理接口是個(gè)雙信號(hào)接口,一個(gè)是時(shí)鐘信號(hào),另一個(gè)是數(shù)據(jù)信號(hào)。
通過(guò)管理接口,上層能監(jiān)視和控制PHY,其管理是使用SMI(Serial Management Interface)總線通過(guò)讀寫(xiě)PHY的寄存器來(lái)完成的。
PHY里面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態(tài)反映到寄存器里面,MAC通過(guò)SMI總線不斷的讀取PHY的狀態(tài)寄存器以得知目前PHY的狀態(tài),例如連接速度,雙工的能力等。
當(dāng)然也可以通過(guò)SMI設(shè)置PHY的寄存器達(dá)到控制的目的,例如流控的打開(kāi)關(guān)閉,自協(xié)商模式還是強(qiáng)制模式等。
不論是物理連接的MII總線和SMI總線還是PHY的狀態(tài)寄存器和控制寄存器都是有IEEE的規(guī)范的,因此不同公司的MAC和PHY一樣可以協(xié)調(diào)工作。當(dāng)然為了配合不同公司的PHY的自己特有的一些功能,驅(qū)動(dòng)需要做相應(yīng)的修改。
PHY是物理接口收發(fā)器,它實(shí)現(xiàn)物理層。包括MII/GMII(介質(zhì)獨(dú)立接口)子層、PCS(物理編碼子層)、PMA(物理介質(zhì)附加)子層、PMD(物理介質(zhì)相關(guān))子層、MDI子層。100BaseTX采用4B/5B編碼。
PHY在發(fā)送數(shù)據(jù)的時(shí)候,收到MAC過(guò)來(lái)的數(shù)據(jù)(對(duì)PHY來(lái)說(shuō),沒(méi)有幀的概念,對(duì)它來(lái)說(shuō),都是數(shù)據(jù)而不管什么地址,數(shù)據(jù)還是CRC),每4bit就增加1bit的檢錯(cuò)碼,然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)?a href="/wiki/%E6%A8%A1%E6%8B%9F%E4%BF%A1%E5%8F%B7" title="模擬信號(hào)">模擬信號(hào)把數(shù)據(jù)送出去。收數(shù)據(jù)時(shí)的流程反之。
PHY還有個(gè)重要的功能就是實(shí)現(xiàn)CSMA/CD的部分功能。
它可以檢測(cè)到網(wǎng)絡(luò)上是否有數(shù)據(jù)在傳送,如果有數(shù)據(jù)在傳送中就等待,一旦檢測(cè)到網(wǎng)絡(luò)空閑,再等待一個(gè)隨機(jī)時(shí)間后將送數(shù)據(jù)出去。如果兩個(gè)碰巧同時(shí)送出了數(shù)據(jù),那樣必將造成沖突,這時(shí)候,沖突檢測(cè)機(jī)構(gòu)可以檢測(cè)到?jīng)_突,然后各等待一個(gè)隨機(jī)的時(shí)間重新發(fā)送數(shù)據(jù)。這個(gè)隨機(jī)時(shí)間很有講究的,并不是一個(gè)常數(shù),在不同的時(shí)刻計(jì)算出來(lái)的隨機(jī)時(shí)間都是不同的,而且有多重算法來(lái)應(yīng)付出現(xiàn)概率很低的同兩臺(tái)主機(jī)之間的第二次沖突。
通信速率通過(guò)雙方協(xié)商,協(xié)商的結(jié)果是兩個(gè)設(shè)備中能同時(shí)支持的最大速度和最好的雙工模式,這個(gè)技術(shù)被稱(chēng)為Auto Negotiation或者NWAY。
隔離變壓器把PHY送出來(lái)的差分信號(hào)用差模耦合的線圈耦合濾波以增強(qiáng)信號(hào),并且通過(guò)電磁場(chǎng)的轉(zhuǎn)換耦合到連接網(wǎng)線的另外一端。
RJ-45中1、2是傳送數(shù)據(jù)的,3、6是接收數(shù)據(jù)的。
新的PHY支持AUTO MDI-X功能,也需要隔離變壓器支持,它可以實(shí)現(xiàn)RJ-45接口的1、2上的傳送信號(hào)線和3、6上的接收信號(hào)線的功能自動(dòng)互相交換。
3.MII的相似接口
以太網(wǎng)媒體接口有:MII RMII SMII GMII
所有的這些接口都從MII而來(lái),MII是(Medium Independent Interface)的意思,是指不用考慮媒體是銅軸、光纖、電纜等,因?yàn)檫@些媒體處理的相關(guān)工作都有PHY或者叫做MAC的芯片完成。
MII支持10兆和100兆的操作,一個(gè)接口由14根線組成,它的支持還是比較靈活的,但是有一個(gè)缺點(diǎn)是因?yàn)樗粋€(gè)端口用的信號(hào)線太多,如果一個(gè)8端口的交換機(jī)要用到112根線,16端口就要用到224根線,到32端口的話就要用到448根線,一般按照這個(gè)接口做交換機(jī),是不太現(xiàn)實(shí)的,所以現(xiàn)代的交換機(jī)的制作都會(huì)用到其它的一些從MII簡(jiǎn)化出來(lái)的標(biāo)準(zhǔn),比如RMII、SMII、GMII等。
RMII是簡(jiǎn)化的MII接口,在數(shù)據(jù)的收發(fā)上它比MII接口少了一倍的信號(hào)線,所以它一般要求是50兆的總線時(shí)鐘。RMII一般用在多端口的交換機(jī),它不是每個(gè)端口安排收、發(fā)兩個(gè)時(shí)鐘,而是所有的數(shù)據(jù)端口公用一個(gè)時(shí)鐘用于所有端口的收發(fā),這里就節(jié)省了不少的端口數(shù)目。RMII的一個(gè)端口要求7個(gè)數(shù)據(jù)線,比MII少了一倍,所以交換機(jī)能夠接入多一倍數(shù)據(jù)的端口。和MII一樣,RMII支持10兆和100兆的總線接口速度。
SMII是由思科提出的一種媒體接口,它有比RMII更少的信號(hào)線數(shù)目,S表示串行的意思。因?yàn)樗挥靡桓盘?hào)線傳送發(fā)送數(shù)據(jù),一根信號(hào)線傳輸接受數(shù)據(jù),所以在時(shí)鐘上為了滿足100的需求,它的時(shí)鐘頻率很高,達(dá)到了125兆,為什么用125兆,是因?yàn)閿?shù)據(jù)線里面會(huì)傳送一些控制信息。SMII一個(gè)端口僅用4根信號(hào)線完成100信號(hào)的傳輸,比起RMII差不多又少了一倍的信號(hào)線。SMII在工業(yè)界的支持力度是很高的。同理,所有端口的數(shù)據(jù)收發(fā)都公用同一個(gè)外部的125M時(shí)鐘。
GMII是千兆網(wǎng)的MII接口,這個(gè)也有相應(yīng)的RGMII接口,表示簡(jiǎn)化了的GMII接口。