Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RS489 & RS485
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Evels
Всем привет!
Помогите, пожалуйста, новичку разобраться с RS232 RS485.
Особенно интересует дуплексная и полудуплексная передача (отличие и взаимосвязь микросхем ADM489 и ADM485)
=AK=
Цитата(Evels @ Aug 19 2009, 22:52) *
Помогите, пожалуйста, новичку разобраться с RS232 RS485.

Почитайте Википедию RS-232, RS-485. Потом сформулируйте, что вам непонятно.

Цитата(Evels @ Aug 19 2009, 22:52) *
Особенно интересует дуплексная и полудуплексная передача (отличие и взаимосвязь микросхем ADM489 и ADM485)

Дуплексная - это когда данные предаются и принимаются одновременно. Для передачи - свой канал, а для приема - свой.
Полудуплексная - это когда один и тот же канал по очереди работает то на прием, то на передачу.

Полудуплекс возможен только тогода, когда передатчик можно выключить, чтобы он не мешал приему. RS485 работает в полудуплексе. А RS232 - в дуплексе, у него передатчик не выключается, поэтому один провод - на прием, другой - на передачу. И RS422 тоже работает в дуплексе, т.е. передатчик все время включен, хотя по уровням сигнала RS422 такой же, как RS485.
rezident
Цитата(Evels @ Aug 19 2009, 19:22) *
Особенно интересует дуплексная и полудуплексная передача (отличие и взаимосвязь микросхем ADM489 и ADM485)
ADM489 имеет раздельные приемник и передатчик, которые могут работать независимо (дуплексная связь). ADM485 тоже имеет раздельные приемник и передатчик, но они объединены по выходу/выходу трансивера внутри м/с. Поэтому на линию связи приемник и передатчик ADM485 могут работать только поочередно (полудуплексная связь). А так, и та и другая м/с однотипны. Обе имеют входы управления приемником и передатчиком трансивера и предназначены для организации интерфейса RS485.
Вот. Так нагляднее наверное будет.
=AK=
Цитата(rezident @ Aug 20 2009, 16:11) *
на линию связи приемник и передатчик ADM485 могут работать только поочередно (полудуплексная связь).


Для получения дуплексной связи можно поставить две штуки ADM485: одна на прием, вторая - на передачу.
rezident
Цитата(=AK= @ Aug 20 2009, 12:53) *
Для получения дуплексной связи можно поставить две штуки ADM485: одна на прием, вторая - на передачу.
Можно. Но вопрос был про отличие (и схожесть) указанных м/с.
Evels
Еще интересует пара вопросиков:
1. как сделать переходник RS-485 RS-232 (к МК подключена микросхема ADM489)?
Примерная схема подключения находится в прикрепленном файле.
Можно взять готовый, но хотелось бы разобраться в подключении. Помогите, пожалуйста.
2. Объясните назначение и подключение сигналов A B Y Z микросхемы ADM489.

Всем заранее благодарен
rezident
Цитата(Evels @ Aug 20 2009, 18:03) *
1. как сделать переходник RS-485 RS-232 (к МК подключена микросхема ADM489)?
Примерная схема подключения находится в прикрепленном файле.
А причем тут МК? Как я понимаю, вам нужен конвертор RS485-RS232 именно для PC? Тогда на вашем рисунке не хватает еще одного трансивера RS485.
Цитата(Evels @ Aug 20 2009, 18:03) *
Можно взять готовый, но хотелось бы разобраться в подключении.
Дык вам "шашечки или ехать" все-таки нужно? laughing.gif С подключением готового конвертора все просто: подключаете одноименные сигналы конверторов к линии и ставите терминаторы на концах линии связи. Только вы определитесь заранее: у вас двухпроводная линия связи или четырехпроводная? Для четырехпроводной линии все гораздо проще - не нужно "переключалку" направления делать.
Цитата(Evels @ Aug 20 2009, 18:03) *
2. Объясните назначение и подключение сигналов A B Y Z микросхемы ADM489.
Вы datasheet читали? Английский разумеете? Там черным по белому назначение выводов написано. A и B это входы приемника трансивера , Y и Z - выходы передатчика трансивера. Интерфейс RS485 - дифференциальный, поэтому входы/выходы у трансивера парные. Для подключения к двухпроводной линии RS485 предварительно соединяете A с Y и B с Z и подключаете их к витой паре. При подключении к четырехпроводной линии RS485 каждую пару сигналов к своей витой паре проводов (A и B к одной паре проводов, Y и Z к другой паре проводов). На концах линий (с каждой стороны) ставите резисторы-терминаторы, величина сопротивления которых зависит от волнового сопротивления вашей витой пары.
Evels
Цитата(rezident @ Aug 20 2009, 15:58) *
А причем тут МК? Как я понимаю, вам нужен конвертор RS485-RS232 именно для PC? Тогда на вашем рисунке не хватает еще одного трансивера RS485.

Да конвертор нужен для ПК. Есть готовый конвертор RS489-RS232. Купил плату AWD10 для управления ДПТ. Так там 485-й интерфейс. Внешними сигналами все управляется, а через переходник RS489-RS232 не работает. Хочу на макетке собрать свой RS485-RS232.


Цитата(rezident @ Aug 20 2009, 15:58) *
Только вы определитесь заранее: у вас двухпроводная линия связи или четырехпроводная? Для четырехпроводной линии все гораздо проще - не нужно "переключалку" направления делать.

Я так понимаю, что лучше делать четырехпроводную (RO RE DE DI)? Подскажите, пожалуйста, как распаять соединение ADM485 и ADM202? Входы А и В подключаются напрямую ко входам А и В 485-й микросхесмы на AWD10. Питание и земля тоже понятно. А как соединять четыре оставшихся? DI 485-й соединить с RO 202-й микросхемы, а RO 485-й с TI 202-й? Как соединять DE и RE?
Поясните про переключалку laughing.gif

Цитата(rezident @ Aug 20 2009, 15:58) *
Вы datasheet читали? Английский разумеете? Там черным по белому назначение выводов написано. A и B это входы приемника трансивера , Y и Z - выходы передатчика трансивера. Интерфейс RS485 - дифференциальный, поэтому входы/выходы у трансивера парные. Для подключения к двухпроводной линии RS485 предварительно соединяете A с Y и B с Z и подключаете их к витой паре. При подключении к четырехпроводной линии RS485 каждую пару сигналов к своей витой паре проводов (A и B к одной паре проводов, Y и Z к другой паре проводов). На концах линий (с каждой стороны) ставите резисторы-терминаторы, величина сопротивления которых зависит от волнового сопротивления вашей витой пары.

Да читал ))
Все перевел, только не понятно было почему по два входа и как их подключать. Спасибо.
rezident
Цитата(Evels @ Aug 20 2009, 20:00) *
Есть готовый конвертор RS489-RS232. Купил плату AWD10 для управления ДПТ. Так там 485-й интерфейс. Внешними сигналами все управляется, а через переходник RS489-RS232 не работает.
Что за RS489? Я не знаю такого интерфейса. cranky.gif Есть двухпроводный RS485 и четырехпроводный RS485. Есть еще RS422, он тоже дифференциальный и четырехпроводный. У вас видимо четырехпроводный RS485, а никакой не RS489, так? Тогда еще раз спрашиваю: сколько у вас проводов в линии связи интерфейса RS485? Если четыре, то подключение очевидно: A<-Y, B<-Z и Y->A, Z->B. Если два, то перед подключением к линии RS485 соедините между собой выводы трансивера ADM489 A с Y и B с Z и только после этого подключайте к двупроводной линии связи. на другой стороне линии RS485 (в каком-то вашем AWD10) линия подключается к сигналам обозначенным A и B (иногда их маркируют D+ и D-)
Цитата(Evels @ Aug 20 2009, 20:00) *
Я так понимаю, что лучше делать четырехпроводную (RO RE DE DI)? Подскажите, пожалуйста, как распаять со единение ADM485 и ADM202?
RO (ADM489 или ADM485) соединяется с T1IN (ADM202) (соответственно T1OUT с RXD COM-порта), DI (ADM489 или ADM485) с R1OUT (ADM202) (R1IN с TXD COM-порта). GND и VCC обеих м/с соединяются и на них подается внешнее питание 5В±5%.
Цитата(Evels @ Aug 20 2009, 20:00) *
Поясните про переключалку laughing.gif

Если линия RS485 четырехпроводная и подключается только к одному устройству (соединения точка-точка), то выводами RE и DE управлять не обязательно. Вклчите и приемник и передатчик принудительно: RE к GND подключите, а DE к VCC (ADM489 или ADM485). Если же линия связи двупроводная, то нужно управлять направлением передачи (прием/передача). Тогда RE и DE объединяются и подключаются к R2OUT (ADM202) и соответственно R2IN подключается к RTS COM-порта. Для управления направлением передачи нужно будет программно в компе переключать сигнал RTS. Если скорость передачи фиксирована и меняться не будет, то можно вместо внешнего сигнала сделать локальную "переключалку", например, поставить одновибратор на NE555, настроив его на перезапуск по спадающему фронту от сигнала на DI и генерацию импульса длительностью чуть больше времени передачи одного символа (T=15/baudrate вполне нормально будет).
Evels
Цитата(rezident @ Aug 20 2009, 18:04) *
Что за RS489? Я не знаю такого интерфейса.

Извиняюсь. Имел в виду не интерфейс, а м/с ADM489 (4 провода). Она находится в готовом переходнике RS485-RS232. А на модуле AWD стоит м/с ADM485 (два провода). Поэтому решил спаять переходник RS485-RS232, заменив ADM489 на ADM485.

Цитата(rezident @ Aug 20 2009, 18:04) *
Если же линия связи двупроводная, то нужно управлять направлением передачи (прием/передача). Тогда RE и DE объединяются и подключаются к R2OUT (ADM202) и соответственно R1IN подключается к RTS COM-порта. Для управления направлением передачи нужно будет программно в компе переключать сигнал RTS.

Огромное Вам спасибо! Теперь со всем разобрался biggrin.gif
=AK=
Цитата(rezident @ Aug 21 2009, 00:34) *
Что за RS489? Я не знаю такого интерфейса. cranky.gif Есть двухпроводный RS485 и четырехпроводный RS485.

Я не знаю такого интерфейса - "четырехпроводный RS485". unsure.gif
rezident
Цитата(=AK= @ Aug 21 2009, 09:14) *
Я не знаю такого интерфейса - "четырехпроводный RS485". unsure.gif
По сути работы это то же что и RS422 - дуплексное соединение точка-точка, но у передатчика есть возможность отключать выход драйвера также, как в случае полудуплекса RS485. Т.е. из 4-х проводного RS485 можно легко сделать 2-х проводный RS485. А вот из 4-х проводного RS422 сделать 2-х проводный RS485 несколько затруднительно. wink.gif
Evels
Цитата(rezident @ Aug 20 2009, 18:04) *
Тогда RE и DE объединяются и подключаются к R2OUT (ADM202) и соответственно R1IN подключается к RTS COM-порта.


R1IN подключается к RTS COM-порта или R2IN?
rezident
Цитата(Evels @ Aug 21 2009, 17:14) *
R1IN подключается к RTS COM-порта или R2IN?
Конечно R2IN! У меня там опечатка. Исправил. Спасибо.
=AK=
Цитата(rezident @ Aug 21 2009, 19:54) *
По сути работы это то же что и RS422 - дуплексное соединение точка-точка, но у передатчика есть возможность отключать выход драйвера

А для чего это надо? И кто это использует?
Dog Pawlowa
Цитата(rezident @ Aug 21 2009, 13:24) *
...А вот из 4-х проводного RS422 сделать 2-х проводный RS485 несколько затруднительно. wink.gif

Не уверен. Многоточечное соединение по RS422 разве не существует? Да оно собственно основное.
Например Measuring Bus по RS422.
Конечно, если на линии два приемопередатчика, то протокол без выключения драйверов будет работать устойчивее, но это мелкое уточнение.
В моих приборах есть программный переключатель для выбора.
rezident
Цитата(=AK= @ Aug 21 2009, 17:43) *
И кто это использует?
MOXA, например, в своих Ethernet-конверерах использует. В утилитах конфигурации отдельным пунктом "4-wire RS485" указан. RS422 у них подключается на эти же контакты и в самом конвертере используются эти же самые драйверы RS485.
Цитата(Dog Pawlowa @ Aug 21 2009, 18:24) *
Не уверен. Многоточечное соединение по RS422 разве не существует? Да оно собственно основное.
Согласно спецификации TIA/EIA-422-B (документ имеется на местном ФТП), дифференциальный интерфейс RS422 предназначен для соединения piont-to-point устройств DTE и DCE. Функционально он аналогичен небалансированному интерфейсу RS423. И хотя допускается к одному выходному драйверу RS422 подключать несколько приемников, но подключения несколько передатчиков RS422 на одну линию не предусмотрено. Последний случай как раз и есть "четырехпроводный" RS485.
Evels
Цитата(rezident @ Aug 20 2009, 18:04) *
Тогда RE и DE объединяются и подключаются к R2OUT (ADM202) и соответственно R2IN подключается к RTS COM-порта.


Я подключил параллельно ADM485 на своей плате (AWD) еще одну такую же м/с. В этом случае все прекрасно работает через имеющийся в наличии преобразователь интерфейсов (как я уже писал у меня преобразователь RS485-RS232, в котором стоит м/с ADM489). Можно и так оставить, только не удобно к каждой новой плате дополнительную м/с запаивать.
Пробовал паять свой переходник (рисунок в прикрепленном файле), но почему-то не работает wassat.gif
Если я правильно понимаю, то при RTS ON COM-порт ПК настроен на прием данных, а при RTS OFF на передачу? (при этом RTS ON не нулевой сигнал?)
Тогда при такой сжеме подключения при RTS ON будет активен сигнал DE, т.е. будет включен выход передатчика. Получается, что между DE-RE и R2out нужно поставить инвертор?

Цитата(rezident @ Aug 20 2009, 18:04) *
Для управления направлением передачи нужно будет программно в компе переключать сигнал RTS.


Поясните, пожалуйста, как программно переключать сигнал RTS? Как узнать когда именно его переключать, если я передаю данные устройству и тут же принимаю от него ответ? (скорость может меняться)
rezident
Цитата(Evels @ Aug 25 2009, 15:52) *
Тогда при такой сжеме подключения при RTS ON будет активен сигнал DE, т.е. будет включен выход передатчика. Получается, что между DE-RE и R2out нужно поставить инвертор?
Да, правильно. Нужен инвертор. Хотя бы на одном транзисторе.
Цитата(Evels @ Aug 25 2009, 15:52) *
Поясните, пожалуйста, как программно переключать сигнал RTS? Как узнать когда именно его переключать, если я передаю данные устройству и тут же принимаю от него ответ? (скорость может меняться)
О! А вот на этом вопросе обломали зубы очень многие. laughing.gif Потому, что "ногодрыгание" и доступ к процессам в Windows это еще та задачка.
AHTOXA
Цитата(rezident @ Aug 25 2009, 22:17) *
О! А вот на этом вопросе обломали зубы очень многие. laughing.gif Потому, что "ногодрыгание" и доступ к процессам в Windows это еще та задачка.


Да ладно, не так уж всё и страшно:-)
EscapeCommFunction() для дрыгания RTSами/DTRами, ловля эха для определения окончания передачи, ну, и при желании сделать всё совсем красиво, мультимедийный таймер для более-менее точных времянок.

Хотя конечно, всё несколько сложнее, чем на микроконтроллереsmile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.