---
title: "W5500 resets when >40ms between SPI transfers"
url: "https://maker.wiznet.io/forum/13418"
markdown_url: "https://maker.wiznet.io/forum/13418/md"
type: "Forum topic"
category: "Ethernet Chips"
author: "Vittorio Pascucci"
created: "2019-07-27T21:40:37+09:00"
last_activity: "2019-08-07T12:52:53+09:00"
language: "en"
views: 733
replies: 5
source: "WIZnet Makers forum (https://maker.wiznet.io/forum/)"
---

# W5500 resets when >40ms between SPI transfers

## Question

Asked by Vittorio Pascucci on 2019-07-27 in Ethernet Chips.

Dear All,

I am experiencing an issue that I cannot quite figure out. I am using a w5500 on a custom development prototype. After the first time I write a register from my MCU I have to keep a continuous stream of SPI transactions (read or write, it makes no difference) otherwise the w5500 will reset. If I ever wait more than ~40ms between two consecutive transactions the device will reset. Any periodic SPI transaction will keep the device alive, such as simply reading the status register.

If I let this 40ms time elapse and then I try to read the status of the physical layer with getPHYCFGR() I will find it down and I have to recreate and reconnect to all my sockets to restore the ethernet communication.

Any idea what could be causing the issue? Please let me know how I can help reproduce the issue.
Best regards,

## Replies

### Reply 1 by Eugeny, 2019-07-29

Vittorio_Pascucci:

> otherwise the w5500 will reset

How did you know that it is being “reset”? All values in all registers (including common - own IP address, mask, GW) are being reset to default (see datasheet)?

Vittorio_Pascucci:

> I try to read the status of the physical layer with getPHYCFGR() I will find it down

What exactly do you find out? No link?

Vittorio_Pascucci:

> I have to recreate and reconnect to all my sockets to restore the ethernet communication

What state sockets are in? What issues you face if continue in the current state?

### Reply 2 by Vittorio Pascucci, 2019-08-07

Hello Eugeny,
Sorry for the late reply. Before we even talk about sockets, reading PHYCFGR normally returns “10111111” when everything is working fine. When the issue appears PHYCFGR is first “10111010” for some time (so link off and half duplex) and then “10111110” for a few us (so only link off) and then it recovers normal operation. I can see the link is truly off because the green led on the ethernet connector is switching off.

This doesn’t happen if I implement the aforementioned workaround of polling the status register or the PHYCFGR continuously as a form of “keepalive”.

I will see what the sockets return and come back to you, but I think this is already enough to say that there is some kind of issue.

### Reply 3 by Eugeny, 2019-08-07 (in reply to reply 2)

If you see link LED off and on then there’s hardware/connectivity issue. Recheck your circuit (connections, component values), change physical port on the switch.

### Reply 4 by Vittorio Pascucci, 2019-08-07

Hello Eugeny,

Cable and switch are fine. The circuit of course could be an issue, I am using an arduino ethernet shield 2 but I modified it quite a bit.

Strange that the issue only occurs when I am not communicating through SPI. My workaround works perfectly, so it is hard to find a hardware failure that matches my observations. I will monitor VCC as well as the reset output from the voltage controller on board, maybe a small brown-out or an interference is triggering a reset.

### Reply 5 by Eugeny, 2019-08-07 (in reply to reply 4)

Ensure you do not accidentally write to PHYCFGR resetting PHY.

---

Source: https://maker.wiznet.io/forum/13418
