Jump to content

    

Сеть передачи данных 100 Mbit на 25 устройств на расстоянии до 3 метров

Добрый день, коллеги!

Прошу помощи в выборе варианта построения высокоскоростной сети передачи данных между микроконтроллерами.

Итак, есть главное мастер-устройство и от 12 до 24 ведомых устройств. Все ведомые устройства должны получать от мастер-устройства 10 Мбит данных в секунду и передавать обратно 10 Мбит данных в секунду. Ведомые устройства не передают данные между собой, только на мастер-устройство.

В итоге общий исходящий трафик от мастер-устройства составляет от 120 Мбит/сек до 240 Мбит/сек. И столько же трафика должно идти обратно от ведомых устройств на мастер.

Ведомые устройства располагаются в четырех разных направлениях от мастера, по 4-8 устройств в цепочке в каждой ветке. Все устройства соединены витой парой. Каждая ветка - это 50 см до мастера, затем между остальными устройствами в цепочке еще по 20-30 см. Наибольшее расстояние от мастера до ведомого устройства - 3 метра.

Все данные - realtime, потери недопустимы, перерывы допустимы максимум на 20-30 мсек.

 

На низких скоростях в пределах 1-2 Мбит/сек я бы просто сделал сеть на RS-485 или M-LVDS и качал бы данные через USART.

 

Как построить сеть передачи данных под такие требования - вопрос нетривиальный. Единственный вариант, какой я вижу - это бросать M-LVDS от мастера до каждого ведомого устройства отдельной витой парой и в полудуплексом режиме качать данные. Но на микроконтроллер такие битрейты не заведешь - это нужно ставить FPGA и на ней делать какой-то специальный канальный протокол, наверное с применением манчестерского кода. А с FPGA бросать на микроконтроллер, например, через SPI и DMA.

 

Порекомендуйте, пожалуйста, как совсем не надо делать и какой вариант стоит рассмотреть.

 

А то меня тут подталкивают сделать эту сеть на основе USB HS с кучей вложенных хабов. Это, конечно, красивый вариант, но интуиция подсказывает, что 24 и даже 12 устройств одновременно на USB передающие в таком объеме realtime данные - это фантастика и работать это не будет.

Edited by ko80

Share this post


Link to post
Share on other sites

А Ethernet почему не рассмтриваете? Примерно аналогичных три проекта было у меня, только расстояния и датчиков поболее, все через Ethernet до сих пор успешно работает.

Share this post


Link to post
Share on other sites

Посмотрите в сторону EtherCAT.

Share this post


Link to post
Share on other sites

Согласен с предыдущим оратором.

Мастер - фпга-шка с гигабитом эзернета.

Свич с хотябы одним гигабитным аплинтом.

Слейвы - думаю МК потянет 10 мебагит эзернета.

 

Из плюсов - простая топология и масштабируемость, универсальность транспортного уровня.

Share this post


Link to post
Share on other sites
18 минут назад, ko80 сказал:

А то меня тут подталкивают сделать эту сеть на основе USB HS с кучей вложенных хабов. 

Помню я как при отладке зависал USB, а котором сидел модуль для загрузки ПЛИС. И приходилось вручную передергивать кабель. Причем серый китайский на 3 метра не работал, только черный немецкий...

Share this post


Link to post
Share on other sites

Ethernet - это сразу две витые пары, а не одна. Поправьте, если я не прав.

А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены.

Еще варианты, пожалуйста!

Share this post


Link to post
Share on other sites
5 minutes ago, ko80 said:

Еще варианты, пожалуйста!

Оптимизировать трафик (поработать над сжатием данных и т.п.), может быть до CAN-шины и ужмётесь)

Share this post


Link to post
Share on other sites

И если можно, какие еще есть аргументы против USB?

Share this post


Link to post
Share on other sites
9 минут назад, ko80 сказал:

А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены.

Не обязательно. И две пары - тоже необязательно, бывает полудуплекс.

Share this post


Link to post
Share on other sites

CAN - это, конечно, прекрасно, но ужать 120-240 Мбит данных в 1 Мбит или пусть даже CAN FD - нереально.

 

Ок, есть реальные примеры сети Ethernet на 25 устройств без трансформаторов?

Share this post


Link to post
Share on other sites
10 minutes ago, ko80 said:

А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены.

Сейчас нормальная практика - покупать разъемы с встроенным трансом. Габарит у них почти такой-же, чуточку только крупнее.

Share this post


Link to post
Share on other sites

Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще.

Share this post


Link to post
Share on other sites
32 минуты назад, shodan_x сказал:

Из плюсов - простая топология и масштабируемость, универсальность транспортного уровня.

Главное - в этой фразе. Это значит, что проект можно будет потом наращивать, переходить на любое удаленное управление по сети. Только сразу делайте с трансформаторами, как положено. На 3-х метрах по земле помех не будет? Хотите рискнуть и проверить? Или без риска и с гарантией?

И для отладки слэйвов не придется ничего изобретать, просто подключите к свитчу.  

Share this post


Link to post
Share on other sites
15 minutes ago, ko80 said:

Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще.

Если корпус пластик - вафля хорошее решение.

На 2.4 есть контроллеры с вафлей на борту. На стороне мастера какой-нить микротик поставить с несколькими каналами (до 3-х если 54 мегабита на канал) как точка доступа-конвертор среды. На 5 встроенной вафли я пока не встречал, но можно поискать, если найдется полоса будет достаточной и для большего числа датчиков. Либо посмотреть в сторону n-стандарта на 2.4, но контроллеров с встроенным n я пока тоже че-то не встречал, но вики говорит что они есть.

 

Тогда вообще о злосчастных проводах забудите!

Edited by shodan_x

Share this post


Link to post
Share on other sites
6 минут назад, ko80 сказал:

Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще.

Соединить в кольцо. TX мастера - на RX 1-го ведомого, TX каждого предыдущего ведомого - на RX каждого последующего ведомого, TX последнего ведомого - на RX мастера.

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now