[APM32F4] MAC外设里面的MDC和MDIO

[复制链接]
4|0
永恒的一瞥 发表于 2026-4-27 01:54 | 显示全部楼层 |阅读模式

MAC外设里面的MDC和MDIO

MDC和MDIO是MAC外设中用于管理PHY芯片的串行接口信号线‌,它们共同构成IEEE 802.3标准定义的SMI(Serial Management Interface),实现MAC对PHY的配置与状态监控。

  • MDC(Management Data Clock,管理数据时钟)是由MAC侧产生的时钟信号,为MDIO操作提供同步基准。它是一个非周期性信号,最小周期为400ns(对应最高频率2.5MHz),在上升沿触发数据采样。MDC由MAC主动输出,PHY作为从设备接收该时钟。
  • MDIO(Management Data Input/Output,管理数据输入/输出)是一根双向数据线,用于在MAC(STA)和PHY(MMD)之间传输控制信息和状态数据。通过MDIO,MAC可以读写PHY内部寄存器,实现链路状态查询、速率协商、双工模式设置等管理功能。

该接口采用主从架构,支持半双工通信,一个MAC可通过MDIO总线管理最多32个PHY设备。数据帧格式主要分为两种:

  • Clause 22:适用于百兆/千兆以太网,支持每个PHY最多32个寄存器。
  • Clause 45:增强型协议,用于千兆以上网络,支持访问最多65536个寄存器,并可寻址PHY内部的子模块。

在硬件设计中,MDIO通常需外接上拉电阻(如1.5kΩ)以保证信号完整性,而MDC一般无需上下拉。两者对PCB布局要求较低,无严格等长需求,但应避免长距离走线以减少干扰。

我们以DM9162以太网PHY芯片为例,其PHY Address其有4bit,分别对应RXD[0:3]/PHYAD[0:3]引脚,其在上电复位后锁定Phy Address地址值。

PHY芯片的MD定义的串行标准感觉有点类似I2C的两线制通讯,只不过其已经由MAC外设实现,我们就像读取寄存器一样回读即可。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

45

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0