George_R
Nov 24 2016, 22:15
Всем доброго дня! Прошу вправить мне мозги.
Имею задачу с одного аппаратного модуля в МК принимать-передавать данные в две низкоскоростные шины.
Предпосылки - никаких сложных операций не требуется, а интервал между пакетами более 50мс по каждой шине дает хороший запас на переключение
Полностью "то что нужно" имеется в чипе AMIS-42700 , который сложно доставаем.
Из доставаемых чипов с функцией Standby имеем SN65HVD231 , TJA1042T
На первый взгляд все ок. При ближайшем рассмотрении вылезают следующие детали:
У SN65HVD231 в ждущем режиме оба пина Rx/Tx зачем-то переводятся в логическую единицу (а не в третье состояние, как мне нужно)
У TJA1042 в ждущем режиме пин Rx тоже не в третьем состоянии, а каким-то образом продолжает реагировать на события в шине
Т.е. полностью отрубить его можно только по питанию
Можно влепить контроллер с двумя аппаратными CAN, но это будет из пушки по воробьям
Из прочих вариантов вижу только 74HC125 , задержка распространения 150нс совершенно не смущает (если смутит контроллер, будет HCT125 или LVC125)
Может быть я пропустил какой-то распространенный вариант выхода из положения, или я хочу странного?
не до конца раскрыта задача.
какой МК?
если есть ремап КАН-ножек - то к разным ногам подцепить,
если нету - выбрать МК с ремапом и переконфигурить пады из программы on-the-fly
///а так да - 74HC125
хотя вкрадывается крамольная мысль - а саму линию допустимо всякими аналоговыми муксами щёлкать? типа CD405x (наибольший вопрос - сколько там Ом набегает на ключе)
George_R
Nov 27 2016, 07:56
Большое спасибо за идею про ремап! В следующем девайсе испытаю. Это именно то зачем я задал вопрос на форуме.
В нынешнем варианте у МК корпус где мало ног, так что ремап невозможен. STM32F042 . Пока попробую обойтись LVC125. Не нужный в данный момент Tx привяжу к рецессивному уровню на всякий случай.
esaulenka
Dec 1 2016, 12:47
Если шины действительно медленные, можно вообще на двух диодах и резисторе собрать логическое "И".
А в мультиплексор на CAN-H, CAN-L я не верю. Хотя если помех и криворуких монтажников там не будет - почему б и нет?
George_R
Dec 2 2016, 04:50
Мультиплексор если и ставить то разумеется не CANH, CANL , а Rx-Tx
Ремап идея то что надо, нет смысла в диодном колхозе
Цитата(esaulenka @ Dec 1 2016, 15:47)

Если шины действительно медленные, можно вообще на двух диодах и резисторе собрать логическое "И".
не могли бы пояснить, что это даёт и как защитит от одновременной передачи узлами сети по обоим шинам сообщения, которое на приемной стороне (после логического И) в этом случае будет искажено.
esaulenka
Dec 7 2016, 16:37
... применять это поделие надо вместе с отключаемыми трансиверами (Георгий их уже в первом посте перечислил).
Но ремап, соглашусь, будет лучше. И трансиверы можно обычные использовать, без enable.
Цитата(esaulenka @ Dec 7 2016, 19:37)

Но ремап, соглашусь, будет лучше. И трансиверы можно обычные использовать, без enable.
а что для CAN бывают трансиверы с enable? можно пример?
esaulenka
Dec 13 2016, 15:25
Так в первом же сообщении: AMIS-42700, SN65HVD231, TJA1042T
Самолично работал с тексасом SN65HVD231. Отключается. Только мне это не нужно было, мне нужно было только отключать передатчик, поменяли на SN65HVD230
leocat
Dec 14 2016, 19:18
Разумнее использовать пару напр. MCP2515 по SPI интерфейсу. Коммутация CS SPI. Дешево и сердито. У каждого чипа есть свои буферы, по прерыванию на прием видно, что данные получены.
novikovfb
Dec 15 2016, 04:41
Цитата(leocat @ Dec 14 2016, 22:18)

Разумнее использовать пару напр. MCP2515 по SPI интерфейсу. Коммутация CS SPI. Дешево и сердито. У каждого чипа есть свои буферы, по прерыванию на прием видно, что данные получены.
имея на борту контроллер CAN, городить огород с внешним контроллером - весьма сомнительное удовольствие.
leocat
Dec 15 2016, 13:33
Цитата(novikovfb @ Dec 15 2016, 04:41)

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

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

Посмотрел. Полтора бакса стоит.
STM32F042, с которого начиналась тема, стоит МЕНЬШЕ. Посмотрите, что он умеет. Беглое сравнение документации показывает, что по функционалу они очень близки.
Хм где вы такой нашли?
MCP2515-I/ST - $0.75
Вы на STM32F042 с CAN работали? Все шоколадно?
Цитата(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
Dec 16 2016, 16:47
Цитата(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
Dec 17 2016, 17:09
Цитата(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 были "приколы". Уже не помню точно, что за проблемы, но в итоге от этого чипа отказался.
С другими - не пробовал.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.