We are using WROVER-B and are using the extra PSRAM inside the WROVER-B package. And we need EMAC_TX_CLK output for our LAN8710A. We have a clock inverter between GPIO0 and LAN8710A CLKIN pin.
We are using esp-idf (version v3.3-rc). When I try to initialize ethernet with clock mode ETH_CLOCK_GPIO0_OUT, I get this error and it won't let me do it, exiting esp_eth_init() with an error ESP_FAIL.
GPIO16 and GPIO17 has been occupied by PSRAM, Only ETH_CLOCK_GPIO_IN is supported!
Does the WROVER-B hardware support PSRAM and ethernet clock out on GPIO0 simultaneously? I think it does, but esp-idf doesn't like it.
I changed esp-idf to allow it and the hardware and software seem to work correctly.
WROVER and PSRAM and EMAC_TX_CLK
Re: WROVER and PSRAM and EMAC_TX_CLK
As a follow on, it seems if I turn on Wifi or BLE, then ethernet becomes unstable. So GPIO0 with clock out does not work in hardware?
Re: WROVER and PSRAM and EMAC_TX_CLK
Yes, I read that in latest v4.x release (it wasn't in rev 3.x which we used). But there is also this in WROVER-B kit which implies GPIO0 is fully supported in WROVER:
ESP32-Ethernet-Kit V1.0 Getting Started Guide
https://docs.espressif.com/projects/esp ... t-kit.html
"GPIO0 is a source of 50 MHz reference clock for the PHY. The clock signal is first inverted, to account for transmission line delay, and then supplied to the PHY."
We copied that design with GPIO0 as ref clock output with an inverter.
ESP32-Ethernet-Kit V1.0 Getting Started Guide
https://docs.espressif.com/projects/esp ... t-kit.html
"GPIO0 is a source of 50 MHz reference clock for the PHY. The clock signal is first inverted, to account for transmission line delay, and then supplied to the PHY."
We copied that design with GPIO0 as ref clock output with an inverter.
-
- Posts: 290
- Joined: Wed Sep 05, 2018 6:23 am
Re: WROVER and PSRAM and EMAC_TX_CLK
Hi @bwendin
Ethernet requires a high quality of RMII clock, the idea of "Output RMII clock via GPIO0" can sometimes be unstable, which depends on your hardware design. So I would like to suggest you switch to using an external xtal as the RMII clock and select the "GPIO0 input mode".
BTW, the "GPIO0 output mode" is not relevant to the PSRAM, it's a bug in idf I think, we will fix it soon. Thanks for your contribution!
Ethernet requires a high quality of RMII clock, the idea of "Output RMII clock via GPIO0" can sometimes be unstable, which depends on your hardware design. So I would like to suggest you switch to using an external xtal as the RMII clock and select the "GPIO0 input mode".
BTW, the "GPIO0 output mode" is not relevant to the PSRAM, it's a bug in idf I think, we will fix it soon. Thanks for your contribution!
Re: WROVER and PSRAM and EMAC_TX_CLK
When you say "depends on your hardware design" do you refer to
1) GPIO0 as ethernet output will never work when using Wifi or Ble?
2) GPIO0 as ethernet output will never work with most ethernet RMII parts (like LAN8x70 series, etc). We are inverting the signal as shown in WROVER-B ESP32-Ethernet-Kit V1.0 reference design?
I think only #1 is true. Let me know if #2 is true also and WROVER reference design for ethernet won't work.
1) GPIO0 as ethernet output will never work when using Wifi or Ble?
2) GPIO0 as ethernet output will never work with most ethernet RMII parts (like LAN8x70 series, etc). We are inverting the signal as shown in WROVER-B ESP32-Ethernet-Kit V1.0 reference design?
I think only #1 is true. Let me know if #2 is true also and WROVER reference design for ethernet won't work.
Who is online
Users browsing this forum: No registered users and 86 guests