Управление по протоколу rs 485. Углубленное описание стандарта EIA485 (RS485)

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

Физический уровень - это канал связи и способ передачи сигнала (1 уровень модели взаимосвязи открытых систем OSI).

Рассмотрим несколько популярных интерфейсов: RS-485 и RS422

1. Интерфейс RS-485

RS-485 (Recommended Standard 485), также EIA-485 (Electronic Industries Alliance-485) - один из наиболее распространенных стандартов физического уровня для асинхронного интерфейса связи.

Название стандарта: ANSI TIA/EIA-485-A:1998 Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems.

Стандарт приобрел большую популярность и стал основой для создания целого семейства промышленных сетей, широко используемых в промышленной автоматизации.

Стандарт RS-485 совместно разработан двумя ассоциациями:

Ассоциацией электронной промышленности (EIA - Electronic Industries Association)

Ассоциацией промышленности средств связи (TIA - Telecommunications Industry Association)

Ранее EIA маркировала все свои стандарты префиксом "RS "

Многие инженеры продолжают использовать это обозначение, однако EIA/TIA официально заменил "RS " на "EIA/TIA " с целью облегчить идентификацию происхождения своих стандартов.

Стандарт определяет следующие линии для передачи сигнала:

A - неинвертирующая

B - инвертирующая

C - необязательная общая линия (ноль)

Несмотря на недвусмысленное определение, иногда возникает путаница, по поводу того какие обозначения ("A" или "B") следует использовать для инвертирующей и неинвертирующей линии. Для того, чтобы избежать этой путаницы часто используются альтернативные обозначения, например: "+" / "-"

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов.

В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных. Суть его заключается в передаче одного сигнала по двум проводам. Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия. Другими словами, если на одном проводе "1", то на другом "0" и наоборот. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.

Именно этой разностью потенциалов и передается сигнал.

RS-485 - полудуплексный интерфейс . Прием и передача идут по одной паре проводов с разделением по времени. В сети может быть много передатчиков, так как они могут отключаются в режиме приема.

Несмотря на то, что интерфейс RS-485 двухпроводной, существует его четырех проводная реализация.

При этом интерфейс не становится полнодуплексным , он также является полудуплексным.

Четырехпроводная версия выделяет задающий узел (master), передатчик которого работает на приемники всех остальных.

Передатчик зада­ющего узла всегда активен - переход в третье состояние ему не нужен.

Передат­чики остальных ведомых (slave) узлов должны иметь тристабильные выходы, они объединяются на общей шине с приемником ведущего узла. В двухпроводной версии все узлы равноправны.

Сеть построенная на базе RS-485 поддерживает по стандарту до 32 устройств "единичной нагрузки"

На рынке широко представлены устройства с другими значениями "нагрузки" - 1/2(т.е. уже 64 устройства), 1/4 (128 устройств) от единичной нагрузки.

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

2. Интерфейс RS-422

Последовательный дифференциальный интерфейс RS-422 (Recommended Standard 422) по своим особенностям очень походит на другой интерфейс передачи данных в сети - RS-485.

Они могут электрически совмещаться между собой, но всё же есть ряд существенных отличий.

RS-422 является полностью дуплексным интерфейсом (full duplex), поэтому передача данных может одновременно осуществлять в обоих направлениях. Например, подтверждение приёма пакетов данных происходит одновременно с приёмом последующих пакетов.

Дуплексность обеспечивается за счёт того, что используется одновременно два приёмопередатчика, один из которых работает на приём, другой - на передачу.

В то время как RS-485 применяется для организации сети со множеством абонентов, RS-422 используется обычно для налаживания передачи данных между двумя устройствами на длинных дистанциях.

Это обуславливается тем, что RS-422 поддерживает создание только одномастерных сетей, в которых в качестве передатчика может выступать только одно устройство, а остальные способны лишь принимать сигнал.

Максимальная дальность действия интерфейса RS-422 точно такая же, как и у RS-485, и составляет 1200 метров.

Интерфейс RS -422 используется гораздо реже, чем RS -485 и, как правило, не для создания сети, а для соединения двух устройств на большом расстоянии.

Каждый передатчик RS -422 может быть нагружен на 10 приемников.

2.1. Подключение интерфейса счетчика Альфа A1800 с полнодуплексным интерфейсом к модему RX.

Данные счетчики подключаются к модему RX по 4-х проводному интерфейсу RS422. Но не смотря на то, что в документации на этот счетчик, интерфейс называется 4-х проводной RS485, на самом деле это RS422.

Полнодуплексным типом интерфейса комплектовались счетчики до 2008 года. На данный момент практически все данные счетчики полудуплексные, но для точности лучше уточнить у поставщика или производителя.

3. Особенности

Несмотря на схожесть интерфейсов RS-485 и RS-422 они не совместимы друг с другом.

Нельзя к прибору с одним типом интерфейса подключать устройства или приборы с другим типом интерфейса.

Заставить похудеть конструкции с применением RS-485 просто, если вы понимаете, как в то же самое время сохранить хорошее качество связи. Эта статья охватывает факты, мифы и злые шутки, о которых вам следует знать для достижения этой цели.

В системах промышленной автоматизации и автоматизации зданий применяется ряд удаленных устройств сбора данных, которые передают и принимают информацию через центральный модуль, предоставляющий доступ к данным пользователям и другим процессорам. Регистраторы данных и считывающие устройства типичны для таких приложений. Почти идеальная линия передачи данных для этих целей определена стандартом RS-485, который связывает устройства сбора данных кабелем на основе витой пары.

Поскольку многие из устройств сбора и накопления данных в сетях RS-485 являются компактными автономными устройствами с батарейным питанием, для контроля за их тепловыделением и увеличения срока службы батарей необходимо принятие мер по снижению их энергопотребления. Точно так же экономия энергии важна для носимых устройств и других приложений, в которых интерфейс RS-485 используется для загрузки данных в центральный процессор.

Следующий раздел предназначен в первую очередь для тех, кто не знаком с RS-485.

RS-485: история и описание

Стандарт RS-485 был совместно разработан двумя ассоциациями производителей: Ассоциацией электронной промышленности (EIA - Electronics Industries Association) и Ассоциацией промышленности средств связи (TIA - Telecommunications Industry Associastion). EIA некогда маркировала все свои стандарты префиксом "RS" (Рекомендованный стандарт). Многие инженеры продолжают использовать это обозначение, однако EIA/TIA официально заменил "RS" на "EIA/TIA" с целью облегчить идентификацию происхождения своих стандартов. На сегодняшний день, различные расширения стандарта RS-485 охватывают широкое разнообразие приложений.

Стандарты RS-485 и RS-422 имеют много общего, и поэтому их часто путают. Таблица 1 сравнивает их. RS-485, определяющий двунаправленную полудуплексную передачу данных, является единственным стандартом EIA/TIA, допускающим множественные приемники и драйверы в шинных конфигурациях. EIA/TIA-422, с другой стороны, определяет единственный однонаправленный драйвер с множественными приемниками. Элементы RS-485 обратно совместимы и взаимозаменяемы со своими двойниками из RS-422, однако драйверы RS-422 не должны использоваться в системах на основе RS-485, поскольку они не могут отказаться от управления шиной.

Таблица 1. Стандарты RS-485 и RS-422

RS-422 RS-485
Режим работы Дифференциальный Дифференциальный
Допустимое число Tx и Rx 1 Tx, 10 Rx 32 Tx, 32 Rx
Максимальная длина кабеля 1200 м 1200 м
Максимальная скорость передачи данных 10 Мбит/с 10 Мбит/с
Минимальный выходной диапазон драйвера ± 2 В ± 1.5 В
Максимальный выходной диапазон драйвера ± 5 В ± 5 В
Максимальный ток короткого замыкания драйвера 150 мА 250 мА
Сопротивление нагрузки Tx 100 Ом 54 Ом
Чувствительность по входу Rx ± 200 мВ ± 200 мВ
Максимальное входное сопротивление Rx 4 кОм 12 кОм
Диапазон напряжений входного сигнала Rx ± 7 В от -7 В до +12 В
Уровень логической единицы Rx > 200 мВ > 200 мВ
Уровень логического нуля Rx < 200 мВ < 200 мВ

Защита от электростатических разрядов

Дифференциальная передача сигнала в системах на основе RS-485 и RS-422 обеспечивает надежную передачу данных в присутствии шумов, а дифференциальные входы их приемников кроме того могут подавлять значительные синфазные напряжения. Однако для защиты от значительно больших уровней напряжений, которые обычно ассоциируются с электростатическим разрядом (ESD), необходимо принимать дополнительные меры.

Заряженная емкость человеческого тела позволяет человеку уничтожать интегральную схему простым ее касанием. Такой контакт запросто может произойти при прокладке и подключении интерфейсного кабеля. Для защиты от таких разрушительных воздействий, интерфейсные микросхемы MAXIM включают "ESD структуры". Эти структуры защищают выходы передатчиков и входы приемников в приемопередатчиках RS-485 от уровней ESD до ±15кВ.

Чтобы гарантировать заявленную защиту от ESD, Maxim осуществляет многократное тестирование положительных и отрицательных выводов питания с шагом 200В, для проверки последовательности уровней до ±15кВ. Устройства этого класса (отвечающие спецификациям модели человеческого тела (Human Body Model) или IEC 1000-4-2) маркируются в обозначении изделия дополнительным суффиксом "E".

Допустимая нагрузка драйвера RS-485/RS-422 количественно определяется в терминах единичной нагрузки, которая, в свою очередь, определяется как входной импеданс одного стандартного приемника RS-485 (12кОм). Таким образом, стандартный драйвер RS-485 может управлять 32 единичными нагрузками (32 параллельных 12-килоомных нагрузки). Однако для некоторых приемников RS-485 входное сопротивление является более высоким - 48 кОм (1/4 единичной нагрузки) или даже 96 кОм (1/8 единичной нагрузки) - и, соответственно, к одной шине могут быть подключены сразу 128 или 256 таких приемников. Вы можете подключить любую комбинацию типов приемников, если их параллельный импеданс не превышает 32 единичных нагрузки (т.е. суммарное сопротивление не меньше 375 Ом).

Последствия высоких скоростей

Более быстрые передачи требуют более высоких скоростей нарастания напряжения на выходе драйвера, а они, в свою очередь, производят большие уровни электромагнитных помех (EMI). Некоторые приемопередатчики RS-485 сводят EMI к минимуму, ограничивая их скорости нарастания. Меньшие скорости нарастания также помогают контролировать отражения, вызванные быстрыми переходными процессами, высокими скоростями передачи данных или длинными линиями связи. Основой для минимизации отражений является использование согласующих резисторов с номиналами, соответствующими волновому сопротивлению кабеля. Для обычных кабелей RS-485 (витая пара проводов 24AWG) это означает размещение 120-омных резисторов на обоих концах линии связи.

Куда уходит вся мощность?

Очевидным источником потери мощности является ток покоя приемопередатчика (IQ), который в современных устройствах значительно снижен. В таблице 2 токи покоя малопотребляющих КМОП приемопередатчиков сравниваются с являющимся промышленным стандартом устройством 75176.

Таблица 2. Сравнение токов утечки для различных приемопередатчиков RS-485

Другая характеристика энергопотребления приемопередатчиков RS-485 проявляется при отсутствии нагрузки, разрешении выхода драйвера и присутствии периодического входного сигнала. Поскольку открытых линий в RS-485 нужно избегать всегда, драйверы "долбят" свои выходные структуры при каждом переключении выхода. Это короткое включение обоих выходных транзисторов немедленно вызывает бросок тока питания. Достаточно большой входной конденсатор сглаживает эти броски, производя действующий (RMS) ток, который растет вместе со скоростью передачи данных до своего максимального значения. Для приемопередатчиков MAX1483 этот максимум равен примерно 15 мА.

Подключение стандартного приемопередатчика RS-485 к минимальной нагрузке (еще один приемопередатчик, два согласующих и два защитных резистора) позволяет измерить зависимость тока питания от скорости передачи данных в более реальных условиях. На рисунке 2 представлена зависимость ICC от скорости передачи данных для MAX1483 при следующих условиях: стандартные резисторы на 560 Ом, 120 Ом и 560 Ом, VCC = 5В, DE = /RE\ = VCC, и кабель длиной 300 м.

Как вы можете видеть из рисунка 2, ток потребления возрастает приблизительно до 37мА даже при чрезвычайно низких скоростях передачи данных; это вызвано прежде всего добавлением согласующих резисторов и резисторов защитного смещения. Для малопотребляющих приложений, это должно продемонстрировать важность типа используемого согласования, равно как и способа достижения отказоустойчивости. Отказоустойчивость обсуждается в следующем разделе, а подробное описание согласования имеется в разделе "Злые шутки согласования".

Отказоустойчивость

При напряжениях на входах приемников RS-485 в диапазоне от -200мВ до +200мВ, выходное состояние остается неопределенным. Иными словами, если дифференциальное напряжение на стороне RS-485 в полудуплексной конфигурации равно 0В и ни один из приемопередатчиков не ведет линию (или соединение разорвано), тогда логическая единица и логический ноль на выходе равновероятны. Для обеспечения определенного состояния на выходе в таких условиях, большинство современных приемопередатчиков RS-485 требуют установки резисторов защитного смещения: резистор задания начального высокого уровня (pullup) на одну линию (A) и низкого уровня (pulldown) на другую (B), как это показано на рисунке 1. Исторически, резисторы защитного смещения в большинстве схем указывались с номиналом 560 Ом, однако для снижения энергопотерь (когда согласование производится только на одном конце линии связи) это значение можно увеличить приблизительно до 1,1 кОм. Некоторые разработчики устанавливают на обоих концах резисторы с номиналами от 1,1кОм до 2,2кОм. Здесь приходится искать компромисс между помехоустойчивостью и энергопотреблением.

Рисунок 1. Три внешних резистора формируют цепь согласования и защитного смещения для данного приемопередатчика RS-485.

Рисунок 2. Зависимость тока питания приемопередатчика MAX1483 от скорости передачи данных.

Производители приемопередатчиков RS-485 прежде исключали необходимость использования внешних смещающих резисторов, обеспечивая внутренние резисторы положительного смещения по входам приемника, однако такой подход был эффективен только для решения проблемы разомкнутых цепей. Резисторы положительного смещения, используемые в этих псевдоотказоустойчивых приемниках были слишком слабы для установления уровня на выходе приемника в согласованной шине. Другие попытки избежать использования внешних резисторов за счет изменения пороговых значений приемника на 0В и -0,5В нарушали спецификацию RS-485.

Семейство приемопередатчиков MAX3080 и MAX3471 компании Maxim решило обе эти проблемы, определив точный диапазон пороговой чувствительности от -50мВ до -200мВ, устранив, таким образом, потребность в резисторах защитного смещения, сохраняя при этом полное соответствие стандарту RS-485. Эти микросхемы гарантируют, что 0В на входе приемника вызовет высокий логический уровень на выходе. Более того, эта конструкция гарантирует известное состояние выхода приемника для условий замкнутой и разорванной линии.

Как было показано в таблице 2, приемопередатчики сильно различаются значениями их токов покоя. Таким образом первым шагом в деле сохранения энергии должен стать выбор малопотребляющего устройства, такого, как MAX3471 (2,8 мкА при отключенном драйвере, до 64 Кбит/с). Поскольку потребление энергии существенно возрастает при передаче данных, другой целью является минимизация времени работы драйверов за счет передачи коротких телеграмм (блоков данных, прим. пер.) с длительными периодами ожидания между ними. В таблице 3 представлена структура типовой телеграммы последовательной передачи.

Таблица 3. Телеграмма последовательной передачи

Система на основе RS-485, использующая приемники в одну единичную нагрузку (до 32 адресуемых устройств), может, например, иметь следующие биты: 5 битов адреса, 8 битов данных, стартовые биты (все кадры), стоповые биты (все кадры), биты четности (необязательные), и биты CRC (необязательные). Минимальная длина телеграммы для такой конфигурации - 20 битов. Для безопасных передач, вы должны послать дополнительную информацию, такую как размер данных, адрес отправителя и направление, которая увеличит длину телеграммы до 255 байтов (2040 битов).

Подобное изменение длины телеграммы со структурой, определяемой такими стандартами, как X.25, обеспечивает надежность данных за счет увеличения времени использования шины и потребляемой мощности. Например, передача 20 битов при 200 Кбит/с потребует 100 мкс. При использовании MAX1483 для ежесекундной отправки данных на скорости 200 Кбит/с, средний ток составит

(100 мкс * 53 мА + (1 с - 100 мкс) * 20 мкА) / 1 с = 25.3 мкА

Когда приемопередатчик находится в неактивном режиме (idle mode), его драйвер должен быть отключен для минимизации потребляемой мощности. В таблице 4 демонстрируется влияние длины телеграммы на потребляемую мощность одиночного драйвера MAX1483, который работает с определенными перерывами между передачами. Использование режима отключения (shutdown mode) может еще больше снизить потребляемую мощность в системе, использующей технологию опроса через фиксированные промежутки времени или более длинные, детерминированные перерывы между передачами.

Таблица 4. Соотношение между длиной телеграммы и потребляемым током при использовании драйвера MAX1483

В дополнение к этим программным соображениям, аппаратные средства предлагают множество мест для усовершенствования в части энергопотребления. На рисунке 3 сравниваются токи, потребляемые различными трансиверами при передаче сигнала прямоугольной формы по 300-метровому кабелю с активными драйверами и приемниками. 75ALS176 и MAX1483 используют стандартную согласующую цепь 560Ом/120Ом/560Ом на обоих концах линии связи, в то время, как "истино безотказные" ("true failsafe") устройства (MAX3088 и MAX3471) имеют лишь 120-омные согласующие резисторы на обоих концах шины. При 20 Кбит/с токи потребления ранжируются от 12,2мА (MAX3471 с напряжением питания VCC = 3.3V) до 70мА (75ALS176). Таким образом, значительное сокращение потребления возникает немедленно, как только вы выбираете малопотребляющее устройство со свойством "истиной безотказности", которая, кроме того, исключает необходимость установки резисторов защитного смещения (на землю и на линию питания VCC). Убедитесь, что приемник выбранного вами приемопередатчика RS-485, выдает на выход правильные логические уровни для условий как замкнутой, так и разомкнутой цепи.

Рисунок 3. Микросхемы приемопередатчиков сильно отличаются зависимостью тока потребления от скорости передачи данных.

Злые шутки согласования

Как было отмечено выше, согласующие резисторы устраняют отражения, вызваные рассогласованием импедансов, однако их недостаток - дополнительное рассеяние мощности. Их влияние показано в таблице 5, в которой приводятся токи потребления для различных приемопередатчиков (при активном драйвере) для условий отсутствия резисторов, использования только согласующих резисторов, а также комбинации согласующих резисторов и резисторов защитного смещения.

Таблица 5. Использование согласующих резисторов и резисторов защитного смещения увеличивает потребляемый ток

MAX1483 MAX3088 MAX3471 SN75ALS176
I VCC (no RT) 60 мкА 517 мкА 74 мкА 22 мкА
I VCC (RT =120) 24 мкА 22.5 мкА 19.5 мкА 48 мкА
I VCC (RT = 560-120-560) 42 мкА N/A N/A 70 мкА

Исключение согласования

Первый способ уменьшения потребляемой мощности состоит в том, чтобы вообще устранить согласующие резисторы. Этот вариант возможен только для коротких линий связи и низких скоростей передачи данных, которые позволяют отражениям успокоиться еще до того, как данные будут обработаны приемником. Как показывает практика, согласование не нужно, если время нарастания сигнала по крайней мере в четыре раза превосходит время задержки одностороннего прохождения сигнала через кабель. Следующие шаги используют это правило для вычисления максимальной допустимой длины несогласованного кабеля:

  • Шаг 1. Для рассматриваемого кабеля найдите скорость одностороннего прохождения сигнала, обычно предоставляемую производителем кабеля как процентное отношение к скорости света в свободном пространстве (c = 3x10 8 м/с). Типовое значение для стандартного кабеля в поливинилхлоридной изоляции (состоящего их витой пары #24 AWG) составляет 203мм/нс.
  • Шаг 2 . Из спецификации приемопередатчика RS-485 найдите его минимальное время нарастания (t r min). Например, для MAX3471 оно равно 750нс.
  • Шаг 3 . Разделите это минимальное время нарастания на 4. Для MAX3471 получим t r min /4 = 750нс/4 = 187.5нс.
  • Шаг 4 . Вычислите максимальную протяженность кабеля, для которой не требуется согласование: 187.5нс (230мм/нс) = 38м.

Таким образом, MAX3471 может обеспечить приличное качество сигнала при передаче и приеме на скорости 64Кбит/с по 38-метровому кабелю без согласующих резисторов. Рисунок 4 демонстрирует достигнутое драматическое снижение потребления MAX3471, когда 30 метров кабеля без согласующего резистора используются вместо 300 метров кабеля и 120 согласующих резисторов.

Рисунок 4. Согласующие резисторы - основной потребитель мощности.

RC-согласование

На первый взгляд, способность RC согласования блокировать постоянный ток является весьма многообещающей. Вы найдете, однако, что эта техника налагает определенные условия. Согласование состоит из последовательной RC цепочки, включенной параллельно дифференциальным входам приемника (A и B), как показано на рисунке 5. Несмотря на то, что R всегда равно волновому сопротивлению кабеля (Z 0), выбор C требует некоторых рассуждений. Большая величина C обеспечивает хорошее согласование, позволяя любому сигналу видеть R, которое соответствует Z0, однако большие значения также увеличивают пиковое значение выходного тока драйвера. К сожалению, более длинные кабели требуют больших значений емкости C. Целые статьи были посвящены определению номинала C для достижения этого компромисса. Вы можете найти детальные уравнения на эту тему в руководствах, ссылки на которые приведены в конце настоящей статьи.

Рисунок 5. RC согласование снижает потребление, однако требует тщательного выбора номинала C.

Среднее напряжение сигнала - другой важный фактор, который часто игнорируется. Если только среднее напряжение сигнала не сбалансировано по постоянному току, эффект зубчатого контура (stair-stepping effect) по постоянному току вызывает значительные дрожания из-за эффекта, известного как "межсимвольная интерференция." Если коротко, то RC согласование эффективно для снижения потребления, однако оно склонно к разрушению качества сигнала. Поскольку RC согласование налагает так много ограничений на свое использование, лучшая альтернатива во многих случаях - отсутствие согласования вообще.

Согласование на диодах Шотки

Диоды Шотки предлагают альтернативный метод согласования, когда большая потребляемая мощность вызывает беспокойство. В отличие от других типов согласования, диоды Шотки не пытаются соответствовать волновому сопротивлению шины. Вместо этого, они просто подавляют положительные и отрицательные выбросы на фронтах импульсов, вызванные отражением. В результате, изменения напряжения ограничены положительным пороговым напряжением и нулем.

Цепь согласования на диодах Шотки впустую рассеивает незначительную энергию, поскольку они проводят только при наличии положительных и отрицательных выбросов. С другой стороны, стандартное резистивное согласование (как с резисторами защитного смещения, так и без оных), постоянно рассеивает мощность. Рисунок 6 иллюстрирует использование диодов Шотки для борьбы с отражениями. Диоды Шотки не обеспечивают отказоустойчивую работу, однако уровни порогового напряжения, выбранные в приемопередатчиках MAX308X и MAX3471, дают возможность реализовать отказоустойчивую работу с этим типом согласования.

Рисунок 6. Несмотря на дороговизну, цепь согласования на диодах Шотки имеет много достоинств.

Диод Шотки, наилучшее доступное приближение к идеальному диоду (нулевое прямое напряжение Vf, нулевое время включения tON и нулевое время обратного восстановления trr), представляет большой интерес в качестве замены энергоемких согласующих резисторов. Недостаток такого согласования в системах на основе RS-485/RS-422 заключается в том, что диоды Шотки не могут подавлять все отражения. Как только отраженный сигнал угаснет ниже прямого напряжения диода Шотки, его энергия останется незатронутой согласующими диодами и сохранится до тех пор, пока не будет рассеяна кабелем. Существенно или нет это затяжное возмущение, зависит от величины сигнала на входах приемника.

Главный недостаток Шотки-терминатора - его стоимость. Одна точка согласования требует двух диодов. Поскольку шина RS-485/RS-422 является дифференциальной, это число снова умножается на два (Рисунок 6). Использование на шине многжественных Шотки-терминаторов не является необычным.

Терминаторы на диодах Шотки дают много преимуществ для систем на основе RS-485/RS-422, и экономия энергии - главное из них (Рисунок 7). Не нужно ничего вычислять, поскольку специфицированные ограничения для длины кабеля и скорости передачи данных будут достигнуты раньше, чем какие либо ограничения Шотки-терминатора. Другое преимущество заключается в том, что множественные Шотки-терминаторы в различных ответвлениях и на входах приемников улучшают качество сигнала без загрузки коммуникационной шины.

Рисунок 7. Потребляемый ток в системах RS-485 сильно зависит от скорости передачи данных и типа согласования.

Подведение итогов

Когда скорость передачи данных высока и кабель имеет большую длину, в системе RS-485 трудно обеспечить сверхмалое потребление (в оригинале "flea power" - "мощность блохи", - Прим. пер.), поскольку возникает необходимость устанавливать на линии связи согласующие устройства (терминаторы). В этом случае приемопередатчики с функцией "истиной помехоустойчивости" на выходах приемников могут экономить энергию даже при использовании терминаторов, устраняя потребность в резисторах защитного смещения. Программная организация связи также позволяет снизить потребляемую мощность, переводя приемопередатчик в отключенное состояние или запрещая драйвер, когда он не используется.

Для более низких скоростей и более коротких кабелей разница в энергопотреблении огромна: Передача данных со скоростью 60 Кбит/с по 30-метровому кабелю при использовании стандартного приемопередатчика SN75ALS176 со 120-омными согласующими резисторами потребует от системы электропитания ток 70мА. С другой стороны, использование MAX3471 при тех же самых условиях потребует только 2,5мА от источника питания.

RS-485 — это номер стандарта, впервые принятого Ассоциацией электронной промышленности (EIA). Cейчас этот стандарт назывется TIA/EIA-485 Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems (Электрические характеристики передатчиков и приемников, используемых в балансных цифровых многоточечных системах).
В народе RS-485 - это название популярного интерфейса, используемого в промышленных АСУТП для соединения контроллеров и другого оборудования. Главное отличие RS-485 от также широко распространенного RS-232 - возможность объединения нескольких устройств.

Описание интерфейса RS-485

Интерфейс RS-485 обеспечивает обмен данными между несколькими устройствами по одной двухпроводной линии связи в полудуплексном режиме. Широко используется в промышленности при создании АСУ ТП.

Скорость и дальность

RS-485 обеспечивает передачу данных со скоростью до 10 Мбит/с. Максимальная дальность зависит от скорости: при скорости 10 Мбит/с максимальная длина линии - 120 м, при скорости 100 кбит/с - 1200 м.

Количество соединяемых устройств

Количество устройств, подключаемых к одной линии интерфейса, зависит от типа примененных в устройстве приемопередатчиков. Один передатчик рассчитан на управление 32 стандартными приемниками. Выпускаются приемники со входным сопротивлением 1/2, 1/4, 1/8 от стандартного. При использовании таких приемников общее число устройств может быть увеличено в соответствующее число раз.

Протоколы и разъемы

Стандарт не нормирует формат информационных кадров и протокол обмена. Наиболее часто для передачи байтов данных используются те же фреймы, что и в интерфейсе RS-232: стартовый бит, биты данных, бит паритета (если нужно), стоповый бит.
Протоколы обмена в большинстве систем работают по принципу "ведущий"-"ведомый". Одно устройство на магистрали является ведущим (master) и инициирует обмен посылкой запросов подчиненным устройствам (slave), которые различаются логическими адресами. Одним из популярных протоколов является протокол Modbus RTU.
Тип соединителей и распайка также не оговариваются стандартом. Встречаются соединители DB9, клеммные соединители и т.д.

Подключение

Схема подключения

На рисунке изображена локальная сеть на основе интерфейса RS-485, объединяющая несколько приемо-передатчиков.
При подключении следует правильно присоединить сигнальные цепи, обычно называемые А и В. Переполюсовка не страшна, но устройство работать не будет. Как определить цепи по уровням, см. ниже.

  • Средой передачи сигнала является кабель на основе витой пары .
  • Концы кабеля должны быть заглушены терминальными резисторами (обычно 120 Ом).
  • Сеть должна быть проложена по топологии шины, без ответвлений .
  • Устройства следует подключать к кабелю проводами минимальной длины .

Уровни сигналов

Интерфейс RS-485 использует балансную (дифференциальную) схему передачи сигнала. Это означает, что уровни напряжений на сигнальных цепях А и В меняются в противофазе, как показано на приведенном ниже рисунке:

Передатчик должен обеспечивать уровень сигнала 1,5 В при максимальной нагрузке (32 стандартных входа и 2 терминальных резистора) и не более 6 В на холостом ходу. Уровни наряжений измеряют дифференциально, один сигнальный провод относительно другого.
В отсутствие сигнала на сигнальных цепях имеется небольшое смещение, порядка 200 мВ, для защиты приемников от ложных срабатываний. При этом цепь В имеет положительный потенциал относительно цепи А, что может служить ориентиром при подключении нового устройства к кабелю с немаркированными проводами.
На стороне приемника RS-485 минимальный уровень принимаемого сигнала должен быть не менее 200 мВ.

Искажения из-за неправильной разводки сети

Выполнение перечисленных выше рекомендаций гарантирует нормальную передачу электрических сигналов в любую точку сети на основе интерфейса RS-485. При несоблюдении хотя бы одного из требований сигнал искажается. Вот, например, осциллограммы сигнала, снятого в точке подключения приемника, расположенного в 15 метрах от передатчика и 30 метрах от конца линии, при включенном и отключенном согласующем резисторе:

Следующая осциллограмма показывает искажения сигнала, возникающие при подключении к основному согласованному кабелю длинным 3-метровым отводом:

Приведенные осциллограммы характерны для высоких скоростей обмена (1 Мбит/с и выше). Однако и на более низких скоростях не следует пренебрегать приведенными рекомендациями, даже если "оно и так работает".

При программировании приложений для контроллеров, использующих для связи интерфейс RS-485, следует учитывать несколько моментов:

  • Перед началом выдачи посылки нужно включить передатчик. Хотя некоторые источники утверждают, что выдачу можно начинать сразу после включения, мы рекомендуем выдержать паузу, равную или большую длительности передачи одного фрейма (включая стартовый и стоповый биты). В этом случае приемник успевает нормализоваться и подготовиться к приему первого байта данных.
  • После выдачи последнего байта данных следует также выдержать паузу перед выключением передатчика RS-485. Это связано с тем, что контроллер последовательного порта обычно имеет два регистра: параллельный входной для приема данных и выходной сдвиговый для последовательного вывода. Прерывание по передаче контроллер формирует при опустошении входного регистра, когда данные уже выложены в сдвиговый регистр, но ещё не выданы! Поэтому с момента прерывания до выключения передатчика нужно выдержать паузу. Ориентировочная длительность паузы - на 0,5 бита длиннее фрейма, для точного расчета следует внимательно изучить документацию на контроллер последовательного порта.
  • Поскольку передатчик и приемник интерфейса RS-485 подключены к одной линии, то собственный приемник будет "слышать" передачу своего же передатчика. Иногда, в системах с произвольным доступом к линии, это свойство используют для проверки отсутствия "столкновений" двух передатчиков. В системах, работающих по принципу "ведущий - ведомый", на время передачи лучше просто закрывать прерывания от приемника.

Интерфейс RS-485, наверное, самый распространенный интерфейс для организации малых сетей промышленной автоматизации.

Этому способствуют его высокие технические характеристики при простоте реализации. Интерфейс RS-485 позволяет простыми аппаратными средствами создавать сети:

  • шинной топологии;
  • с витой парой в качестве среды передачи данных;
  • длина линии связи может достигать 1200 м;
  • скорость передачи данных до 10 Мбит/сек.

Для управления распределенными системами на базе RS-485 могут быть использованы многие стандартные протоколы, в том числе и ModBus. Интерфейс позволяет создавать сети и со специализированными протоколами. Для аппаратной реализации RS-485 достаточно добавить к микроконтроллеру только одну микросхему малой степени интеграции.

RS-485 описан в стандарте ANSI TIA/EIA–485–A:1998. Стандарт задает только электрические и временные параметры. Он не оговаривает:

  • протокол обмена;
  • типы кабелей и разъемов;
  • гальваническую развязку абонентов сети.

Основные параметры стандарта RS-485.

Способ передачи данных RS-485.

Стандарт интерфейса RS-485 определяет следующие сигналы:

  • A – неинвертирующий;
  • B – инвертирующий;
  • C – общая линия (необязательный сигнал).

Иногда используют альтернативные обозначения сигналов:

  • Data+ / Data-;
  • D+ / D-;
  • + / -.

В интерфейсе применяется дифференциальный способ передачи данных. Информация передается с помощью двух противофазных сигналов A и B, а состояние шины RS-485 определяется разностью потенциалов между линиями A и B относительно общей линии C. Напряжение каждой линии относительно земли может быть любым, но в пределах диапазона -7 … +12 В.

RS-485 требует применения дифференциальных приемников и передатчиков.

Передатчики формируют 2 противофазных сигнала с разностью напряжений не менее 1,5 В (согласно стандарту).

Для приема данных используются дифференциальные приемники, которые выделяют разность напряжений между линиями A и B. При разности более 200 мВ, но до +12 В состояние линии считается равным логической единицы. При разности напряжений менее – 200 мВ, но не ниже – 7 В линия находится в состоянии логического нуля.

  • Va > Vb соответствует лог. 1;
  • Va < Vb соответствует лог. 0.

Нетрудно посчитать, что уровень помех и падение напряжения на активном сопротивлении линии могут достигать 1,3 В (выходное напряжение передатчика 1,5 В минус порог срабатывания приемников 0,2 В). Такой запас обеспечивает работу интерфейса на длинных линиях связи со значительным активным сопротивлением. Максимальная длина линии связи (1200 м) определяется именно этим параметром. Реальная разность напряжений на выходе передатчиков может достигать 5 В.

Линии A и B симметричны относительно земли C. Помехи и наводки в них наводятся близкие по форме и величине. В дифференциальных приемниках напряжения на линиях вычитаются, выделяется сигнал, а напряжение помех оказывается равным нулю. Конечно, в реальных условиях всегда существует незначительная асимметрия линий и нагрузок, что ведет к появлению помехи в выходном сигнале, но она существенно ослабляется.

Благодаря симметричности передатчиков и приемников интерфейса значительный эффект в борьбе с электромагнитными помехами дает применение в качестве линии связи витой пары. Токи наводок в соседних витках направлены противоположно друг другу и взаимно компенсируются.

Стандарт RS-485 определяет следующие электрические параметры передатчиков и приемников.

Параметр Условия Значение Единица измерения
Мин. Макс.
Выходное напряжение передатчика без нагрузки Rнагр = ∞ 1,5
-1,5
6
-6
В
Выходное напряжение передатчика под нагрузкой Rнагр = 54 Ом 1,5
-1,5
5
-5
В
Выходное сопротивление передатчика 54 Ом
Ток короткого замыкания передатчика Замыкание выхода на источник питания +12 В или – 7В - ±250 мА
Синфазное напряжение на выходе передатчика Rнагр = 54 Ом -1 3 В
Чувствительность приемника Синфазное напряжение от -7 В до +12 В - ±200 мВ
Синфазное напряжение на входе приемника -7 +12 В
Входное сопротивление приемника 12 - кОм
Суммарное входное сопротивление 375 - Ом

Как правило, устройства с интерфейсами RS-485 объединяют в сеть с топологией ”Общая шина”. Абоненты подключаются параллельно одной двухпроводной линией связи с дополнительным общим проводом.

Каждый абонент подключается к сети через дифференциальные передатчик (D) и приемник (R). В один момент времени активным (включенным) может быть только один передатчик сети. Все остальные передатчики должны находиться в третьем (высокоомном) состоянии. Управление состоянием передатчика происходит отдельным сигналом (DE).

Общая последовательность обмена данными выглядит так. Ведущее устройство включает свой передатчик, передает данные, затем отключает и принимает ответ. Все остальные устройства в этот момент находятся в состоянии с отключенными передатчиками. Ведомое устройство принимает данные, затем включает свой передатчик и передает ответ ведущему устройству.

Естественно, возникают моменты, когда все передатчики отключены, “линия висит в воздухе”. Если не принять специальных мер, то состояние линии будет неопределенно. На выходах приемников может быть любой уровень.

Устранить эту неопределенность можно, если подключить через резисторы неивертирующий вход приемника к шине питания, а инвертирующий вход к земле.

Сопротивления резисторов должны быть такими, чтобы создать смещение между входами приемников не менее порога срабатывания (200 мВ). Эти резисторы должны быть учтены при расчете концевых резисторов – терминаторов.

Существуют другие варианты устранения неопределенности состояния сети в момент, когда все передатчики отключены. Но они все на уровне протоколов.

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

Если в сети всегда есть активное устройство, то существует вариант – выключение передатчика в момент, когда второй передатчик уже включен, но оба находятся в состоянии лог. 1. Допустим, ведущее устройство передает данные. Затем оно переводит выход своего передатчика в состояние лог. 1. Ведомое устройство включает свой передатчик, также в состоянии лог. 1. Далее Ведущее устройство отключает передатчик, и ведомое начинает передавать данные. Линия никогда не остается отключенной. Такой алгоритм требует четкой синхронизации, отработки временных интервалов коммутации передатчиков.

Еще одна неприятность эхо. Все, что передает передатчик устройства, воспринимает его собственный приемник. Надо это учитывать. В некоторых системах данные эха обрабатываются, как часть протокола. В других – запрещается работа приемника в момент передачи. В моих билиотеках Tiny_ModBusRTU_Master и Tiny_ModBusRTU_Slave после каждой передачи данных ведущее устройство очищает приемный буфер.

Согласование линии связи.

При передаче данных на значительное расстояние может происходить заметное искажение сигнала в линии связи. Электромагнитная волна отражается от конца кабеля, возвращается к передатчику, возникают резонансные явления.

Причина – распределенные емкостные и индуктивные свойства кабеля. На практике кабель имеет однородную конструкцию на протяжении все длины, следовательно, одинаковые распределенные параметры. Поэтому свойство кабеля можно характеризовать одним параметром – волновым сопротивлением. Так вот, искажение сигнала в кабеле можно значительно уменьшить, если на приемном конце подключить резистор сопротивлением, равным волновому сопротивлению кабеля. Такой резистор называется терминатором. В сетях RS-485 терминаторы ставятся на оба конца кабеля, т.к. обе стороны могут быть как приемными, так и передающими.

Волновое сопротивление витых пар, как правило, составляет 100 … 150 Ом. Для сетей RS-485 разработаны специальные кабели с волновым сопротивлением 120 Ом. Именно это сопротивление терминаторов считается стандартным. Часто терминаторы с сопротивлением 120 Ом уже установлены в устройствах с интерфейсом RS-485 и могут быть отключены переключателем.

На практике используются терминаторы и с большим сопротивлением, чем волновое сопротивление кабеля. Если активное сопротивление кабеля велико и сравнимо с сопротивлением терминаторов, то на приемной стороне амплитуда сигнала может значительно снизиться. В этом случае необходимо искать компромисс между допустимыми искажениями сигнала и его амплитудой. На низких скоростях передачи, 9600 бод и ниже, применение низкоомных терминаторов может даже уменьшить качество приема.

На искажения сигнала в линии связи также влияет топология сети. Отражения сигнала происходят от любой неоднородности линии, в том числе и за счет ответвлений. Поэтому линия связи физически должна последовательно обходить устройства сети, без длинных отводов.

Исключения это сети с низкими скоростями передачи данных и сети, использующие повторители. За счет повторителей также может быть увеличена общая длина линии связи RS-485.

Гальваническая развязка.

Стандарт RS-485 не предусматривает гальваническую развязку интерфейса от линии связи. Но если устройства сети расположены на большом расстоянии друг от друга, то потенциалы их земляных проводов могут разойтись на значительное напряжение. В этом случае не спасут дифференциальные сигналы, их потенциалы могут разойтись больше чем допустимые -7 … + 12 В. Это приведет к неработоспособности интерфейса и даже выходе его из строя.

Описание

RS-485 (Recommended Standard 485 или EIA/ TIA -485-A) – рекомендованный стандарт передачи данных по двухпроводному полудуплексному многоточечному последовательному симметричному каналу связи. Совместная разработка ассоциаций: Electronic Industries Alliance (EIA) и Telecommunications Industry Association (TIA). Стандарт описывает только физические уровни передачи сигналов (т.е. только 1-й уровень модели взаимосвязи открытых систем OSI). Стандарт не описывает программную модель обмена и протоколы обмена. RS-485 создавался для расширения физических возможностей интерфейса RS232 по передаче двоичных данных.

Выпуски стандарта RS-485

Название: 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.

Международные и национальные стандарты основанные на стандарте RS-485

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 .

Свойства интерфейса стандарта RS-485

    Двунаправленная полудуплексная передача данных. Поток последовательных данных передаётся одновременно только в одну сторону, передача данных в другую сторону требует переключения приёмопередатчика. Приёмопередатчики принято называть "драйверами"(driver), это устройство или электрическая цепь, которая формирует физический сигнал на стороне передатчика.

    Симметричный канал связи. Для приёма/передачи данных используются два равнозначных сигнальных провода. Провода означаются латинскими буквами "А" и "В". По этим двум проводам идет последовательный обмен данными в обоих направлениях (поочередно). При использовании витой пары симметричный канал существенно повышает устойчивость сигнала к синфазной помехе и хорошо подавляет электромагнитные излучения создаваемые полезным сигналом.

    Дифференциальный (балансный способ передачи данных). При этом способе передачи данных на выходе приёмопередатчика изменяется разность потенциалов, при передаче "1" разность потенциалов между AB положительная при передаче "0" разность потенциалов между AB отрицательная. То есть, ток между контактами А и В, при передачи "0" и "1", течёт (балансирует) в противоположных направлениях.

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

    Низкоимпендансный выход передатчика. Буферный усилитель передатчика имеет низкоомный выход, что позволяет передавать сигнал ко многим приёмникам. Стандартная нагрузочная способность передатчика равна 32-м приёмникам на один передатчик. Кроме этого, токовый сигнал используется для работы "витой пары" (чем больше рабочий ток "витой пары", тем сильнее она подавляется синфазные помехи на линии связи).

    Зона нечувствительности. Если дифференциальный уровень сигнала между контактами АВ не превышает ±200мВ, то считается, что сигнал в линии отсутствует. Это увеличивает помехоустойчивость передачи данных.

Технические характеристики RS-485

    Допустимое число приёмопередатчиков (драйверов) 32

    Максимальная длина линии связи 1200 м (4000ft)

    Максимальная скорость передачи 10 Мбит/с

    Минимальный выходной сигнал драйвера ±1,5 В

    Максимальный выходной сигнал драйвера ±5 В

    Максимальный ток короткого замыкания драйвера 250 мА

    Выходное сопротивление драйвера 54 Ом

    Входное сопротивление драйвера 12 кОм

    Допустимое суммарное входное сопротивление 375 Ом

    Диапазон нечувствительности к сигналу ±200 мВ

    Уровень логической единицы (Uab) >+200 мВ

    Уровень логического нуля (Uab) ←200 мВ

Входное сопротивление для некоторых приёмников может быть более 12 кОм (единичная нагрузка). Например, 48 кОм (1/4 единичной нагрузки) или 96 кОм (1/8), что позволяет увеличить количество приёмников до 128 или 256. При разных входных сопротивлениях приёмников необходимо, чтобы общее входное сопротивление не было меньше 375 Ом.

Описание работы RS-485

Так как стандарт, RS-485 описывает только физический уровень процедуры обмена данными, то все проблемы обмена, синхронизации и квитирования, возлагаются на более высокий протокол обмена. Как мы уже говорили, наиболее часто, это стандарт RS-232 или другие верхние протоколы (ModBus , DCON и т.п.).

Сам RS-485 выполняет только следующие действия:

    Преобразует входящую последовательность "1" и "0" в дифференциальный сигнал.

    Передает дифференциальный сигнал в симметричную линию связи.

    Подключает или отключает передатчик драйвера по сигналу высшего протокола.

    Принимает дифференциальный сигнал с линии связи.

Если подключить осциллограф к контактам А-В (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

    Используется однополярный источник питания +5В, который используется для питания большинства электронных приборов и микросхем. Это упрощает конструкцию и облегчает согласование устройств.

    Мощность сигнала передатчика RS-485 в 10 раз превосходит мощность сигнала передатчика RS-232. Это позволяет подключать к одному передатчику RS-485 до 32 приёмников и таким образом вести широковещательную передачу данных.

    Использование симметричных сигналов, у которой имеется гальваническая развязка с нулевым потенциалом питающей сети. В результате исключено попадание помехи по нулевому проводу питания (как в RS-232). Учитывая возможность работы передатчика на низкоомную нагрузку, становится возможным использовать эффект подавления синфазных помех с помощью свойств "витой пары". Это существенно увеличивает дальность связи. Кроме этого появляется возможность "горячего" подключения прибора к линии связи (хотя это не предусмотрено стандартом RS-485). Заметим что в RS-232 "горячее" подключение прибора обычно приводит к выходу из строя СОМ порта компьютера.

Описание обмена данными по стандарту RS-485

Каждый приёмопередатчик (драйвер) 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 и др.) и ПО.

Основные принципы реализации протоколов верхнего уровня (типа MODBUS)

Кратко рассмотрим эти протоколы, хотя они не имеют отношение к стандарту RS-485. Обычно протокол верхнего уровня включает в себя пакетную, кадровую или фреймовую организацию обмена. То есть, информация передаётся логически завершенными частями. Каждый кадр обязательно маркируется, т.е. обозначается его начало и конец специальными символами. Каждый кадр содержит адрес прибора, команду, данные, контрольную сумму, которые необходимы для организации многоточечного обмена. Чтобы избежать коллизий обычно применяют схему "ведущий"(master)-"ведомый"(slave). "Ведущий" имеет право самостоятельно переключать свой драйвер RS-485 в режим передачи, остальные драйверы RS-485 работают в режиме приёма и называются "ведомыми". Чтобы "ведомый" начал предавать данные в линию связи "ведущий" посылает ему специальную команду, которая дает прибору с указанным адресом право переключить свой драйвер в режим передачи на определенное время.

После передачи разрешающей команды "ведомому", "ведущий" отключает свой передатчик и ждет ответа "ведомого" в течение промежутка времени, который называется "таймаут". Если в течении таймаута ответ от "ведомого" не получен, то "ведущий" снова занимает линию связи. В роли "ведущего" обычно выступает программа, установленная на компьютер. Существуют и более сложная организация пакетных протоколов, которая позволяет циклически предавать роль "ведущего" от прибора к прибору. Обычно такие приборы называют "лидерами", либо говорят что приборы передают "маркер". Владение "маркером" делает прибор "ведущим", но он должен будет обязательно передать его другому прибору сети по определённому алгоритму. В основном, указанные выше протоколы, отличаются по этим алгоритмам.

Как мы видим, верхние протоколы имеют пакетную организацию и выполняются на программном уровне, они позволяют решить проблему с "коллизиями" данных и многоточечную организацию обмена данными.

Реализация приемопередатчиков (драйверов) RS-485

Многие фирмы изготовляют приемопередатчики RS485. Называют их обычно конверторы RS232 - RS485 или преобразователи RS232-RS485. Для реализации этих приборов выпускается специальные микросхемы. Роль этих микросхем сводится к преобразованию уровней сигналов RS232C к уровню сигналов RS485 (TTL/CMOS) и обратно, а также обеспечение работы полудуплексного режима.

По способу переключения в режим передачи различают приборы:

    Переключающиеся с помощью отдельного сигнала. Для перехода в режим передачи необходимо выставить активный сигнал на отдельном входе. Обычно это сигнал RST (СОМ порта). Эти приемопередатчики сейчас редко встречаются. Но, тем не менее, они иногда не заменимы. Допустим нужно прослушивать обмен данными между контроллерами промышленного оборудования. При этом, ваш приёмопередатчик не должен переходить в режим передачи, чтобы не создать коллизию в данной сети. Использование приёмопередатчика с автоматическим переключением здесь не допустимо. Пример такого конвертера Овен АС3.

    С автоматическим переключением и без проверки состояния линии. Наиболее распространённые конверторы, которые переключаются автоматически при появлении на их входе информационного сигнала. При этом они не контролируют занятость линии связи. Эти конверторы требуют осторожного применения из-за высокой вероятности возникновения коллизий. Пример конвертора Овен АС3М.

    С автоматическим переключением и с проверкой состояния линии. Наиболее продвинутые конверторы, которые могут передавать данные в сеть только при условии, что сеть не занята другими приёмопередатчиками и на входе имеется информационный сигнал.

Аппаратная реализация RS485 на примере преобразователя RS232-RS485 АС3 Овен

Рис.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

Сеть RS-485 строится по последовательной шиной(bus) схеме, т.е. приборы в сети соединяются последовательно симметричными кабелями. Концы линий связи при этом должны быть нагружены согласующими резисторами- "терминаторами"(terminator), величина которых должна быть равна волновому сопротивлению кабеля связи.

Терминаторы выполняют следующие функции:

    Уменьшают отражение сигнала от конца линии связи.

    Обеспечивают достаточный ток через всю линию связи, что необходимо для подавления синфазной помехи с помощью кабеля типа "витая пара".

Если расстояние сегмента сети превышает 1200 м или количество драйверов в сегменте более 32 штук, нужно использовать повторитель (repeater), для создания следующего сегмента сети. При этом каждый сегмент сети должен быть подключен к терминаторам. Сегментом сети при этом считается кабель между крайним прибором и повторителем или между двумя повторителями.

Стандарт RS-485 не определяет, какой тип симметричного кабеля нужно использовать, но де-факто используют кабель типа "витая пара" с волновым сопротивлением 120 Ом.

Рис.6 Промышленный кабель Belden 3106A для сетей RS485

Рекомендовано использовать промышленный кабель Belden3106A для прокладки сетей RS485. Данный кабель имеет волновое сопротивление 120 Ом и двойной экран витой пары. Кабель Belden3106A содержит 4 провода. Оранжевый и белый провод представляют собой симметричную экранированную витую пару. Синий провод кабеля используется для соединения нулевого потенциала источников питания приборов в сети и называется "общий"(Common). Провод без изоляции используется для заземления оплетки кабеля и называется "дренажный" (Drain). В сегменте сети дренажный провод заземляется через сопротивление на шасси прибора, с одного из концов сегмента, чтобы не допустить протекания блуждающих токов через оплетку кабеля, при разном потенциале земли в удалённых точках.

Обычно сопротивления терминаторов и защитного заземления находится внутри прибора. Необходимо правильно подключить их с помощью перемычек или переключателей. В технической документации фирмы изготовителя приборов необходимо найти описание этих подключений.

Рис.7 Схема подключения 1747-AIC (Allen Bradley)

На рис.7 показаны соединения кабеля с промежуточными приборами сегмента сети. Для первого прибора в сегменте сети DH-485 необходимо установить перемычку 5-6 (она подключает терминатор 120 Ом, который находится внутри прибора 1747-AIC) и перемычку 1-2 (подключает дренажный провод к шасси прибора через внутреннее сопротивление). Для последнего прибора в сегменте сети нужно установить только перемычку 5-6 (подключить терминатор)

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

Программное обеспечение для работы в сетях RS-485

Интерфейс 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

    Большое потребление энергии.

    Отсутствие сервисных сигналов.

    Возможность возникновения коллизий.