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

 
 
> Ethernet, и real-time
stoker
сообщение Oct 24 2008, 13:04
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 469



Кто нибудь использовал Ethernet в приложениях реального времени?
Необходимо не более чем за 1мсек передавать 1024 байта на простейшее исполнительное устройство - CPU и несколько цапов. Прога в виндах расчитывает данные для цапов и посылает пакет на сетевую карту, главное чтобы пакеты не терялись и задержка не превышала 1мсек. Увидел в инете такой вот Real-Time контроллер: http://www.prosoft.ru/products/brands/hilscher/374263/
Кто нибудь работал с таким? Можно ли вообще для такой задачи использовать встроенный в материнку сетевой контроллер совместно с CS8900A например? Посоветуйте, может есть (не)стандартные решения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
stoker
сообщение Oct 29 2008, 10:15
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 340
Регистрация: 28-11-05
Из: Москва
Пользователь №: 11 469



Цитата(Aprox @ Oct 28 2008, 18:53) *
В этом случае следует отказаться от готовых компонентов и GUI в программе. Можно попробовать библиотеку драйверов WinCap. Я с ней работал на прием пакетов в составе снифера WireShark. Если отключить всякое графическое обновление в снифере, то он без пропусков принимает пакеты 1.5К, следующие с интервалом 7..8 мкс(микросекунд!). Если включить обновление графики в окне, то через примерно десяток пакетов, появляются паузы 1мс(миллисекунда). Это винды отбирают на GUI. В библиотеке есть возможность и отсылать пакеты,- я пробовал с Raw пакетами. Получилось. Но максимальную скорость отправки пакетов не проверял. Мне кажется, если на прием неплохо работает, то и на передачу есть неплохие шансы. Главное, отключить виндовое GUI.

Во, вот это мне уже нравится. В действительности GUI мне и не нужен. А можно по подробнее про WinCap? Интервал между пакетами сильно зависит от величины канала? По сути мне гигабит не нужен, думаю вообще 10М должно хватить. Драйвер работает со встроенными сетевухами или есть какие то ограничения? Вообще, спасибо за инфу, буду разбираться...

Цитата(AlexandrY @ Oct 28 2008, 20:28) *
Да легко вы сделаете этот "realtime"
На компе тупо шлете в сокет сколько влезает.
А в своем контроллере дайте Ethernet MAC подсистеме команду PAUSE на заданное время пока не готовы принять следующий пакет. По истечении времени комп сразу же прецизионно вышлет че у него там в буфере. От виндов это не зависит.
Естественно при этом, что ваш MAC должен поддерживать выдачу команд Pause.
И смотрите чтоб сетевая карта компа позволяла управлять параметрами Flow Control.
Т.е. управление потоком есть на физическом уровне Ethernet-а и голову ломать не надо.

А реальные realtime приложения на Ethernet-e борятся с коллизиями на линии которых в вашем случае видимо не будет.

Да, действительно больше на линии сидеть никто не будет. Насчет Pause подумаю, я ещё правда не выбрал контроллер, так что приму на заметку, спасибо. Вообще в протоколах Ethernet тока начал разбираться, так что не ругайте, можно ли обойти физикой и маком и не организовывать стек? Валяется у меня платка на CS8900A хочу подрубить ее к Spartan 3, FPGA просто тупо будет выцеплять данные которые будут приходить с компа. По идее должно быть все как можно прощще, так вообще возможно?

Цитата(uriy @ Oct 28 2008, 20:34) *
Вы действительно не видите больше способа для синхронизации как слать пакеты с жестко определенными задержками? Не подойдет ли вам такой вариант - снабжать пакеты временными метками и порядковыми номерами и соотвественно собирать в небольшой буфер в вашем устройстве и анализировать.

Ну изначально я так и думал, снабжать пакеты временными метками, точнее порядковыми номерами, ну а потом отсылать по таймеру. Поэтому от компа мне и не требуется четкой синхронности посыла, главное чтобы задержек больше 1 мсек не было.

Цитата(Rst7 @ Oct 28 2008, 23:42) *
Смысл иметь двое несинхронных часов? В компе и в железяке? Не лучше ли одни просто в железке?
А вот на фреймы pause я бы не закладывался.
Сегодня работает, а завтра попадется свич с неправильным бутстрепом и не будет он обрабатывать флоуконтрол. И начнутся танцы с бубном при луне. Лучше организовать свой флоуконтрол через тот же UDP.

Ну в компе таймера как такового нету, там стоит плата на которую поступают кадры с частотой 1 Кгц, плата кидает данные прямо в память, потом данные обрабатываются (около 100мкс) и отправляются в устройство.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- stoker   Ethernet   Oct 24 2008, 13:04
- - Rst7   ЦитатаПрога в виндах расчитывает данные для цапов ...   Oct 24 2008, 13:07
|- - stoker   Цитата(Rst7 @ Oct 24 2008, 17:07) А как, ...   Oct 24 2008, 13:22
- - Rst7   А если взять мышкой окошко и пошевелить? Никакой п...   Oct 24 2008, 13:30
|- - stoker   Цитата(Rst7 @ Oct 24 2008, 17:30) А если ...   Oct 24 2008, 13:44
|- - vik0   Цитата(stoker @ Oct 24 2008, 16:44) Этого...   Oct 24 2008, 17:32
||- - zltigo   Цитата(vik0 @ Oct 24 2008, 19:32) А, прос...   Oct 24 2008, 20:22
||- - dch   а какой отклик сейчас обеспечивает XP ? Там помое...   Oct 24 2008, 23:39
|- - Aprox   Цитата(stoker @ Oct 24 2008, 16:44) Цитат...   Oct 25 2008, 13:44
- - stoker   Цитата(vik0 @ Oct 24 2008, 21:32) А, прос...   Oct 25 2008, 03:29
|- - zltigo   Цитата(stoker @ Oct 25 2008, 05:29) К сож...   Oct 25 2008, 07:50
|- - dch   Цитата(stoker @ Oct 25 2008, 06:29) драйв...   Oct 26 2008, 09:06
- - stoker   Цитата(Aprox @ Oct 25 2008, 17:44) Совету...   Oct 25 2008, 18:32
|- - Aprox   Цитата(stoker @ Oct 25 2008, 21:32) Равно...   Oct 28 2008, 15:53
- - Alex11   Ну не гарантирует Вам в винде никто время между дв...   Oct 25 2008, 20:02
|- - net   Цитата(Alex11 @ Oct 26 2008, 00:02) Ну не...   Oct 25 2008, 20:28
- - stoker   Вот провел тест, слал пакеты по 1024Б через CyUSB ...   Oct 27 2008, 09:18
- - uriy   Я плевал с внешнего устройства на PC пакеты по 504...   Oct 27 2008, 10:16
|- - stoker   Цитата(uriy @ Oct 27 2008, 13:16) Я плева...   Oct 27 2008, 10:45
- - uriy   Цитатакакой был? 10МБит?Нет. 100 Мбит.   Oct 27 2008, 16:03
- - AlexandrY   Да легко вы сделаете этот "realtime" На ...   Oct 28 2008, 17:28
- - uriy   Вы действительно не видите больше способа для синх...   Oct 28 2008, 17:34
|- - Rst7   Цитата(uriy @ Oct 28 2008, 19:34) Вы дейс...   Oct 28 2008, 20:42
|- - dch   Цитата(stoker @ Oct 29 2008, 13:15) снабж...   Oct 29 2008, 10:36
|- - Aprox   Цитата(stoker @ Oct 29 2008, 13:15) Во, в...   Oct 29 2008, 10:54
- - stoker   Большое спасибо всем за помощь, пока думаем в стор...   Nov 12 2008, 11:56


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:05
Рейтинг@Mail.ru


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