<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 網(wǎng)口掃盲二:Mac與Phy組成原理的簡(jiǎn)單分析

網(wǎng)口掃盲二:Mac與Phy組成原理的簡(jiǎn)單分析

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏

1.general

下圖是網(wǎng)口結構簡(jiǎn)圖.網(wǎng)口由CPU、MAC和PHY三部分組成.DMA控制器通常屬于CPU的一部分,用虛線(xiàn)放在這里是為了表示DMA控制器可能會(huì )參與到網(wǎng)口數據傳輸中.

本文引用地址:http://dyxdggzs.com/article/201611/322326.htm

對于上述的三部分,并不一定都是獨立的芯片,根據組合形式,可分為下列幾種類(lèi)型:

  1. CPU集成MAC與PHY;
  2. CPU集成MAC,PHY采用獨立芯片;
  3. CPU不集成MAC與PHY,MAC與PHY采用集成芯片;

本例中選用方案二做進(jìn)一步說(shuō)明,因為CPU總線(xiàn)接口很常見(jiàn),通常都會(huì )做成可以像訪(fǎng)問(wèn)內存一樣去訪(fǎng)問(wèn),沒(méi)必要拿出來(lái)說(shuō),而Mac與PHY之間的MII接口則需要多做些說(shuō)明.

下圖是采用方案二的網(wǎng)口結構圖.虛框表示CPU,MAC集成在CPU中.PHY芯片通過(guò)MII接口與CPU上的Mac連接.

在軟件上對網(wǎng)口的操作通常分為下面幾步:

  1. 為數據收發(fā)分配內存;
  2. 初始化MAC寄存器;
  3. 初始化PHY寄存器(通過(guò)MIIM);
  4. 啟動(dòng)收發(fā);

2.MII

MII接口是MAC與PHY連接的標準接口.因為各廠(chǎng)家采用了同樣的接口,用戶(hù)可以根據所需的性能、價(jià)格,采用不同型號,甚至不同公司的phy芯片.

需要發(fā)送的數據通過(guò)MII接口中的收發(fā)兩組總線(xiàn)實(shí)現.而對PHY芯片寄存器的配置信息,則通過(guò)MII總的一組串口總線(xiàn)實(shí)現,即MIIM(MII Management).

下表列出了MII總線(xiàn)中主要的一些引腳

PIN Name

Direction

Description

TXD[0:3]

Mac to Phy

Transmit Data

TXEN

Mac to Phy

Transmit Enable

TXCLK

Mac to Phy

Transmit Clock

RXD[0:3]

Phy to Mac

Receive Data

RXEN

Phy to Mac

Receive Enable

RXCLK

Phy to Mac

Receive Clock

MDC

Mac to Phy

Management Data Clock

MDIO

Bidirection

Management Data I/O

MIIM只有兩個(gè)線(xiàn), 時(shí)鐘信號MDC與數據線(xiàn)MDIO.讀寫(xiě)命令均由Mac發(fā)起, PHY不能通過(guò)MIIM主動(dòng)向Mac發(fā)送信息.由于MIIM只能有Mac發(fā)起, 我們可以操作的也就只有MAC上的寄存器.

3.DMA

收發(fā)數據總是間費時(shí)費力的事,尤其對于網(wǎng)絡(luò )設備來(lái)說(shuō)更是如此.CPU做這些事情顯然不合適.既然是數據搬移, 最簡(jiǎn)單的辦法當然是讓DMA來(lái)做.畢竟專(zhuān)業(yè)的才是最好的.

這樣CPU要做的事情就簡(jiǎn)單了.只需要告訴DMA起始地址與長(cháng)度, 剩下的事情就會(huì )自動(dòng)完成.

通常在MAC中會(huì )有一組寄存器專(zhuān)門(mén)用戶(hù)記錄數據地址, tbase與rbase, cpu按MAC要的格式把數據放好后, 啟動(dòng)MAC的數據發(fā)送就可以了.啟動(dòng)過(guò)程常會(huì )用到寄存器tstate.

4.MAC

CPU上有兩組寄存器用與MAC.一組用戶(hù)數據的收發(fā),對應上面的DMA;一組用戶(hù)MIIM,用戶(hù)對PHY進(jìn)行配置.兩組寄存器由于都在CPU上,配置方式與其他CPU上寄存器一樣,直接讀寫(xiě)即可.數據的轉發(fā)通過(guò)DMA完成.

5.PHY

該芯片是一個(gè)10M/100M Ethernet網(wǎng)口芯片

PHY芯片有一組寄存器用戶(hù)保存配置,并更新?tīng)顟B(tài).CPU不能直接訪(fǎng)問(wèn)這組寄存器,只能通過(guò)MAC上的MIIM寄存器組實(shí)現間接訪(fǎng)問(wèn).同時(shí)PHY芯片負責完成MII總線(xiàn)的數據與Media Interface上數據的轉發(fā).該轉發(fā)根據寄存器配置自動(dòng)完成,不需要外接干預.



關(guān)鍵詞: 網(wǎng)口掃盲MacPh

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>