Skip to content

And What About the W5200?

November 8, 2014

Googling around to check basic compatibility between the w5500 and the w5100 I’m familiar with I came across this shield which uses the w5200 and this blog post which describes the differences between the w5100 and w5200.  The big thing to note is that the w5200 has a burst mode for data transmission that will get me the speed improvement I want.  Also, this shield from elecrow just looks better than the w5500 one.
14-11-08 elecrow

Thw W5500 may be the new hotness but I think my next acquisition will be based on the w5200.

  • The elecrow one is $19.90
  • The Seeed Studio shield has been updated and is $29.00
  • DFRobot has one for $ 29
  • Radio Shack offers the updates Seeed Studio shield for $32

If I were in the US I’d probably spring for the Seeed shield from Radio Shack just for the quick access and confidence it would work.


From → web server

  1. Great choice. I’ve been working on the W5500 too. It looks like the major difference between the W5500 and W5200 is a simplification of the SPI protocol, removing the need to send a transaction length field. The end of a variable length transaction is simply indicated by raising the Chip Select line, which is much more intuitive, and saves 2 bytes (15 bits) per transaction.

    There are some other minor features, but it seems the main goals for the W5500 are die shrink and cost reduction.

    It seems that all the W5200 features have been carried forward into the W5500, though the normal datasheet doesn’t mention the IPRAW mode any more. I’m told it is there, but I’m waiting for more information before proceeding with further work.

  2. Thanks for the input. Do you know if the W5200 is more or less backwards compatible with the W5100?

  3. Here’s some notes on the W5500 too. TL;DR: It is the same, but better.

    • Thanks. I’ve actually been offered a sample of the W5500 module so I’m certainly going to try it. I’ll have a good look at your notes. For the olduino I stripped down the wiznet access to the bare minimum C code I needed for a server(only socket 0 for example, no DHCP etc). I hope I can just work through my code changing as little as possible.

      Are the access registers and initialization sequence for the W5500 basically the same as the W5100?

      • The setup and registers are quite similar across the range, but the W5500 is closer to the W5200 in its initialisation.

        For example, in the W5500 (as in the W5200) you have to set the size of each socket RAM in the socket registers, rather than in the common registers. See where the sysinit code differs in my code.

        Also the memory mapping differs between the W5200 and W5500. But again it is just a matter of calculating the correct offset. Using the Wiznet calling standard of a 32bit combined address and command long word though, it is no longer possible to increment across MAC and IP addresses associated with Sockets, though. If you made your own calling standard this wouldn’t be an issue though.

        If you’re using the Wiz550io, be aware that the on-board MCU holds the W5500 for about 150ms, even though the datasheet shows a 1ms start up time. You’ll need to allow appropriate delay. I just called the version number register until I got a sensible answer (the answer is 0x04) before proceeding. Then, rather than blowing away the MAC address, you can just capture what their little MCU has programmed. That makes the your programme scalable to different devices.

        Finally, the W5500 doesn’t have the ARP bug inherent in the W5100 and W5200. Finally, no need to implement off-chip subnet mask storage.

        Check out the W5x00.c and W5x00.h code in the lib_iinchip directory here, to see the differences in detail.

  4. Thanks again. I’ll refer to your code once I have the module.

  5. Had to double check something with Wiznet before writing it down, but…

    One of the best things about the W5500 is that the Tx and Rx buffer RAM addressing for each socket is echoed across an entire 16 bit address space. i.e. Each socket has 64kB of virtual address, but only has as much RAM as is configured.

    That means that there is no need for masking or calculating roll-over when writing or reading from RAM. This feature makes the W5500 quite different from the W5200 and W5100.

    I’ll just leave that here, for interest.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: