Как связать два микроконтроллера по UART?

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 22, 2011 18:41:48

Сообщение Ледокот »

Здравствуйте!
Пытаюсь соединить по UART два микроконтроллера 1986ВЕ91Т производства "Миландр", но не суть важно... Ищу в интернетах схему соединения по UART, и не могу понять, какая из них правильная. Для начала есть два варианта:
Изображение
Изображение
При этом в первой схеме при высоком уровне на выводе TX 1-го контроллера получаем низкий уровень на выводе RX 2-го... А во второй схеме при высоком уровне на выводе TX источника получаем также высокий уровень на выводе RX приёмника. Опять же, где-то приводятся схемы с резисторами, где-то без резисторов.
Да, кстати, контроллеры у меня будут гальванически развязаны, поэтому мне ближе вторая схема, но непонятно, возможно, мне следует "перевернуть" вход или выход оптрона, чтобы при высоком уровне на TX источника получить высокий уровень на RX приёмника? 1-я схема не вызывает доверия, т.к. резистор в 4,7 кОм явно великоват для использования на входе оптрона...

Спасибо за внимание :)
Если я где-то ошибаюсь, прошу от меня этого не скрывать. Заранее очень признателен :)
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25595
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Baud Rate какой?
От этого зависит тип оптрона.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Из одного моего старого проекта. Работает как зверь. А с чего бы ему не работать ?
Изображение
Вложения
TxDRxD.JPG
(9.84 КБ) 3998 скачиваний
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 22, 2011 18:41:48

Сообщение Ледокот »

КРАМ писал(а):Baud Rate какой?
От этого зависит тип оптрона.
Спасибо за ответ. 9600 бод. Вроде разобрался уже, схему подключения возьму у смежника, который вторым контроллером занимается.
Если я где-то ошибаюсь, прошу от меня этого не скрывать. Заранее очень признателен :)
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 22, 2011 18:41:48

Сообщение Ледокот »

Jack_A писал(а):Из одного моего старого проекта. Работает как зверь. А с чего бы ему не работать ?
Спасибо, скопирую Ваше решение, кстати, именно это я и имел в виду под "перевернуть оптрон" (у Вас на выход TX подключается к катоду оптрона, а не к аноду, как на первой схеме).
Если я где-то ошибаюсь, прошу от меня этого не скрывать. Заранее очень признателен :)
Контактная информация:
Реклама
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

Ледокот писал(а):Пытаюсь соединить по UART два микроконтроллера
Ограничения на применение импорта есть?
Если есть, то я рекомендовал бы применить микросхемы 5559ИН10АУ. Гальванической развязки, правда нет, но зато дифференциальная пара в протоколе RS-485 гораздо более устойчива к помехам, нежели обычная линия с уровнями ТТЛ.

А если ограничений на импорт нет, то рекомендую микросхему ADM2484EBRWZ - приемопередатчик шины RS485/422 с гальванической развязкой. Требует второго питания для выходных цепей, но при отсутствии ограничений на импорт дешевый DC-DC преобразователь не проблема. На другой стороне можно поставить приемопередатчик типа ADM1485.

Если линия связи длинная, то RS-485 гораздо надежней.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Если длинная, то таки да, а если в пределах комнаты, то это из пушки по воробьям. Банальная токовая петля рулит
akl
Друг Кота
Сообщения: 4468
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Alkul писал(а):... рекомендую микросхему ADM2484EBRWZ - приемопередатчик шины RS485/422 с гальванической развязкой. Требует второго питания для выходных цепей, но при отсутствии ограничений на импорт дешевый DC-DC преобразователь не проблема. На другой стороне можно поставить приемопередатчик типа ADM1485. Если линия связи длинная, то RS-485 гораздо надежней.
ADM2587 интереснее, т.к. не нужен источник питания линии.
Для UART неплохо показал себя ADuM1201. Но, всё равно, токовая петля (И2 в старину :) ) мне больше нравится.
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

akl писал(а):ADM2587 интереснее
Спасибо, интересная микросхема
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 22, 2011 18:41:48

Сообщение Ледокот »

Alkul писал(а): ... я рекомендовал бы применить микросхемы 5559ИН10АУ. Гальванической развязки, правда нет, но зато дифференциальная пара в протоколе RS-485 гораздо более устойчива к помехам, нежели обычная линия с уровнями ТТЛ.
Простите за дурацкий вопрос, но я пока не знаком с протоколом RS-485 и поэтому не могу себе представить, чем интерфейсная микросхема для протокола RS-485 поможет мне в связи по протоколу UART... Может быть подскажете хотя бы в общих чертах, как её можно использовать в UART?
Если я где-то ошибаюсь, прошу от меня этого не скрывать. Заранее очень признателен :)
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2365
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград

Сообщение Dmitry Dubrovenko »

Ледокот писал(а):я пока не знаком с протоколом RS-485
RS-485, это не протокол, а интерфейс. :)
Т.е. разновидность UART'а (как RS-232).
Может быть, как дуплексным, так и полудуплексным.
Отличается повышенной дальностью (опять же, зависит от скорости).
Длиннее, наверное, только оптика.
ICQ нет, и, в ближайшее время, не будет.
Контактная информация:
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

Ледокот писал(а):Простите за дурацкий вопрос, но я пока не знаком с протоколом RS-485
RS-485, равно как и RS-422, а также RS-232 абсолютно "прозрачны" для пользователя.
Если вы связываете два МК по UART и в "разрыв" этой цепи вставляете два преобразователя интерфейса TTL<->RS485 и RS-485<->TTL, то МК, "общающиеся" друг с другом по UART, даже не "заметят" того, что в линии было преобразование из TTL в RS-485 и обратно. На программах МК это абсолютно не скажется.
Друг Кота
Аватара пользователя
Сообщения: 25595
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Dmitry Dubrovenko писал(а):RS-485, это не протокол, а интерфейс. :)
Таки протокол... И таки интерфейс.
Точнее, протокол ФИЗИЧЕСКОГО уровня ПОСЛЕДОВАТЕЛЬНОГО интерфейса.
http://ru.wikipedia.org/wiki/RS-485
Для общего понимания.
Протокол (интерфейса) - это СТАНДАРТНОЕ ОПИСАНИЕ ИНТЕРФЕЙСА. Т.е. ДОКУМЕНТ на этот интерфейс.
Документ может описывать разные УРОВНИ интерфейса.
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Alkul писал(а): МК, "общающиеся" друг с другом по UART, даже не "заметят" того, что в линии было преобразование из TTL в RS-485 и обратно.
При условии, что преобразователь сам умеет определять направление передачи и не надо программно дёргать пин преобразователя, отвечающий за это направление. Речь, естественно, идёт о полудуплексе.
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Сообщение Alkul »

Jack_A писал(а):При условии, что преобразователь сам умеет определять направление передачи и не надо программно дёргать пин преобразователя, отвечающий за это направление.
Согласен.
Ответить

Вернуться в «Периферия»