Skip to main content
sebestajan
Associate II
October 13, 2009
Question

Ethernet performance

  • October 13, 2009
  • 13 replies
  • 2278 views
Posted on October 13, 2009 at 18:30

Ethernet performance

This topic has been closed for replies.

13 replies

sarao
Associate II
May 17, 2011
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.

tomas23
Visitor II
May 17, 2011
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.

abishko
Visitor II
May 17, 2011
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?