0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Marvell交換芯片介紹之MII、MDIO

jf_EksNQtU6 ? 來源:談思實驗室 ? 2023-01-26 16:02 ? 次閱讀

芯片作為PHY和SERDES使用

MII 是一個標準接口,用于連接 MAC 和 PHY。MII 是 IEEE-802.3 定義的以太網標準, MII 接口可以同時控制多個 PHY。

10a663b4-8bed-11ed-bfe3-dac502259ad0.png

MII包含兩個接口:

1.一個數(shù)據(jù)接口,用戶 MAC 和 PHY 之間收發(fā) Ethernet 數(shù)據(jù)
2.一個管理接口,這個管理接口通常稱為 MDIO,MIIM 或者 SMI。
  這個接口用于 MAC 從 PHY 讀取相關管理寄存器的值,或者往 PHY 管理寄存器上寫入數(shù)據(jù)。

10b1a846-8bed-11ed-bfe3-dac502259ad0.png

MDIO

MDIO 也被稱為 MIIM,或者SMI,它是 IEEE802.3 定義標準 MII 接口的一部分,用于 MAC 配置 PHY。MDIO 具有兩個信號線,分別如下:

1. MDC 時鐘線:MDIO 的時鐘信號,由 MAC 驅動 PHY

2. MDIO 數(shù)據(jù)線:雙向數(shù)據(jù)線,用于在 MAC 和 PHY 之間傳輸配置信息

MDIO 總線只支持 MAC 作為主設備,PHY 作為從設備。MIDO 支持兩種時序,分別為Clause 22Clause 45.

MDIO接口最初是由IEEE RFC802.3中的22號條款定義的,在最初的定義中,一個單獨的MDIO接口可以訪問32個不同的PHY設備中的32個寄存器,這些寄存器提供狀態(tài)和控制信息,例如:連接狀態(tài)、傳輸速度能力、當前選擇的傳速、低壓消耗時的下電情況、全雙工還是半雙工、自動協(xié)商、錯誤提示以及反饋信息等等。

為了滿足10G以太網設備的普及發(fā)展,在IEEE 802.3ae 的45號條款中為MDIO接口提供了額外的規(guī)范:

1)能夠通過32個端口訪問32個不同設備的65536個寄存器;

2)為訪問10G以太網提供額外的OP碼和ST碼,從而可以直接訪問寄存器地址;

3)端到端的報錯信號;

4)環(huán)回模式控制;

5)低壓電氣標準。

22號條款

22號條款的MDIO通信的幀格式定義如下:

10cbed1e-8bed-11ed-bfe3-dac502259ad0.png

118e8e64-8bed-11ed-bfe3-dac502259ad0.png

45號條款

為了彌補22號的條款中定義的缺陷,45號條款中增添了對低壓設備的支持,最低可到1.2V,同時擴充了幀格式,能夠訪問更多的設備和寄存器。

45號MDIO通信幀格式如下:

11bcad4e-8bed-11ed-bfe3-dac502259ad0.png

11e28ee2-8bed-11ed-bfe3-dac502259ad0.png

第45號條款的主要變化是如何訪問寄存器。在第22中,一個單獨的幀指定要讀或寫的地址和數(shù)據(jù),同時完成了這些工作。45號中改變這種范式,第一個地址幀發(fā)送到指定的MMD和寄存器,然后發(fā)送第二幀來執(zhí)行讀或寫。

工作模式

該芯片有兩種尋址模式:單芯片尋址和多芯片尋址。

多芯片尋址
對于多芯片尋址,需要給芯片設置一個非零的SMI地址(ADDR[4:0]的反碼)。在多芯片尋址模式下,僅有兩個寄存器(0x00:SMI Command Register 0x01:SMI Data Register)能夠使用,內部各PORT的寄存器均由這兩個寄存器間接訪問。

通過向SMI Command Register的[9:5]寫入內部SMI設備地址,[4:0]寫入內部SMI寄存器地址來訪問各個Port的內部寄存器,[11:10]決定決前是寫入還是讀出操作。

11f0eaf0-8bed-11ed-bfe3-dac502259ad0.png

通過向SMI Data Register的[15:0]位寫入或讀取SMI Command Register設定的寄存器內容。

1210b196-8bed-11ed-bfe3-dac502259ad0.png

單芯片尋址
對于單芯片尋址,其SMI地址為0x00(針對整個芯片),即ADDR[4:0]=0x1F。

123ec284-8bed-11ed-bfe3-dac502259ad0.png

1256b4e8-8bed-11ed-bfe3-dac502259ad0.png

在單芯片尋址模式下,每個Port都有各自的SMI地址(針對內部每個Port),Port0-Port9對應的SMI地址分別為0x0-0x9(直接訪問),port10對應0xA。

若Port0、1、2等接有外部PHY,則必須使用以下SMI地址,0x00對應Port0,0x01對應Port1,這樣PPU才能自動的輪詢各個PHY獲取各自的連接狀況,速度,雙工情況,流控狀態(tài)等信息,這些外部PHY需要使用Global2 offset 0x18、0x19進行訪問。對于Port3a、Port4的內部PHY地址映射為0x03、0x04;Port9、Port10的內部SERDES映射為0x9、0xa,同樣的,也是需要使用Global2 offset 0x18、0x19進行訪問。

Global2 寄存器的 Offset24,25 寄存器
前文提到,兩個非常重要的寄存器,即Global2 offset 0x18、0x19寄存器,在單芯片尋址模式下PHY和SERDES寄存器的訪問都必須通過這兩個寄存器間接訪問。

Global2 offset 0x18 (SMI PHY Command Register)寄存器

126e527e-8bed-11ed-bfe3-dac502259ad0.png

bit[12]指定了幀協(xié)議是22號時序還是45號時序。22號協(xié)議下,與多芯片存儲能夠訪問的Command Register寄存器一樣,[9:5]寫入SMI設備地址,[4:0]寫入SMI寄存器地址來訪問各個Port的內部寄存器,[11:10]決定當前是寫入還是讀出操作。45號協(xié)議,[9:5]指定port,[4:0]指定設備類別。

Global2 offset 0x19 (SMI PHY Data Register)寄存器

127d52ba-8bed-11ed-bfe3-dac502259ad0.png

與SMI Data Register相同,通過[15:0]位寫入或讀取SMI Command Register設定的寄存器內容。

在45號協(xié)議下,第一個地址幀發(fā)送到指定的MMD和寄存器,我們要把PHY Command Reg中的[11:10]置為0x00=write Address register,即在第一個幀中的最后16位數(shù)據(jù)中,指定要操作的寄存器的地址。隨后在第二個數(shù)據(jù)幀中,要把PHY Command Reg中的[11:10]置為0x01=write data register,即第二個幀中的最后16位寫入的是數(shù)據(jù)。

Uboot 中訪問 MDIO (SMI/MIIM)

項目開發(fā)中,經常要在 uboot 階段通過 MDIO 總線去配置 PHY 或者 SWITCH。

129fc0b6-8bed-11ed-bfe3-dac502259ad0.png

更多指令

示例:

6390xconfig

**配置端口10**
//0xa:P10
//0x34a:
//bit[3:0]-0xa-接口配置模式-SGMII
//bit[6]-0x1-EEE(EnergyEfficientEthernet)Enabled
//bit[9:8]-0x3=10Gbor2500Mbps
miiwrite0xa00x34a

**配置端口5**
//p5p177p355
//addr:0x1c
//regi:0x19SMIDataregister
//regi:0x18SMICommandregister
//在45號條款中
//第一個地址幀發(fā)送到指定的MMD和寄存器,然后發(fā)送第二幀來執(zhí)行讀或寫。

miiwrite0x1c0x190x2000//將數(shù)據(jù)0x2000寫到PHYdata寄存器0x19中
miiwrite0x1c0x180x82a4//將數(shù)據(jù)0x82a4寫到PHYCommand寄存器中
//0x82a4
//bit[15]:0x1——此位在首次操作SMI時,要置為1,并且在操作SMI完畢之后會自動清零
//bit[14:13]:0x0——內部訪問-用于訪問包含在這個設備中的內部PHYs和/或serde。
//bit[12]:0x0——SMIMODE——GenerateIEEE802.3Clause45SMIframes
//bit[11:10]:0x0——WriteAddressRegister
//bit[9:5]:寫入SMI設備地址-0x15——Port10Lane1=Port5&itsregistersareaccessedatSMIaddress0x15
//bit[4:0]:deviceclass(clause45)
//第一個地址幀的后16位為Addr,即dataregister中的數(shù)據(jù)0x2000

miiwrite0x1c0x190x8140//將數(shù)據(jù)0x8140寫到PHYdata寄存器0x19中
miiwrite0x1c0x180x86a4//將數(shù)據(jù)0x86a4寫到PHYCommand寄存器中
////bit[11:10]:0x01——WritedataRegister
//第二個幀,后16位為要寫入的數(shù)據(jù),即dataregister中的數(shù)據(jù)0x8140
編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5288

    瀏覽量

    169663
  • Marvell
    +關注

    關注

    10

    文章

    352

    瀏覽量

    123170
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1083

    瀏覽量

    51138
  • 交換芯片
    +關注

    關注

    0

    文章

    80

    瀏覽量

    10942

原文標題:一文讀懂Marvell交換芯片

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    以太網交換機芯片概述

    ://www.52solution.com/)上的行業(yè)新聞、觀點都比較犀利、透徹, 除了做級聯(lián)外,MII口可以和任何集成MAC的芯片實現(xiàn)互聯(lián),因此可以利用集成了MAC的微處理實現(xiàn)對交換機的配置管理。市場見到的很多家用路由器實際上
    發(fā)表于 11-06 23:12

    Marvell交換芯片88E6097的電路設計原理

    各位大俠們,你們大家有誰用過Marvell交換芯片88E6097來做過交換機呢?求指導,求電路,求資料,謝謝了,感激不盡呀!!
    發(fā)表于 01-31 11:26

    求助,用過marvell88e6097交換芯片的大神

    最近在弄marvell交換芯片,使用MII 連接NXP LPC 4357,不清楚需要設置交換芯片
    發(fā)表于 12-22 13:34

    am3352的網口配置成mii模式網絡ping不通

    am3352使用port1連接marvell6095,使用mii模式。管腳配置如下: static struct pinmux_config mii1_pin_mux[] = [ ["
    發(fā)表于 05-15 09:06

    具有單MII/RMII/Turbo MII支持LAN9303的以太網交換

    EVB9303,評估板EVB,利用LAN9303提供功能齊全的三端口單MII / RMII / Turbo MII以太網交換機。 EVB9303通過板載RJ45連接器提供兩個完全集成的MAC
    發(fā)表于 05-18 09:30

    具有雙RMII或單MII / RMII / Turbo MII接口的全功能三端口以太網交換

    EVB-LAN9353,評估板,利用LAN9353提供具有雙RMII或單MII / RMII / Turbo MII接口的全功能三端口以太網交換機。 EVB-LAN9353通過板載RJ45連接器提供
    發(fā)表于 08-17 09:39

    SDIO wifi Marvell8801是什么

    驅動系列文章分為幾篇介紹:SDIO wifi Marvell8801/Marvell88w8801 介紹(一) ---- 芯片
    發(fā)表于 07-28 07:33

    自己實現(xiàn)SDIO wifi Marvell8801/Marvell88w8801驅動 介紹(一) ---- 芯片介紹 精選資料推薦

    驅動系列文章分為幾篇介紹:SDIO wifi Marvell8801/Marvell88w8801 介紹(一) ---- 芯片
    發(fā)表于 07-29 09:27

    最近Marvell將 推出支持OpenFlow的交換

    美滿電子科技(Marvell) 日前宣布推出支持OpenFlow、全功能的交換解決方案,該解決方案采用了Marvell屢獲殊榮的網絡控制堆棧和Prestera?系列包處理器。
    發(fā)表于 06-23 08:49 ?998次閱讀

    MDIO接口的基礎知識詳解

    MDIO接口,是Management Data Input/Output的縮寫。MDIO接口包含在IEEE802.3協(xié)議中,是專用于以太PHY的管理的串行總線接口。
    發(fā)表于 09-29 14:55 ?4.7w次閱讀
    <b class='flag-5'>MDIO</b>接口的基礎知識詳解

    STM32F103驅動SDIO wifi Marvell8801/Marvell88w8801 介紹(十) ---- 移植TCP/IP協(xié)議棧LWIP

    驅動系列文章分為幾篇介紹:SDIO wifi Marvell8801/Marvell88w8801 介紹(一) ---- 芯片
    發(fā)表于 11-24 14:51 ?21次下載
    STM32F103驅動SDIO wifi <b class='flag-5'>Marvell</b>8801/<b class='flag-5'>Marvell</b>88w8801 <b class='flag-5'>介紹</b>(十) ---- 移植TCP/IP協(xié)議棧LWIP

    交換芯片只適用在交換機上的?

    成都朗銳芯科技推出工業(yè)級全國產以太網交換芯片軟硬件方案,替代博通(Broadcom)、瑞昱(Realtek)、Marvell、Vitesse的工業(yè)級國產以太網交換
    發(fā)表于 11-09 15:24 ?860次閱讀
    <b class='flag-5'>交換</b><b class='flag-5'>芯片</b>只適用在<b class='flag-5'>交換</b>機上的?

    以太網PHY芯片MII接口和MDIO接口介紹

    本文主要介紹以太網的MAC(Media Access Control,即媒體訪問控制子層協(xié)議)和PHY(物理層)之間的MII(Media Independent Interface ,媒體獨立接口),以及MII的各種衍生版本——
    的頭像 發(fā)表于 07-26 11:48 ?9970次閱讀
    以太網PHY<b class='flag-5'>芯片</b>的<b class='flag-5'>MII</b>接口和<b class='flag-5'>MDIO</b>接口<b class='flag-5'>介紹</b>

    Marvell交換芯片是什么

    Marvell交換芯片是一種高性能的網絡通信芯片,廣泛應用于各種網絡設備中,以實現(xiàn)高效、穩(wěn)定的數(shù)據(jù)傳輸和交換。作為業(yè)界領先的網絡解決方案提供
    的頭像 發(fā)表于 03-16 17:16 ?2058次閱讀

    簡單認識Marvell交換芯片

    Marvell Technology Group Ltd. 是一家全球領先的半導體公司,專注于提供高性能、高集成度的存儲、網絡和多媒體解決方案。在網絡領域,Marvell 交換芯片以其
    的頭像 發(fā)表于 03-21 16:44 ?987次閱讀