Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: программное управление физическим уровнем UART
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
navy2000
Видел в каких то промышленных контроллерах рекламную строчку, что де режим работы UART (RS485/RS422/RS232) переключается программно. Вопрос, как это реализовано в "железе"? Есть многоинтерфейсные драйверы? Или для каждого физического интерфейса реализован собственный драйвер и выведено это хозяйство на разные разъемы, а переключаются линии данных UART-а? Или все интерфейсы собраны в одном разъеме? Как тогда решается вопрос совместимости? Ведь что воткнут в разъем это человеческий фактор, следовательно нужно рассчитывать на неправильное подключение (не говоря уже про разное количество линий связи на разных физиках). Вообще это общепринятая практика или самоделка?
bill_vs
Посмотрите LTC1543/1544.
navy2000
Цитата(bill_vs @ Sep 28 2010, 23:00) *
Посмотрите LTC1543/1544.


Я имел в виду несколько другое.
Вот такой контроллер
В описании написано:
Последовательные порты 4 х RS-232/422/485, DB9, программно выбираемые
Причем выводятся все на один разъем, на одни и те же ноги.
Это самодеятельность или есть стандартная реализация? Ни разу не видел такого в ПК.
И как они это реализуют, на какой аппаратной части?
rezident
Цитата(navy2000 @ Sep 29 2010, 20:38) *
И как они это реализуют, на какой аппаратной части?
ИМХО трансивером RS422 с отключаемым передатчиком или двумя трансиверами RS485 (аля 4-wire RS485) + стандартный трансивер RS232 для остальных сигналов RS232. У трансиверов RS422/485 д.б. минимальная защита по входам.
navy2000
Цитата(rezident @ Sep 29 2010, 21:49) *
ИМХО трансивером RS422 с отключаемым передатчиком или двумя трансиверами RS485 (аля 4-wire RS485) + стандартный трансивер RS232 для остальных сигналов RS232. У трансиверов RS422/485 д.б. минимальная защита по входам.


Примерно понятно. У трансиверов RS-485 выходы можно перевести в третье состояние, хотя защита от +/-12В конечно должна быть штатно, а вот трансивер RS-232 c переводом выходов в третье состояние я что то не встречал. Может посоветуете?

И еще вопрос по ходу. В приведенном выше контроллере для переключения прием передача (RS-485) используется технология ADDC.
Вот рекнамное описание
Но из рекламы совершенно не понятно как оно работает. Можете объяснить?
rezident
Цитата(navy2000 @ Sep 30 2010, 09:14) *
Примерно понятно. У трансиверов RS-485 выходы можно перевести в третье состояние, хотя защита от +/-12В конечно должна быть штатно, а вот трансивер RS-232 c переводом выходов в третье состояние я что то не встречал. Может посоветуете?
Вы не поняли. RXD и TXD через те же самые трансиверы RS485, а все остальные сигналы (RTS. CTS и т.д.) через отдельный трансивер RS232.
Цитата(navy2000 @ Sep 30 2010, 09:14) *
И еще вопрос по ходу. В приведенном выше контроллере для переключения прием передача (RS-485) используется технология ADDC.
Вот рекнамное описание
Но из рекламы совершенно не понятно как оно работает. Можете объяснить?
Да бог его знает, чего они так обозвали. laughing.gif У меня тоже есть своя технология, но названия я ей не придумал biggrin.gif Все зависит от того, известен протокол и формат посылки или нет? Если известен, но задержки можно свести с минимуму. Если не известен, то приходится работать с битовым потоком и минимальная задержка переключения - один символ в зависимости от последнего выловленного из потока битового интервала.
navy2000
Цитата(rezident @ Sep 30 2010, 18:37) *
Вы не поняли. RXD и TXD через те же самые трансиверы RS485, а все остальные сигналы (RTS. CTS и т.д.) через отдельный трансивер RS232.


Это как? Как приемник RS-232 будет принимать эти сигналы?
rezident
Цитата(navy2000 @ Sep 30 2010, 18:13) *
Это как? Как приемник RS-232 будет принимать эти сигналы?

Нда. В очередной раз констатирую, что объяснять я видимо не умею sad.gif Хотя как еще нужно написать? Шрифтом выделить что ли?
RXD и TXD через те же самые трансиверы RS485
Приемник RS232 в PC, например, совершенно нормально примет сигнал с передатчика RS485/RS422, т.к. по стандарту у него (приемника RS232) чувствительность ±3V, а в реальности большинство этих приемников нормально принимают сигналы уровня TTLV (0...2В). Передатчик же RS485 без нагрузки (терминальных резисторов) выдает выходной сигнал размахом практически в его питание (5В). Подключаете так:

ПК RS232 --- прибор RS232
---------------------------------------
GND --- GND (общий провод трансивера RS232)
RTS (выход) --- RTS (вход)
CTS (вход) --- CTS (выход)
DTR (выход) --- DTR (вход)
DSR (вход) --- DSR (выход)
DCD (вход) --- DCD (выход)
RI не используется

ПК RS232 --- прибор 4-wire RS485/RS422
---------------------------------------
GND --- SH (общий провод трансивера RS485)
RXD --- Z (инв. выход)
TXD --- B (инв. вход)
GND --- A (неинв. вход)

На входах A и B при этом должна стоять какая-то защита, чтобы не превысить ограничение по синфазному напряжению для трансиверов RS485 (-7В...+12В).
navy2000
Спасибо за пояснения. Но как то по любительски это. Ни одна комиссия не примет.
Я тут нарыл довольно старое решение.
Прав был bill_vs
Цитата(bill_vs @ Sep 28 2010, 23:00) *
Посмотрите LTC1543/1544.

Только мне больше понравилась MAX3160E
Дороговато конечно, но по моему правильно.
Может кто то делает их подешевле? Не подскажете.
rezident
Цитата(navy2000 @ Sep 30 2010, 22:41) *
Спасибо за пояснения. Но как то по любительски это. Ни одна комиссия не примет.
Это лишь один из способов, на реализации которого я не настаиваю laughing.gif Если не нравится неполное соответствие стандарту RS232, то можно и минус на выходе для RXD организовать. Тем более, что по стандарту требуется размах ±5В всего лишь на нагрузке 3кОм.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.