打印
[研电赛技术支持]

GD32FXXX ENET初始化失败

[复制链接]
1875|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhj126|  楼主 | 2023-11-13 19:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.我使用的GD32F427,  参考GD32F4xx_Firmware_Library_V3.1.0\Examples\ENET\Telnet案例进行网口调试 系统时钟和AHB时钟均为200MHz。初始化ENET过程中,调用enet_deinit()后,ENET_DMA_BCTL & ENET_DMA_BCTL_SWR一直不能清0。
2.把enet_deinit()中的rcu_periph_reset_disable(RCU_ENETRST)处理注释后,ENET_DMA_BCTL & ENET_DMA_BCTL_SWR成功清0,但继续初始化PHY,发现ENET_MAC_PHY_CTL又写不了值。
3.在enet_software_reset()重新调用rcu_periph_reset_disable(RCU_ENETRST),不管ENET_DMA_BCTL & ENET_DMA_BCTL_SWR为置位态,继续初始化PHY,ENET_MAC_PHY_CTL能写入值,但读写都没反应,PHY侧测不到MDC时钟。
4.尝试把时钟降低到100MHz, 没效果,PHY侧还是测不到MDC时钟。

刚开始入门嵌入式,折腾好几天了,怀疑人生   有遇到过相同问题的同学没,咋解决的? 求助各大佬指点指点小弟。

使用特权

评论回复
沙发
yangxiaor520| | 2023-11-14 08:42 | 只看该作者
先用示波器看一下MDIO的信号吧

使用特权

评论回复
板凳
515192147| | 2023-11-14 08:59 | 只看该作者
当年 为了把 STM407的网络程序 移到 GD,前前后后 搞了1年多

使用特权

评论回复
地板
wuhj126|  楼主 | 2023-11-14 10:38 | 只看该作者
yangxiaor520 发表于 2023-11-14 08:42
先用示波器看一下MDIO的信号吧

现在初始化ENET MAC和配置PHY调试阶段, ENET_MAC_PHY_CTL 寄存器能写入值了,但读写PHY都没反应,PHY侧测不到MDC时钟,MDC都没,MDIO估计悬,我还是去测一下。

使用特权

评论回复
5
wuhj126|  楼主 | 2023-11-14 10:41 | 只看该作者
515192147 发表于 2023-11-14 08:59
当年 为了把 STM407的网络程序 移到 GD,前前后后 搞了1年多

大哥   麻烦说下初始化ENET MAC和配置PHY调试阶段要注意啥呢,都有哪些坑? 这国产货真难玩,提供的样例程序都要挂死的。

使用特权

评论回复
6
wuhj126|  楼主 | 2023-11-15 10:21 | 只看该作者
本帖最后由 wuhj126 于 2023-11-15 10:22 编辑

使用的__SYSTEM_CLOCK_200M_PLL_IRC16M内部时钟,不知道和这个有关没。请问下调通的兄弟,ENET必须要使用__SYSTEM_CLOCK_200M_PLL_8M_HXTAL外部时钟吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝