cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet performance

sebestajan
Associate II
Posted on October 13, 2009 at 18:30

Ethernet performance

13 REPLIES 13
sarao
Associate II
Posted on May 17, 2011 at 09:32

I have an application where I transmit packets that are 1068 bytes (ENET + IP + UDP + My data) at a very high rate (I'll dig up the number later). I cannot afford for a packet to not get sent. I am transmitting images and if 1 packets gets dropped the whole image is lost. To my data I added a 4 byte counter to the transmit packet. At the receiver I check to make sure that all packet counters increase by 1. If 1 packets gets dropped (or comes out of sequence, but my small network I don't have that problem), I know immediately.

This allows me to keep the sender (the STR9) and the receiver (my PC) in synch.

I have not seen any stalls that you describe, but I will look more closely and report back.

alandras
Associate II
Posted on May 17, 2011 at 09:32

Hi all,

Janse,

packet's can be dropped by the router/switch/hub if you have any betwen the board and your computer. Or maybe even by the computer? What is your configuration?

regards,

Andras

abishko
Associate
Posted on May 17, 2011 at 09:32

Hi, all!

We've got a quite problem with STR912FAW ethernet perfomance.

Current my step is example code with web server and maximum speed is about 7000 bytes per second.

This was tested in Olimex STR-E912 evaluation board.

Minimal required perfomance for our device is about 2MBytes per second one-side pocket sending.

As I understand from this branch this is quite possible but will require a lot of optimizations.

What should I begin with to solve this problem?

Could anybody please help me with ready blocks and/or detailed guidance, because my experience in STR9 optimization is not enough yet?

tomas23
Associate II
Posted on May 17, 2011 at 09:32

Anti-Nagle in uip_split.c as first option? Optimized memcopy in one of ST appnotes on STR9 pages? The TCP/IP should be able to deliver around 20 Mbit/s with CRC calculation, if I remember well, from internal RAM and using optimized drivers.