完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用ESP32-S模组通过RMII接口和RTL8201F(QFN32封装)进行通信,使用IDF编程环境自带的examplesethernetbasic 例程进行测试,
在配置环境中将芯片选择RTL8201,设置好相关引脚索引号,编译程序,下载后。 打印信息如下: I (10437) system_api: Base MAC address is not set I (10437) system_api: read default base MAC address from EFUSE I (10477) esp_eth.netif.glue: a4:e5:7c:da:b9:5f I (10477) esp_eth.netif.glue: ethernet attached to netif W (14477) rtl8201: auto negotiation timeout I (14477) eth_example: Ethernet Started 可以看到,网速协商失败。 1)RTL8201F默认是MII接口,根据官方手册PDF说将第8脚RXDV通过4.7K电阻上拉到3.3V,这样芯片就处于RMII接口了。 但我讲RXDV引脚上拉到3.3V后,测量RXDV引脚电平,依然为低电平。-----------这样就不知道芯片到底是处于MII接口还是RMII接口。 2)在网上查询资料,有说网络速率 自动协商其实与软件无关,有的说又有关系。现在我不知道是程序问题还是硬件问题。 官方有没有ESP32和RTL8201连接的硬件原理图或者程序样例? |
|
相关推荐
1个回答
|
|
根据您提供的信息,您的ESP32-S模块通过RMII接口与RTL8201F芯片进行通信,但在自动协商过程中出现了问题。以下是一些建议来解决这个问题:
1. 检查硬件连接:确保ESP32和RTL8201F之间的所有连接都正确无误。检查RMII接口的引脚是否正确连接,以及电源和地线是否连接良好。 2. 检查引脚配置:在ESP-IDF中,确保您已经正确设置了RMII接口的引脚索引号。您可以在`menuconfig`中找到这些设置,通常在`Component config` > `Eth PHY` > `ESP32-S2 Ethernet PHY`。 3. 检查电源:确保RTL8201F芯片的电源供应稳定,因为不稳定的电源可能会影响自动协商过程。 4. 手动设置速率和双工模式:如果自动协商失败,您可以尝试手动设置速率和双工模式。在`menuconfig`中,您可以找到`Ethernet link mode`设置。尝试设置为100Mbps全双工或10Mbps全双工,然后重新编译和下载程序。 5. 更新ESP-IDF和驱动:确保您使用的ESP-IDF版本是最新的,因为新版本可能修复了一些已知问题。同时,检查RTL8201F驱动是否有更新。 6. 使用其他设备测试:如果可能的话,尝试使用其他设备(如笔记本电脑或另一块ESP32模块)与RTL8201F芯片进行通信,以排除芯片本身的问题。 7. 检查RTL8201F芯片:如果以上方法都无法解决问题,可能是RTL8201F芯片存在问题。您可以尝试更换一个芯片,看看问题是否得到解决。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:23 , Processed in 0.709019 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号