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

 
 
> Как быстро передавать данные через 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
Ответов
zltigo
сообщение Oct 28 2015, 12:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (jur @ Oct 28 2015, 15:21) *
Никогда на практике не сталкивался с передачей данных по сети Ethernet. И вот...

Тогда совет - не беритесь за эту работу. Слишком высокая планка для начала. Причем про использование на встречной стороне любой произвольной машины с win или чем либо еще десктопно-ширпотребным следует сразу забыть. Сформировать и вдуть Ethernet фреймы (а ничего другого Вам не надо) на указанной скорости из FPGA особо явных проблем не должно быть. Поминание всяких слов типа "Wiznet" в конетксте озвученного задания, абсолютно ни о чем.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jur
сообщение Oct 28 2015, 13:23
Сообщение #3


Местный
***

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



Цитата(zltigo @ Oct 28 2015, 14:34) *
Тогда совет - не беритесь за эту работу. Слишком высокая планка для начала.

Хм... Неужели эта задача настолько сложна? Речь-то всего о канале вроде обычного COM-порта, только очень быстром :-) Соединение точка-точка. Все остальное в Мире Интернета и сетей данной задачи не касается. Устройство данные генерит - достаточно мощный PC-шник принимает и все.

Цитата(zltigo @ Oct 28 2015, 14:34) *
Причем про использование на встречной стороне любой произвольной машины с win или чем либо еще десктопно-ширпотребным следует сразу забыть.

Безусловно! Этот вопрос будет согласован с заказчиком. Понятное дело, что работать с таким потоком данных - это не офисная задача. Предварительно я уже обговорил с ними насчет размера и скорости потока. Встретил понимание. Если понадобится, между порциями данных будут введены небольшие паузы.

Цитата(zltigo @ Oct 28 2015, 14:34) *
Сформировать и вдуть Ethernet фреймы (а ничего другого Вам не надо) на указанной скорости из FPGA особо явных проблем не должно быть. Поминание всяких слов типа "Wiznet" в конетксте озвученного задания, абсолютно ни о чем.

Во, во. Подскажите пожалуйста, как это по-проще сделать? Какую элементную базу лучше применить? По какому протоколу передавать и принимать данные?



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 28 2015, 13:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (jur @ Oct 28 2015, 16:23) *
Хм... Неужели эта задача настолько сложна?

Да. Для начинающего наверняка не подъемна, если речь идет о каких-то реальных сроках.
QUOTE
достаточно мощный PC-шник принимает и все.

Великолепно. Думаю, что у Вас найдется пара PC с Windows. Попробуйте для начала переслать и писать на диск эти самые 100 мегабайт в секунду.
QUOTE
Какую элементную базу лучше применить?

Голый PHY - это очевидно.
QUOTE
По какому протоколу передавать и принимать данные?

Уже писал - просто Ethernet фрейм. Минимально-достаточное условие для стыковки с готовой гигабитой оптикой на встречной стороне.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jur
сообщение Oct 28 2015, 13:56
Сообщение #5


Местный
***

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



Цитата(zltigo @ Oct 28 2015, 15:30) *
Для начинающего наверняка не подъемна, если речь идет о каки-то реалных сроках.

Сроки вполне нормальные, не драконовские. Я предполагал месяца 3 на разработку узла передачи и примерно столько же на доводку опытного образца.

Цитата(zltigo @ Oct 28 2015, 15:30) *
Великолепно. Думаю, что у Вас найдется пара PC с Windows. Попробуйте переслать и писать на диск эти самые 100 мегабайт в секунду.

Да, я как раз об этом задумывался. Даже начал ваять пробную пару клиент-сервер. Только пока не разобрался, как передавать данные по протоколам более низкого уровня относительно UDP. Спасибо за подсказку!

Цитата(zltigo @ Oct 28 2015, 15:30) *
Голый PHY - это очевидно.
Уже писал - просто Ethernet фрейм. Минимально-достаточное условие для стыковки с готовой гигабитой оптикой на встречной стороне.

Я попробовал поискать в Гугле. Довольно много всего, туманно пока... Обратил внимание на Intel, но у них, насколько я понял, ориентация на PC с Виндовыми драйверами. Подскажите, пожалуйста, примерное направление, голый PHY каких фирм посмотреть? Чтобы по-проще...



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 28 2015, 14:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (jur @ Oct 28 2015, 16:56) *
PHY каких фирм посмотреть? Чтобы по-проще...

Не подскажу - не занимался гигабитной оптикой. Но в общем это совершенно не принципиально - они достаточно одинаковы, это не MAC. Что-то вроде МАС будете делать в FPGA.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jur
сообщение Oct 28 2015, 14:13
Сообщение #7


Местный
***

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



Цитата(zltigo @ Oct 28 2015, 16:08) *
Не подскажу - не занимался гигабитной оптикой. Но в общем это совершенно не принципиально - они достаточно одинаковы, это не MAC. Что-то вроде МАС будете делать в FPGA.

Большое спасибо за помощь! Пошел наковыривать информацию :-) Пока не утратил надежды на решение этой задачи...



--------------------
MPEG-4 - в массы!
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Oct 28 2015, 14:24
Сообщение #8


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..1 Гигабит Ethernet 100 мбайт в секунду не даст - максимум 90 Мбайт/с по UDP.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
blackfin
сообщение Oct 28 2015, 14:39
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Lmx2315 @ Oct 28 2015, 17:24) *
..1 Гигабит Ethernet 100 мбайт в секунду не даст - максимум 90 Мбайт/с по UDP.

Да ладно сочинять то!

Все же зависит от размера фреймов..

Вот, например, из Figure 2. можно видеть, что для фреймов с размером больше 512 байт вполне можно передавать 100 МБайт/с и даже поверх TCP/IP.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Oct 28 2015, 15:10
Сообщение #10


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(blackfin @ Oct 28 2015, 18:39) *
Да ладно сочинять то!
Все же зависит от размера фреймов..
Вот, например, из Figure 2. можно видеть, что для фреймов с размером больше 512 байт вполне можно передавать 100 МБайт/с даже поверх TCP/IP.

..может быть, но у нас не получалось , точнее у наших программистов.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jur   Как быстро передавать данные через Ethernet   Oct 28 2015, 12:21
||- - 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
- - jur   Продолжаю продираться через препоны к назначенной ...   Nov 9 2015, 16:06
|- - a123-flex   Цитата(jur @ Nov 9 2015, 19:06) Продолжаю...   Sep 20 2016, 20:14
- - 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 Текстовая версия Сейчас: 21st July 2025 - 19:39
Рейтинг@Mail.ru


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