Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

LAN8720 stops working everytime after same hours or days.

Status
Not open for further replies.

seridj_mse

Member level 2
Joined
Jan 18, 2021
Messages
53
Helped
0
Reputation
0
Reaction score
2
Trophy points
8
Activity points
311
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 :
/****************************************************************************************/
/****************************************************************************************/
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!
 

Let me know if you see anything in the schematic or layout that might an issue.
You neither show your schematic nor your PCB layout.
And we don´t see your code.

Additionally some links are not working.

Impossible to help.

Klaus
 

hi,


i will put some pic of schematic and PCB for Ethernet part and if u want more details let me know

sorry for the link , i want put this one :



i tried max to follow this doc in my routing :

1627300628650.png





1627300658365.png
 
Last edited:

and i cant understand well how i connect pin 14 nINT i am in mode 50Mhz configuration but when i see some schematic they connect it with REFCLK in this mode

1627311241918.png



1627311294614.png





1627311323475.png


for me and as i read in datasheet if we use input mode with 50Mhz we can leave pin not connected bcs there is internal resistor to pull up to Vcc ....
 
Last edited:

However we noticed that sometimes in the field the LAN8720 stops responding
Did you even try to PING the MQTT server during these communication failures to check if there is any issue with the intertnet connection itself ?
 

Did you even try to PING the MQTT server during these communication failures to check if there is any issue with the intertnet connection itself ?
hi thanks for ur response , i will try that but its not problem of connection, like the board work well and when it stop to publish i reboot the esp32 and it cant connect again to the network , so if i use another board its work fine ..... so its problem of soldering of LAN8720A or pcb layout CIRCUIT TRANSMISSION LINES

 

so its problem of soldering of LAN8720A or pcb layout

So, since you found the problem, the purpose of the whole thread is confusing.
You posted a lot of datasheets for what ?
 

Did you even try to PING the MQTT server during these communication failures to check if there is any issue with the intertnet connection itself ?
So, since you found the problem, the purpose of the whole thread is confusing.
You posted a lot of datasheets for what ?
first iam not sure 100% about the problem ,and i want solution , for datasheets and post i dont know maybe some one with experience can see or detect something wrong in my design else i want solution what i can do to fixte iti think toot its output driver impedance of LAN maybe i will change value of there series resistors 10 and 33ohms or maybe i remove it ....
 

You lost decoupling capacitor for AVDD ? This is very important for Analog VDD.
VADD need enough clean for inside core work properly.
IC will heat up when run, check expose pad and impedance of transformer & TXD/RXD line, load capacitor of TVS.
3V3 supply also need to clean enough.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top