W5300 connection lost problem


We use w5300 chip in our project and have a problem that connection is often lost when bus is used.

In our system we have MCU(master) SRAM, FPGA, W5300 sharing the same bus.
Chip Select and OutputEnable(aka Read signal) are multiplexed to communicate with each device separately.

W5300 is connected with 8bit data and full address bus. FPGA is connected with multiplexed bus mode where address bus is combined with data bus.

Everything works fine separately, W5300 is initialized and data transmission is ok, but when MCU starts to read FPGA Ethernet chip connection sometimes is lost for about half second. I say sometimes because it happens not all the time. may be once in 100 readings, but when we read a big sequence of data it happens almost all the time.

W5300 Shares only 10 address bit and WriteEnable line with FPGA. Ethernet CS, OE, reset and int pins does not change its value when connection lost happens. WE is also stay high without changes when this happen.

Can anybody explain or give idea what is wrong? As I understand if W5300 CS is high(unselected) address bus can have any values without affecting chip.



As you mentioned before, if W5300 CS is high(unselected) address bus can have any values without affecting chip.
That is, When Both CS and WR/RD are low, W5300 is affected by address & data.

Read the Sn_SR value again when Sn_SR value is SOCK_CLOSED, the value is same the previous SOCK_CLOSED.

I wonder that W5300 access timing may be not satisfied our recommended timing.

Thank you.


We have checked access timing - it was twice faster than recommended in datasheet. We will do tests so I will reply later about results. But it was OK to communicate with Ethernet anyway until FPGA to MCU communication starts over the same bus. Ethernet CS is unselected during this communication.



Just now we have increased CS delay to fit it timings. Now it stays about 62 ns both for reading and writing Ethernet chip. Problem is still the same - link is lost and reconnects again when MCU-FPGA communication starts.


Some updates

We have made some tests and research. Sn_SR register value does not change its value when connection is lost, there are only ethernet leds (TX, RX, FDX, SPD) turns off.
We did test with very simple FPGA code, so MCU just can read sequential value via shared bus.

When it starts to read in infinite loop ethernet connection lamps turns of like it was before. But after some time it becomes stable. This time is always different from 10 seconds to 3-4 minutes. Sn_SR does not have any changes.

We need some help, advise and guidance to find the reason.



Hi, Vasus.

First check the link led of W5300 to be turned on after reset.
The link led of W5300 should be operated nomally without FPAG’s controll.

I think that you have some problem in reset time of W5300 and hardware assembling.

Thank you.