WIZnet Developer Forum

W5500 throughput optimization

Hello community,

I am using the W5500 connected to a FPGA and I am trying to maximize its UDP data throughput to a nearby
PC. Since the 80 MHz SPI interface is considered to be the bottleneck of the whole configuration, I was thinking of implementing the following scheme and wanted to ask whether this should work or not:

Socket 0 of the W5500 is initialized as UDPSocket on Port 5000, with static destination IP adress.
The Socket 0 transmit buffer is filled until half its capacity with data by a longer variable length transmission (VDM). Then the TX write pointer is set to half the buffersize and the SEND command is issued for Socket 0.
Now while the W5500 is sending, the other half of the transmit buffer is filled. After this the TX write pointer is
set to the full buffer length and the SEND command is issued again.
The Socket 0 is closed and reopened, to set the TX read pointer to zero and the scheme is repeated.

Would this be possible?

Many thanks

I’m not sure about the buffer. It is killed maybe while socked close and re-open.
Maybe WIZnet engineers in Korea can help here as well.
But before asking their limmited time for support here I like to know if 35 to 40 Mbps is not enough ?
That is the speed you can have with the SPI on one socket quite easy - even under dDoS attack ;-).
See here:
https://embeddist.wordpress.com/tag/syn-flood-attack/
But we had customers using the W5300 with parallel I/F and FPGAs and made it ~ 80 Mbps speed.

Hello 4jochen,

thank you for your answer. I think I might be running in the problem you predictated with fast reopening of sockets. Is there a more elegant way of reseting the socket’s TX read Pointer to zero than closing and reopening
the socket?

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.