|
CAN и mcu на 3.3 вольта, Вопрос небольшой |
|
|
|
Oct 5 2007, 15:41
|
Группа: Участник
Сообщений: 9
Регистрация: 5-10-07
Пользователь №: 31 103

|
Здрасьте всем! Нашел этот форум, хочу вопрос сразу задать. Кто-нибудь делал can-сеть, используя микроконтроллеры на 3.3 вольта? У меня случай следующий: все устройства работают на MSP430 контроллерах. К компу подключается главное устройство через usb (philips pdiusbd12), а все остальные устройства хочу подключить через can. Была попытка вначале реализовать подключение на rs232 с использованием max3323 (позволяет мультиадресную шину построить), но уж больно тяжело протокол реализуется. Нужны горячие подключения/отключения, раздача адресов и все прочие радости. Насколько я понял из прочитанного, можно использовать MCP2515 на 3.3 вольта и MCP2551 от usb-шных 5 вольт. Так ли это? Не будет конфликтов по уровням? Микроконтроллеры заменить не получится... Протокол скорее всего буду делать свой, потому что всё, что будет в эту сеть включаться, будет только моё - различные по функциям устройства. Вопрос пока только в правильном подключении. Дальше, возможно, будет еще куча вопросов. :-) Спасибо за любые советы!
|
|
|
|
|
 |
Ответов
(1 - 8)
|
Oct 5 2007, 17:31
|
Группа: Участник
Сообщений: 9
Регистрация: 5-10-07
Пользователь №: 31 103

|
Цитата(rezident @ Oct 5 2007, 20:08)  Как-то сумбурно оформлен вопрос. Вас волнует согласование м/с драйвера CAN, запитанной от 5В, и MSP430, запитанного от 3,3В? Да, несколько сумбурно получилось... Попробую поподробнее. В MSP430 нет can-модуля. В качестве can-контроллера я хочу использовать MCP2515, запитав его от 3.3 вольт. А в качестве трансивера либо MCP2551, либо PCA82C250 - вроде они идентичны. Трансивер питается только от 5 вольт. Вопрос в следующем - корректно ли так сделать? Единственно, что неясно, как 5-вольтовый уровень от трансивера воспримется контроллером MCP2515. Вроде бы входы должны быть толерантны к напряжению, большему чем рабочее...
|
|
|
|
|
Oct 5 2007, 18:41
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Yuricsson @ Oct 5 2007, 23:31)  Единственно, что неясно, как 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 на худой конец.
|
|
|
|
|
Oct 5 2007, 19:02
|
Группа: Участник
Сообщений: 9
Регистрация: 5-10-07
Пользователь №: 31 103

|
Спасибо за разъяснение. Я уже полдня сижу даташиты изучаю - тоже вычитал, что трансивер нормально ест 3.3 вольтовые уровни, а вот по поводу MCP2515 все сомневался. Теперь понятно. По поводу гальваноразвязки - насколько это необходимо? У меня вся сеть будет питаться по USB от одного главного устройства. Внешних источников питание пока не предусматривается. Потребление в сумме не больше легальных 500 мА. Если, на крайний случай, появится что-то с внешним источником питания, можно ведь только это нечто и развязать? IMHO... Напоследок: я вообще в правильном направлении двигаюсь?
Сообщение отредактировал Yuricsson - Oct 5 2007, 19:07
|
|
|
|
|
Oct 5 2007, 19:38
|
Группа: Участник
Сообщений: 9
Регистрация: 5-10-07
Пользователь №: 31 103

|
Цели... Я так понимаю, что с RS-485 мне придется самому придумывать фреймы, арбитраж, контрольные суммы и кучу нюансов. Хотелось бы всего этого избежать. Меньше жил в кабелях. Длина сети в пределах одного помещения. Ну как-то к CAN пришел в размышлениях... Пока что экспериментальные образцы работают на rs232, но мне надоело - сейчас активно придумываются новые функции устройств, и приходится каждый раз все переделывать и передумывать буквально заново. И еще с rs-232 пришлось dip-переключатель ставить, чтобы только одно устройство нагружало линию. С CAN таких проблем, как мне кажется, будет меньше.
|
|
|
|
|
Oct 5 2007, 20:05
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Yuricsson @ Oct 6 2007, 01:38)  Цели... Я так понимаю, что с RS-485 мне придется самому придумывать фреймы, арбитраж, контрольные суммы и кучу нюансов. Хотелось бы всего этого избежать. Зачем придумывать? Все уже украдено до нас  Или вы думаете, что используя CAN избежите какие-то уровни OSI выше второго? У вас мультимастерная сеть предполагается? Иначе откуда фреймы и арбитраж? Цитата(Yuricsson @ Oct 6 2007, 01:38)  Меньше жил в кабелях. Это с чего же меньше? Столько же сколько и у RS485. Цитата(Yuricsson @ Oct 6 2007, 01:38)  Длина сети в пределах одного помещения. Ну как-то к CAN пришел в размышлениях... Я не против CAN, но поскольку Цитата(Yuricsson @ Oct 6 2007, 01:38)  сейчас активно придумываются новые функции устройств, и приходится каждый раз все переделывать и передумывать буквально заново. может вначале стоит обдумать, посмотреть как это уже реализовано другими, и только потом делать? А то потом придете к тому, что радиоканал нужно было использовать WiFi там или ZigBee и опять все переделывать.
|
|
|
|
|
Apr 27 2009, 09:03
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 31-12-07
Из: Фрязино М.О.
Пользователь №: 33 753

|
Цитата(rezident @ Oct 5 2007, 22:41)  И также от MCP2515 при запитке последней от 3.3В нормально примет (у MCP2515 VOH>=Vdd-0.7V). У MCP2515 VOH=2.6В при питании 3,3 В , а у PCA82C251 VIH=0.8*Vcc=4В при питании т 5 В т.е. работать не будет или я что-то не понял?
Сообщение отредактировал Denisnovel - Apr 27 2009, 09:04
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|