реклама на сайте
подробности

 
 
> Низкая скорость передачи данных по TCP как быть?
TSURKOV
сообщение May 21 2013, 14:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 1-11-05
Пользователь №: 10 385



Низкая скорость передачи данных по TCP как быть?

Здравствуйте коллеги. Работаю с STM32F207, столкнулся с непонятной для меня ситуацией. Скорость передачи информации по протоколу tcpip в реализации lwip стека максимум до 120 килобайт в секунду (для сообщений длинной 512 байт). Пробовал менять длину пакетов, 512 байт кажется оптимальной. Принимает процессор куда быстрее, удавалось обмениваться со скоростями до 1000 килобайт в секунду. Пользовательских настроек стека не видел. В FareShark вижу что передает мои сообщения одним пакетом, и принимает тоже от PC одним пакетом. Вроде все одинаково но передача в 10 раз медленнее работает и мне это кажется очень странным. Кто-нибудь сталкивался с подобной ситуацией ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
taoga
сообщение May 23 2013, 18:13
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 8-10-09
Пользователь №: 52 809



По lwip уже много написано. Вам нужно поиграться с параметрами lwip, но вдумчиво. У меня получилась скорость ~10Мбайт в секунду на пакетах длиной 512 байт.
Прикладываю тестовый проект, в нем есть настройки lwip. Самой lwip в проекте нет.
Прикрепленный файл  basic_emac_lwip_1_3_1_work.rar ( 3.08 мегабайт ) Кол-во скачиваний: 166

Может чем поможет.
Go to the top of the page
 
+Quote Post
TSURKOV
сообщение May 24 2013, 12:29
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 1-11-05
Пользователь №: 10 385



Цитата(taoga @ May 23 2013, 21:13) *
По lwip уже много написано. Вам нужно поиграться с параметрами lwip, но вдумчиво. У меня получилась скорость ~10Мбайт в секунду на пакетах длиной 512 байт.
Прикладываю тестовый проект, в нем есть настройки lwip. Самой lwip в проекте нет.
Прикрепленный файл  basic_emac_lwip_1_3_1_work.rar ( 3.08 мегабайт ) Кол-во скачиваний: 166

Может чем поможет.


Помогло. Но правда в другом. После вызова tcp_write стал делать вызов tcp_output (подсмотрел в Вашем коде). Скорость возросла более чем в два раза, местами до полу мегабайта дотягивает. Но этого все равно маловато, видимо это не основная причина, попрежнему много коллизий и перезапросов как с одной так и с другой стороны. Когда тестирую две программы на PC все передается чисто, равномерно, с процессором из за перезапросов все дергается. Периодически отправляет несколько раз один и тот же пакет данных. Буду думать дальше.

Спасибо за помощь.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 01:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01431 секунд с 7
ELECTRONIX ©2004-2016