網(wǎng)絡(luò)設(shè)備中肯定離開不MAC和PHY,本篇文章將詳細(xì)介紹下以太網(wǎng)中一些常見術(shù)語(yǔ)與接口。
MAC和PHY結(jié)構(gòu)
從硬件角度來看以太網(wǎng)是由CPU,MAC,PHY三部分組成的,如下圖示意:
上圖中DMA集成在CPU,CPU,MAC,PHY并不是集成在同一個(gè)芯片內(nèi),由于PHY包含大量模擬器件,而MAC是典型的數(shù)字電路,考慮到芯片面積及模擬/數(shù)字混合架構(gòu)的原因,將MAC集成進(jìn)CPU而將PHY留在片外,這種結(jié)構(gòu)是最常見的。?下圖是網(wǎng)絡(luò)接口內(nèi)部結(jié)構(gòu)圖,虛框表示CPU,MAC集成在CPU中,PHY芯片通過MII接口與CPU上的MAC連接:
以上是以太網(wǎng)結(jié)構(gòu)大框架,下面分別介紹各個(gè)部分。
MAC
MAC(Media Access Control)?即媒體訪問控制層協(xié)議。MAC由硬件控制器及MAC通信協(xié)議構(gòu)成。該協(xié)議位于OSI七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負(fù)責(zé)控制與連接物理層的物理介質(zhì)。MAC硬件框圖如下圖所示:
在發(fā)送數(shù)據(jù)的時(shí)候,MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時(shí)候,MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯(cuò)誤,如果沒有錯(cuò)誤,則去掉控制信息發(fā)送至LLC(邏輯鏈路控制)層。該層協(xié)議是以太網(wǎng)MAC由IEEE-802. 3以太網(wǎng)標(biāo)準(zhǔn)定義。一般以太網(wǎng)MAC芯片的一端連接PCI總線,另一端連接PHY芯片上通過MII接口連接。
PHY
PHY(Physical Layer)是IEEE802.3中定義的一個(gè)標(biāo)準(zhǔn)模塊,STA(Station Management Entity,管理實(shí)體,一般為MAC或CPU)通過MIIM(MII Manage Interface)對(duì)PHY的行為、狀態(tài)進(jìn)行管理和控制,而具體管理和控制動(dòng)作是通過讀寫PHY內(nèi)部的寄存器實(shí)現(xiàn)的。PHY的基本結(jié)構(gòu)如下圖:
PHY在發(fā)送數(shù)據(jù)的時(shí)候,收到MAC過來的數(shù)據(jù)(對(duì)PHY來說,沒有幀的概念,對(duì)它來說,都是數(shù)據(jù))然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)槟M信號(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ù)。
PHY寄存器的地址空間為5位,從0到31最多可以定義32個(gè)寄存器(隨著芯片功能不斷增加,很多PHY芯片采用分頁(yè)技術(shù)來擴(kuò)展地址空間以定義更多的寄存器),IEEE802.3定義了地址為0-15這16個(gè)寄存器的功能,地址16-31的寄存器留給芯片制造商自由定義,如下表所示:
注:
- 上圖B和E表示在特定接口下,寄存器是基本的還是擴(kuò)展的。例如:MII接口下只有0和1寄存器是基本的,其它的是擴(kuò)展的。所為擴(kuò)展是指留給IEEE以后的擴(kuò)展特性用,不是給PHY廠商的擴(kuò)展,PHY廠商自定義的只能是16~31號(hào)寄存器 。
- 在IEEE標(biāo)準(zhǔn)文檔及某些PHY手冊(cè)中,某寄存器的比特(bit)用X.y表示,如0.15表示第0寄存器的第15位。
MII
MII(Media Independent interface)即介質(zhì)無關(guān)接口,它是IEEE-802.3定義的行業(yè)標(biāo)準(zhǔn),是MAC與PHY之間的接口。MII數(shù)據(jù)接口包含16個(gè)信號(hào)和2個(gè)管理接口信號(hào),如下圖所示:
信號(hào)定義如下:
信號(hào)名稱 | 描述 | 方向 |
---|---|---|
TX_CLK | 發(fā)送時(shí)鐘 | PHY → MAC |
TX_ER | 發(fā)送數(shù)據(jù)錯(cuò)誤 | MAC → PHY |
TX_EN | 發(fā)送使能 | MAC → PHY |
TXD0 | 發(fā)送數(shù)據(jù)位0(最先傳輸) | MAC → PHY |
TXD1 | 發(fā)送數(shù)據(jù)位1 | MAC → PHY |
TXD2 | 發(fā)送數(shù)據(jù)位2 | MAC → PHY |
TXD3 | 發(fā)送數(shù)據(jù)位3 | MAC → PHY |
RX_CLK | 接收時(shí)鐘 | PHY → MAC |
RX_DV | 接收數(shù)據(jù)有效 | PHY → MAC |
RX_ER | 接收數(shù)據(jù)錯(cuò)誤 | PHY → MAC |
RXD0 | 接收數(shù)據(jù)位0(最先傳輸) | PHY → MAC |
RXD1 | 接收數(shù)據(jù)位1 | PHY → MAC |
RXD2 | 接收數(shù)據(jù)位2 | PHY → MAC |
RXD3 | 接收數(shù)據(jù)位3 | PHY → MAC |
CRS | 載波監(jiān)測(cè) | PHY → MAC |
COL | 沖突碰撞監(jiān)測(cè) | PHY → MAC |
MDIO | 管理數(shù)據(jù) | 雙向 |
MDC | 管理數(shù)據(jù)時(shí)鐘 | MAC → PHY |
MAC 通過MIIM 接口讀取PHY 狀態(tài)寄存器以得知目前PHY 的狀態(tài)。例如連接速度、雙工的能力等。也可以通過 MIIM設(shè)置PHY的寄存器達(dá)到控制的目的。例如流控的打開關(guān)閉、自協(xié)商模式還是強(qiáng)制模式等。MII以4位半字節(jié)方式傳送數(shù)據(jù)雙向傳輸,時(shí)鐘速率25MHz。其工作速率可達(dá)100Mb/s。當(dāng)時(shí)鐘頻率為2.5MHz時(shí),對(duì)應(yīng)速率為10Mb/s。MII接口雖然很靈活但由于信號(hào)線太多限制多接口網(wǎng)口的發(fā)展,后續(xù)又衍生出RMII,SMII等。
RMII
RMII(Reduced Media Independant Interface),精簡(jiǎn)MII接口,節(jié)省了一半的數(shù)據(jù)線。RMII收發(fā)使用2位數(shù)據(jù)進(jìn)行傳輸,收發(fā)時(shí)鐘均采用50MHz時(shí)鐘源。信號(hào)定義如下:
信號(hào)名稱 | 描述 | 方向 |
---|---|---|
REF_CLK | 參考時(shí)鐘 | MAC→PHY或由外部時(shí)鐘源提供 |
TX_EN | 發(fā)送數(shù)據(jù)使能 | MAC → PHY |
TXD0 | 發(fā)送數(shù)據(jù)位0(最先傳輸) | MAC → PHY |
TXD1 | 發(fā)送數(shù)據(jù)位1 | MAC → PHY |
RX_ER | 接收錯(cuò)誤 | PHY → MAC |
RXD0 | 接收數(shù)據(jù)位0(最先傳輸) | PHY → MAC |
RXD1 | 接收數(shù)據(jù)1 | PHY → MAC |
CRS_DV | 載波和接收數(shù)據(jù)有效 | PHY → MAC |
MDIO | 管理數(shù)據(jù) | 雙向 |
MDC | 管理數(shù)據(jù)時(shí)鐘 | MAC → PHY |
其中CRS_DV是MII中RX_DV和CRS兩個(gè)信號(hào)的合并,當(dāng)物理層接收到載波信號(hào)后CRS_DV變得有效,將數(shù)據(jù)發(fā)送給RXD。當(dāng)載波信號(hào)消失后,CRS_DV會(huì)變?yōu)闊o效。在100M以太網(wǎng)速率中,MAC層每個(gè)時(shí)鐘采樣一次RXD[1:0]上的數(shù)據(jù),在10M以太網(wǎng)速率中,MAC層每10個(gè)時(shí)鐘采樣一次RXD[1:0]上的數(shù)據(jù),此時(shí)物理層接收的每個(gè)數(shù)據(jù)會(huì)在RXD[1:0]保留10個(gè)時(shí)鐘。
SMII
SMII(Serial Media Independant Interface),串行MII接口。它包括TXD,RXD,SYNC三個(gè)信號(hào)線,共用一個(gè)時(shí)鐘信號(hào),此時(shí)鐘信號(hào)是125MHz,信號(hào)線與此時(shí)鐘同步。信號(hào)定義如下:
信號(hào)名稱 | 描述 | 方向 |
---|---|---|
REF_CLK | 參考時(shí)鐘 | 外部時(shí)鐘源提供125MHz |
TXD | 發(fā)送數(shù)據(jù) | MAC → PHY |
RXD | 接收數(shù)據(jù) | PHY → MAC |
SYNC | 同步信號(hào) | - |
MDIO | 管理數(shù)據(jù) | 雙向 |
MDC | 管理數(shù)據(jù)時(shí)鐘 | MAC → PHY |
SYNC是數(shù)據(jù)收發(fā)的同步信號(hào),每10個(gè)時(shí)鐘同步置高一次電平,表示同步。TXD和RXD上的數(shù)據(jù)和控制信息,以10bit為一組。發(fā)送部分波形如下:
從波形可以看出,SYNC變高后的10個(gè)時(shí)鐘周期內(nèi),TXD依次輸出一組10bit的數(shù)據(jù)即TX_ER,TX_EN,TXD[0:7],這些控制信息和MII接口含義相同。在100M速率中,每一組的內(nèi)容都是變換的,在10M速率中,每一組數(shù)據(jù)需要重復(fù)10次,采樣任一一組都可以。
GMII
GMII(Gigabit Media Independant Interface),千兆MII接口。GMII采用8位接口數(shù)據(jù),工作時(shí)鐘125MHz,因此傳輸速率可達(dá)1000Mbps。同時(shí)兼容MII所規(guī)定的10/100 Mbps工作方式。GMII接口數(shù)據(jù)結(jié)構(gòu)符合IEEE以太網(wǎng)標(biāo)準(zhǔn),該接口定義見IEEE 802.3-2000。信號(hào)定義如下:
信號(hào)名稱 | 描述 | 方向 |
---|---|---|
GTX_CLK | 1000M發(fā)送時(shí)鐘 | MAC → PHY |
TX_CLK | 100/10M發(fā)送時(shí)鐘 | MAC → PHY |
TX_ER | 發(fā)送數(shù)據(jù)錯(cuò)誤 | MAC → PHY |
TX_EN | 發(fā)送使能 | MAC → PHY |
TX_[7:0] | 發(fā)送數(shù)據(jù)8bit | MAC → PHY |
RX_CLK | 接收時(shí)鐘 | PHY → MAC |
RX_DV | 接收數(shù)據(jù)有效 | PHY → MAC |
RX_ER | 接收數(shù)據(jù)錯(cuò)誤 | PHY → MAC |
RX_[7:0] | 接收數(shù)據(jù)8bit | PHY → MAC |
CRS | 載波監(jiān)測(cè) | PHY → MAC |
COL | 沖突碰撞監(jiān)測(cè) | PHY → MAC |
MDIO | 管理數(shù)據(jù) | 雙向 |
MDC | 管理數(shù)據(jù)時(shí)鐘 | MAC → PHY |
RGMII
RGMII(Reduced Gigabit Media Independant Interface),精簡(jiǎn)GMII接口。相對(duì)于GMII相比,RGMII具有如下特征:
- 發(fā)送/接收數(shù)據(jù)線由8條改為4條
- TX_ER和TX_EN復(fù)用,通過TX_CTL傳送
- RX_ER與RX_DV復(fù)用,通過RX_CTL傳送
- 1 Gbit/s速率下,時(shí)鐘頻率為125MHz
- 100 Mbit/s速率下,時(shí)鐘頻率為25MHz
- 10 Mbit/s速率下,時(shí)鐘頻率為2.5MHz
信號(hào)定義如下:
信號(hào)名稱 | 描述 | 方向 |
---|---|---|
TXC | 發(fā)送時(shí)鐘 | MAC→PHY |
TX_CTL | 發(fā)送數(shù)據(jù)控制 | MAC → PHY |
TXD[3:0] | 發(fā)送數(shù)據(jù)4bit | MAC → PHY |
RXC | 接收時(shí)鐘 | PHY → MAC |
RX_CTL | 接收數(shù)據(jù)控制 | PHY → MAC |
RXD[3:0] | 接收數(shù)據(jù)4bit | PHY → MAC |
MDIO | 管理數(shù)據(jù) | 雙向 |
MDC | 管理數(shù)據(jù)時(shí)鐘 | MAC → PHY |
雖然RGMII信號(hào)線減半,但TXC/RXC時(shí)鐘仍為125Mhz,為了達(dá)到1000Mbit的傳輸速率,TXD/RXD信號(hào)線在時(shí)鐘上升沿發(fā)送接收GMII接口中的TXD[3:0]/RXD[3:0],在時(shí)鐘下降沿發(fā)送接收TXD[7:4]/RXD[7:4],并且信號(hào)TX_CTL反應(yīng)了TX_EN和TX_ER狀態(tài),即在TXC上升沿發(fā)送TX_EN,下降沿發(fā)送TX_ER,同樣的道理試用于RX_CTL,下圖為發(fā)送接收的時(shí)序:文章來源:http://www.zghlxwxcb.cn/news/detail-835130.html
Network 之二 Ethernet(以太網(wǎng))中的 MAC、MII、PHY 詳解_以太網(wǎng)mac_ZC·Shou的博客-CSDN博客
文章來源地址http://www.zghlxwxcb.cn/news/detail-835130.html
結(jié)束
到了這里,關(guān)于以太網(wǎng)詳解(一)-MAC/PHY/MII/RMII/GMII/RGMII基本介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!