I have followed up this thread. Now, I am writing to any given register and when I want to read back from that register the value I wrote, I get the correct value but the width of the pulses is not the same as the period of SCLK.
For example, I follow these 4 steps:
I read the register 0x001F (CHIP ID) and I get the expected 0x03 value:
I think you should check the MISO signal that whether or not it connected to other product.
(or something to driveing MISO )
Could you please send me your schematic?
Email : ekkim@wiznet.io
I actually have a WIZ820io connected directly to an FPGA. So, SCLK, SS, MOSI and MISO go directly to a PMOD connector. Therefore, there is nothing driving MISO other than the FPGA. SCLK is running at 400 kHz. It is quite slow so I don’t think that is the problem.
Put real 3.3V non-inverting buffer in between of MISO pin of W5200 and FPGA input. Then you will be able to probe both to see if W5200 is originally having issue, or issue will happen only at the buffer’s output.
I did not find any buffer so I have to wait but regardless, I tested with writing 0xAA and this is what I got without connecting MISO to the PMOD (only to the oscilloscope)
So actually the signal is not shrinking…those 4 pulses are not representative. They are on the falling edge of SCLK and only for the first 4 pulses. The same effect happens when I put a pullup on SS.
This is the measure when connecting the oscilloscope between grounds: