I use wiz850io modules with xmega256a3u. My app connects to a server, listening at 8013 port. A special ‘protocol’ to transfer data and maintain TCP session is made. Everything works fine, but then a TCP retransmissions start to ocure.
After a few houres wiz module draws so much current, it couses my 0.5A DC/DC switcher to ‘crash’.
Server is at 10.10.2.241, the two wiz+xmega boards are at .242 and .243
I do program with Bascomt.
Here is a wireshark result.
Does anyone encountered similar problems with w5500?
Another thing - this ‘overload’ happens in a rather unknown network. Here, ‘at home’ this happened only once.
Measure the supply current to the module and make a graph of how it changes. Also measure module/chip temperature (cold/warm/hot/very hot/can not touch grade would be ok).
Unfortunatelly I was not able to repeat that state in lab. However, it was constantly repeated in production environment, but this is 600km away… So, I was not able to measure the current.
There is a lot of topics regarding w5500 consumption issue and crashing.
One was, that ferrite bed between AGND and GND should be removed (shortcuted).
The other was about how to connect TCT and RCT.
Link: High temperature and high consumption - #13 by Scott
Can Wiznet guys confirm any of these solutions, to prevent crashing?
Thanks in advance for all the answers!
Dear Wiznet guys!
I noticed significant differences between Wiz850io board and Wiz550web!
- TCT is connected to Vcc with 10R resistor on wiz850 and with 10k on Wiz550WEB (ver1.0) and then again with 10R (ver.1.1)
- There is no ferrite bed between AGND and GND on Wiz550WEB board !!
- w5500 pin 23 on Wiz550web board is now named PWDN and tight to GND over 10k resistor …
What is the final and stable schematic?
Must be a mistake.
There’s no concensus if this ferrite bead is needed at all.
Seq/Ack values seem to be wrong here. You transferred hundreds of megabytes betwen the devices? Am I correct that you have two W5500 devices here (242 and 243) and one device of another type (241)? This issue with Seq/Ack usually happens if programmer messes up with RX/TX pointers when programming WIZnet.
Thanks for Your answers, Eugeny.
So the 10R value is correct (as on most schematics).
No, I don’t do that much traffic. In fact, I only transfer a few Bytes.
.241 is server.
Once I realy did some changes in buffer memmory allocation , but I’m not sure, when did I capture this screeen-shoot. I increased first socket memmory both RX and TX to 8KB (2K=default).
The problem is not in buffer size, it is in wrong values being written to the pointer registers. The best is to log all values you write into pointer regs, and perform traffic logging. So that you can more or less match time afterwards and see what was written to registers when problem with seq/ack first exhibited itself.
I have been having hangups with 850io connected to ESP32. It is set up as a chat server and occasionally just stops communicating. I have been developing in the Arduino IDE environment and am wondering is there some register I can poll regularly to look for failure and then do a reset. I can simulate the failure by grounding the wiz reset pin and of course it does not recover until the esp re-initializes it.