Dars 0 21 июня, 2008 Опубликовано 21 июня, 2008 · Жалоба Нужно получить 1.5-2 Мбайта/с используя tcp на lpc2378 так чтобы осталось время на другие задачи(требуется собирать данные с двух устройств по двум ком портам используя несложный протокол и отправлять их по сети в PC, иметь небольшой веб сервер для настройки устройств и доступ по фтп к файлам с настройками). Используя операционку от micrium и их стек tcp/ip можно получить такие скорости? Или стоит взять проц мощнее?можно выбирать только из lpc2378 или аt91sam92600. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voyt 0 21 июня, 2008 Опубликовано 21 июня, 2008 · Жалоба Посмотрите в сторону lwip. У атмела есть готовые примеры для SAM9 - маленький вебсервер и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dars 0 21 июня, 2008 Опубликовано 21 июня, 2008 (изменено) · Жалоба Посмотрите в сторону lwip. У атмела есть готовые примеры для SAM9 - маленький вебсервер и т.п. На sam9 вообще без разницы, что ставить. Скорости в любом случае будут огромные, тут кто-то писал о 60-70Mbit/s. Меня интересует можно ли на LPC решить мою задачу. Прочитал много отзывов о том, что у народа на AT91SAM7X256 получаются совсем мизерные скорости <<1Mbit/s. Боюсь как бы у меня такого на LPC2378 не вышло... Изменено 21 июня, 2008 пользователем Dars Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 21 июня, 2008 Опубликовано 21 июня, 2008 · Жалоба Прочитал много отзывов о том, что у народа на AT91SAM7X256 получаются совсем мизерные скорости <<1Mbit/s. Боюсь как бы у меня такого на LPC2378 не вышло... Видимо у народа руки не оттуда растут. Слабо верится, что можно написать настолько плохой стек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 21 июня, 2008 Опубликовано 21 июня, 2008 · Жалоба На sam9 вообще без разницы, что ставить. Скорости в любом случае будут огромные.. Улыбнуло. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mobidev 0 22 июня, 2008 Опубликовано 22 июня, 2008 · Жалоба Посмотрите в сторону lwip. У атмела есть готовые примеры для SAM9 - маленький вебсервер и т.п. Ещё кроме lwip есть uIP (так называемый микро IP) http://www.sics.se/~adam/uip/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitaliy_ARM 0 22 июня, 2008 Опубликовано 22 июня, 2008 · Жалоба Нужно получить 1.5-2 Мбайта/с используя tcp на lpc2378 так чтобы осталось время на другие задачи(требуется собирать данные с двух устройств по двум ком портам используя несложный протокол и отправлять их по сети в PC, иметь небольшой веб сервер для настройки устройств и доступ по фтп к файлам с настройками). Используя операционку от micrium и их стек tcp/ip можно получить такие скорости? Или стоит взять проц мощнее?можно выбирать только из lpc2378 или аt91sam92600. Вашу задачу решить можно. У меня сейчас утсройство работает на 30 Мбит/с по UDP, при загрузке процессора 30% (частота ядра 60 МГц) (поток в одну сторону). Причем раскачивал до 70 Мбит. Сразу говорю - порты uIP в примерах IAR не берите за основу, они просто кошмарно неоптимальны! Портируйте сами или пишите конкретно под этот процессор свой стек. Просматривая uIP, в принципе если его немного переписать, то можно увеличить скорость в несколько раз на этом ARMе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aprox 0 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Вашу задачу решить можно. У меня сейчас утсройство работает на 30 Мбит/с по UDP, при загрузке процессора 30% (частота ядра 60 МГц) (поток в одну сторону). Причем раскачивал до 70 Мбит. Сразу говорю - порты uIP в примерах IAR не берите за основу, они просто кошмарно неоптимальны! Портируйте сами или пишите конкретно под этот процессор свой стек. Просматривая uIP, в принципе если его немного переписать, то можно увеличить скорость в несколько раз на этом ARMе. Переписать много сложнее, чем заново переписать, выкидывая все ненужные навороты и оставить только UDP и ARP. Тогда можно достигнуть и 90Мвсек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voyt 0 26 июня, 2008 Опубликовано 26 июня, 2008 · Жалоба Реальны данные из жизни: u-boot на SAM9260 загружает по tftp (UDP протокол, стек какой-то нераспространенный ) протоколу 20 МБайт за 20 секунд в SDRAM. Но думаю, что это не показатель, т.к. сетевая часть не шибко оптимизирована... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
elektronshik 0 20 октября, 2008 Опубликовано 20 октября, 2008 (изменено) · Жалоба Здравствуйте. Подскажите пожалуйста как настроить LwIP на максимальную скорость передачи по TCP. Месяц уже ковыряю, а скорость всего 180 Кбайт/с. Исходящие пакеты идут размером ~128...512 байт. Вырезать что-то из стека не хотелось бы. 1 МБайта/с по ТСП вполне достаточно. скорей всего дело в каких-то опциях... но каких? За основу брался порт ARM9_STR91X_IAR. Система: AT91SAM9260 + FreeRTOS v5.0.3 + LwIP v1.3 + EWARM5.10 Изменено 20 октября, 2008 пользователем elektronshik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 20 октября, 2008 Опубликовано 20 октября, 2008 · Жалоба Здравствуйте. Подскажите пожалуйста как настроить LwIP на максимальную скорость передачи по TCP. Читайте тут: http://lists.gnu.org/archive/html/lwip-use...1/msg00007.html Грубо говоря, у проблемы есть как минимум две стороны: - Оптимизация настроек TCP. Нужно сделать так, чтобы TCP посылал как можно больше данных, не дожидаясь подтверждения приёма. Какие параметры нужно править для этого в lwipopts.h - см. по ссылке выше. - Оптимизация сетевого драйвера и кода вычисления контрольной суммы, если процессор перегружен. В любом случае, очень помогает выявлять проблемы анализатор пакетов типа Wireshark. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
elektronshik 0 20 октября, 2008 Опубликовано 20 октября, 2008 (изменено) · Жалоба http://lists.gnu.org/archive/html/lwip-use...1/msg00007.html Спасибо, сейчас посмотрю. Пользуюсь как раз Wireshark. Процессор больше ничем не нагружен, код выполняется в SDRAM на 100Mhz. Еще в догонку вопросик: При пинге пакетами более 1500 байт принимается только первый фрагмент. Может встречали такую проблему? Пока только выяснил, что от второго пакета уже не срабатывает прерывание. Изменено 20 октября, 2008 пользователем elektronshik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KolyanV 0 20 октября, 2008 Опубликовано 20 октября, 2008 · Жалоба Здравствуйте. Подскажите пожалуйста как настроить LwIP на максимальную скорость передачи по TCP. Месяц уже ковыряю, а скорость всего 180 Кбайт/с. Исходящие пакеты идут размером ~128...512 байт. Вырезать что-то из стека не хотелось бы. 1 МБайта/с по ТСП вполне достаточно. скорей всего дело в каких-то опциях... но каких? За основу брался порт ARM9_STR91X_IAR. Система: AT91SAM9260 + FreeRTOS v5.0.3 + LwIP v1.3 + EWARM5.10 1. Увеличьте значение параметра MEM_SIZE. Если памяти у вас мегабайты, можно ставить 64-256 КБайт 2. Увеличьте значение TCP_SND_BUF. В случае достаточности памяти - 64 Кбайт 3. Также имеют значения размеры буферов драйвера. У меня на SAM7X256: MEM_SIZE =24000 TCP_SND_BUF=4500 FreeRTOS v5.0.3 + LwIP v1.3 на TCP достигает скорости 6,5 МбИт/сек, это, правда, при "холостой" отправке. В задаче с реальными данными - 4 Мбит/сек, предел с реальными данными (для моей задачи) - ок. 5 МБит/сек Да, и еще важный момент: Если используете NETCONN, обязательно устанавливайте опцию TCP_NODELAY для TCP. Собственно, при использовании сокетов это тоже нужно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
elektronshik 0 23 октября, 2008 Опубликовано 23 октября, 2008 · Жалоба на TCP достигает скорости 6,5 МбИт/сек, это, правда, при "холостой" отправке. По моему скорость передачи реальных данных правильнее мерять бАйтами, т.к скорость передачи одного пакета на физическом уровне фиксированная (100Мбит/с в нашем случае). После прохождения данных через стек в прикладной уровень, мы получаем уже байты. Вобщем попробовал сделать по рекомендации http://lists.gnu.org/archive/html/lwip-use...1/msg00007.html В результате скорость увеличилась до 650 выход /150 вход (было 180 выход /3.3 вход)... не густо. А с пингом проблема решилась - оказалось известный баг в ip_frag.c. Теперь пингуется пакетами до 23600 байт 32 мс, если больше - превышение TTL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
virfis 0 28 октября, 2008 Опубликовано 28 октября, 2008 · Жалоба Объясните мне пожалуйста, как вы получаете такие скорости? У меня сейчас используется uIP без ОС на LPC2468. Программа отправляет TCP пакеты с моими данными. Длина данных не бывает больше 255. Такая специфика. После отправки анализирую uip_outstanding(conn). Как написано: Check if a connection has outstanding (i.e., unacknowledged) data. И тогда отправляю следующий пакет. так вот у меня между пакетами не меньше 200 мс. Т.е. за секунду 5 пакетов всего. Скорость получается около килобайта в секунду. Хотелось бы получить хотя бы 100 килобайт в секунду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться