Kyle Ludwig

InterNiche Lite UDP performance

Discussion created by Kyle Ludwig on Mar 2, 2007
Latest reply on Mar 20, 2007 by Chuck Heller
Hi there
I am running an application on the M52233DEMO board. It Checks pin states in the main loop. It also listens on a UDP port for packets from A PC and responds with data. At the moment I am polling the device over a small LAN. It responds rather quickly to the UDP polling (takes about .5 milliseconds). However, from 4 to 8 times a minute it seems miss a packet. (see attached Ethereal capture -> packet # 5061. My PC is 192.1.3.204 and the DEMO board is 192.1.2.42).
I know that the packets are arriving at the DEMO board as I am using a hub and ethereal to monitor this.
I assume that they are being dropped somewhere in the DEMO board's hardware or in the software. I have checked the fec_isr() function and it seems that the packets are not arriving here and are therefore not passed to the stack. I therefore assume that it is a FEC driver problem or just a limitation on the chip's performance. I have tried to modify some FEC settings like NUMBIGBUFS, NUMLILBUFS, NUM_RXBDS, NUM_TXBDS as shown below:
 
/* define number and sizes of free buffers */
#define NUMBIGBUFS   8 //10 //20
#define NUMLILBUFS   6 //10 //20
/* FEC buffer descriptors */
#define NUM_RXBDS    2  //4  //8
#define NUM_TXBDS    2  //4  //8
 
However I find that I cannot increase NUMBIGBUFS and NUMLILBUFS above 8 each without the board freezing on start-up. Does anyone know why?
Also if I increase NUM_RXBDS and NUM_TXBDS above 8 each the board freezes on start up.
Increasing them by small amounts however, does not seem to make a difference to the frequency of lost packets. Are there any other setting I could try modify to get better performance? Any ideas one how I can increase the values of NUMBIGBUFS, NUMLILBUFS, NUM_RXBDS and NUM_TXBDS further? Would this even help?
 
Can anyone explain to me how this FEC works simply. I have read the RM but am still a bit lost.
 
I'll take any suggestions
Thanks

Outcomes