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

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Как быстро передавать данные через 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
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
zltigo
сообщение Oct 28 2015, 14:50
Сообщение #10


Гуру
******

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



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

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

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

Значит можно с интеловской сетевой картой и ее родными драверами под каким-нибудь линуксовым сервером попробовать потестировать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Oct 28 2015, 15:10
Сообщение #11


отэц
*****

Группа: Свой
Сообщений: 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
blackfin
сообщение Oct 28 2015, 15:23
Сообщение #12


Гуру
******

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



Цитата(Lmx2315 @ Oct 28 2015, 18:10) *
..может быть, но у нас не получалось , точнее у наших программистов.

А тут результат зависит не только от программистов.

Важны также скорость и обьем жестких дисков, сколько свободного места есть на этих дисках и насколько сильно оно фрагментировано.

Также важны скорость и обьем ОЗУ, рабочая частота ЦПУ, количество посторонних процессов в менеджере задач и прочие ньюансы.
Go to the top of the page
 
+Quote Post
Aner
сообщение Oct 28 2015, 15:52
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (blackfin @ Oct 28 2015, 18:23) *
А тут результат зависит не только от программистов.

Важны также скорость и обьем жестких дисков, сколько свободного места есть на этих дисках и насколько сильно оно фрагментировано.

Также важны скорость и обьем ОЗУ, рабочая частота ЦПУ, количество посторонних процессов в менеджере задач и прочие ньюансы.

... еще забыли про потери на разъемах, кабелях.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Oct 28 2015, 15:56
Сообщение #14


Гуру
******

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



Цитата(Aner @ Oct 28 2015, 19:52) *
... еще забыли про потери на разъемах, кабелях.

Шутить изволите? biggrin.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 28 2015, 16:21
Сообщение #15


Гуру
******

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



QUOTE (Aner @ Oct 28 2015, 18:52) *
... еще забыли про потери на разъемах, кабелях.

В dB, очевидно? sm.gif sm.gif sm.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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