W5200 four more sockets

What's a socket?

I'm just getting started with the Propeller stuff, and obviously, the Wiznet stuff is even more vaporish to me. I understand the basics of the Wiznet, that it's an ethernet chip/module with the proper stack to do so, just not following the socket stuff yet.

Sorry for the interruption of this thread and thanks for any help.
 
What's a socket?

Think of a socket as a network connection, sockets are used to send and receive data. They are configured with a port number (IE webserver is 80) and a protocol (TCP or UDP). On the 5100 there were 4 available, so if you wanted to receive 4 universes of sACN there were none left over for a webserver (you would need 5). With the 5200 you have 8 so you have "extras" for things like DHCP and what not.

That help a little?
 
I'm also interested in it... any chance of getting it from you?

I'm back to struggling with the speed. I'm tempted to post the slower functional version to google project site for people to use. Anyone interested in it?
 
Think of a socket as a network connection, sockets are used to send and receive data. They are configured with a port number (IE webserver is 80) and a protocol (TCP or UDP). On the 5100 there were 4 available, so if you wanted to receive 4 universes of sACN there were none left over for a webserver (you would need 5). With the 5200 you have 8 so you have "extras" for things like DHCP and what not.

That help a little?

Ports on a single IP address? (IE 192.168.0.1:80 for HTTP, 192.168.0.1:443 for HTTPS) or can the IP be different? I'm guessing the ports available are not "hard-wired" but available to be assigned. For instance, I could use port 777 if I wanted to for my web server if my code responded to that port.

I guess I should read the Data sheet but I'm already 200 pages behind reading the Propeller manual. I'll sit back and listen and read and hope this doesn't seem out of line in this thread.

Thanks for the info.
 
Ports on a single IP address? (IE 192.168.0.1:80 for HTTP, 192.168.0.1:443 for HTTPS) or can the IP be different?

Single IP, can't be different IPs.

I'm guessing the ports available are not "hard-wired" but available to be assigned. For instance, I could use port 777 if I wanted to for my web server if my code responded to that port.

Correct.

I guess I should read the Data sheet but I'm already 200 pages behind reading the Propeller manual. I'll sit back and listen and read and hope this doesn't seem out of line in this thread.

The datasheet talks about how to do this stuff but not why, save yourself the time and study SPIN. Once you know SPIN then you can dig into networking.
 
No big rush... got some WIZ820's on order, so it will be a few days till they get here anyway ;)

I was going to do this over the weekend but got distracted. I will make the changes to get it functional today and try to test and post it tonight.
 
Posted a working version of the W5200 driver here.

There are still two open items one is to increase the speed it is still at 10mhz. The other is to implement the new multibyte read/write. Let me know if you find bugs.
 
Edited to delete original issue, problem solved, foulup on my end. Initial testing looks good. Leaving the following info re WIZ820IO pinout as compared to WIZ812 in case it's of use to anyone:


WIZ__WIZ
820__812__Signal
J1-1______GROUND
J1-2______GROUND
J1-3_J1-1__MOSI
J1-4_J2-3__SCLK
J1-5_J2-4__nss = scs/
J1-6______interrupt, not used

J2-1______GROUND
J2-2______+3.3V
J2-3______+3.3V
J2-4______PWDN, not used, pulled down on WIZ820
J2-5_J2-2__RESET = RESET/ = hardware reset
J2-6_J1-2__MISO
 
Last edited:
So far the driver seems to be working fine. The only thing I had to change was the name of the start method for compatibility with the old driver (and maybe I should have changed the old driver's start name). I haven't checked the actual time to process an E1.31 packet yet, but I am able to process 6 universes of E1.31 data with no apparent issues.

Faster timing will just be icing on the cake. Great work Ben.
 
So far the driver seems to be working fine.
Faster timing will just be icing on the cake. Great work Ben.

Thanks, glad to hear it is working for you.

I went to a Propeller meeting this morning and spoke with a guy who wants to do ethernet stuff for a project he is working on. I gave him a W5200 board and as luck would have it he's an accomplished ASM programmer so he is going to take a look the code to see if it can be sped up.
 
I've posted the W5200 driver to the Parallax OBEX. http://obex.parallax.com/objects/869/

After posting I solicited methods for speeding up the SPI speed on the Propeller forums. Long story short I think its as fast as it can/will be. So I will move onto implementing "burst" mode which will indirectly speed up communications. Instead of writing 40 bits for each data byte in a string, it will write 8 bits for each byte after the first byte has been written.
 
Last edited:
Big thanks to jstjohnz for finding the error of my ways in regards to getting the driver to communicate faster. The "trick" was keeping the read at 10mhz and making the write 20mhz. I will be updating the PropController site and Parallax OBEX with ver 1.1 once I give it a spin (pun intended).
 
jstjohnz updated the driver to support burst mode, which is unique to the W5200. He is seeing an increase of almost 4 times from the W5100 read/write speed with this change. Once I review the code and test it I will post it to the PropController repository and the Parallax OBEX.
 
jstjohnz updated the driver to support burst mode, which is unique to the W5200. He is seeing an increase of almost 4 times from the W5100 read/write speed with this change. Once I review the code and test it I will post it to the PropController repository and the Parallax OBEX.

Posted in both location, current version is 1.2...enjoy
 
Back
Top