|
|
  |
подскажите хороший tcp/ip стек, кроме uIP |
|
|
|
Aug 29 2009, 17:01
|

Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034

|
Цитата(toweroff @ Aug 29 2009, 15:56)  вот здесь Keil выкладывает тесты скорости (опять же - как тестировали, какие еще задачи"болтались" и т.д. - непонятно) Да видел я это... KB/s - это килобит или килобайт? Цитата NXP LPC2368 at 48MHz 3,350 UDP, 1,718 TCP/IP если килобит, то получается для TCP 1.8Мбитт/сек - маловато... Просто сейчас стоит задача организовать передачу данных в ПК с максимальной скоростью. Скорость чем больше - тем лучше. Процессор - LPC2468 (в будущем планируется заменить на LPC3250 или около того, но пока LPC2468). Протокол TCP (данные терять и путать нельзя - там длинные куски по 2 - 100Кбайт). Тем по uIP/lwIP на форуме много, а вот по кейловскому стеку я ничего не нашел, вот и хотелось узнать о нем мнение, что лучше выбрать?
|
|
|
|
|
Aug 29 2009, 17:28
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(i.cf @ Aug 29 2009, 21:01)  Да видел я это... KB/s - это килобит или килобайт?
если килобит, то получается для TCP 1.8Мбитт/сек - маловато... Надо думать, все же килобайт. Но все равно маловато. Обратите еще внимание на одинаковую скорость TCP на разных платформах для 1400 байт - что-то в консерватории явно не так. Цитата(i.cf @ Aug 29 2009, 21:01)  Протокол TCP (данные терять и путать нельзя - там длинные куски по 2 - 100Кбайт). Ну, чтобы обеспечить целостность данных вовсе не обязательно использовать именно TCP.
|
|
|
|
|
Aug 29 2009, 17:43
|

Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034

|
Цитата(aaarrr @ Aug 29 2009, 20:28)  Обратите еще внимание на одинаковую скорость TCP на разных платформах для 1400 байт - что-то в консерватории явно не так. Да, и к тому же в предпоследней строчке TCP быстрее UDP... Будем считать это банальная опечатка - скопировался результат с предыдущей платформы  Цитата(aaarrr @ Aug 29 2009, 20:28)  Ну, чтобы обеспечить целостность данных вовсе не обязательно использовать именно TCP. Согласен, можно прописывать в начало пакета номер и использовать UDP и самому отправлять квитанции. Если квитанций нет какое-то время - отправлять повторно. Но получается почти тот-же TCP, только заголовок проще... Вот я и решил сразу TCP и использовать.
Сообщение отредактировал i.cf - Aug 29 2009, 18:39
|
|
|
|
|
Aug 30 2009, 07:51
|

Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034

|
Цитата(InsolentS @ Mar 31 2007, 21:21)  Мне всего-то надо отправлять с компа на девайс 64-битные посылки. Это писал не я и два года назад. Писавший это уже получил ответы на свои вопросы. Цитата(dch @ Aug 30 2009, 05:10)  Если устраиват UDP - дейтаграмные посылки, а не собираетесь использовать TCP, то нет нужды заморачиваться особенно со стеком Та в том-то и дело, что не совсем устраивает (см. мой предыдущий пост). И использовать собираюсь я использовать именно TCP! Что-то так и не встретились пользователи RL-TCPnet, что немного настораживает...
Сообщение отредактировал i.cf - Aug 30 2009, 07:52
|
|
|
|
|
Aug 30 2009, 19:37
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
На вот такой платке: http://www.starterkit.ru/html/index.php?na...p=view&id=9 , TCP/IP стэк кейловский (RTL), при частоте тактирования контроллера 72 МГц, в thumb mode (ибо библиотека там только для thumb), удалось пропихнуть в сторону компа ~20000 коротких (18 байт) UDP пакетов в секунду...
|
|
|
|
|
Aug 31 2009, 12:16
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(goodwin @ Aug 30 2009, 22:37)  На вот такой платке: http://www.starterkit.ru/html/index.php?na...p=view&id=9 , TCP/IP стэк кейловский (RTL), при частоте тактирования контроллера 72 МГц, в thumb mode (ибо библиотека там только для thumb), удалось пропихнуть в сторону компа ~20000 коротких (18 байт) UDP пакетов в секунду... К сравнению - у меня lwip, TCP, пакеты по 1024 байта, функции RAW API tcp_write() - 1638400 байта в сек поток работает отлично. Разработанная система - восьмиканальный анализатор. Только нужно комп брать многоядерный и выделить поток независимый на прием. Плата - та-же, стартеркита, на LPC2368, 64 МГЦ тактовая, ARM-mode
|
|
|
|
|
Aug 31 2009, 12:38
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 22-06-06
Из: Киев
Пользователь №: 18 292

|
Цитата(aaarrr @ Aug 31 2009, 15:21)  Многоядерный для приема 1600 кБайт/с? Или какая-то обработка все же делается? Спектральная обработка в реальном времени, конечно. А отдельный поток на прием для того, чтобы не делать очень длинный буффер передачи (да и ограничение по памяти). А винда имеет особенность иногда отвлекаться на что-то и происходит переполнение. Да и замирание данных на экране не приветствуется...
|
|
|
|
|
Aug 31 2009, 16:54
|

Местный
  
Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267

|
Цитата(lebiga @ Aug 31 2009, 16:16)  К сравнению - у меня lwip, TCP, пакеты по 1024 байта, функции RAW API tcp_write() - 1638400 байта в сек поток работает отлично. Разработанная система - восьмиканальный анализатор. Только нужно комп брать многоядерный и выделить поток независимый на прием. Плата - та-же, стартеркита, на LPC2368, 64 МГЦ тактовая, ARM-mode Ну у меня масштабы попроще  Полный мониторинг одновременно двух CAN шин. Достигнутой скорострельности вполне достаточно для этого. Без лишних заморочек с буферизацией и пр. Один udp пакетик - для каждого CAN сообщения. Многое упрощает.. Оврхед UDP не нарягает...
|
|
|
|
|
Aug 31 2009, 23:05
|

Участник

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034

|
Цитата(goodwin @ Aug 30 2009, 22:37)  TCP/IP стэк кейловский (RTL), при частоте тактирования контроллера 72 МГц, в thumb mode (ибо библиотека там только для thumb), удалось пропихнуть в сторону компа ~20000 коротких (18 байт) UDP пакетов в секунду... Это получается 0,34Мбайт/с, а если учесть (основываясь на все той же же кейловской RL-TCPnet Performance) что при увеличении пакета в 140 раз скорость увеличилась раз так в 30, то для большого пакета должно быть около 10Мбайт/с. Или около 5Мбайт/с для TCP. Цитата(lebiga @ Aug 31 2009, 15:16)  К сравнению - у меня lwip, TCP, пакеты по 1024 байта, функции RAW API tcp_write() - 1638400 байта в сек поток работает отлично. Разработанная система - восьмиканальный анализатор. Только нужно комп брать многоядерный и выделить поток независимый на прием. Плата - та-же, стартеркита, на LPC2368, 64 МГЦ тактовая, ARM-mode 1638400байт/сек = 1,56Мбайт/сек - это максимальная скорость, или просто быстрее передавать не было необходимости?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|