w5500 udp packet loss or too slow


#1

Hi,
I have just met w5500 and I like it but I have crashed in my new project.
The project is about sending and receiving a file with udp protocols.I have used arduino due + 2 x w5500 module(I tried only one w5500 for now and just packet received not saved). If a computer sends packets normal speed, system receives only 4 packets.If it sent only one packet in every 0.25 seconds, all packets have received.The system speed is too slow, isn’t it? or where I made fault?

Sincerely yours


#2
  1. Use TCP for this task;
  2. you must get UDP packets from the W5500’s RX buffer quickly enough, otherwise new packets not fitting into the buffer are lost. Thus most probably your Arduino “processing speed” is slower than arriving packets.

#3

Thanks for your quick answers,
what do you suggest me which mcu is fast enough?Arduino due clock speed is 84 Mhz, I have a stm32f429 disco that is not used by me.


#4

Use TCP. And it is not the matter of performance of CPU, it is a matter of proper protocol and algorithm driving W5500.


#5

Unfortunatly, it is not possibile, my project must run on udp, I used w5500 lib on github.Is it necessary, reconfigure w5500 lib or another solution.


#6

W5500 modüle has int pin, Is it usefull on my project, but I do not know how int uses.


#7

Please explain why you can not use TCP, as TCP should be the best choice in your application.


#8

My boss fantasy:)I said we could use tcp, boss answered nooo.


#9

Time to find better job :slight_smile:

See here, you will, most probably, need to implement something similar. Note the following at the beginning of the article:

Such settings are typically disadvantageous for the more common TCP protocol.

You are literally going to try hammering the nail with the knife. You should use hammer instead. The one asking you going former must substantiate his choice of UDP, otherwise I would question his competence, and the competence of all those people trying to reinvent bicycle (reinvent TCP using UDP).


#10

Thank you very much for helping.