[From QnA]about wiz810MJ and SPI


I tried everything for SPI and also checked all signals reaching JP1 and JP2. But still i cannot read and write Reg. correctly every time. If i read RMSR sometimes i get correct value but not each time though signals (SCLK,MOSI,SCS) are correctly reaching the board. Kindly let me know is there any special in SPI for Wiz810 board.
Thanks in advance.


Hello Sachin,
No the WIZ810 use normal standard SPI, there is no special information.
If you check the CLK, MOSI, MISO and CS signals using oscilloscope, can you send the signal figure??
The WIZ810 only support SPI mode0 and 3, please check it.
And let us know the information about your SPI master and testing environment in detail.


I tried all the SPI modes, but out of mode 0 and 3 doesnot work but for mode1(i.e. CPOL=0, CPHA=1) i can read and write the registers of 5100 correctly many times, but not continuously. In mode 0 as well as in other modes i do not get correct read and written values even few times. I checked everything related with SPI. Even i changed my 8051 board, also replaced the WIZ810MJ module. still no good results. My SCLK is also less than 1 MHz. /CS pin is made high and rest of Addrr and Data lines are left open. Does it have any major impact on SPI functionality. I cannot undestand how it works in mode1, at least for many readings though not with incorrect values in between. Kindly help me out. can i send the SPI signals seen on scope?
Thanks and Regards


Hello Sachin,
The W5100 doesn’t support burst mode, you should RD/WR 1byte at a time.
The protocol is
| OP code 8bit | Address 16bit | Data 8bit |
Please send your SPI signal to leepoult@wiznet.co.kr to analyze.


I have sent the waveform of Read Opcode(0x0F). Kindly just see if this is correct for the last bit of clock.
Thanks and Regards


Your SPI signal is so tight to W5100.
In your signal, W5100 receives the MOSI signal as “0 0 0 0 1 1 1 0” (0x08).
But the OPCODE must be “0 0 0 0 1 1 1 1” (0x0F).
In the SPI mode0 and 3, the date will be latched on rising edge.
So your MOSI signal must be delayed or extended.
Please try this, your MCU may has SPI timing alignment register.


Thank You for the reply.
I am using NXP P89V51RD2. In this uc there is no reg. for timing alignment. Hence at last I wrote the SPI protocol by bit banging and it works. Now i am able to ping from my PC. I am working further for Client and Server.
Thanks and Regards


Dear Sachin,
If you have any other question, feel free to ask.


Hello. I`m trying to get the WIZ810MJ module communicating with a MSP430 µC over SPI. Mode is set correctly the clockrate is set to 1MHz. Doing a read or write operation, the module always answers 0x00 - 0x02 - 0x04 - 0x00 .
I studied the manual carefully, but I cannot find a solution for this problem…
Could you please give me a hint.
Kind regards,
Martin Hoffmann


Dear Sir,

Only with below message, we could not find the solution.

  1. Please check the input to SPI_EN pin.
  2. Are all pins correctly connected?
  3. Is fimrware correctly operating?
  4. When you get the value 0x00 - 0x02 - 0x04 - 0x00, what is the condition of the module? What kind of operation is module doing?

For you reference, at the SPI mode, W5100 ouputs the valude through MISO

  • when WRITE, 0x00, 0x01, 0x02, 0x03
  • when READ 0x00, 0x01, 0x02, 0xXX (related address value)

We need more detail about your problem.