Energy
education

сайт для тех, кто хочет изучать энергетику

3. Интерфейсы RS-485, RS-422 и RS-232

Интерфейсы RS-485 и RS-422 описаны в стандартах ANSI EIA/TIA-485-А и EIA/TIA-422. Интерфейс RS-485 является наиболее распространенным в промышленной автоматизации. Его используют промышленные сети Modbus, Profibus DP, ARCNET, BitBus, WorldFip, LON, Interbus и множество нестандартных сетей. Связано это с тем, что по всем основным показателям данный интерфейс является наилучшим из всех возможных при современном уровне развития технологии. Основными его достоинствами являются: двусторонний обмен данными всего по одной витой паре проводов; работа с несколькими трансиверами, подключенными к одной и той же линии, т.е. возможность организации сети; большая длина линии связи; достаточно высокая скорость передачи.

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

Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме.
Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме.

Приемники сигнала являются дифференциальными, т.е. воспринимают только разность между напряжениями на линии Data+ и Data–. При разности напряжений более 200 мВ, до +12 В считается, что на линии установлено значение логической единицы, при напряжении менее –200 мВ, до –7 В – логического нуля. Дифференциальное напряжение на выходе передатчика в соответствии со стандартом должно быть не менее 1.5 В, поэтому при пороге срабатывания приемника 200 мВ помеха (в том числе падение напряжения на омическом сопротивлении линии) может иметь размах 1.3 В над уровнем 200 мВ. Такой большой запас необходим для работы на длинных линиях с большим омическим сопротивлением. Фактически, именно этот запас по напряжению и определяет максимальную длину линии связи (1200 м) при низких скоростях передачи (менее 100 кбит/с).

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

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

Второй особенностью передатчика D (D – "Driver") интерфейса RS-485 является возможность перевода выходных каскадов в "третье" (высокоомное) состояние сигналом (Driver Enable). Для этого запираются оба транзистора выходного каскада передатчика. Наличие третьего состояния позволяет осуществить полудуплексный обмен между любыми двумя устройствами, подключенными к линии, всего по двум проводам. Если передачу выполняет устройство В, а прием – устройство С, то выходы передатчиков А и С переводятся в высокоомное состояние, т.е. фактически к линии оказываются подключены только приемники, при этом выходное сопротивление передатчиков А и С не шунтирует линию.

Перевод передатчика интерфейса в третье состояние осуществляется обычно сигналом RTS (Request To Send) СОМ-порта.

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

Четырехпроводное соединение устройств с интерфейсом RS-485.
Четырехпроводное соединение устройств с интерфейсом RS-485.

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

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

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

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

Параметры интерфейса RS-485, установленные стандартом представлены в следующей таблице

Параметр Условие Мин. Макс. Единица измерения
Выходное напряжение передатчика без нагрузки $R_{нагр}=0$ $1.5$ или $-1.5$ $6$ или $-6$ В
Выходное напряжение передатчика с нагрузкой $R_{нагр}=54$ Ом $1.5$ или $-1.5$ $5$ или $-5$ В
Ток к.з. передатчика К.з. выхода на источник питания +12 В или на ‑7 В $±250$ мА
Длительность переднего фронта импульсов передатчика $R_{нагр}=54$ Ом или $С_{нагр}=50$ пФ 30 % от ширины импульса
Синфазное напряжение на выходе передатчика $R_{нагр}=54$ Ом $-1$ $3$ В
Чувствительность приемника При синфазном напряжении от -7 до +12 В $±200$ мВ
Синфазное напряжение на входе приемника $–7$ $+12$ В
Входное сопротивление приемника $12$ кОм
Максимальная скорость передачи Кабель длиной 12 м 10 Мбит/с
Максимальная скорость передачи Кабель длиной 1200 м 100 Кбит/с

Согласование линии с передатчиком и приемником. Если время распространения электромагнитного поля через кабель становится сравнимо с характерными временами передаваемых сигналов, то кабель нужно рассматривать как длинную линию с распределенными параметрами. Время распространения электромагнитного поля в нем составляет 60...75% от скорости света в вакууме и зависит от диэлектрической и магнитной проницаемости диэлектрика кабеля, сопротивления проводника и его конструктивных особенностей. При скорости света в вакууме 300000 км/с для кабеля длиной 1000 м можно получить скорость распространения электромагнитной волны в кабеле 200...225 км/с и время распространения 5.6 мкс.

Электромагнитная волна, достигая конца кабеля, отражается от него и возвращается к источнику сигнала, отражается от источника и опять проходит к концу кабеля. Вследствие потерь на нагрев проводника и диэлектрика амплитуда волны в конце кабеля всегда меньше, чем в начале. Для типовых кабелей можно считать, что только первые 3 цикла прохождения волны существенно влияют на форму передаваемого сигнала. Это дает общую длительность паразитных колебаний на фронтах передаваемых импульсов, связанных с отражениями, около 33.6 мкс при длине кабеля 1 км. Поскольку в приемном узле универсальный трансивер (UART Universal Asynchronous Receive Transmit) определяет логическое состояние линии в центре импульса, то минимальная длительность импульса, который еще можно распознать с помощью UART, составляет 33.6 х 2 = 67.2 мкс. Поскольку при NRZ кодировании минимальная длительность импульса позволяет закодировать 1 бит информации, то получим максимальную скорость передачи информации, которую еще можно принять несмотря на наличие отражений, равную 1/67.2 мкс = 14.9 кбит/с. Учитывая, что реально условия передачи всегда хуже расчетных, стандартную скорость передачи 9600 бит/с приближенно можно считать границей, на которой еще можно передать сигнал на расстояние 1000 м несмотря на наличие отражений от концов линии.

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

При большей скорости передачи, например, 115200 бит/с, ширина передаваемых импульсов составляет 4.3 мкс, и их невозможно отличить от импульсов, вызванных отражениями от концов линии. Используя вышеприведенные рассуждения, можно получить, что при скорости передачи 115200 бит/с максимальная длина кабеля, при которой еще можно не учитывать отражения от концов линии, составляет 60 м.

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

$$Z_0=\sqrt{\frac{R_0+jωL_0}{G_0+jωC_0}},$$

где $R_0$, $L_0$, $G_0$, $C_0$ – погонные сопротивление, индуктивность, проводимость и емкость кабеля, jω – комплексная круговая частота. Как следует из этой формулы, в кабеле без потерь волновое сопротивление не зависит от частоты, при этом прямоугольный импульс распространяется по линии без искажений. В линии с потерями фронт импульса "расплывается" по мере увеличения расстояния импульса от начала кабеля.

Отношение амплитуды напряжения отраженного синусоидального сигнала (отраженной волны) от конца линии к амплитуде сигнала, пришедшего к концу линии (падающей волны) называется коэффициентом отражения по напряжению $K_u$, который зависит от степени согласованности волновых сопротивлений линии и нагрузки:

$$K_u=\frac{R_н-Z_0}{R_н+Z_0},$$

где $R_н$ – сопротивлению согласующего резистора на конце или в начале линии (кабеля). Случай $R_н=Z_0$ соответствует идеальному согласованию линии, при котором отражения отсутствуют.

Применение терминальных резисторов для согласования линии передачи.
Применение терминальных резисторов для согласования линии передачи.

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

Резисторы ставят на двух противоположных концах кабеля. Распространенной ошибкой является установка резистора на входе каждого приемника, подключенного к линии, или на конце каждого отвода от линии, что перегружает стандартный передатчик. Дело в том, что два терминальных резистора в сумме дают 60 Ом и потребляют ток 25 мА при напряжении на выходе передатчика 1.5 В; кроме этого, 32 приемника со стандартным входным током 1 мА потребляют от линии 32 мА, при этом общее потребление тока от передатчика составляет 57 мА. Обычно это значение близко к максимально допустимому току нагрузки стандартного передатчика RS-485. Поэтому нагрузка передатчика дополнительными резисторами может привести к его отключению средствами встроенной автоматической защиты от перегрузки.

Второй причиной, которая запрещает использование резистора в любом месте, кроме концов линии, является отражение сигнала от места расположения резистора.

При расчете сопротивления согласующего резистора нужно учитывать общее сопротивление всех нагрузок на конце линии. Например, если к концу линии подключен шкаф комплектной автоматики, в котором расположены 30 модулей с портом RS-485, каждый из которых имеет входное сопротивление 12 кОм, то общее сопротивление всех модулей будет равно 12 кОм/30 = 400 Ом. Поэтому для получения сопротивления нагрузки линии 120 Ом сопротивление терминального резистора должно быть равно 171 Ом.

Отметим недостаток применения согласующих резисторов. При длине кабеля 1 км его омическое сопротивление (для типового стандартного кабеля) составит 97 Ом. При наличии согласующего резистора 120 Ом образуется резистивный делитель, который примерно в 2 раза ослабляет сигнал, и ухудшает отношение сигнал/шум на входе приемника. Поэтому при низких скоростях передачи (менее 9600 бит/с) и большом уровне помех терминальный резистор не улучшает, а ухудшает надежность передачи.

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

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

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

Однако сказанное справедливо только для высоких скоростей передачи (более 9600 бит/с), когда эффекты отражения влияют на достоверность передачи. Для низких скоростей длина отвода может быть произвольной.

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

Применение повторителей интерфейса для разветвления линии передачи.
Применение повторителей интерфейса для разветвления линии передачи.

Устранение состояния неопределенности линии. Когда передатчики всех устройств, подключенных к лини, находятся в третьем (высокоомном) состоянии, логическое состояние линии и входов всех приемников не определено. Чтобы устранить эту неопределенность, неинвертирующий вход приемника соединяют через резистор с шиной питания, а инвертирующий – с шиной "земли". Величины резисторов выбирают такими, чтобы напряжение между входами стало больше порога срабатывания приемника (+200 мВ).

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

Например, если резисторы, используемые для устранения неопределенности состояния линии, имеют сопротивление 450 Ом каждое, то резистор для согласования линии должен иметь номинал 130 Ом, тогда эквивалентное сопротивление цепи будет примерно равно 120 Ом. Для того, чтобы найти дифференциальное напряжение линии в третьем состоянии всех передатчиков, нужно учесть, что к противоположному концу линии в стандартной конфигурации подключен еще один резистор сопротивлением 120 Ом и до 32 приемников с входным дифференциальным сопротивлением 12 кОм. Тогда при напряжении питания V=5 В дифференциальное напряжение линии будет равно +272 мВ, что удовлетворяет требованию стандарта.

Резисторная цепь на выходе трансивера интерфейса, устраняющая неопределенное состояние линии и обеспечивающая ее согласование.
Резисторная цепь на выходе трансивера интерфейса, устраняющая неопределенное состояние линии и обеспечивающая ее согласование.

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

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

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

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

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

Кабели могут быть экранированными или нет. Без эксперимента очень трудно решить, нужен ли экран. Однако, учитывая, что стоимость экранированного кабеля не намного выше, лучше всегда использовать кабель с экраном.

При низкой скорости передачи и на постоянном токе большую роль играет падение напряжения на омическом сопротивлении кабеля. Так, стандартный кабель для интерфейса RS-485 сечением 0.35 кв.мм имеет омическое сопротивление 48.5 х 2 = 97 Ом при длине 1 км. При терминальном резисторе 120 Ом кабель будет выполнять роль делителя напряжения с коэффициентом деления 0.55, т.е. напряжение на выходе кабеля будет примерно в 2 раза меньше, чем на его входе. Этим ограничивается допустимая длина кабеля при скорости передачи менее 100 кбит/с.

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

На более высоких частотах допустимая длина кабеля уменьшается с ростом частоты и ограничивается потерями в кабеле и эффектом дрожания фронта импульсов. Потери складываются из падения напряжения на омическом сопротивлении проводников, которое на высоких частотах возрастает за счет вытеснения тока к поверхности (скин-эффект) и потерь в диэлектрике. К примеру, ослабление сигнала в кабеле Belden 9501PVC составляет 10 дБ (3.2 раза) на частоте 20 МГц и 0.4 дБ (на 4.7%) на частоте 100 кГц при длине кабеля 100 м.

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

Зависимость допустимой длины кабеля от скорости передачи при скорости более 100 кбит/с.
Зависимость допустимой длины кабеля от скорости передачи при скорости более 100 кбит/с.

На рисунке выше показана зависимость допустимой длины кабеля от скорости передачи при скоростях более 100 кбит/с и использовании трансивера. Зависимость построена для трех значений показателей качества передачи сигнала, которые оценивается величиной дрожания фронта импульса. Как видно, допустимая длина может быть увеличена при снижении требований к качеству передачи. Нижняя кривая показана для случая, когда длительность фронта импульса после прохождения сигнала по линии увеличивается до 30% от ширины импульса. Увеличение длительности фронтов на конце линии – вторая причина, по которой длина линии не может быть больше указанной.

Расширение предельных возможностей. Стандарт RS-485 допускает подключение не более 32 приемников к одному передатчику. Эта величина ограничивается мощностью выходного каскада передатчика при стандартном входном сопротивлением приемника 12 кОм. Количество нагрузок (приемников) может быть увеличено с помощью более мощных передатчиков, приемников с большим входным сопротивлением и промежуточных ретрансляторов сигнала (повторителей интерфейса). Все эти методы используются на практике, когда это необходимо, хотя они выходят за рамки требований стандарта.

В некоторых случаях требуется соединить устройства на расстоянии более 1200 м или подключить к одной сети более 32 устройств. Это можно сделать с помощью повторителей (репитеров, ретрансляторов) интерфейса. Повторитель устанавливается между двумя сегментами линии передачи, принимает сигнал одного сегмента, восстанавливает фронты импульсов и передает его с помощью стандартного передатчика во второй сегмент. Такие повторители обычно являются двунаправленными и имеют гальваническую изоляцию. Каждый повторитель позволяет добавить к линии 31 стандартное устройство и увеличить длину линии на 1200 м.

Распространенным методом увеличения числа нагрузок линии является использование приемников с более высокоомным входом, чем предусмотрено стандартом EIA/TIA-485 (12 кОм). Например, при входном сопротивлении приемника 24 кОм к стандартному передатчику можно подключить 64 приемника. Уже выпускаются микросхемы трансиверов для интерфейса RS-485 с возможностью подключения 64, 128 и 256 приемников в одном сегменте сети. Отметим, что увеличение количества нагрузок путем увеличения входного сопротивления приемников приводит к уменьшению мощности передаваемого по линии сигнала, и, как следствие, к снижению помехоустойчивости.

Интерфейсы RS-232 и RS-422. Интерфейс RS-422 используется гораздо реже, чем RS-485 и, как правило, не для создания сети, а для соединения двух устройств на большом расстоянии (до 1200 м), поскольку интерфейс RS-232 работоспособен только на расстоянии до 15 м. Каждый передатчик RS-422 может быть нагружен на 10 приемников. Интерфейс работоспособен при напряжении общего вида до ±7 В.

Соединение двух модулей преобразователей интерфейса RS-232/RS-422.
Соединение двух модулей преобразователей интерфейса RS-232/RS-422.

Сравнение интерфейсов RS-232, RS-422 и RS-485 представлено в следующей таблице

Параметр RS-232 RS‑422 RS‑485
Способ передачи сигнала Однофазный Дифференциальный Дифференциальный
Максимальное количество приемников 1 10 10
Максимальная длина кабеля 15 м 1200 м 1200 м
Максимальная скорость передачи 460 кбит/с 10 Мбит/с 10 Мбит/с
Синфазное напряжение на выходе ± 25 В -0.25...+6 В -7...+12 В
Напряжение в линии под нагрузкой ±5... ±15 В ±2 В ±1.5 В
Импеданс нагрузки 3...7 кОм 100 Ом 54 Ом
Ток утечки в "третьем" состоянии ±100 мкА
Допустимый диапазон сигналов на входе приемника ±15 В ±10 В -7...+12 В
Чувствительность приемника ±3 В ±200 мВ ±200 мВ
Входное сопротивление приемника 3...7 кОм 4 кОм 12 кОм