|
быстрый TCP/IP-стек для STR912 |
|
|
|
Feb 27 2007, 18:59
|

Участник

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904

|
Нужна пропускная способность по протоколу TCP/IP порядка 1-2 МБайт/с. Нужно передавать данные с контроллера на PC (в одну сторону). Размер пакета не важен (видимо, нужен большой для высокой пропускной способности). Нужно только одно соединение. + хочется использовать стек без операционки. Рассматривался uIP. Но, как видно, он больше оптимизирован для 8-битных контроллеров. Настроить его на большую пропускную способность пока не удалось. Примеры на его основе - в основном, web-сервера, не требующие большой пропускной способности канала. Когда они переделываются на передачу данных, выясняется, что пропускная способность всего несколько килобайт/c.  Есть вариант с использованием операционки. Например, тот же RTX Kernel со стеком. Вопрос, какую пропускную способность эта связка сможет обеспечить и какая загрузка процессора будет при требуемой пропускной способности в 1-2 Мбайт/с.
|
|
|
|
|
 |
Ответов
|
Feb 28 2007, 00:59
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(AlexandrY @ Feb 27 2007, 21:29)  Потеряете большинство пакетов, либо будете изобретать вилосипед. PC слишком быстро отправляет UDP один за другим. Контроллер все потеряет кроме первого. Цитата(KRS @ Feb 27 2007, 22:35)  Если все в локалке ( в одном сегменте ) можно использовать UDP ( плюс простая проверка потерянных пакетов, которых по идее быть не должно если сеть правильно настроена). Тогда можете сами формировать пакеты и не надо никакого стека.
Требовалось то передавать данные как раз в сторону PC! И потом то что контроллер потеряет все пакеты, кроме 1 - это не так! Можно несколько пакетов в очереди держать... И потом когда данные идут пакетами и в одной сети ( нет марщрутизации, мостов и каналов с разной скоростью... ) гораздо эффективнее использовать UDP (можно вытащить из любого стека)
|
|
|
|
|
Feb 28 2007, 09:31
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(KRS @ Feb 28 2007, 00:59)  Требовалось то передавать данные как раз в сторону PC! И потом то что контроллер потеряет все пакеты, кроме 1 - это не так! Можно несколько пакетов в очереди держать...
И потом когда данные идут пакетами и в одной сети ( нет марщрутизации, мостов и каналов с разной скоростью... ) гораздо эффективнее использовать UDP (можно вытащить из любого стека) Соглавсен с вами. Если есть устройство, которое напрямую подключается к компьютеру через Ethernet (у нас было именно так), UDP прекрасно справляется. Реализация UDP в разы проще, в хороших Emac он поддерживается почти аппаратно, нужно только заголовок сформировать, да ввести поле номера пакета, для возможного контроля пропавших (хотя за период тестирования устройства ни одного пропавшего пакета замечено не было). Даже контрольную сумму UDP можно не считать (даже нужно не считать, так как смысла нет). Реализация UDP с нуля займет примерно неделю.
|
|
|
|
Сообщений в этой теме
EKirshin быстрый TCP/IP-стек для STR912 Feb 27 2007, 18:59 AlexandrY На STR91x стек TCP/IP от Micrium дает 2.3 Мбайта в... Feb 27 2007, 19:55 IgorKossak Цитата(AlexandrY @ Feb 27 2007, 18:55) На... Feb 28 2007, 17:02  defunct Цитата(AlexandrY @ Feb 27 2007, 20:29) По... Mar 4 2007, 18:16 КонстантинТ Цитата(EKirshin @ Feb 27 2007, 18:59) Нуж... Feb 28 2007, 00:46 SpiritDance Цитата(КонстантинТ @ Feb 28 2007, 00:46) ... Feb 28 2007, 10:01  КонстантинТ Цитата(SpiritDance @ Feb 28 2007, 10:01) ... Feb 28 2007, 15:52 EKirshin Порт Micrium uC/OS-II со стеком TCP/IP на STR912 н... Feb 28 2007, 18:10 AlexandrY У вас нет выбора. Это единственный нормальный стек... Feb 28 2007, 20:18  КонстантинТ Цитата(AlexandrY @ Feb 28 2007, 20:18) У ... Mar 1 2007, 13:14   AlexandrY Да нет Констнатин, эт ваши посты навеивают странны... Mar 1 2007, 13:27    КонстантинТ Цитата(AlexandrY @ Mar 1 2007, 13:27) Да ... Mar 1 2007, 14:35     AlexandrY CrossWorks официально не поддерживает STR91x. Его ... Mar 1 2007, 15:24      КонстантинТ Цитата(AlexandrY @ Mar 1 2007, 15:24) Cro... Mar 1 2007, 17:47       AlexandrY Спасибо, заработало.
Но вы делаете довольно специф... Mar 1 2007, 20:41        КонстантинТ Цитата(AlexandrY @ Mar 1 2007, 20:41) Спа... Mar 1 2007, 21:11         AlexandrY Не, мы callback не применяем. Тогда рушится вся фи... Mar 10 2007, 01:10     boez Цитата(КонстантинТ @ Mar 1 2007, 13:35) Д... Mar 1 2007, 15:33      AlexandrY Есть решение более гибкое.
Берете и делаете FlashL... Mar 1 2007, 16:39     SpiritDance Цитата(КонстантинТ @ Mar 1 2007, 14:35) Д... Mar 1 2007, 15:35 Velund Цитата(EKirshin @ Feb 28 2007, 18:10) Пор... Mar 1 2007, 09:48  Shamil Цитата(Velund @ Mar 1 2007, 11:48) А може... Mar 1 2007, 11:09 Alex B._ >> Что то на микриуме стали пароли с логинам... Mar 1 2007, 10:06 SpiritDance Насчет подключений - тут наверно дело в том, что ... Mar 1 2007, 13:34 SpiritDance Лично мне например использовать h-jtag, особенно н... Mar 1 2007, 16:44 SpiritDance КонстантинТ
у так как насчет програмки, которая вм... Mar 9 2007, 17:03 SpiritDance Хм.
В кроссворксе почему-то не работают бреакпоинт... Mar 12 2007, 11:16 boez Константин, тут еще не перевелись люди, которым ин... Mar 23 2007, 18:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|