Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Полностью отключаемый CAN трансивер?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
George_R
Всем доброго дня! Прошу вправить мне мозги.
Имею задачу с одного аппаратного модуля в МК принимать-передавать данные в две низкоскоростные шины.
Предпосылки - никаких сложных операций не требуется, а интервал между пакетами более 50мс по каждой шине дает хороший запас на переключение

Полностью "то что нужно" имеется в чипе AMIS-42700 , который сложно доставаем.
Из доставаемых чипов с функцией Standby имеем SN65HVD231 , TJA1042T

На первый взгляд все ок. При ближайшем рассмотрении вылезают следующие детали:
У SN65HVD231 в ждущем режиме оба пина Rx/Tx зачем-то переводятся в логическую единицу (а не в третье состояние, как мне нужно)
У TJA1042 в ждущем режиме пин Rx тоже не в третьем состоянии, а каким-то образом продолжает реагировать на события в шине
Т.е. полностью отрубить его можно только по питанию

Можно влепить контроллер с двумя аппаратными CAN, но это будет из пушки по воробьям
Из прочих вариантов вижу только 74HC125 , задержка распространения 150нс совершенно не смущает (если смутит контроллер, будет HCT125 или LVC125)

Может быть я пропустил какой-то распространенный вариант выхода из положения, или я хочу странного?
Doka
не до конца раскрыта задача.
какой МК?

если есть ремап КАН-ножек - то к разным ногам подцепить,
если нету - выбрать МК с ремапом и переконфигурить пады из программы on-the-fly
///а так да - 74HC125

хотя вкрадывается крамольная мысль - а саму линию допустимо всякими аналоговыми муксами щёлкать? типа CD405x (наибольший вопрос - сколько там Ом набегает на ключе)
George_R
Большое спасибо за идею про ремап! В следующем девайсе испытаю. Это именно то зачем я задал вопрос на форуме.

В нынешнем варианте у МК корпус где мало ног, так что ремап невозможен. STM32F042 . Пока попробую обойтись LVC125. Не нужный в данный момент Tx привяжу к рецессивному уровню на всякий случай.
esaulenka
Если шины действительно медленные, можно вообще на двух диодах и резисторе собрать логическое "И".

А в мультиплексор на CAN-H, CAN-L я не верю. Хотя если помех и криворуких монтажников там не будет - почему б и нет?
George_R
Мультиплексор если и ставить то разумеется не CANH, CANL , а Rx-Tx
Ремап идея то что надо, нет смысла в диодном колхозе
Doka
Цитата(esaulenka @ Dec 1 2016, 15:47) *
Если шины действительно медленные, можно вообще на двух диодах и резисторе собрать логическое "И".


не могли бы пояснить, что это даёт и как защитит от одновременной передачи узлами сети по обоим шинам сообщения, которое на приемной стороне (после логического И) в этом случае будет искажено.
esaulenka
... применять это поделие надо вместе с отключаемыми трансиверами (Георгий их уже в первом посте перечислил).

Но ремап, соглашусь, будет лучше. И трансиверы можно обычные использовать, без enable.
Doka
Цитата(esaulenka @ Dec 7 2016, 19:37) *
Но ремап, соглашусь, будет лучше. И трансиверы можно обычные использовать, без enable.

а что для CAN бывают трансиверы с enable? можно пример?
esaulenka
Так в первом же сообщении: AMIS-42700, SN65HVD231, TJA1042T

Самолично работал с тексасом SN65HVD231. Отключается. Только мне это не нужно было, мне нужно было только отключать передатчик, поменяли на SN65HVD230
leocat
Разумнее использовать пару напр. MCP2515 по SPI интерфейсу. Коммутация CS SPI. Дешево и сердито. У каждого чипа есть свои буферы, по прерыванию на прием видно, что данные получены.
novikovfb
Цитата(leocat @ Dec 14 2016, 22:18) *
Разумнее использовать пару напр. MCP2515 по SPI интерфейсу. Коммутация CS SPI. Дешево и сердито. У каждого чипа есть свои буферы, по прерыванию на прием видно, что данные получены.

имея на борту контроллер CAN, городить огород с внешним контроллером - весьма сомнительное удовольствие.
leocat
Цитата(novikovfb @ Dec 15 2016, 04:41) *
имея на борту контроллер CAN, городить огород с внешним контроллером - весьма сомнительное удовольствие.

Поначалу тоже так думал...
Зависит от задачи. Не всегда можно обойтись встроенным блоком CAN. Посмотрите, что умеет тот же MCP, его стоимость и во что выльется самостоятельная реализация всего этого.
esaulenka
Цитата(leocat @ Dec 15 2016, 16:33) *
Поначалу тоже так думал...
Зависит от задачи. Не всегда можно обойтись встроенным блоком CAN. Посмотрите, что умеет тот же MCP, его стоимость и во что выльется самостоятельная реализация всего этого.

Посмотрел. Полтора бакса стоит.
STM32F042, с которого начиналась тема, стоит МЕНЬШЕ. Посмотрите, что он умеет. Беглое сравнение документации показывает, что по функционалу они очень близки.
leocat
Цитата(esaulenka @ Dec 15 2016, 19:24) *
Посмотрел. Полтора бакса стоит.
STM32F042, с которого начиналась тема, стоит МЕНЬШЕ. Посмотрите, что он умеет. Беглое сравнение документации показывает, что по функционалу они очень близки.

Хм где вы такой нашли?

MCP2515-I/ST - $0.75
Вы на STM32F042 с CAN работали? Все шоколадно?
Doka
Цитата(esaulenka @ Dec 13 2016, 18:25) *
Так в первом же сообщении: AMIS-42700, SN65HVD231, TJA1042T

Самолично работал с тексасом SN65HVD231. Отключается. Только мне это не нужно было, мне нужно было только отключать передатчик, поменяли на SN65HVD230



Очевидно, речь про пин Rs у SN65HVD231:
Код
Rs: Mode select pin: strong pull down to GND = high speed mode, strong pull up to VCC = low power mode, 10kΩ to 100kΩ pull down to GND = slope control mode

Sleep Mode of the HVD231
The device remains in a very low power-sleep mode until the circuit is reactivated with a logic low applied to RS (pin 8).
While in this sleep mode, the bus-pins are in a high-impedance state, while the D and R pins default to a logic high.


в таком случае при отсутствии ремапа вопрос ТС решается не менее элегантно: два SN65HVD231 и одно "логическое И" (например SN74LVC1G08) на выходах R дравйвров

ЗЫЖ 1рубль 80коп в розницу: https://www.terraelectronica.ru/catalog_info.php?CODE=605509
esaulenka
Цитата(leocat @ Dec 16 2016, 10:07) *
Хм где вы такой нашли?
MCP2515-I/ST - $0.75

https://octopart.com/search?q=MCP2515-I%2FST


Цитата(leocat @ Dec 16 2016, 10:07) *
Вы на STM32F042 с CAN работали? Все шоколадно?

На 105 / 205 / 405 работал. CAN'ы там одинаковые. Работает, при понимании "как оно устроено" вопросов не возникает.
Документация у микрочипа лучше, да - по ST'шной без знания принципов довольно муторно разбираться.
leocat
Цитата(esaulenka @ Dec 16 2016, 16:47) *
https://octopart.com/search?q=MCP2515-I%2FST
На 105 / 205 / 405 работал. CAN'ы там одинаковые. Работает, при понимании "как оно устроено" вопросов не возникает.
Документация у микрочипа лучше, да - по ST'шной без знания принципов довольно муторно разбираться.

Я почему спросил... На 103, 105, 107 все ок. Ну, разве кроме 103, там из-за "особенностей" чипа одновременно нельзя использовать USB и CAN.
С 042 были "приколы". Уже не помню точно, что за проблемы, но в итоге от этого чипа отказался.
С другими - не пробовал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.