Using W5100 with SPI bus

Currently I am designing my own device with W5100 chip and Atmega644 micronontroller.
I would like to utilize SPI bus for communication between both chips. I’ve already read datasheet, I’ve seen reference schematic as well, but few issues are still unclear for me.

  1. What should I do with /CS, /WR and /RD pins, when I am using SPI instead of parallel bus? Should I left them unconnected, or rather pull them up to VCC with single resistor, just like in case of Arduino Ethernet board?
  2. What should i do with SEN pin? Should I simply pull it up to VCC? I am asking, because there is some strange solution with inverting buffer on the Arduino Ethernet board schematic.
  3. Should I left DATA pins unconnected, or connect them to GND, just like on the schematic of Arduino Ethernet?
  4. Can I connect GNDA pins to the common ground plate, without using ferrite bead?
  5. Is it possible to use single SPI bus for W5100 communication ans ISP Atmega programming? I mean, does chip sets high-Z state on MISO, when SPI is not used (SCS line in not active state)?


  1. You should control CS when you access the W5100. SPI needs it also.
    You let RD and WR unconnected, but I recommend you pull them up.

  2. Yes.

  3. Both unconnected and connect them to GND are possible, but I recommend you pull them down.

  1. Yes. But I recommend use bead.

  2. If CS is high(1), MISO is high-Z.

I am not so sure about /CS pin. Is it possible, You simply mistaken it with /SCS pin?
In W5100 datasheet (page 9) /CS pin is described in context of /WR and /RD pins. On the Arduino Ethernet Shield schematic this pin is simply pulled up to VCC. /SCS is used with SPI instead.

I’m sorry.
I mistake.

I think CS as SCS.
The description you said is right.


Hallo! Just a related question: in SPI mode why recommends the reference schematic to pull SEN to 3.3V with a 4.7k resistor? (Also for unused ~WR, ~RD etc.) Why cannot I connect SEN and other inputs directly to 3.3V? Thank you!

up! zzz