|
Как быстро передавать данные через Ethernet, Поток данных порядка 100+ мбайт/сек |
|
|
|
Oct 28 2015, 12:21
|
Местный
  
Группа: Свой
Сообщений: 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 - в массы!
|
|
|
|
|
 |
Ответов
|
Oct 28 2015, 13:23
|
Местный
  
Группа: Свой
Сообщений: 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 - в массы!
|
|
|
|
|
Oct 28 2015, 13:30
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Oct 28 2015, 13:56
|
Местный
  
Группа: Свой
Сообщений: 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 - в массы!
|
|
|
|
|
Oct 28 2015, 14:13
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 16-10-05
Пользователь №: 9 704

|
Цитата(zltigo @ Oct 28 2015, 16:08)  Не подскажу - не занимался гигабитной оптикой. Но в общем это совершенно не принципиально - они достаточно одинаковы, это не MAC. Что-то вроде МАС будете делать в FPGA. Большое спасибо за помощь! Пошел наковыривать информацию :-) Пока не утратил надежды на решение этой задачи...
--------------------
MPEG-4 - в массы!
|
|
|
|
|
Oct 28 2015, 14:39
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(Lmx2315 @ Oct 28 2015, 17:24)  ..1 Гигабит Ethernet 100 мбайт в секунду не даст - максимум 90 Мбайт/с по UDP. Да ладно сочинять то! Все же зависит от размера фреймов.. Вот, например, из Figure 2. можно видеть, что для фреймов с размером больше 512 байт вполне можно передавать 100 МБайт/с и даже поверх TCP/IP.
|
|
|
|
|
Oct 28 2015, 15: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
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|