ESP32——基于LAN8720A的以太网通讯测试

参考连接:

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html#rmii-clock-sourced-externally-by-phyhttps://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html#rmii-clock-sourced-externally-by-phy

一、简介

这是一个官方示例“examples\ethernet\basic”的测试记录。

因未来的项目要求选用了ESP32-WROVER-IE-N8R8模块,这就导致了GPIO17引脚无法使用进而无法采用常用的由ESP32提供时钟到PHY芯片的方式,后面还将提到这一点。

二、电路图和程序

这个图是最终版,第一版没有MT9700相关电路。

引脚和PHY_ADDR地址定义

#define CONFIG_EXAMPLE_ETH_MDC_GPIO 23
#define CONFIG_EXAMPLE_ETH_MDIO_GPIO 18
#define CONFIG_EXAMPLE_ETH_PHY_RST_GPIO 15
#define CONFIG_EXAMPLE_ETH_PHY_ADDR 0

配置项

三、调试

    示例程序可以运行,但首次上电不能正常启动,需要按复位按键(一般还需要按多次才能成功一次)才行。本文档开头部分提供的官方链接对此原因有详细说明,简单说就是如不分开供电,LAN8720A会先输出50MHZ时钟到ESP32模块的GPIO0口,电平不能稳定在高电平,造成模块不能启动运行。修改电路图后和程序后(上电先启动MT9700)再次测试,正常。

注:测试中遇到下面问题,原因时LAN8720A的电源地位于芯片底部,焊接时忘记了。

扫描二维码关注公众号,回复: 15582833 查看本文章
E (514) lan8720: lan8720_pwrctl(359): power up failed
E (514) lan8720: lan8720_init(421): power control failed
E (514) esp_eth: esp_eth_driver_install(205): init phy failed

猜你喜欢

转载自blog.csdn.net/tsliuch/article/details/129054210