Как сделать несколько CAN звездой

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Открыл глаза
Аватара пользователя
Сообщения: 71
Зарегистрирован: Пн июн 11, 2007 14:16:06
Откуда: Таганрог

Сообщение slesar »

Приветствую всех.

Собственно вопрос в теме поста, как по простому физически реализовать несколько отдельных CAN шин под управлением одного микроконтроллера (с помощью микросхем трансиверов/мостов/буфферов/ретрансляторов)? У контроллеров обычно 1-2 CAN интерфейсов, а требуется больше отдельных линий.
С учетом, что контроллер будет управлять всеми абонентами, и общение между абонентами будет отсутствовать.
Ну и чтобы минимизировать количество арбитража, т.е. вариант когда два трансивера сидят на одном CAN контроллера не очень радует.

RS-485 тоже рассматриваю как вариант, но проблема в принципе та же, абонентов много, а значит требуется несколько линий, которые нужно физически организовать.
Но интереснее CAN.
Канифоли много не бывает!
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

ну, 1-2 CAN для мк - это совсем не догма. Берем SPC56 (ST) или XMC4000 (Infineon) - там штук шесть. Или Инфинеоновские Аурих (AURIX) - там и 12 штук есть, а мож и больше
или вот опять стм - Chorus 10M SPC58NH9X - там какого-то MCAN аж 16

Конечно, это всё пипец денег, но раз и задача специфичная, то... да и у китая наверняка что-то есть.

https://www.infineon.com/cms/en/product ... 9xxa-adas/
Контактная информация:
Реклама
u37
Сверлит текстолит когтями
Сообщения: 1255
Зарегистрирован: Пн май 01, 2017 20:01:45

Сообщение u37 »

Если вы не собираетесь принимать сообщения от slave и сам обмен будет строго по направлениям - ставьте несколько трансиверов с переключателем типа CD4052 для подключения одного-из-кучи трансивера к выходу CAN контроллера. Учтите, что отключенный трансивер должен переходить в адекватное состояние. Кроме того, учитывайте вхождение-выход.
Вообще, я не совсем понимаю, почему нельзя сделать одну шину, с бОльшем кол-вом устройств. Если нужна надежность и устойчивость, возьмите шину/трансиверы FT CAN.
Открыл глаза
Аватара пользователя
Сообщения: 71
Зарегистрирован: Пн июн 11, 2007 14:16:06
Откуда: Таганрог

Сообщение slesar »

[uquote="u37",url="/forum/viewtopic.php?p=4434572#p4434572"]Вообще, я не совсем понимаю, почему нельзя сделать одну шину, с бОльшем кол-вом устройств.[/uquote]

Так у большинства трансиверов вроде ограничение около 100 абонентов. Или я не прав?

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

Добавлено after 9 minutes 39 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4434564#p4434564"]Chorus 10M SPC58NH9X - там какого-то MCAN аж 16[/uquote]

:shock: Интересный экземпляр судя по даташиту. Попробую поискать что он стОит и можно ли его достать. спасибо за идею
Канифоли много не бывает!
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

это я наспех глядел. вполне возможно, есть что-то подешевле у китайцев

Добавлено after 8 minutes 50 seconds:
Chorus 10M SPC58NH9X - 45,5 долл. от 1 штуки в магазине ST... ну, в принципе, терпимая цена. Вот только купить сейчас выйдет за сам процесс ещё ого-го
Контактная информация:
Реклама
u37
Сверлит текстолит когтями
Сообщения: 1255
Зарегистрирован: Пн май 01, 2017 20:01:45

Сообщение u37 »

Гм. Широковещательные сообщения вполне "отравляются".
Впрочем, обсуждать сетку из сотЕН абонентов как-то не интересно.
Реклама
Это не хвост, это антенна
Сообщения: 1327
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

Не понял, в чём проблема.
И в 485, и в CAN всё равно ведь используются отдельные микросхемы трансиверов. Что мешает соединять их линии Rx через пару последовательных инверторов с открытым коллектором для получения монтажного "И"? Ну или ставьте трансиверы с SPI и/или I2С, коих полно у Maxim и TI.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

[uquote="slesar",url="/forum/viewtopic.php?p=4434573#p4434573"]идея в простой топологии, чтобы все слушали широковещательное сообщение, но исполнял только тот абонент, кому оно подходит.[/uquote]
1. CAN с длинным заголовком логически поддерживает до 2^28 абонентов. Физически поменьше конечно.
2. Вы что-то путаете. Широкополосные сообщения затем и нужны, чтобы всем слушать. Нужно сообщение кому-то одному - посылаете адресное сообщение. Зачем использовать наоборот?
3. Коммутировать CAN не лучшая идея, так как нужны подтверждения на ответы, терминальные резисторы и подтяжка линий драйверами.
Контактная информация:
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

[uquote="GARMIN",url="/forum/viewtopic.php?p=4438275#p4438275"]2. Вы что-то путаете. Широкополосные сообщения затем и нужны, чтобы всем слушать. Нужно сообщение кому-то одному - посылаете адресное сообщение. Зачем использовать наоборот?[/uquote]
например, как сигнал SOS: слышат все, но бегут спасать те, кто рядом, кто могут и т.д. То есть, отправляющий широковещательное не обязан знать всех условий у получателей. ТС так и сказал:
slesar писал(а):чтобы все слушали широковещательное сообщение, но исполнял только тот абонент, кому оно подходит.
что логично и экономичней.
Контактная информация:
Ответить

Вернуться в «Периферия»