RS-485 рекомендованный стандарт электрических характеристик генераторов и приемников для использования в балансных многоточечных системах.
Источник: http://www.softelectro.ru/rs485.html
RS-485 (Recommended Standard 485 или EIA/TIA-485-A) – рекомендованный стандарт передачи данных по двухпроводному полудуплексному многоточечному последовательному симметричному каналу связи. Совместная разработка ассоциаций: Electronic Industries Alliance (EIA) и Telecommunications Industry Association (TIA). Стандарт описывает только физические уровни передачи сигналов (т.е. только 1-й уровень модели взаимосвязи открытых систем OSI). Стандарт не описывает программную модель обмена и протоколы обмена. RS-485 создавался для расширения физических возможностей интерфейса RS232 по передаче двоичных данных.
Название: Recommended Standard 485
Electrical Characteristics of Generators and Receivers for Use in Balanced Multipoint Systems
Электрические характеристики генераторов и приёмников для использования в балансных многоточечных системах.
Разработчик: Electronics Industries Association (EIA). Ассоциация промышленной электроники.
Выпуски стандарта:
RS-485A (Recommended Standard 485 Edition: A) год выпуска 1983.
EIA 485-A год выпуска 1986.
TIA/EIA 485-A год выпуска 1998.
TIA/EIA 485-A год редакции 2003.
ISO/IEC 8482 (1993г. действующий)
Издатель: ISO, IEC
Название: Information technology - Telecommunications and information exchange between Systems - Twisted pair multipoint interconnections.
Старые редакции:
ISO 8284 (1987г. не действующий)
ITU-T v.11 (1996г. действующий)
Издатель: INTERNATIONAL TELECOMMUNICATION UNION
Название: Electrical characteristics for balanced double-current interchange circuits opertiong at data signalling rates up to 10 Mbit/s.
Старые редакции:
ITU-T v.11 (1993г. не действующий)
CCITT v.11 (1988г. не действующий)
ANSI/TIA-485-A (1998г. действующий)
Издатель: American National Standards Institute, ANSI
Название: Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems.
Входное сопротивление для некоторых приёмников может быть более 12 кОм (единичная нагрузка). Например, 48 кОм (1/4 единичной нагрузки) или 96 кОм (1/8), что позволяет увеличить количество приёмников до 128 или 256. При разных входных сопротивлениях приёмников необходимо, чтобы общее входное сопротивление не было меньше 375 Ом.
Так как стандарт, RS-485 описывает только физический уровень процедуры обмена данными, то все проблемы обмена, синхронизации и квитирования, возлагаются на более высокий протокол обмена. Как мы уже говорили, наиболее часто, это стандарт RS-232 или другие верхние протоколы (ModBus , DCON и т.п.).
Сам RS-485 выполняет только следующие действия:
Если подключить осциллограф к контактам А-В (RS-485) и контактам GND-TDx(RS-232), то вы не увидите разницы в форме сигналов передаваемых в линиях связи. На самом деле, форма сигнала RS-485 полностью повторяет форму сигнала RS-232, за исключением инверсии ( в RS-232 логическая единица передается напряжением -12 В, а в RS-485 +5 В).
Рис.1 Форма сигналов RS-232 и RS-485 при передаче двух символов "0" и "0".
Как видно из рис.1 происходит простое преобразование уровней сигнала по напряжению.
Хотя форма сигналов одинаковая у выше указанных стандартов, но способ их формирования и мощность сигналов различны.
Рис.2 Формирование сигналов RS-485 и RS-232
Преобразование уровней сигналов и новый способ их формирования позволил решить ряд проблем, которые в своё время не были учтены при создании стандарта RS-232.
Преимущества физического сигнала RS-485 перед сигналом RS-232
Каждый приёмопередатчик (драйвер) RS-485 может находиться в одном из двух состояний: передача данных или приём данных. Переключение драйвера RS-485 происходит с помощью специального сигнала. Например, на рис.3 показан обмен данными с использованием преобразователя АС3 фирмы Овен. Режим преобразователя переключается сигналом RTS. Если RTS=1 (True) АС3 передает данные, которые поступают к нему от СОМ порта в сеть RS-485. При этом все остальные драйверы должны находиться в режиме приёма (RTS=0). По сути дела RS-485 является двунаправленным буферным мультиплексированным усилителем для сигналов RS-232.
Рис.3 Пример использования преобразователя Овен АС3.
Ситуация когда в одно время будет работать более одного драйвера RS-485 в режиме передатчика приводит к потере данных. Эта ситуация называется "коллизией". Чтобы коллизии не возникали в каналах обмена данными необходимо использовать более высокие протоколы (OSI). Такие как MODBUS, DCON, DH485 и др. Либо программы, которые напрямую работают с RS-232 и решают проблемы коллизий. Обычно эти протоколы называют 485-тыми протоколами. Хотя на самом деле, аппаратной основой всех этих протоколов служит, конечно, RS-232. Он обеспечивает аппаратную обработку всего потока информации. Программную обработку потока данных и решение проблем с коллизиями занимаются протоколы высшего уровня (Modbus и др.) и ПО.
Кратко рассмотрим эти протоколы, хотя они не имеют отношение к стандарту RS-485. Обычно протокол верхнего уровня включает в себя пакетную, кадровую или фреймовую организацию обмена. То есть, информация передаётся логически завершенными частями. Каждый кадр обязательно маркируется, т.е. обозначается его начало и конец специальными символами. Каждый кадр содержит адрес прибора, команду, данные, контрольную сумму, которые необходимы для организации многоточечного обмена. Чтобы избежать коллизий обычно применяют схему "ведущий"(master)-"ведомый"(slave). "Ведущий" имеет право самостоятельно переключать свой драйвер RS-485 в режим передачи, остальные драйверы RS-485 работают в режиме приёма и называются "ведомыми". Чтобы "ведомый" начал предавать данные в линию связи "ведущий" посылает ему специальную команду, которая дает прибору с указанным адресом право переключить свой драйвер в режим передачи на определенное время.
После передачи разрешающей команды "ведомому", "ведущий" отключает свой передатчик и ждет ответа "ведомого" в течение промежутка времени, который называется "таймаут". Если в течении таймаута ответ от "ведомого" не получен, то "ведущий" снова занимает линию связи. В роли "ведущего" обычно выступает программа, установленная на компьютер. Существуют и более сложная организация пакетных протоколов, которая позволяет циклически предавать роль "ведущего" от прибора к прибору. Обычно такие приборы называют "лидерами", либо говорят что приборы передают "маркер". Владение "маркером" делает прибор "ведущим", но он должен будет обязательно передать его другому прибору сети по определённому алгоритму. В основном, указанные выше протоколы, отличаются по этим алгоритмам.
Как мы видим, верхние протоколы имеют пакетную организацию и выполняются на программном уровне, они позволяют решить проблему с "коллизиями" данных и многоточечную организацию обмена данными.
Многие фирмы изготовляют приемопередатчики RS485. Называют их обычно конверторы RS232 - RS485 или преобразователи RS232-RS485. Для реализации этих приборов выпускается специальные микросхемы. Роль этих микросхем сводится к преобразованию уровней сигналов RS232C к уровню сигналов RS485 (TTL/CMOS) и обратно, а также обеспечение работы полудуплексного режима.
По способу переключения в режим передачи различают приборы:
Рис.4 Принципиальная схема АС3 Овен.
На рис.4 представлена принципиальная схема преобразователя АС3 Овен. Этот преобразователь имеет отдельный сигнал для включения режима передачи данных. В качестве управляющего сигнала используется выходной сигнал СОМ порта RST. Если RST=1 (+12В) преобразователь передает данные с TD(Сом порта) в сеть RS485, если RST=0 (-12 В), то данные принимаются из сети RS-485 на вход RD (СОМ порта). Преобразователь работает от промышленной сети переменного тока напряжением 220 вольт. Блок питания преобразователя выполнен по импульсной схеме на базе микросхемы ТОР232N (DA1). Блок питания выдает два независимых напряжения +5В. Для приёма и преобразования полярных сигналов RS232 (±12 В) в однополярные сигналы TTL/CMOS уровня (+5 В) используется микросхема MAX232N (DD1). Данная микросхема интересна тем, что она питается от однополярного напряжения +5 В и имеет встроенные источники напряжения, которые необходимы для работы с полярными сигналами ±12 В. Для правильной работы встроенных источников напряжения к микросхеме MAX232N подключают внешние конденсаторы С14,С15,С17,С18. Кроме этого микросхема имеет по два преобразователя уровней сигналов RS-232C к TTL/CMOS в обоих направлениях.
Назначение сигналов:
RST -для переключения преобразователя в режим передачи/приёма
TD -передача данных из RS232 в RS485
RD -приём данных в RS232 из RS485
Далее сигналы RS232 преобразованные к уровню TTL/CMOS подаются на оптопары 6N137, которые осуществляют гальваническую развязку сигналов RS232 и RS485. Для передачи/приёма данных на стороне интерфейса RS485 используется микросхема DS75176 (многоточечный трансивер RS485). Данная микросхема запитана от отдельного источника напряжением +5 В. Микросхема представляет собой усилитель сигналов TTL/COMOS уровня с переключением направления передачи. Выходы DS75176 подключаются к контактам А и В через сопротивления 100 Ом, что обеспечивает ток короткого замыкания А-В в 250мА . Мощность сигнала RS485 примерно в 10 раз превышает мощность сигналов RS232. Эта микросхема усиливает сигнал до нужной мощности и обеспечивает полудуплексный режим работы.
Сеть RS-485 строится по последовательной шиной(bus) схеме, т.е. приборы в сети соединяются последовательно симметричными кабелями. Концы линий связи при этом должны быть нагружены согласующими резисторами- "терминаторами"(terminator), величина которых должна быть равна волновому сопротивлению кабеля связи.
Терминаторы выполняют следующие функции:
Рис.5 Топология сети RS485
Если расстояние сегмента сети превышает 1200 м или количество драйверов в сегменте более 32 штук, нужно использовать повторитель (repeater), для создания следующего сегмента сети. При этом каждый сегмент сети должен быть подключен к терминаторам. Сегментом сети при этом считается кабель между крайним прибором и повторителем или между двумя повторителями.
Стандарт RS-485 не определяет, какой тип симметричного кабеля нужно использовать, но де-факто используют кабель типа "витая пара" с волновым сопротивлением 120 Ом.
Рис.6 Промышленный кабель Belden 3106A для сетей RS485
Рекомендовано использовать промышленный кабель Belden3106A для прокладки сетей RS485. Данный кабель имеет волновое сопротивление 120 Ом и двойной экран витой пары. Кабель Belden3106A содержит 4 провода. Оранжевый и белый провод представляют собой симметричную экранированную витую пару. Синий провод кабеля используется для соединения нулевого потенциала источников питания приборов в сети и называется "общий"(Common). Провод без изоляции используется для заземления оплетки кабеля и называется "дренажный" (Drain). В сегменте сети дренажный провод заземляется через сопротивление на шасси прибора, с одного из концов сегмента, чтобы не допустить протекания блуждающих токов через оплетку кабеля, при разном потенциале земли в удалённых точках.
Обычно сопротивления терминаторов и защитного заземления находится внутри прибора. Необходимо правильно подключить их с помощью перемычек или переключателей. В технической документации фирмы изготовителя приборов необходимо найти описание этих подключений.
Например, на рис.7 показаны рекомендации фирмы Allen Bradley по подключению кабеля Belden3106A к приборам 1747-AIC (Link Coupler) использующихся для соединения контроллеров SLC в сеть DH-485.
Рис.7 Схема подключения 1747-AIC (Allen Bradley)
На рис.7 показаны соединения кабеля с промежуточными приборами сегмента сети. Для первого прибора в сегменте сети DH-485 необходимо установить перемычку 5-6 (она подключает терминатор 120 Ом, который находится внутри прибора 1747-AIC) и перемычку 1-2 (подключает дренажный провод к шасси прибора через внутреннее сопротивление). Для последнего прибора в сегменте сети нужно установить только перемычку 5-6 (подключить терминатор)
При использовании других симметричных кабелей, в особенности, когда не известно их волновое сопротивление, величину терминаторов подбирают опытным путем. Для этого необходимо установить осциллограф в середину сегмента сети. Контролируя форму прямоугольных импульсов передаваемых одним из драйверов можно сделать вывод о необходимости корректировки величины сопротивления терминатора.
Рис.8 Несогласованная сеть RS-485 (без терминатора) и ее итоговая форма сигнала (слева) по сравнению с сигналом, полученным на правильно согласованной сети (справа)
Рис.9 Терминатор установлен в середине сегмента сети RS-485
Рис.10 Прибор подключен длинным отводом (3 м) к сегменту сети RS-485
Более подробно об этом можете прочитать в статье Maxim's Application Note 373 январь 2001 года
Для анализа качества согласования линии связи применяют тестовые функции. Обычно такая функция встроена в конкретный прибор или программу. Во время тестирования передатчик посылает в сеть заданную последовательность символов, а приемник на другом конце линии анализирует правильность приема этой известной ему последовательности символов. Сеть тестируется определенное количество времени, после чего по количеству ошибок делается вывод о качестве связи.
Интерфейс RS-485, стал основным физическим интерфейсом для промышленных сетей передачи данных. Такие протоколы как ModBus, ProfiBus DP, DCON, DH-485 , работают по на физическом уровне RS-485.
Промышленные протоколы передачи данных часто бывают засекречены фирмами производителями. Информацию по тому или иному протоколу связи приходится собирать по крупицам.
Специалисту, работающему с промышленными сетями необходима программа для чтения всей информации передаваемой в информационных сетях. Основные секреты промышленных протоколов можно обнаружить только при всестороннем анализе переданных и полученных данных. Программа ComRead v.2.0 предназначена для сохранения и отображения данных и сервисных сигналов передаваемых в информационных сетях, которые работают по стандартам RS-232, RS-485, Bell-202 и др. Программа не только сохраняет всю информацию, но и создает временную развертку данных и сервисных сигналов. Программа ComRead v.2.0 сканирует информационный канал не влияя на его работу, то есть работает в режиме прослушивания физической среды передачи информации. Кроме того, программа может работать в режиме транслятора данных и сервисных сигналов. При этом она становится непосредственной частью информационного канала связи. Более подробно можно ознакомится с программой здесь.
Стандарт RS485 является основным стандартом 1-го физического уровня (OSI) передачи данных по последовательным асинхронным каналам связи.
Стандарт RS485 включен в состав многих сетевых протоколов, например:
Так же его поддерживают многие международные и национальные стандарты, например:
Достоинства стандарта RS-485
Недостатки RS485