ESP32-WROVER-IE + LAN8720 ethernet ,GPIO0 voltage is only 1.6v, can't enter spi flash boot mode normally
Posted: Wed Dec 07, 2022 9:46 am
Hello everyone.
I am using ESP32-WROVER-IE + LAN8720 to debug ethernet functionality on an existing board with LAN8720 pin4, pin5 external 25Mhz crystal.LED2/nINTSEL pulldown, 50MHz output from nINT/REFCLKO to GPIO0 of esp32.I using basic example, and get the ip.
But there is a problem, the board often goes into download mode when powered up. This should be related to the voltage of GPIO0, 1 corresponds to spi flash boot, 0 corresponds to download mode boot.
The actual GPIO0 voltage measured with a multimeter is 1.6v (without pull-up). After adding the pull-up, the voltage of GPIO0 was 1.69v, which was basically unchanged.
To verify the problem, I used the ESP-WROOM-32 board and the LAN8720 Eth Board to test the connection, still using the GPIO0 input CLK to the esp32, and tested the GPIO0 voltage.
At this point I disconnected GPIO0 from the lan8720 nINT/REFCLKO and tested GPIO0 at 3.3v when floating and nINT/REFCLKO at 1.6v.
The voltage is 1.6v, so it should not be a problem with the esp32.
Other verification methods:
1. use the blink example to pull up and pull down GPIO0, the voltage change range is 2.3V~1.2V when the pull-up resistor is not added, after adding 10k pull-up resistor, the voltage change range is 2.7V~0.8V.
2.7V~0.8V, which can indicate that there should be no problem on the esp32.
2. Using the ESP-WROOM-32 board and the LAN8720 Eth Board, the esp32 uses GPIO16 or GPIO17 to output RMII_CLK to XTAL1/CLKIN of the lan8720, and the basic example can also run, at this time, because GPIO0 is only connected to the boot button, so the voltage is 3.3v, power up can always enter spi flash boot mode.
However, since the ESP32-WROVER-IE has PSRAM, GPIO16 and GPIO17 cannot be used to output RMII_CLK, so only GPIO0 input mode can be used.
Has anyone come across this problem? How should I solve it?
I am using ESP32-WROVER-IE + LAN8720 to debug ethernet functionality on an existing board with LAN8720 pin4, pin5 external 25Mhz crystal.LED2/nINTSEL pulldown, 50MHz output from nINT/REFCLKO to GPIO0 of esp32.I using basic example, and get the ip.
But there is a problem, the board often goes into download mode when powered up. This should be related to the voltage of GPIO0, 1 corresponds to spi flash boot, 0 corresponds to download mode boot.
The actual GPIO0 voltage measured with a multimeter is 1.6v (without pull-up). After adding the pull-up, the voltage of GPIO0 was 1.69v, which was basically unchanged.
To verify the problem, I used the ESP-WROOM-32 board and the LAN8720 Eth Board to test the connection, still using the GPIO0 input CLK to the esp32, and tested the GPIO0 voltage.
At this point I disconnected GPIO0 from the lan8720 nINT/REFCLKO and tested GPIO0 at 3.3v when floating and nINT/REFCLKO at 1.6v.
The voltage is 1.6v, so it should not be a problem with the esp32.
Other verification methods:
1. use the blink example to pull up and pull down GPIO0, the voltage change range is 2.3V~1.2V when the pull-up resistor is not added, after adding 10k pull-up resistor, the voltage change range is 2.7V~0.8V.
2.7V~0.8V, which can indicate that there should be no problem on the esp32.
2. Using the ESP-WROOM-32 board and the LAN8720 Eth Board, the esp32 uses GPIO16 or GPIO17 to output RMII_CLK to XTAL1/CLKIN of the lan8720, and the basic example can also run, at this time, because GPIO0 is only connected to the boot button, so the voltage is 3.3v, power up can always enter spi flash boot mode.
However, since the ESP32-WROVER-IE has PSRAM, GPIO16 and GPIO17 cannot be used to output RMII_CLK, so only GPIO0 input mode can be used.
Has anyone come across this problem? How should I solve it?