sergeeff
May 2 2007, 11:19
Коллеги!
Установил lwip на at91rm9200. Использую RAW API без ОС. Реализовал простой сервер. Для теста со строны PC посылаю 100 Kb пакет, принимаю его и отсылаю в PC обратно. Меряю скорость в 10 Мбит/с сети:
PC->BSP 1200 Kb/s;
BSP->PC 15 Kb/s.
TCP_MSS = 1460.
TCP_SND_BUF = TCP_MSS*8.
Есть ли варианты повысить скорость обратной передачи при использовании RAW API?
Увеличить частоту таймера lwip. Но помогает не сильно, у меня на SAM7X + FreeRtos смог поднять с 4kBps до 6...
Цитата(sergeeff @ May 2 2007, 14:19)

Коллеги!
Установил lwip на at91rm9200. Использую RAW API без ОС. Реализовал простой сервер. Для теста со строны PC посылаю 100 Kb пакет, принимаю его и отсылаю в PC обратно. Меряю скорость в 10 Мбит/с сети:
PC->BSP 1200 Kb/s;
BSP->PC 15 Kb/s.
TCP_MSS = 1460.
TCP_SND_BUF = TCP_MSS*8.
Есть ли варианты повысить скорость обратной передачи при использовании RAW API?
можешь исходники проекта выслать на мыло volf99@mail.ru? был бы очень благодарен
MALLOY2
Jun 4 2007, 07:31
как то мало для такого монсьра, может частота ядра низкая ?
sergeeff
Jun 4 2007, 08:06
Да тут проблема еще в том, как реально скорость обмена мерять. Я засекал в прикладной задаче на PC начало и конец приема/передачи. Соответственно вычислял скорость. Это, похоже, далеко от реальности, поскольку сюда приплюсовываются timeout'ы и прочее.
Такие штуки, как DU Meter показывали скорость совсем другую (существенно выше). Я на том пока и успокоился.
P.S. Да, в любом случае выше указана скорость в килобайтах/сек. Посему 1,2 МБ/с для 10 Mb ethernet вполне нормально, на мой взгляд.
Вот тут есть рекомендации по настройке lwIP:
http://www.nabble.com/Tunning-TCP-in-Lwip-t2568266.htmlПосмотрите на TCP_MSS и TCP_SND_BUF.