I am working on a design that uses a W5500 for networking. I followed a reference schematic and believe all my connections are correct, however I am facing issues with the network connectivity.
Basically, the device thinks that the link is always on. The Link LED turns to yellow about 1 sec after booting and stays on, even if I plug in an Ethernet cable from a router or if there is nothing plugged in.
Schematic:
Wiznet W5500 Reference Schematic:
I've included the schematic here. I am using a Chinese HANRUN RJ45 connector with POE functionality.
Does anyone know why this is or could be happening? I have followed the reference schematic and the only thing I can think that is different from the reference is the reset and the RJ45 connector.
I checked reset. It's sitting HIGH at 5 V. It needs to go low for >500 us to reset. Hitting the reset button correctly resets the device.
I should mention I did my testing with Arduino software. I used Examples -> Ethernet -> Link Status. Even when there is nothing plugged in, I get Link: ON.
Thanks for any help in advance. I will be checking back and trying to answer as many questions as possible
Best Answer
If you based your design off of WIZnet's "wizarduino" schematic, then I suspect you didn't notice the note on it that said not to actually populate the 3 pull down resistors On the
PMODE
pins. These are resistorsR30
,R31
, andR32
on your schematic. The device will not work correctly until those 3 resistors are removed. With the pull down resistors populated, those 3 connections are just voltage dividers, ones that will ensure an undefined state (neither high nor low).Considering they control auto-negotiation behavior, it does not seem like that big of a leap to think that undefined states on these pins would cause the chip to lock up in an unresponsive state with a link active LED on due to the logic getting screwed up. It would be about 1s after boot when it would begin trying to detect if there was a link or not.
This isn't necessarily the only issue, but any other problem discovered would not fix the problem until this undefined pin state problem is also fixed. Let me know in the comments if the problem persists after removing those 3 resistors. At least its just a quick desoldering job, right? We should all be so lucky to have those kinds of problems!