sebblonline
Newbie level 5

Hi,
Im trying to send UDP datagrams from a FPGA (Virtex5) to a Windows XP PC. On the FPGA I use the UDP/IP Core from opencores.org. From there I send a fixed number of datagrams to the PC
On the PC I use a simple C application calling the socket function recvfrom() in a loop until all datagrams are received.
My problem is, that I cant receive all datagrams successfully with my c application. Wireshark monitors ALL datagrams sent from the FPGA! How can I handle the data loss via UDP in a C app? How is wireshark working to not lose datagrams?
Im aware that the problem is the transfer speed, because when I put a delay between two datagrams on the FPGA, I can receive all data without loss.
thanks in advance!
sebastian
edit: problem solved: i have a fixed number of datagrams to grab, so i increased the receive buffer with the setsockopt() to that amount of data.
Im trying to send UDP datagrams from a FPGA (Virtex5) to a Windows XP PC. On the FPGA I use the UDP/IP Core from opencores.org. From there I send a fixed number of datagrams to the PC
On the PC I use a simple C application calling the socket function recvfrom() in a loop until all datagrams are received.
My problem is, that I cant receive all datagrams successfully with my c application. Wireshark monitors ALL datagrams sent from the FPGA! How can I handle the data loss via UDP in a C app? How is wireshark working to not lose datagrams?
Im aware that the problem is the transfer speed, because when I put a delay between two datagrams on the FPGA, I can receive all data without loss.
thanks in advance!
sebastian
edit: problem solved: i have a fixed number of datagrams to grab, so i increased the receive buffer with the setsockopt() to that amount of data.
Last edited: