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

 
 
> Как быстро передавать данные через Ethernet, Поток данных порядка 100+ мбайт/сек
jur
сообщение Oct 28 2015, 12:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704



Приветствую!

Никогда на практике не сталкивался с передачей данных по сети Ethernet. И вот...

Задача довольно простая. Имеется устройство (нашей разработки), которое с помощью
ПЛИС снимает данные со 128 датчиков. Затем эти данные нужно передать в компьютер
для последующей обработки.

Имеется два основных требования, которые ставят меня в тупик:

1. Скорость поступающих данных 100+ мбайт/сек. (не мбит!).
2. Расстояние от устройства до компьютера 100-300 метров.
3. Соединение типа точка-точка.

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

Далее. Примерно прикинул, что канала на 1 Гигабит должно хватить. Данные передавать
по протоколу UDP (я прочитал, что он обеспечивает максимальную скорость передачи).
В нашем устройстве не хотелось бы использовать какую-то серьезную аппаратную часть
(типа PC-материнки). Было бы желательно обойтись просто чем-то вроде RTL80xx или
подобным, с минимальной дополнительной обвязкой. Может быть поставить простой
микроконтроллер для конфигурирования всего этого хозяйства.

На компьютерной стороне у заказчика стоит PC с Виндой. Мне нужно будет написать
простую DLL-ку, которая примет поток данных и положит их куда прикажут (в файл на диск,
запихнет в Memory Mapped File и т.п.).

Исходя из вышеизложенного имеются следующие вопросы:

1. На какую аппаратную базу в устройстве следует закладываться? Видимо примененная
микросхема продиктует требуемый протокол передачи? Наверное устройства вроде W5300
фирмы WIZnet не подойдут по скорости, а другие не имеют аппаратной реализации TCP, UDP?

2. Как под Виндой получать переданные данные? Понятно, что TCP, UDP можно получать
с помощью Winsock, а если протокол более низкого уровня, тогда чем? Тем же Winsock-ком?

Спасибо!


--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jur
сообщение Nov 9 2015, 16:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704




Продолжаю продираться через препоны к назначенной цели :-)

Сначала столкнулся с проблемой, что при включении моего отдельного сегмента вырубается основная сеть. В смысле, сеть есть, а связи с Интернетом нет. Потом допетрил ("Семен Семеныч!" (С)) и сделал этот отдельный сегмент другой подсетью (основная 192.168.1.1, отдельная - 192.168.147.1(2)). Все стало работать нормально: Кесарю - кесарево, слесарю - слесарево.

Спасибо, друзья, за подсказку! Позадавал и там, и там IP<->MAC с помощью команды arp. Запускаю мою пару клиент-сервер. Работает, передает, но все-равно остаются паузы между посылкой данных клиентом и их приемом сервером. Почитал еще раз про winsock и узнал, что данные командой sendto() не передаются, а буферируются системой. То же относится и к recvfrom(). Это убедило меня в необходимости дальнейшего углубления в winsock. Не знаю, поможет ли команда select(), но подозреваю, что должна быть возможность задать немедленную посылку данных. Что-то вроде флага "send immediately".

В общем, продолжаю погружение...

P.S. Для этих двух Ethernet-карт позапрещал все, кроме TCP/IP. Думал, что можно доустановить протокол UDP/IP, но система сказала: "Давай диск". Отказался...



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
a123-flex
сообщение Sep 20 2016, 20:14
Сообщение #3


Профессионал
*****

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



Цитата(jur @ Nov 9 2015, 19:06) *
Продолжаю продираться через препоны к назначенной цели :-)

Парень. Главная препона в том, что о поставленной задаче ты не знаешь абсолютно ничего, а она довольно велика...
В твоей теме сидят уже 2 или 3 человека, которые имеют готовые решения, и терпеливо терпят всю твою пионерскую чушь, в надежде что ты все-таки поймешь в итоге, что нужно правильное делать.

Тебе уже даже намекнули, что надо на самом деле сделать: банка варенья и коробка печенья.
Как показывает опыт, в электрониксе полно отзывчивых людей, которые всего-лишь за одну-две сотни тысяч деревянных печенек (а иногда и гораздо дешевле) решат твою задачу в лучшем виде и очень быстро.

При этом ты все равно будешь главным, не сорвешь все сроки, прослывешь очень большим техническим экспертом, и опытным руководителем, и получишь потом целую гору шоколада от руководства.

Альтернатива в твоем состоянии - потратить на все ето дело год-другой, и завалить дело целиком.


--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jur   Как быстро передавать данные через Ethernet   Oct 28 2015, 12:21
- - zltigo   QUOTE (jur @ Oct 28 2015, 15:21) Никогда ...   Oct 28 2015, 12:34
|- - jur   Цитата(zltigo @ Oct 28 2015, 14:34) Тогда...   Oct 28 2015, 13:23
|- - zltigo   QUOTE (jur @ Oct 28 2015, 16:23) Хм... Не...   Oct 28 2015, 13:30
|- - jur   Цитата(zltigo @ Oct 28 2015, 15:30) Для н...   Oct 28 2015, 13:56
|- - zltigo   QUOTE (jur @ Oct 28 2015, 16:56) PHY каки...   Oct 28 2015, 14:08
|- - jur   Цитата(zltigo @ Oct 28 2015, 16:08) Не по...   Oct 28 2015, 14:13
|- - Lmx2315   ..1 Гигабит Ethernet 100 мбайт в секунду не даст -...   Oct 28 2015, 14:24
|- - blackfin   Цитата(Lmx2315 @ Oct 28 2015, 17:24) ..1 ...   Oct 28 2015, 14:39
||- - Lmx2315   Цитата(blackfin @ Oct 28 2015, 18:39) Да ...   Oct 28 2015, 15:10
||- - blackfin   Цитата(Lmx2315 @ Oct 28 2015, 18:10) ..мо...   Oct 28 2015, 15:23
||- - Aner   QUOTE (blackfin @ Oct 28 2015, 18:23) А т...   Oct 28 2015, 15:52
||- - blackfin   Цитата(Aner @ Oct 28 2015, 19:52) ... еще...   Oct 28 2015, 15:56
||- - zltigo   QUOTE (Aner @ Oct 28 2015, 18:52) ... еще...   Oct 28 2015, 16:21
|- - zltigo   QUOTE (Lmx2315 @ Oct 28 2015, 17:24) ..1 ...   Oct 28 2015, 14:50
- - krux   используйте разбиение по 64 датчика, а не по 128, ...   Oct 28 2015, 17:20
|- - blackfin   Цитата(krux @ Oct 28 2015, 21:20) использ...   Oct 28 2015, 18:10
|- - dxp   QUOTE (blackfin @ Oct 29 2015, 00:10) При...   Oct 29 2015, 06:57
|- - blackfin   Цитата(dxp @ Oct 29 2015, 10:57) Экая ско...   Oct 29 2015, 07:03
|- - zltigo   QUOTE (dxp @ Oct 29 2015, 09:57) Если у Т...   Oct 29 2015, 07:40
- - Alex11   NIOS вполне может справиться с таким потоком, но к...   Oct 29 2015, 01:17
|- - zltigo   QUOTE (Alex11 @ Oct 29 2015, 04:17) Если,...   Oct 29 2015, 05:14
|- - blackfin   Цитата(Alex11 @ Oct 29 2015, 05:17) Дело ...   Oct 29 2015, 06:08
- - RobFPGA   Приветствую! У меня Win7 стек нормально пере...   Oct 29 2015, 08:45
|- - zltigo   QUOTE (RobFPGA @ Oct 29 2015, 11:45) Для ...   Oct 29 2015, 09:09
|- - RobFPGA   Приветствую! Цитата(zltigo @ Oct 29 2015...   Oct 29 2015, 09:29
|- - zltigo   QUOTE (RobFPGA @ Oct 29 2015, 12:29) В ра...   Oct 29 2015, 09:59
- - prig   Цитата(jur @ Oct 28 2015, 15:21) ... 1. Н...   Oct 29 2015, 10:02
- - dxp   QUOTE (zltigo @ Oct 29 2015, 13:40) Так в...   Oct 30 2015, 06:46
- - jur   Большое спасибо, друзья, вы мне здорово помогаете...   Oct 31 2015, 11:30
- - RobFPGA   Приветствую! Какой Cyclone V у Вас ? Если в...   Oct 31 2015, 12:38
|- - jur   Цитата(RobFPGA @ Oct 31 2015, 14:38) Како...   Oct 31 2015, 16:43
- - jur   Однако... Все не так радужно, как мне мечталось......   Nov 1 2015, 13:35
|- - RobFPGA   Приветствую! Цитата(jur @ Nov 1 2015, 15...   Nov 1 2015, 14:12
|- - jur   Цитата(RobFPGA @ Nov 1 2015, 16:12) Я пон...   Nov 1 2015, 15:20
|- - RobFPGA   Приветствую! Цитата(jur @ Nov 1 2015, 17...   Nov 1 2015, 15:49
|- - jur   Цитата(RobFPGA @ Nov 1 2015, 17:49) Нет э...   Nov 1 2015, 16:16
|- - RobFPGA   Приветствую! Цитата(jur @ Nov 1 2015, 18...   Nov 1 2015, 16:44
|- - jur   Цитата(RobFPGA @ Nov 1 2015, 18:44) Посмо...   Nov 2 2015, 14:23
|- - Ruslan1   Извините, у меня немного отвлеченный вопрос: А зач...   Nov 2 2015, 22:11
|- - jur   Цитата(Ruslan1 @ Nov 3 2015, 00:11) Извин...   Nov 3 2015, 11:38
|- - prig   Цитата(Ruslan1 @ Nov 3 2015, 01:11) ... А...   Nov 3 2015, 14:55
- - jur   Немножко отошел от аппаратной части и занялся прог...   Nov 5 2015, 17:05
|- - blackfin   Цитата(jur @ Nov 5 2015, 20:05) Подключил...   Nov 5 2015, 17:15
|- - jur   Цитата(blackfin @ Nov 5 2015, 19:15) На м...   Nov 5 2015, 17:26
|- - blackfin   Цитата(jur @ Nov 5 2015, 20:26) Просто по...   Nov 5 2015, 17:44
||- - jur   Цитата(blackfin @ Nov 5 2015, 19:40) Вооб...   Nov 5 2015, 17:45
||- - blackfin   Цитата(jur @ Nov 5 2015, 20:45) А как воо...   Nov 5 2015, 18:02
||- - jur   Цитата(blackfin @ Nov 5 2015, 20:02) Може...   Nov 5 2015, 18:18
|- - RobFPGA   Приветствую! Цитата(jur @ Nov 5 2015, 19...   Nov 5 2015, 19:21
|- - doom13   Цитата(jur @ Nov 5 2015, 20:26) А как нас...   Nov 5 2015, 20:13
- - dxp   QUOTE (jur @ Nov 6 2015, 00:18) Да читал ...   Nov 6 2015, 06:25
- - krux   гуглите функцию setsockopt и опции сокетов, наприм...   Nov 9 2015, 16:25
- - jur   Цитата(krux @ Nov 9 2015, 18:25) гуглите ...   Nov 10 2015, 08:33


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

 


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


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