Hello, we’re designing a board with a SPI bus between SAMD21 and W5500 chip.
But for some reason the W5500 chip is not recognized by the SAMD21.
Here are some technical informations of the project:
we are using the arduino framework
the firmware code was proven to work with a SAMD21 evaluation board and wiz850io module
Chip must be “recognized” even if its PHY is not operating or connected properly. Thus, if you confirm that software reads wrong values from the W5500 registers, then you have problem with digital power, interface (SPI, reset signal) or clocking circuit.
Which I find weird because everything was working OK with a samd21 protoype board and a wiz850io.
I checked power lines, interface signals and crystal: everything seems OK.
Then you just miss wokring tools. You must check that it actually oscillates, check voltages with scope to ensure they are continuous and noise-free, and see if activity is going on the SPI line.
When you plug LAN cable, do the LINK/SPD LEDs turn on?
Hello, we finally found the problem.
We are using the Arduino framework to code on the SAMD21. And the variant we compile against (Arduino Zero) doesn’t use the same sercom for the SPI interface. We use sercom1 and Arduino Zero uses sercom4. So we dug a bit and found that sparkfun SAMD21 mini uses the same exact sercom as us for the SPI. And now everything is working as expected.