新聞中心

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

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

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

        1.general

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

        本文引用地址:http://www.104case.com/article/201611/322326.htm

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

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

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

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

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

        1. 為數(shù)據(jù)收發(fā)分配內(nèi)存;
        2. 初始化MAC寄存器;
        3. 初始化PHY寄存器(通過MIIM);
        4. 啟動收發(fā);

        2.MII

        MII接口是MAC與PHY連接的標(biāo)準(zhǔn)接口.因為各廠家采用了同樣的接口,用戶可以根據(jù)所需的性能、價格,采用不同型號,甚至不同公司的phy芯片.

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

        下表列出了MII總線中主要的一些引腳

        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只有兩個線, 時鐘信號MDC與數(shù)據(jù)線MDIO.讀寫命令均由Mac發(fā)起, PHY不能通過MIIM主動向Mac發(fā)送信息.由于MIIM只能有Mac發(fā)起, 我們可以操作的也就只有MAC上的寄存器.

        3.DMA

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

        這樣CPU要做的事情就簡單了.只需要告訴DMA起始地址與長度, 剩下的事情就會自動完成.

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

        4.MAC

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

        5.PHY

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

        PHY芯片有一組寄存器用戶保存配置,并更新狀態(tài).CPU不能直接訪問這組寄存器,只能通過MAC上的MIIM寄存器組實現(xiàn)間接訪問.同時PHY芯片負(fù)責(zé)完成MII總線的數(shù)據(jù)與Media Interface上數(shù)據(jù)的轉(zhuǎn)發(fā).該轉(zhuǎn)發(fā)根據(jù)寄存器配置自動完成,不需要外接干預(yù).



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

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 南溪县| 家居| 东源县| 化德县| 株洲县| 民权县| 常德市| 玉林市| 凯里市| 汝阳县| 淮阳县| 武平县| 中阳县| 益阳市| 瑞安市| 石楼县| 吉隆县| 繁峙县| 德令哈市| 泰和县| 满城县| 莆田市| 西昌市| 兴隆县| 辽中县| 华安县| 淮滨县| 札达县| 临潭县| 弥渡县| 莎车县| 中西区| 双牌县| 佳木斯市| 龙口市| 沾化县| 磐石市| 岐山县| 东莞市| 海城市| 弥勒县|