Ethernet Oscillator Interference with Bootstrap

jhzhao
Posts: 2
Joined: Mon Nov 14, 2022 3:25 am

Ethernet Oscillator Interference with Bootstrap

Postby jhzhao » Mon Nov 14, 2022 3:58 am

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
Boot_waveform2.PNG (589.53 KiB) Viewed 1408 times
Boot_waveform1.PNG
Boot_waveform1.PNG (858.2 KiB) Viewed 1408 times
Simplified Enet Circuit.PNG
Simplified Enet Circuit.PNG (26.77 KiB) Viewed 1408 times

ESP_ondrej
Posts: 198
Joined: Fri May 07, 2021 10:35 am

Re: Ethernet Oscillator Interference with Bootstrap

Postby ESP_ondrej » Mon Nov 14, 2022 8:18 am

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?

jhzhao
Posts: 2
Joined: Mon Nov 14, 2022 3:25 am

Re: Ethernet Oscillator Interference with Bootstrap

Postby jhzhao » Wed Nov 16, 2022 3:02 am

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).

Who is online

Users browsing this forum: No registered users and 141 guests