ko80 0 13 мая, 2019 Опубликовано 13 мая, 2019 (изменено) · Жалоба Добрый день, коллеги! Прошу помощи в выборе варианта построения высокоскоростной сети передачи данных между микроконтроллерами. Итак, есть главное мастер-устройство и от 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 данные - это фантастика и работать это не будет. Изменено 13 мая, 2019 пользователем ko80 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 8 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба А Ethernet почему не рассмтриваете? Примерно аналогичных три проекта было у меня, только расстояния и датчиков поболее, все через Ethernet до сих пор успешно работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба Посмотрите в сторону EtherCAT. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shodan_x 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба Согласен с предыдущим оратором. Мастер - фпга-шка с гигабитом эзернета. Свич с хотябы одним гигабитным аплинтом. Слейвы - думаю МК потянет 10 мебагит эзернета. Из плюсов - простая топология и масштабируемость, универсальность транспортного уровня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 18 минут назад, ko80 сказал: А то меня тут подталкивают сделать эту сеть на основе USB HS с кучей вложенных хабов. Помню я как при отладке зависал USB, а котором сидел модуль для загрузки ПЛИС. И приходилось вручную передергивать кабель. Причем серый китайский на 3 метра не работал, только черный немецкий... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ko80 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба Ethernet - это сразу две витые пары, а не одна. Поправьте, если я не прав. А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены. Еще варианты, пожалуйста! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 5 minutes ago, ko80 said: Еще варианты, пожалуйста! Оптимизировать трафик (поработать над сжатием данных и т.п.), может быть до CAN-шины и ужмётесь) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ko80 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба И если можно, какие еще есть аргументы против USB? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 9 минут назад, ko80 сказал: А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены. Не обязательно. И две пары - тоже необязательно, бывает полудуплекс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ko80 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба CAN - это, конечно, прекрасно, но ужать 120-240 Мбит данных в 1 Мбит или пусть даже CAN FD - нереально. Ок, есть реальные примеры сети Ethernet на 25 устройств без трансформаторов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shodan_x 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 10 minutes ago, ko80 said: А ещё это обязательно трансформатор и под него вообще нет места, габариты очень ограничены. Сейчас нормальная практика - покупать разъемы с встроенным трансом. Габарит у них почти такой-же, чуточку только крупнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ko80 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 32 минуты назад, shodan_x сказал: Из плюсов - простая топология и масштабируемость, универсальность транспортного уровня. Главное - в этой фразе. Это значит, что проект можно будет потом наращивать, переходить на любое удаленное управление по сети. Только сразу делайте с трансформаторами, как положено. На 3-х метрах по земле помех не будет? Хотите рискнуть и проверить? Или без риска и с гарантией? И для отладки слэйвов не придется ничего изобретать, просто подключите к свитчу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shodan_x 0 13 мая, 2019 Опубликовано 13 мая, 2019 (изменено) · Жалоба 15 minutes ago, ko80 said: Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще. Если корпус пластик - вафля хорошее решение. На 2.4 есть контроллеры с вафлей на борту. На стороне мастера какой-нить микротик поставить с несколькими каналами (до 3-х если 54 мегабита на канал) как точка доступа-конвертор среды. На 5 встроенной вафли я пока не встречал, но можно поискать, если найдется полоса будет достаточной и для большего числа датчиков. Либо посмотреть в сторону n-стандарта на 2.4, но контроллеров с встроенным n я пока тоже че-то не встречал, но вики говорит что они есть. Тогда вообще о злосчастных проводах забудите! Изменено 13 мая, 2019 пользователем shodan_x Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 6 минут назад, ko80 сказал: Так у нас и разъем не влезает, все провода будут впаяны. Неразборная конструкция вообще. Соединить в кольцо. TX мастера - на RX 1-го ведомого, TX каждого предыдущего ведомого - на RX каждого последующего ведомого, TX последнего ведомого - на RX мастера. Тогда нужна будет только одна пара проводов и каждый сегмент передачи будет работать как точка-точка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться