Перейти к содержанию
    

CAN и mcu на 3.3 вольта

Здрасьте всем!

Нашел этот форум, хочу вопрос сразу задать.

Кто-нибудь делал can-сеть, используя микроконтроллеры на 3.3 вольта?

У меня случай следующий: все устройства работают на MSP430 контроллерах. К компу подключается главное устройство через usb (philips pdiusbd12), а все остальные устройства хочу подключить через can.

Была попытка вначале реализовать подключение на rs232 с использованием max3323 (позволяет мультиадресную шину построить), но уж больно тяжело протокол реализуется. Нужны горячие подключения/отключения, раздача адресов и все прочие радости.

Насколько я понял из прочитанного, можно использовать MCP2515 на 3.3 вольта и MCP2551 от usb-шных 5 вольт. Так ли это? Не будет конфликтов по уровням? Микроконтроллеры заменить не получится...

Протокол скорее всего буду делать свой, потому что всё, что будет в эту сеть включаться, будет только моё - различные по функциям устройства.

Вопрос пока только в правильном подключении. Дальше, возможно, будет еще куча вопросов. :-)

Спасибо за любые советы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как-то сумбурно оформлен вопрос. Вас волнует согласование м/с драйвера CAN, запитанной от 5В, и MSP430, запитанного от 3,3В? Никакой проблемы это не составляет. Выходные уровни MSP430 будут нормально приняты MCP2551, т.к. у второй м/с уровни TTL (VIH>=2В). А в обратном направлении согласование делается простым делителем на двух резисторах. Или даже на 1 (последовательно включенном) резисторе. Только номинал его нужно выбрать достаточно большим, чтобы не превысить максимально допустимой величины тока защитного диода пина в MSP430 (не менее 2,3кОм при указанных напряжениях питания).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как-то сумбурно оформлен вопрос. Вас волнует согласование м/с драйвера CAN, запитанной от 5В, и MSP430, запитанного от 3,3В?

 

Да, несколько сумбурно получилось... Попробую поподробнее. В MSP430 нет can-модуля. В качестве can-контроллера я хочу использовать MCP2515, запитав его от 3.3 вольт. А в качестве трансивера либо MCP2551, либо PCA82C250 - вроде они идентичны. Трансивер питается только от 5 вольт. Вопрос в следующем - корректно ли так сделать? Единственно, что неясно, как 5-вольтовый уровень от трансивера воспримется контроллером MCP2515. Вроде бы входы должны быть толерантны к напряжению, большему чем рабочее...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Единственно, что неясно, как 5-вольтовый уровень от трансивера воспримется контроллером MCP2515. Вроде бы входы должны быть толерантны к напряжению, большему чем рабочее...

Ага. Значит только два сигнала требуется согласовать по уровням (RXCAN и TXCAN). Вот тут имеется некоторая заковырка, хотя и не криминальная.

Кстати, советую вам никогда не гадать, а просто внимательно читать даташиты от производителя!

Насчет MCP2551 я уже писал, эта м/с нормально воспринимает 3.3В уровни от MSP430. И также от MCP2515 при запитке последней от 3.3В нормально примет (у MCP2515 VOH>=Vdd-0.7V). А вот вход RXCAN у MCP2515 вовсе не толерантен к 5В и у него имеется ограничение VIH<=VDD+1.0V. Поэтому придется ограничить входное напряжение. Поставить в качестве буфера м/с, толерантную к 5В уровням (из серии LVC, например) или по "рабоче-крестьянски" :) - резисторами. Тем более, что входной ток по входу RXCAN у MCP2515 небольшой - не более 1мкА.

P.S. кстати, а вы не собираетесь гальванически изолировать трансивер CAN от остальной схемы? А то ведь при гальваноразвязке согласование уровней может само собой получиться. Например, если ADUM1201 применить. Или какие-нибудь быстродействующие оптроны типа HCPL-060L или H11L1 на худой конец.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за разъяснение. Я уже полдня сижу даташиты изучаю - тоже вычитал, что трансивер нормально ест 3.3 вольтовые уровни, а вот по поводу MCP2515 все сомневался. Теперь понятно.

По поводу гальваноразвязки - насколько это необходимо? У меня вся сеть будет питаться по USB от одного главного устройства. Внешних источников питание пока не предусматривается. Потребление в сумме не больше легальных 500 мА. Если, на крайний случай, появится что-то с внешним источником питания, можно ведь только это нечто и развязать? IMHO...

Напоследок: я вообще в правильном направлении двигаюсь? :)

Изменено пользователем Yuricsson

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напоследок: я вообще в правильном направлении двигаюсь? :)

Дык, это смотря по тому, какую цель вы преследуете? :) Например, RS485 проще, дешевле и в принципе тоже можно горячее подключение сделать. Или у вас какие-то немного другие цели?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цели... Я так понимаю, что с RS-485 мне придется самому придумывать фреймы, арбитраж, контрольные суммы и кучу нюансов. Хотелось бы всего этого избежать. Меньше жил в кабелях. Длина сети в пределах одного помещения. Ну как-то к CAN пришел в размышлениях...

Пока что экспериментальные образцы работают на rs232, но мне надоело - сейчас активно придумываются новые функции устройств, и приходится каждый раз все переделывать и передумывать буквально заново. И еще с rs-232 пришлось dip-переключатель ставить, чтобы только одно устройство нагружало линию. С CAN таких проблем, как мне кажется, будет меньше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Цели... Я так понимаю, что с RS-485 мне придется самому придумывать фреймы, арбитраж, контрольные суммы и кучу нюансов. Хотелось бы всего этого избежать.

Зачем придумывать? Все уже украдено до нас :) Или вы думаете, что используя CAN избежите какие-то уровни OSI выше второго? У вас мультимастерная сеть предполагается? Иначе откуда фреймы и арбитраж?

Меньше жил в кабелях.

Это с чего же меньше? Столько же сколько и у RS485.

Длина сети в пределах одного помещения. Ну как-то к CAN пришел в размышлениях...

Я не против CAN, но поскольку

сейчас активно придумываются новые функции устройств, и приходится каждый раз все переделывать и передумывать буквально заново.

может вначале стоит обдумать, посмотреть как это уже реализовано другими, и только потом делать? А то потом придете к тому, что радиоканал нужно было использовать WiFi там или ZigBee и опять все переделывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И также от MCP2515 при запитке последней от 3.3В нормально примет (у MCP2515 VOH>=Vdd-0.7V).

 

У MCP2515 VOH=2.6В при питании 3,3 В , а у PCA82C251 VIH=0.8*Vcc=4В при питании т 5 В т.е. работать не будет или я что-то не понял?

Изменено пользователем Denisnovel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...