调试lan8720a遇到的奇葩问题,自动协商永远10M。 您所在的位置:网站首页 网卡总是自动变成10m 调试lan8720a遇到的奇葩问题,自动协商永远10M。

调试lan8720a遇到的奇葩问题,自动协商永远10M。

2024-07-07 16:58| 来源: 网络整理| 查看: 265

这里记录一下调试stm32f407+lan8720a遇到的奇葩问题,如果有朋友遇到了相同的问题,并且解决了的话欢迎评论或私信交流。 一、电路图 在这里插入图片描述 二、问题说明 lan8720采样自动协商模式,连接的是100M口的交换机,无论如何测试lan8720都工作在10M模式下,表现为speed led引脚输出高。 这时又会引来另一个问题,那就是由于speed led引脚输出高之后,由于speed led的初始电平决定了REFCLK/nINT引脚的功能,为高后该引脚默认作为INT功能,由于我的电路设计上将这个引脚配置为REFCLK输出,所以会出问题。表现出来的现象就是,上电后REFCLK输出正常,但是只要对芯片进行复位,则REFCLK会消失。还有就是不插网线的情况下,由于没有自动协商,无论怎么复位REFCLK都不会消失。这个问题后面通过减小speed led上的下拉电路解决。 后面为了将芯片强制设置到100M全双工模式,在csr_dv/mode2引脚上接了一个下拉电阻,设置mode[2:0]=011,此时禁止了自动协商功能,模式选择100M全双工模式,然后又出现了另一个问题,此时软件中读取phy的BSR寄存器bit2值为 0(link is down),软件中就会卡死在

do { timeout++; } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有