1.PHY芯片簡(jiǎn)介
PHY芯片在OSI協(xié)議棧中屬于最底層的物理層,與其它層的關(guān)系圖如下:

Marvell 88E1145PHY芯片的初始化配置
[千兆以太網(wǎng)TCP協(xié)議的FPGA實(shí)現]
(https://blog.csdn.net/lzx6901152/article/details/70281070)
Ethernet的接口實(shí)質(zhì)是MAC通過(guò)MII總線(xiàn)控制PHY的過(guò)程。
根據組合形式,可分為下列幾種類(lèi)型:
1.CPU集成MAC與PHY;
2.CPU集成MAC,PHY采用獨立芯片;
3.CPU不集成MAC與PHY,MAC與PHY采用集成芯片;
下圖是采用方案二的網(wǎng)口結構圖.虛框表示CPU,MAC集成在CPU中.PHY芯片通過(guò)MII接口與CPU上的Mac連接.

transmit data -
TXD[3:0] 被發(fā)送數據transmit strobe -
TX_EN發(fā)送使能transmit clock -
TX_CLK///10/100M信號時(shí)鐘transmit error -
TX_ER/TXD4發(fā)送器錯誤receive data -
RXD[3:0]///接收數據receive strobe -
RX_DV///接收數據有效指示receive clock -
RX_CLK///接收信號時(shí)鐘receive error -
RX_ER/RXD4///接收數據出錯指示collision indication -
COL沖突檢測carrier sense -
CRS載波檢測management data clock -
MDC管理配置接口 management data input/output -
MDIO 管理配置接口數據IO
MII以4bit,即半字節方式雙向傳送數據,時(shí)鐘速率25MHz,其工作速率可達100Mb/s。MII管理接口是個(gè)雙信號接口,一個(gè)是時(shí)鐘信號,另一個(gè)是數據信號。通過(guò)管理接口,上層能監視和控制PHY。MII界面傳遞了網(wǎng)絡(luò )的所有數據和數據的控制,而MAC對PHY的工作狀態(tài)的確定和對PHY的控制則是使用SMI(Serial Management Interface)界面通過(guò)讀寫(xiě)PHY的寄存器來(lái)完成的。PHY里面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態(tài)反映到寄存器里面,MAC通過(guò)SMI總線(xiàn)不斷的讀取PHY的狀態(tài)寄存器以得知目前PHY的狀態(tài),例如連接速度,雙工能力等。當然也可以通過(guò)SMI設置PHY的寄存器達到控制的目的,例如流控的打開(kāi)關(guān)閉,自協(xié)商模式還是強制模式等。不論是物理連接的MII總線(xiàn)和SMI總線(xiàn)還是PHY的狀態(tài)寄存器和控制寄存器都是有IEEE的規范的,因此不同公司的MAC和PHY一樣可以協(xié)調工作。當然為了配合不同公司的PHY的自己特有的一些功能,驅動(dòng)需要做相應的修改。
RMII(Reduced Media Independant Interface)簡(jiǎn)化媒體獨立接口,是標準的以太網(wǎng)接口之一,比MII有更少的I/O傳輸。
關(guān)于RMII口/MII/GMILL的基本區別:
RMII口是用2根線(xiàn)來(lái)傳輸數據
MII口是用4根線(xiàn)來(lái)傳輸數據
GMII是用8根線(xiàn)來(lái)傳輸數據
MII/RMII只是一種接口,對于10M線(xiàn)速,MII的時(shí)鐘是2.5M,RMII則是5M;對于100M線(xiàn)速,MII的時(shí)鐘是25M,RMII則是50M。
MII/RMII 用于傳輸以太網(wǎng)包,在MII/RMII接口是4/2bit的,在以太網(wǎng)的PHY里需要做串并轉換、編解碼等才能在雙絞線(xiàn)和光纖上進(jìn)行傳輸,其幀格式遵循IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。
MII支持10Mbps和100Mbps的操作,一個(gè)接口由14根線(xiàn)組成,它的支持還是比較靈活的,但是有一個(gè)缺點(diǎn)是因為它一個(gè)端口用的信號線(xiàn)太多,如果一個(gè)8端口的交換機要用到112根線(xiàn),16端口就要用到224根線(xiàn),到32端口的話(huà)就要用到448根線(xiàn),一般按照這個(gè)接口做交換機,是不太現實(shí)的,所以現代的交換機的制作都會(huì )用到其它的一些從MII簡(jiǎn)化出來(lái)的標準,比如RMII,SMII,GMII等.
RMII是簡(jiǎn)化的MII接口,在數據的收發(fā)上它比MII接口少了一倍的信號線(xiàn),所以它一般要求是50MHz的總線(xiàn)時(shí)鐘.RMII一般用在多端口的交換機,它不是每個(gè)端口安排收,發(fā)兩個(gè)時(shí)鐘,而是所有的數據端口公用一個(gè)時(shí)鐘用于所有端口的收發(fā),這里就節省了不少的端口數目.RMII的一個(gè)端口要求7個(gè)數據線(xiàn),比MII少了一倍,所以交換機能夠接入多一倍數據的端口.和MII一樣,RMII支持10Mbps和100Mbps的總線(xiàn)接口速度.
SMII是由思科提出的一種媒體接口,它有比RMII更少的信號線(xiàn)數目,S表示串行的意思.因為它只用一根信號線(xiàn)傳送發(fā)送數據,一根信號線(xiàn)傳輸接受數據,所以為了滿(mǎn)足100Mbps的總線(xiàn)接口速度的需求,它的時(shí)鐘頻率就達到了125MHz,為什么用125MHz,是因為數據線(xiàn)里面會(huì )傳送一些控制信息.SMII一個(gè)端口僅用4根信號線(xiàn)完成100Mbps的傳輸,比起RMII差不多又少了一倍的信號線(xiàn).SMII在工業(yè)界的支持力度是很高的.同理,所有端口的數據收發(fā)都公用同一個(gè)外部的125MHz時(shí)鐘.
GMII是千兆網(wǎng)的MII接口,這個(gè)也有相應的RGMII接口,表示簡(jiǎn)化了的GMII接口
以太網(wǎng)幀的格式為:
前導符+開(kāi)始位+目的mac地址+源mac地址+類(lèi)型/長(cháng)度+數據+padding(optional)+32bitCRC
如果有vlan,則要在類(lèi)型/長(cháng)度后面加上2個(gè)字節的vlan tag,其中12bit來(lái)表示vlan id,另外4bit表示數據的優(yōu)先級!
聯(lián)系客服