Ethernet Oscillator Interference with Bootstrap
Ethernet Oscillator Interference with Bootstrap
I only saw this documentation ( https://docs.espressif.com/projects/esp ... p_eth.html ) after the hardware has been produced. The device is powered on and off 27000 times under room temperature. It boots up consistently in SPI boot mode. Is it safe to leave the hardware as is (that is, without controlling the oscillator as described in the above mentioned Espressif documentation)? The simplified circuit and some waveforms are attached. Thank you!
- Attachments
-
- Boot_waveform2.PNG (589.53 KiB) Viewed 1564 times
-
- Boot_waveform1.PNG (858.2 KiB) Viewed 1564 times
-
- Simplified Enet Circuit.PNG (26.77 KiB) Viewed 1564 times
-
- Posts: 211
- Joined: Fri May 07, 2021 10:35 am
Re: Ethernet Oscillator Interference with Bootstrap
Hi @jhzhao, frankly speaking your post is a little ambiguous. There is not much details. Therefore I am not sure if I can reply to it in satisfactory manner but I try.
ESP32 boots to boot mode since GPIO is bootstrap pin and a special care needs to be taken to handle the boot properly. This has been discussed multiple times, here is example of such discussion https://github.com/espressif/arduino-esp32/pull/6188.
The most proper way is to feed the GPIO0 with RMII REF CLK only after the ESP32 boots. It can be achieved by multiple ways:
- Enable OSC only after the ESP32 boots. You can do it by:
* connecting OSC OE to ESP32 GPIO and control it by software
* delay OSC OE by RC circuit on your board
- if PHY is source of REF_CLK, keep the PHY in reset and release it from reset during Ethernet driver init by providing reset GPIO to the driver. This is how it is done on Espressif Ethernet Kit dev board. However, note that not all PHY chips support this configuration. For example LAN8720 does not.
Regarding your 100 ohm resistor solution, I am not sure about it since I am not HW expert but I would be a little bit worry about signal integrity. Does Ethernet work in this configuration?
ESP32 boots to boot mode since GPIO is bootstrap pin and a special care needs to be taken to handle the boot properly. This has been discussed multiple times, here is example of such discussion https://github.com/espressif/arduino-esp32/pull/6188.
The most proper way is to feed the GPIO0 with RMII REF CLK only after the ESP32 boots. It can be achieved by multiple ways:
- Enable OSC only after the ESP32 boots. You can do it by:
* connecting OSC OE to ESP32 GPIO and control it by software
* delay OSC OE by RC circuit on your board
- if PHY is source of REF_CLK, keep the PHY in reset and release it from reset during Ethernet driver init by providing reset GPIO to the driver. This is how it is done on Espressif Ethernet Kit dev board. However, note that not all PHY chips support this configuration. For example LAN8720 does not.
Regarding your 100 ohm resistor solution, I am not sure about it since I am not HW expert but I would be a little bit worry about signal integrity. Does Ethernet work in this configuration?
Re: Ethernet Oscillator Interference with Bootstrap
Yes, Ethernet works with the 100 Ohm resistor. The resistor serves two purposes: to dampen overshoot/undershoot of the clock; and to prevent oscillator output from being overloaded when ESP IO0 is pulled to ground during fw download (in the case of my current circuit). It seems that I've to control the oscillator. Thank you for your help!
My current circuit works fine at room temperature. If I verify it works as well across the temperature range of the product spec, I guess it should be fine leaving the circuit as is. The only thing is that I couldn't prove there is a safety margin (that oscillator output won't interfere with ESP IO0 bootstrap).
My current circuit works fine at room temperature. If I verify it works as well across the temperature range of the product spec, I guess it should be fine leaving the circuit as is. The only thing is that I couldn't prove there is a safety margin (that oscillator output won't interfere with ESP IO0 bootstrap).
Who is online
Users browsing this forum: No registered users and 42 guests