SparkFun Forums 

Where electronics enthusiasts find answers.

Everything ARM and LPC
By stevech
#96360
seulater wrote:Thanks, i will check it out later.
They also told me about this link which has a nice package put together.
http://www.wiznet.co.kr/Sub_Modules/en/ ... 1&pid=1025
that Wiz200WEB board is an amazingly good value.

I wrote a suite of WizNet 812MJ based applications for an AVR then ported to an ARM7, including DHCP, Telnet, HTTP server, Dynamic HTML parser, SMTP client, NTP client, and so on. A professional work though, so I can't post the source. Happy to help. I chose not to use WizNet's sample code because it wasn't interrupt driven and was poorly structured, hard to understand, and lacked a proper but simple task scheduler. A year later, I've pleased and amazed at how the TCP/IP and four-socket interface on the 812MJ is quite bug-fee. I had expected less, got more.
By FirefighterBlu3
#96412
@stevech, yes, the documentation is very poor. there are numerous errors, some of them mentioned at the wiznet q&a or forum, but unless you know to go look then you're going to be frustrated. i haven't gotten to spend as much time as i've wanted on this project, but i have most of my socket structure built for doing an emulated 8bit databus on AVR ports.
By stevech
#96432
I found few technical inaccuracies in the WizNet docs. What made it hard was the poor translation to English. This is increasingly a problem. It is truly amazing to me that so many Asian companies are too cheap to do this right - gosh, it can't be that expensive as compared to the development engineering costs for the product. I see it too in big-company products.

But I got it all working well, and it's reliable, and I very much like the four-socket interface and the small amount of code needed on my microprocessor side to do all the application protocols. This comes from having TCP/IP/UDP/ARP all off-loaded, plus a socket driver.
By FirefighterBlu3
#96453
the w5100 or w5300? the w5300 has 8 sockets. in a couple hours i'll get to spend some more time on it. late last night i encountered an issue with my makefile not building one of my dependencies as needed on my x86_64 system. works perfectly on my 32bit.
By stevech
#96460
I used the 812MJ plug and play module. Onboard that is a '5100.
the socket RAM buffers are on the module and thus don't take RAM from the host micro.
My implemention is to allocate RAM in the Micro's memory only when an IP packet arrives, then release that RAM when processing is done. And vice-versa for outgoing, e.g., HTTP server responses. The WizNet's RAM is used for arriving and departing packets, if you will.
By FirefighterBlu3
#96994
the w5300 seems to be rather unstable if you start sending packets immediately after the HW reset is finished and before the link is fully up. after a few packets, udp forgets how to arp and starts doing immediate arp timeouts. i.e. ARPto is about 3/4 of a second regardless of what RTR and RCR are set to. doing a socket restart doesn't work, doing a software reset doesn't fix it, you have to do a HW reset. currently i'm waiting just shy of three seconds after HW reset & link in order to get a rock solid packet sending.
By mpanetta
#97006
Hmm, +1 for doing it yourself instead of using a 3rd party module then I suppose...
By FirefighterBlu3
#97245
i redid my logic, i do a while(!link up) via digital input. if i wait until then to send my first packet, i can hammer as hard as i want. if you send packets prior to this, then the w5300 is very likely to forget how to do ARP.