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

Подключение передатчика CAN и RS232 к одному UART

Здравствуйте, товарищи!!!

Подскажите, можно ли непосредственно вешать два передатчика на один канал UART ? Или нужно вешать какие-нибудь буферы?

Если нет, то объясните, пожалуйста, почему.

 

Для пояснения смотрите вложенный рисунок...

post-6848-1239690087_thumb.jpg

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


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

CAN трансивер ВООБЩЕ нельзя вешать на UART (если вы конечно хотите получить CAN) - у них совершенно разные протоколы

Вешать более 2х девайсов на UART можно, но не напрямую - нужно комутировать их входы и выходы. В любой момент времени к UART должен быть подключен только одно устройство. (По крайней мере приемное, передатчиков можно повесить несколько в параллель, только они все будут принимать одно и то же)

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


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

В данном случае просто используются уровни CAN, а дальше это вырождается в обычный UART.

XVR, не подскажете, как лучше осуществлять коммутацию?

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


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

Обычно комутацию не делают, а применяют передатчики RS485. Например ad485 или ad3485. Выбор устройства, к которому обращаются осуществляется програмно по принципу адресации. Для этого применяют протоколы. Например MODBUS.

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


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

Подскажите, можно ли непосредственно вешать два передатчика на один канал UART ? Или нужно вешать какие-нибудь буферы?

Два передатчика можно вешать, а вот два приемника - нельзя. Сделайте монтажное ИЛИ, чтобы активный сигнал с любого приемника попадал на вход контроллера. Можно просто на диодах.

Надеюсь, что Вы понимаете, что Вы делаете и зачем. Потому как большинству это непонятно.

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


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

Мне нужно, чтобы в конкретный момент времени можно было передавать/принимать данные по одному передатчику (т.е. ситуацию когда передают или принимают оба исключается).

Например, одна программа позволяет передавать только по CAN, мне нужно, чтобы при этом передатчик RS232 не мешал.

В другом, случае, когда зашита другая программа, передача осуществляется по RS232, ну и в данном случае не должен мешать CAN.

 

Предполагаю сделать так: CAN изолируется при помощи ADUM1300, у данной микросхемы есть вход, позволяющий перевести выходы в Z-состояние, RS232 не развязан, но я использую передатчик SP3222EEA, который также позволяет переводить ножки в высоко-импедансное состояние.

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


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

Пойдет. Правда использовать ADUM1300 в качестве буфера с Z состоянием - несколько из пушки по воробьям :) Но если нужна гальваническая развязка - то вполне.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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