gd32a490能否单独使用enet外设中SMI(MDC/MDIO)访问外接PHY芯片

[复制链接]
 楼主| hudou97 发表于 2025-7-5 15:02 | 显示全部楼层 |阅读模式
本帖最后由 hudou97 于 2025-7-6 21:35 编辑

我在使用gd32a490过程中没有使用enet外设的MAC功能,只想使用enet外设中的SMI(MDC/MDIO)去访问PHY芯片。1.根据用户手册及官方提供的例程实现该功能,用logic分析仪测量MDC/MDIO pin状态发现无任何波形产生,且MDIO初始状态不对
2.我怀疑不能单独使用SMI
d1ng2x 发表于 2025-7-19 22:28 | 显示全部楼层
在使用GD32A490的ENET外设时,SMI(MDC/MDIO)接口理论上可以单独使用
liu96jp 发表于 2025-7-20 07:29 | 显示全部楼层
GD32A490的ENET外设支持独立的SMI功能,用于配置和管理外部PHY芯片。根据用户手册和官方例程,SMI接口的初始化与MAC功能无关,可单独配置使用。
b5z1giu 发表于 2025-7-20 09:41 | 显示全部楼层
确保MDC(管理时钟)和MDIO(管理数据)引脚正确连接到PHY芯片的对应引脚,且上拉电阻配置正确(通常MDIO需上拉至3.3V,阻值4.7kΩ~10kΩ)。
suw12q 发表于 2025-7-20 12:10 | 显示全部楼层
SMI接口的时钟(MDC)由ENET外设的时钟分频产生,需确保ENET外设时钟已使能且分频系数配置正确(例如,若ENET时钟为50MHz,分频系数设为50,则MDC频率为1MHz)。
g0d5xs 发表于 2025-7-20 14:15 | 显示全部楼层
需先初始化ENET外设时钟,再配置SMI接口参数(如预分频系数),最后使能SMI接口。
p0gon9y 发表于 2025-7-20 17:55 | 显示全部楼层
若通过逻辑分析仪测量MDC/MDIO引脚无波形,且MDIO初始状态不对,可能原因包括:ENET外设未正确初始化检查是否调用了rcu_periph_clock_enable(RCU_ENET)使能ENET外设时钟。确认ENET外设复位操作已执行(如调用enet_deinit())。
y1n9an 发表于 2025-7-20 19:47 | 显示全部楼层
SMI接口未使能,确保在初始化代码中调用了enet_smi_enable()函数使能SMI接口。
q1ngt12 发表于 2025-7-21 08:33 | 显示全部楼层
MDC频率需在合理范围内(通常100kHz~2.5MHz),若分频系数过大或过小可能导致时钟无效
cen9ce 发表于 2025-7-21 10:48 | 显示全部楼层
检查PHY芯片的电源、地是否正常,复位引脚是否有效。尝试更换PHY芯片或测试板卡,排除硬件故障。
q1d0mnx 发表于 2025-7-21 14:06 | 显示全部楼层
引脚复用冲突,确认MDC/MDIO引脚未被其他外设复用(如GPIO、SPI等)。检查引脚复用配置(如通过gpio_af_set()函数设置复用功能为ENET)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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

1

主题

1

帖子

0

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