没有合适的资源?快使用搜索试试~ 我知道了~
首页linux MDIO详解.pdf
资源详情
资源评论
资源推荐

目录
1. 专业术语
2. MDIO 原理
3. Uboot 中通过工具访问 MDIO
4. Uboot 中通过源码访问 MDIO
5. Kernel 中通过源码访问 MDIO
6. 用户空间中通过工具访问 MDIO
7. 用户空间中通过源码访问 MDIO
8. Arduino 中通过源码访问 MDIO
9. 附录
专业术语
MDIO: Management Data Input/Output.
SMI: Serial Management Interface.
MIIM: Media Independent Interface Management.
MAC: Media Access Control.

PHY: Ethernet physical layer.
MII: Media Independent Interface.
RMII: Reduced media-independent interface.
GMII: Gigabit media-independent interface.
RGMII: Reduced Gigabit media-independent interface.
XGMII: 10-Gigabit media-independent interface.
SGMII: Serial Gigabit media-independent interface.
XAUI: 10 Gigabit Attachment Unit Interface.
RXAUI: Reduced Pin eXtended Attachment Unit Interface.
MDIO 原理
+---------+ +---------+ +---------+
| | | | MII | |
| CPU |<---------------->| MAC |<---------------->| PHY |
| | | | | |
+---------+ +---------+ +---------+
MII
MII 是一个标准接口,用于连接 MAC 和 PHY。MII 是 IEEE-802.3 定义
的以太网标准, MII 接口可以同时控制多个 PHY。

MII 包含两个接口:
1. 一个数据接口,用户 MAC 和 PHY 之间收发 Ethernet 数据
2. 一个管理接口,这个管理接口通常称为 MDIO,MIIM 或者 SMI。这个
接口用于 MAC 从 PHY 读取相关管理寄存器的值,或者往 PHY 管理寄
存器上写入数据。
MAC PHY
+--------------+ +--------------+
| | | |
| | TX_ER/TX_EN/TXD[3:0] | |
| -|-------------------------------->| RX+/- |
| | | |
| MII Data | RX_ER/RX_DV/RX_CLK/RXD[3:0] | |
| |<--------------------------------|- TX+/- |
| | CRS/COL/TX_CLK | |
| |<--------------------------------|- |
+--------------+ +--------------+
| | | |
| | MDC | Registers |
| -|-------------------------------->| |
| MIIM | | |
| |<------------------------------->| |
| | MDIO | |
| | | |
+--------------+ +--------------+
原始的 MMI 传输网络数据部分使用两对 4-bit 线 (4 根用于发送数据,
4 根用于接收数 据),数据只有 100 Mib/s 的吞吐量。在原始 MII 基础上,拓
展支持了衰减信号和增加 速度,当前各种新传输接口:RMII,RGMII,XGMII,
SGMII。这些数据信号接口虽然速度 等有所改变,但 MMIM 部分还是共同使
用 MIDO 接口进行管理数据的传输。

MDIO
MDIO 也被称为 MIIM,或者 SMI,它是 IEEE802.3 定义标准 MII 接口
的一部分,用于 MAC 配置 PHY。MDIO 具有两个信号线,分别如下:
1. MDC 时钟线:MDIO 的时钟信号,由 MAC 驱动 PHY
2. MDIO 数据线:双向数据线,用于在 MAC 和 PHY 之间传输配置信息
MDIO 总线只支持 MAC 作为主设备,PHY 作为从设备。MIDO 支持两
种时序,分别为 Clause 22 和 Clause 45.
MDIO clause 22
MDIO clause 22 是 MDIO 使用的一种信号时序,在这个信号时序模式,
MAC 先向 MDIO 信号线上拍 32 个周期,接着传输 16 bit 的控制位。16 个
信号位包含了两个开始位, 2 个访问控制位,5 bits 的 PHY 地址,5 bits 的
寄存器地址,以及 2 bits 的翻转位。 当进行写操作的时候,MAC 在接下来的
周期中提供地址和数据;当进行读操作的时候, PHY 会翻转 MDIO 之后向
MDIO 信号线上发送数据。
MDIO Read
MDIO Write

MDIO Clause 45
MDIO 也支持 Clause 45 时序,其是 Clause 22 的拓展协议。与 Clause
22 不同的是, 16 位中的起始位:Clause 22 是 00, 而 Clause 45 是 01.
详细 MDIO Clause 45 和 Clause 22 时序,请查阅:
了解与 MDIO/MDC 接口相关的 22 号、45 号条款
MDIO Clause 45 And Clause 22
Uboot 中访问 MDIO (SMI/MIIM)
项目开发中,经常要在 uboot 阶段通过 MDIO 总线去配置 PHY 或者
SWITCH。开发者可 以参照本节内容,通过源码或者工具去访问 MDIO 总线。
工具访问 MDIO
uboot 提供了 mii 工具去操作 MDIO 总线,用法如下:
mii - MII utility commands
Usage:
mii device - list available devices
mii device <devname> - set current device
mii info <addr> - display MII PHY info
mii read <addr> <reg> - read MII PHY <addr> register <reg>
剩余27页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0