打印
[AT32F407]

AT32F407/437网口初始化卡在EMAC DMA软件复位问题

[复制链接]
745|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jf101|  楼主 | 2023-10-10 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AT32F407/437 在使用 EMAC 网口在初始化时,调用 emac_dma_software_reset_set();函数之后,程序会卡在 while(emac_dma_software_reset_get() == SET),应该怎样检查处理?

1. 程序会卡在 while(emac_dma_software_reset_get() == SET)的原因
当软件调用 emac_dma_software_reset_set();函数之后,控制器会复位所有的逻辑电路,在复位逻辑电
路时,需要有时钟提供,如果此时没有 PHY 提供的时钟,则会卡在此处。
2. 检查处理方法
对于 MII 模式,如果 TXCLK 和 RXCLK 没有时钟,则会卡住。
检查 TXCLK 和 RXCLK 是否正常:
 先检查 TXCLK 和 RXCLK 的连线是否正确。
 同时检查给 Ethernet PHY 提供的时钟是否正常,因为 TXCLK 和 RXCLK 是 Ehternet PHY 给 EMAC
的,如果给 Ethernet PHY 的时钟异常,则 TXCLK 和 RXCLK 也会异常。
对于 RMII 模式,如果 REF_CLK 没有时钟,则会卡住。
检查 REF_CLK 时钟是否异常:
 先检查 REF_CLK 接线是否正确。
 检查 REF_CLK 线上是否有时钟,同时检查给 Ethernet PHY 的时钟是否异常。

使用特权

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

本版积分规则

231

主题

1538

帖子

2

粉丝