seridj_mse
Member level 2
I have a ESP32 connected to a LAN8720 chip on a custom PCB.
This all works fine. And we use it to send in sensor data to the Internet.
Framework ESP IDF V4.3
console print :
However we noticed that sometimes in the field the LAN8720 stops responding. This could be after a week, sometimes after 20 min. So it's random.
So , when i reboot and its not work the LAN8720A has communication with the esp32 but not with the network.
i.e. the phy is configured without error and even detects when the LAN cable is connected and disconnected but it never gets an IP address and/or connect to MQTT server !!
and console print :
I have a waveshare breakout board for the LAN8720A for which I followed sautter's guide and it works well. **broken link removed** ... ng-lan8720
I used the waveshare schematic as my starting point **broken link removed** ... ematic.pdf
my hardware config:
i use transformers inside an RJ45 jack : https://docs.rs-online.com/90ab/0900766b815b818d.pdf
i have 4 layer pcb stackup 1.6mm (signal-GND-POWER-SIGNAL) with Impedance checked construction with EasyEDA : impedence diff 100R :
-track space 4.70 mil-track with 6.00 mil-track height 1.36 mil
-isolation heigth 7.08 mil
-dielectic cst FR4 4.300
CLK 50MHZ 4-RMII traces with 68Ohms (6.8 mil) without VIA.
Oscillator 50Mhz , net length of ETH_REFCLK is 70 mm : from Oscillator to LAN and 71 mm from Oscillator to esp32 G0.
XTAL input is driven by 50 MHz clock (nINTSEL = 1 configuration), nINT/REFCLKO is an active low interrupt output and should not connect to REFCLK line I THINK .
distance between RJ45(magnitic inside) and chipset LAN is around 37 mm.(recommended<=25mm)
differential pairs RXP/RXN and TXP/TXN net lenght :
TD+:78.229mm and TD-:84.630mm
RD+:74.370 and RD-:73.985mm
RMII RX[1:0] and TXD[1:0] lines are single ended signals, not differential pairs.
Let me know if you see anything in the schematic or layout that might an issue.
Patiently waiting for your input.
Thanks!
This all works fine. And we use it to send in sensor data to the Internet.
Framework ESP IDF V4.3
console print :
/****************************************************************************************/
/****************************************************************************************/
I (2464) system_api: Base MAC address is not set
I (2464) system_api: read default base MAC address from EFUSE
I (2484) esp_eth.netif.glue: 24:6f:28:7b:eb:9b
I (2484) esp_eth.netif.glue: ethernet attached to netif
I (2494) eth_example: Ethernet Started
I (6494) eth_example: Ethernet Link Up
I (6494) eth_example: Ethernet HW Addr 24:6f:28:7b:eb:9b
I (576876) esp_netif_handlers: eth ip: 192.168.3.151, mask: 255.255.255.0, gw: 192.168.3.1
I (576876) eth_example: Ethernet Got IP Address
I (576876) eth_example: ~~~~~~~~~~~
I (576876) eth_example: ETHIP:192.168.3.151
I (576886) eth_example: ETHMASK:255.255.255.0
I (576886) eth_example: ETHGW:192.168.3.1
I (576896) eth_example: ~~~~~~~~~~~
/****************************************************************************************/
/****************************************************************************************/
However we noticed that sometimes in the field the LAN8720 stops responding. This could be after a week, sometimes after 20 min. So it's random.
So , when i reboot and its not work the LAN8720A has communication with the esp32 but not with the network.
i.e. the phy is configured without error and even detects when the LAN cable is connected and disconnected but it never gets an IP address and/or connect to MQTT server !!
and console print :
/****************************************************************************************/
/****************************************************************************************/
I (2464) system_api: Base MAC address is not set
I (2464) system_api: read default base MAC address from EFUSE
I (2484) esp_eth.netif.glue: 24:6f:28:7b:eb:9b
I (2484) esp_eth.netif.glue: ethernet attached to netif
I (2494) eth_example: Ethernet Started
I (6494) eth_example: Ethernet Link Up
I (6494) eth_example: Ethernet HW Addr 24:6f:28:7b:eb:9b
/****************************************************************************************/
/****************************************************************************************/
I have a waveshare breakout board for the LAN8720A for which I followed sautter's guide and it works well. **broken link removed** ... ng-lan8720
I used the waveshare schematic as my starting point **broken link removed** ... ematic.pdf
my hardware config:
i use transformers inside an RJ45 jack : https://docs.rs-online.com/90ab/0900766b815b818d.pdf
i have 4 layer pcb stackup 1.6mm (signal-GND-POWER-SIGNAL) with Impedance checked construction with EasyEDA : impedence diff 100R :
-track space 4.70 mil-track with 6.00 mil-track height 1.36 mil
-isolation heigth 7.08 mil
-dielectic cst FR4 4.300
CLK 50MHZ 4-RMII traces with 68Ohms (6.8 mil) without VIA.
Oscillator 50Mhz , net length of ETH_REFCLK is 70 mm : from Oscillator to LAN and 71 mm from Oscillator to esp32 G0.
XTAL input is driven by 50 MHz clock (nINTSEL = 1 configuration), nINT/REFCLKO is an active low interrupt output and should not connect to REFCLK line I THINK .
distance between RJ45(magnitic inside) and chipset LAN is around 37 mm.(recommended<=25mm)
differential pairs RXP/RXN and TXP/TXN net lenght :
TD+:78.229mm and TD-:84.630mm
RD+:74.370 and RD-:73.985mm
RMII RX[1:0] and TXD[1:0] lines are single ended signals, not differential pairs.
Let me know if you see anything in the schematic or layout that might an issue.
Patiently waiting for your input.
Thanks!