22.11.2024

Интерфейс rs 485 для чайников: принцип действия, схема, организация работы

Содержание

принцип действия, схема, организация работы

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

Где необходимо передавать данные по RS 485.

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

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

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

Васильев Дмитрий Петрович

Профессор электротехники СПбГПУ

Но самой сложной задачей, решаемой интерфейсами связи, являются системы централизованного управления сложными производственными процессами – АСУ ТП. У оператора промышленной установки на столе есть компьютер, на дисплее которого он видит текущее состояние процесса: температуры, производительность, включенные и отключенные агрегаты, их режим работы. И имеет возможность всем этим управлять легким щелчком мыши.

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

Интерфейс RS-232 — младший брат RS 485.

Нельзя хотя бы коротко не упомянуть об интерфейсе RS-232, который еще называют последовательным. Разъем под соответствующий порт имеют некоторые ноутбуки, а некоторые цифровые устройства (те же терминалы релейной защиты) снабжаются выходами для связи с помощью RS-232.

Для того, чтобы обмениваться информацией, нужно уметь ее передавать и принимать. У RS-232 для этого есть передатчик и приемник сигналов. Они имеются в каждом устройстве. Причем выход передатчика одного устройства (TX) соединяется со входом приемника другого устройства (RX). И, соответственно, по другому проводнику аналогичным образом сигнал движется в обратную сторону.

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

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

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

Организация интерфейса RS-485.

Главное отличие RS-458 от RS-232 – все приемники и передатчики работают на одну пару проводов, являющуюся линией связи. Провод земли при этом не используется, а сигнал в линии формируется дифференциальным методом. Он передается одновременно по двум проводам («А» и «В») в инверсном виде.

Если на выходе передатчика – логический «0», то на проводник «А» выдается нулевой потенциал. На проводнике «В» формируется сигнал «не 0», то есть – «1». Если передатчик транслирует «1», получается все наоборот.

Абрамян Евгений Павлович

Доцент кафедры электротехники СПбГПУ

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

Порядок обмена данными между устройствами по RS-485.

Все устройства, объединяемые интерфейсом RS-485, имеют всего два клеммы: «А» и «В». Для подключения к общей сети эти клеммы соединяются в параллельную цепь. Для этого от одного устройства к другому прокладывается цепочка кабелей.

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

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

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

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

Орлов Анатолий Владимирович

Начальник службы РЗиА Новгородских электрических сетей

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

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

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

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

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

Требования к кабельным соединениям.

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

Для лучшей защиты от помех кабели экранируются, при этом экраны на всей линии соединяют друг с другом. Для этого на объединяемых устройствах помимо выводов «А» и «В» имеется клемма «СОМ». Заземляется линия только в одной точке, обычно в месте расположения контроллера, модема или компьютера. В двух точках это делать запрещено, чтобы избежать наводок, которые неизбежно пойдут по экрану из-за разности потенциалов в точках заземления.

Кабели соединяют только последовательно друг с другом, делать ответвления нельзя. Для согласования линии в ее конце подключается резистор с сопротивлением 120 Ом (это волновое сопротивление кабеля).

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

Для лучшего понимая работы интерфейса RS-485 предлагаем Вам посмотреть следующее видео:

Баллада о передаче данных / Хабр

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

Имеется 2 или более устройств на достаточно большом (1-100 метров) расстоянии, между которыми надо передавать данные. Рассмотрев некоторые интерфейсы (rs232/422/485, I2C, Ethernet) пришел к выводу — что они либо не гарантируют однозначную передачу данных, много проводов тоже мне не понравилось, не дают ответ что информация принята. За основу решил взять интерфейс RS485 — из его плюсов он может «далеко идти», 2 провода, можно одновременно подключить кучу приборов, прост, (UART) есть почти на любом контроллере.

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

Один цикл обмена.


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

Вопрос второй: получение ответного сообщения, на переданное.

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

передаваемых символов во всем сообщении, что-то еще, байт контрольной суммы (БКС), конечный байт.

Примечание: байт контрольной суммы считать по модулю 2

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

Для исправления этого было принято: если ответ не приходит(или приходит но недостоверный), то повторно (кол-во раз без маразма) повторять текущий цикл обмена. Здесь может возникнуть следующая ошибка. Допустим мы направляем команду говорящую устройству, что нужно прибавить громкость на +1 единицу. Когда сообщение доходит до ведомого, он выполняет команду прибавить громкость и отправляет ответ «ок, я сделал как ты хотел», при этом может получится так что ответ портится и ведущий не понимает что команда уже исполнена, и отправляет сообщение повторно. В итоге по приеме команды на стороне ведомого громкость будет уже прибавлена на +2 единицы. Для избегания такого явления, принято ввести идентификатор (НС — номер сообщения) отличия сообщений. Если номер сообщения повторяется, то это повторное сообщение и указанную команду выполнять не надо, а просто отправить предыдущее ответное сообщение.

Так же здесь ввожу еще 2 параметра — это номер (код) устройства которому передаются данные и номер (субкод) обозначающий какую команду надо выполнять(либо какие данные лежат внутри сообщения).

В итоге сложу все вместе и пройду по алгоритму, на примере увеличения значения порога срабатывания реле по температуре на 5 градусов Цельсия и забора текущего показания температуры из ведомого устройства за 1 цикл обмена:

Формирую передаваемые данные от ведущего:

При приеме сообщения ведомым смотрит 2 байт, где лежит кол-во отправленных байт, если кол-во отправленных байт равно кол-ву принятых — значит сообщение не потеряло байтов далее смотрим начальный байт(символ) если он = ‘$’, а также конечный байт(символ) если он = ‘#’ — то это сообщение от ведущего к ведомому.

Тут же рассмотрю возможные варианты сообщения от ведущего к ведомому с ошибками в начальном и конечном байтах, а также вариант с ошибкой кол-ва байт в сообщении. Оговорюсь сразу из 3 значений параметров буду считать правильными 2 и 3, т.е. при совпадении 2-х параметров из 3-х возможных считаю сообщение состоявшимся.

1. начальный байт = ‘$’, кол-во принятых байт = 7(кол-во отправленных байт = 7), конечный байт не равен ‘#’;

2. начальный байт не равен ‘$’, кол-во принятых байт = 7(кол-во отправленных байт = 7), конечный байт = ‘#’;

3. начальный байт = ‘$’, кол-во принятых байт = 7(кол-во отправленных байт = 7, кол-во байт не равно 7), конечный байт = ‘#’.

Далее обсчитываем контрольную сумму оставшихся 3 байт(байты 3, 4, 5), если она совпадает с БКС продолжаем парсинг данных, смотрим для этого ли устройства эти данные и что надо по ней выполнить, в нашем случае код ведомого устройства 55 и субкод 2 говорит о том что надо прибавить еще 5 градусов к порогу срабатывания реле и в ответном сообщении отправить текущие данные по температуре. Проверяю НС если не равен предыдущему номеру сообщения то выполняю команду и к текущему значению порога срабатывания реле прибавляю 5 градусов. Если они равны (НС), то не выполняю указанные действия, далее перехожу к формированию ответного сообщения.

применение схемы [‘$’][кол-во отправленных/принятых байт][…][‘#’] — с большой вероятностью гарантирует что такая комбинация не сможет встретится в передаваемых данных, и спровоцировать лжесообщение.

Формирую передаваемые данные от ведомого на основе принятого сообщения:

Принцип обработки следующий: смотрим 2 байт где лежит кол-во отправленных байт, если кол-во отправленных байт равно количеству принятых байт а также начальный байт = ‘@’ и конечный байт = ‘&’ — то это сообщение от ведомого к ведущему. Если требуется использую механизм 2 из 3-х, аналогично описанному выше только уже для ответного сообщения (для символов ‘@’ и ‘&’). Ведущий при приеме этого сообщения анализирует контрольную сумму 9 (с 3-го по 11-ый) байт, при совпадении контрольной суммы данные в сообщении считаются достоверными и продолжается дальнейший анализ данных. При совпадении кода, субкода и НС отправленного и принятого сообщения продолжаем анализ ответа на сообщение отправленное ведущим. Далее идет анализ принимаемых данных, в моем случае в 6-ом байте значение 1 — говорит о том что команда по прибавке 5 градусов к порогу срабатывания реле произведена успешно, остальные 5 байт говорят о текущих показаниях температуры 7-ой байт — флаг говорящий о достоверности передаваемой температуры (т.е. рассматриваю вариант ведомое устройство включено и отвечает, а датчик может не работать) и 4 байта типа float значения температуры.

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

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

Сначала о последнем — передача от ведущего ведомым осуществляется назначением кода устройства 255, говорящего ведомым что это централизованное сообщение, далее остается только решить вопрос об общих субкодах, также можно группировать по кодам устройств т. е. назначить код устройства 254 и по этому коду 3 или 4 устройства будут принимать сообщение остальные ее игнорируют, естественно здесь не должна срабатывать часть по отправке ответов от ведомых устройств — т.е. не гарантированно что ведомые однозначно приняли эти сообщения!

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

Возможности интерфейса кол-во теоретически подключаемых устройств около 250, команд/типов данных до 248 для каждого устройства, длинна полезной информации в сообщении до 250 байт.

Поговорим о подводных каменьях:

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

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

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

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

P.S. У меня есть сомнения что я открыл здесь что-то новое, все это в той или иной мере где-то используется в разных интерфейсах! С легкой руки автора этой писанины и применения сего протокола в своих разработках, хочу дать название этому протоколу передачи данных «SRDB2».

Последовательный синхронный интерфейс SSI | MegaSensor.com

Последовательный интерфейс SSI — от А до Я

Несколько слов о параллельном способе передачи данных

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

В этом случае решить проблему может применение синхронно-последовательного интерфейса — SSI. В этом методе передачи данных для подключения каждого датчика необходимо лишь две витых пары, т.е. одна для тактового сигнала и вторая для сигнала данных. Для подключения питания требуется (так же как и для параллельного интерфейса) два провода. Специальные дифференциальные драйверы для RS 422/485, которые вырабатывают симметричный выходной сигнал, позволяют передавать сигнал на расстояние до 1200 метров при скорости передачи до 10 Mbit /сек. Это является, для большинства случаев применения, достаточным. Максимальная скорость передачи зависит от длины кабеля.

Описания работы SSI -интерфейса.

При этом виде интерфейса данные о позиционном положении оси датчика передаются синхронно с принятым сигналом такта ( CLOCK ) от системы управления. В состоянии покоя уровень сигнала как на тактовом проводе так и на проводе данных равен 1 ( High ). Как только тактовый сигнал в первый раз в начале каждой тактовой посылки поменяет свой уровень от высокого на низкий находящиеся внутри датчика бит-параллельные данные в параллельно-последовательном преобразователе Input — Latch сдвигового регистра по внутрисхемно выработанному сигналу ( Sload = Shift Load ) «замораживаются». Этим достигается, что данные во время последовательной передачи позиционного значения больше не изменяются. Со следующим перепадом от низкого уровня на высокий начинается передача позиционного значения причем начиная со старшего ( MSB ) бита. С каждым последующим перепадом с низкого на высокий уровень передается следующий более младший бит информации. После передачи последнего, т.е. самого младшего ( LSB ) бита с последним перепадом тактового сигнала от низкого уровня на высокий выход данных устанавливается в Low (конец передачи).

Рис.2 Принцип SSI -передачи.

Встроенный одновибратор настроенный на частоту tm определяет время после последнего нарастающего фронта тактового сигнала по истечению которого датчик снова готов для следующей передачи. Этому времени ( tm ) равно так же минимальное время между двумя друг за другом следующими тактовыми посылками.

tp < 20 µs tm > 20µs t < tm

Существует два способа передачи позиционного значения: однократный и многократный. Для передачи позиционного значения на тактовый вход датчика ( CLOCK ) должно быть подано определенное число ( n ) тактовых импульсов. Для однократной передачи это число содержит n =13 для варианта исполнения Singleturn (однооборотного) и n =25 для Multiturn (многооборотного исполнения). Многократная передача позиционного значения достигается путем удвоения (или умножения) количества тактовых импульсов т.е. числа n .
Нужно так же всегда учитывать необходимость прибавления n +1=14 тактов для Singleturn — или n +1=26 тактов для Multiturn -исполнения.
Последний перепад от «L» на «H» тактового сигнала одной, например, 26-тактовой-посылки сопровождается выдачей на выходе данных ( DATA ) L -сигнала. Этот сигнал и является информацией для разделения друг за другом следующих двухкратных (или многократных) тактовых посылок (см. рис. ниже).

Рис. 3: Многократная передача для Multiturn

Типичное электрическое подключение энкодера с SSI-интерфейсом

Описание протокола обмена SSI-интерфейса

В режиме ожидания, т.е. когда энкодер не опрашивается, сигнал на проводе «Clock+» (относительно «Clock+») положительный (High). С первым спадом сигнала с High на Low данные в датчике «замораживаются», т.е. энкодер подготавливается к передаче. С последующим фронтом сигнала (с Low на High) начинается передача данных, причем старшим битом (разрядом) вперед. Для надежного приема информации (учитывая емкостные задержки в линии связи) желательно, чтобы мастер (процессор) считывал бит с последующим спадом сигнала с High на Low. Таким образом, последовательность действий мастера следующая (на примере приема первых двух бит информации):

1. на провод «Clock+» подать уровень Low.
2. задержка     // для обеспечения необходимой частоты такта (100kHz-1mHz).
3. на провод «Clock+» подать уровень High.
3. задержка    //
4. на провод «Clock+» подать уровень Low.
5. опросить провод Data (Low или High?), записать первый бит информации.
6. задержка    //
7. на провод «Clock+» подать уровень High.
8. задержка    //
9. на провод «Clock+» подать уровень Low.
10. опросить провод Data (Low или High?), записать второй бит информации.
и т.д. начиная с пункта 6.

Для опроса сенсора мастеру необходимо генерировать тактов на один больше чем разрешение датчика, т.е. для случая разрешения энкодера 24 бита надо подать 24+1 = 25 тактов.
Тактовая частота может составлять 100кгц — 1мгц. Время между тактовыми посылками должна составлять более 15мкс. После последнего переданного бита датчик передает Low-сигнал в течении около 15мкс, что для мастера может означать конец передачи данных. Таким образом, следующая тактовая посылка от мастера должна прийти по истечении этого (15мкс) времени. Если такт придет раньше, то датчик начнет повторять передачу данных с самого начала, т.е. старые, не актуализированные данные. Таким образом, можно использовать этот режим (передавая, например, 24+1 тактов вместо 12+1) для контроля достоверности переданных данных, сравнивая принятые данные между собой. Лишь по истечении 15мкс данные внутри датчика (в выходных сдвиговых регистрах) актуализируются.
Для связи мастера с датчиком на большом расстоянии и/или в условиях больших помех необходимо использовать Line Driver, например, типа 65176.
Перекодировка с Gray-code в Binary может осуществляться, например, с помощью логических элементов «исключающее или».

Несколько слов о RS-485:

Входные и выходные параметры датчика соответствуют стандарту RS-485. Т.е сигнал на выходе управляющего устройства (Takt-, Takt+) можно формировать с помощью вышеуказанного Line Driver, например, типа 65176.
В случае необходимости энкодер можно также подключить по упрощенной схеме:
1. Вход датчика «Takt-» подключить на массу.
2. На вход «Takt+» подавать тактовый сигнал (Low=0V, High=5V)
Выход датчика, т.е. выводы «Data+», «Data-» выдают сигнал в противофазе друг другу (RS-485) и разница потенциала между ними составляет около 7V. На эти два выхода можно подключить, например, оптопару (например, photocoupler TLP113), которая будет на своем выходе обеспечивать TTL уровни.
Подав тактовый сигнал (Takt-, Takt+) к датчику можно осциллографом наблюдать сигнал на выходе датчика (Data+, Data-) и, таким образом, подобрать удобный Вам вариант подключения. Обратите внимание на то, что один выход (например, «Data-» на массу подключать не рекомендуется. Сигнал можно однако снимать относительно массы датчика и «Data+». При этом «Data-» остается не подключенным. Амплитуда сигнала при этом будет составлять примерно от 1V до 3,5V.
При упрощенном способе подключения, т.е. не по стандарту RS-485, необходимо учитывать низкую помехозащищенность линии связи между датчиком и устройством управления.

 

Когда старое не хуже нового: последовательный интерфейс RS-232


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

История


В 1969 году ассоциация электронной промышленности США (EIA) опубликовала вариант «С» своего рекомендуемого стандарта (Recommended Standart – RS) за номером 232 «Интерфейс между оконечным оборудованием обработки данных и оконечным оборудованием линии с использованием последовательного обмена данными в двоичной форме».


Система передачи данных (передатчик, приемник, соединительные кабели), реализованная в соответствии с техническими условиями стандарта RS-232C, обеспечивает передачу сигнала со скоростями, не превышающими 20 Кбит/с (реально используют на скоростях до 115200 бит/с).


Сейчас этот стандарт известен просто как стандарт RS-232C. Международный консультативный комитет по телефонии и телеграфии ввел свой собственный вариант этого стандарта в виде стандартов V.24 и V.28, а министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C.


Система передачи данных (передатчик, приемник, соединительные кабели), реализованная в соответствии с техническими условиями стандарта RS-232C, обеспечивает передачу сигнала со скоростями, не превышающими 20 Кбит/с (реально используют на скоростях до 115200 бит/с).


В настоящее время действует редакция стандарта, принятая в 1991 году ассоциациями электронной и телекоммуникационной промышленности, под названием EIA/TIA-232-E. В ней нет никаких технических изменений, которые могли бы привести к несовместимости с оборудованием, поддерживающим интерфейс RS-232 более ранних версий.

Как это работает


Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) – ООД (Оконечное Оборудование Данных), второе – DCE (Data Communications Equipment) – ОПД (Оборудование Передачи Данных).


До появления интерфейсов IEEE-1394 и USB‑2 асинхронный последовательный интерфейс был основным устройством, с помощью которого осуществлялось взаимодействие компьютеров. Слово «асинхронный» означает, что при передаче данных специальный синхронизирующий сигнал не используется, и отдельные символы могут передаваться с произвольными временными интервалами.


Каждый символ должен быть «взят в скобки» т.е. ему должен предшествовать стандартный стартовый сигнал, а заканчиваться его передача должна стоповым сигналом. Стартовый сигнал – это нулевой бит (с уровнем логического 0), который называется стартовым битом. Его предназначение – сообщить принимающему устройству о том, что следующие восемь бит представляют из себя байт данных. После символа передаются один или два стоповых бита, сигнализирующие об окончании его передачи. В принимающем устройстве символы распознаются по появлению стартовых и стоповых сигналов, а не по моменту их передачи. Асинхронный интерфейс ориентирован на передачу символов (байтов), а в передаваемой информации примерно 20% оказывается «лишней», предназначенной только для идентификации начала и конца каждого символа.


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


Интерфейс RS-232 обеспечивает соединение двух устройств, одно из которых называется DTE (Data Terminal Equipment) – ООД (Оконечное Оборудование Данных), второе – DCE (Data Communications Equipment) – ОПД (Оборудование Передачи Данных).


Важно запомнить эти обозначения (DTE и DCE). Они используются в названиях сигналов интерфейса и помогают разобраться с описанием конкретной реализации.

За и против


Недостатки RS-232 состоят, прежде всего, в том, что он реализует связь типа «точка-точка» с низкой, по современным меркам, скоростью (обычно 9600 бит в секунду), и работает только на небольших расстояниях (до 10-15 м).


К несомненному достоинству RS-232 следует отнести его популярность: все компьютеры РС (но не Mac) оборудованы по крайней мере одним портом RS-232, поэтому приобретение готовых кабелей для него не составляет никакой проблемы. Процессом передачи можно управлять на аппаратном уровне, хотя эту возможность используют нечасто.


Недостатки RS-232 состоят, прежде всего, в том, что он реализует связь типа «точка-точка» с низкой, по современным меркам, скоростью (обычно 9600 бит в секунду), и работает только на небольших расстояниях (до 10-15 м).


В настоящее время RS-422/RS-485 является стандартном де-факто для значительной части вещательной видеоиндустрии.


Состав линий связи между устройствами DTE и DCE точно не определён. Стандарт описывает функции до 25 соединительных линий, но не указывает, должна или не должна использоваться та или иная линия. Лучше (технологически) обстоят дела в стандарте RS‑422. По этому стандарту связь осуществляется по двум парам проводов, а передаваемый сигнал может приниматься более чем одним устройством. Согласно стандарту RS-485 (улучшенный RS-422) используется одна пара проводов, которая предназначена для передачи или приёма многими устройствами. RS-422/RS-485 может использоваться для многоточечных соединений, из-за высокой помехоустойчивости за счёт использования дифференциальных (балансных) линий, связь возможна на расстояниях до 1,2 км.


В настоящее время RS-422/RS-485 является стандартном де-факто для значительной части вещательной видеоиндустрии.

Типы разъемов

Рис. 1. 25-контактный соединитель типа DB25


Изначально стандарт RS-232 описывал применение 25-контактного соединителя типа DB25 (Рис.1). DTE-устройство должно оснащаться вилкой, DCE-устройство – розеткой. Позднее, с появлением IBM PC, стали использовать усеченный вариант интерфейса и 9-контактные соединители DB9 (рис. 2), наиболее распространенные в настоящее время.

Распайка RS-232

Рис. 2. 9-контактный соединитель DB9


В таблице 1 показано назначение контактов 9-контактного соединителя DB9. Таблица показывает распайку вилки оборудования обработки данных (DTE). Розетка устройства передачи данных (DCE) распаяна так, что два разъема стыкуются напрямую, или через кабель, распаянный «контакт в контакт».



Таблица 1.
Назначение контактов соединителя DB9












Вывод

Сигнал

Описание

Тип вывода

1.

CD (Carrier Detect)

Несущая обнаружена

Вход

2.

RxD (Receive Data)

Принимаемые данные

Вход

3.

TxD (Transmit Data)

Передаваемые данные

Выход

4.

DTR (Data Terminal Ready)

Готовность ООД

Выход

5.

SG (Signal Ground)

Сигнальный общий

-

6.

DSR (Data Set Ready)

Готовность ОПД

Вход

7.

RTS (Request To Send)

Запрос на передачу

Выход

8.

CTS (Clear To Send)

Готовность к приему

Вход

9.

RI (Ring Indicator)

Наличие сигнала вызова

Вход

Рис. 3. Распайка кабеля RS-232


Для передачи данных предназначены цепи RxD (RD) и TxD (TD). Остальные цепи предназначены для индикации состояния устройств (DTR, DSR), управления передачей (RTS, CTS) и индикации состояния линии (CD, RI). Набор используемых цепей зависит от аппаратной и программной реализации стыка в контроллере. Для соединения двух DTE-устройств используют так называемые нуль-модемные кабели, в которых провода «перекрещиваются» в соответствии с назначением сигналов. На практике перед распайкой кабеля всегда следует разобраться с документацией на оба соединяемых устройства. Для соединения многих устройств достаточно минимального набора цепей интерфейса RS-232: RD, TD и Signal Ground (рис. 3).


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


Таблица 2. Назначение контактов соединителя DB25

















Вывод

Сигнал

Описание

Тип вывода

1.

 

Корпус

 

2.

TxD (Transmit Data)

Передаваемые данные

Выход

3.

RxD (Receive Data)

Принимаемые данные

Вход

4.

RTS (Request To Send)

Запрос на передачу

Выход

5.

CTS (Clear To Send)

Готовность к приему

Вход

6.

DSR (Data Set Ready)

Готовность ОПД

Вход

7.

SG (Signal Ground)

Сигнальный общий

 

8.

CD (Carrier Detect)

Несущая обнаружена

Вход

9.

 

Токовый выход передатчика (+)

Выход

11.

 

Токовый выход передатчика (–)

Выход

18.

 

Токовый вход приемника (+)

Вход

20.

DTR (Data Terminal Ready)

Готовность ООД

Выход

22.

RI (Ring Indicator)

Наличие сигнала вызова

Вход

25.

 

Токовый вход приемника (–)

Вход


Таблица 3. Соответствие выводов между 9 и 25-контактным разъемами












9-контактный разъем

25-контактный разъем

1

8

2

3

3

2

4

20

5

7

6

6

7

4

8

5

9

22


Все сигналы в интерфейсе потенциальные, с номинальными уровнями +12В и –12В относительно общего провода (Signal Ground). Логической единице соответствует уровень –12В, логическому нулю соответствует +12В.


Как уже говорилось, RS-232 называют последовательным интерфейсом, поскольку поток данных передается по одному проводу бит за битом. В отсутствие передачи данных линия находится в состоянии логической единицы (–12В). Скорость передачи данных стандартом не нормируется, но обычно выбирают из ряда 110, 300, 600, 1200, 2400, 4800, 9600, 19200 бит в секунду. В основном используется асинхронный режим работы, при котором данные передаются фреймами. Каждый фрейм состоит из стартового бита, битов данных, бита контроля четности (может отсутствовать), стопового бита. Биты байта данных передаются, начиная с младшего бита.


Для правильной стыковки приемопередатчики на обоих устройствах должны быть запрограммированы одинаковым образом, т.е. должны совпадать скорость, количество битов данных (7 или 8), тип контроля по четности, длина стопового бита (1, 1.5 или 2).


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


На рис. 4 показан вид одного фрейма RS-232 при следующих настройках: 8 битов данных, контроль по нечетности (parity odd), 1 стоповый бит. Стартовый бит всегда идет с уровнем логического нуля, стоповый – единицы. Состояние бита четности определяется настройкой передатчика. Бит дополняет число единичных битов данных до нечетности (parity odd), четности (parity even), может не использоваться (parity none), быть всегда единицей (mark) или нулем (space).



Рис. 4. Вид фрейма RS-232

Как преодолеть ограничения стандарта RS-232


Наиболее существенными недостатками стандарта RS-232 являются небольшое расстояние, на которое можно передавать сигнал и возможность соединения только двух устройств по типу «точка-точка».


Для их преодоления используют специальные устройства – удлинители линии и расширители портов.

Удлинитель линии связи Range Extender


Предназначен для преодоления ограничений по расстоянию для приборов, имеющих управление через RS-232.


Осуществляет преобразование в интерфейс RS-422, а затем назад, в RS‑232, что позволяет использовать в качестве физического носителя две пары проводов. Удлинитель линии может быть использован для увеличения расстояния связи для любого нуль-модемного соединения RS-232, для управления оборудованием через интерфейс RS-422, либо в качестве преобразователя общего назначения из RS-232 в RS-422 и обратно.


Работает во всех режимах связи (число битов, скорость, чётность и т.д.) и не требует настройки этих параметров.

Расширитель портов Port Extender


Предназначен для преодоления ограничения интерфейса RS-232, который может осуществлять только соединения типа «точка-точка». Позволяет осуществлять связь между несколькими устройствами с интерфейсами RS-232.


Данные, которые поступают на любой из портов устройства, пересылаются на остальные 3 порта. Расширитель портов может быть использован для управления коммутатором от 3 устройств DTE (например, компьютеров).


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

Устранение неполадок при связи через RS-232


Ниже приведены меры, которые могут помочь разрешить проблемы, возникающие при связи с устройствами Kramer через интерфейс RS-232.


  1. Убедитесь, что между устройством (коммутатором, маршрутизатором) и управляющим компьютером (РС) установлено нуль-модемное соединение. Также убедитесь, что на разъёмах нет замятых контактов.


    Проще всего (при использовании 25-контактного порта на РС) использовать нуль-модемный адаптер, прилагаемый к устройству. Подключите такой переходник 25-контактным разъёмом к последовательному порту РС, после чего прямым кабелем – т.е. с распайкой один к одному – соедините 9-контактный разъём адаптера с последовательным портом на устройстве. (Если адаптер используется с неполным кабелем, то необходимо, как минимум, соединить на 9-контактных разъёмах с обоих концов: контакт 2 с контактом 2, 3 – с 3 и 5 – с 5.)


    При непосредственном подключении 25-контактного порта на РС к 9-контактному разъёму на устройстве (т.е. без нуль-модемного адаптера) соедините:

    • Контакт 2 на 25-контактном разъёме – с контактом 2 на 9-контактном;
    • Контакт 3 на 25-контактном разъёме – с контактом 3 на 9-контактном;
    • Контакт 7 на 25-контактном разъёме – с контактом 5 на 9-контактном;
    • Закоротите вместе контакты 6 и 20 на 25-контактном разъёме;
    • Закоротите вместе контакты 4, 5 и 8 на 25-контактном разъёме.


    При непосредственном подключении 9-контактного порта на РС к 9-контактному разъёму на устройстве соедините:

    • Контакт 2 на разъёме РС – с контактом 3 на разъёме устройства;
    • Контакт 3 на разъёме РС – с контактом 2 на разъёме устройства;
    • Контакт 5 на разъёме РС – с контактом 5 на разъёме устройства;
    • Соедините вместе контакты 4 и 6 на разъёме РС;
    • Соедините вместе контакты 1, 7 и 8 на разъёме РС;
  2. Убедитесь, что на устройстве правильно выставлены все DIP-переключатели.
  3. Убедитесь, что установки для скорости передачи данных на РС и на устройстве совпадают, а на РС выбран правильный com-порт.
  4. Если несколько устройств используются одновременно, убедитесь, что все они включены. Если в системе, работающей по схеме «ведущий/ведомый» (master/slave), какое-либо из устройств выключено, обмен в такой системе не будет надёжным.
  5. Если в устройстве имеется функция «DISABLE TXD» (Отключить TXD), убедитесь, что эта функция выключена; аналогично, если для «отключения ответа» используется DIP-переключатель, убедитесь, что ответ разрешён.
  6. Контакт 3 на разъёме RS-232 устройства используется для отправки данных в РС (это TXD устройства и RXD на РС). Контакт 2 на разъёме устройства используется для приёма данных от РС (это RXD устройства и TXD на РС). Может оказаться полезным с помощью цифрового запоминающего осциллографа убедиться в том, что устройство передаёт/принимает данные на указанных контактах.
  7. В большинстве устройств используется «двунаправленный» протокол обмена. Это значит, что один и тот же код используется как для передачи в устройство команды на выполнение определённого действия, так и в качестве ответа от устройства (в РС) при нажатии кнопки на его передней панели для выполнения аналогичного действия. Например, если пользователь нажал кнопки и скоммутировал вход 4 на выход 5, устройство посылает в компьютер шестнадцатеричный код 7В; в то же время при получении устройством кода 7В оно также отработает подключение входа 4 на выход 5. Для такого протокола может оказаться полезным анализировать коды, посылаемые устройством при нажатии кнопок на его передней панели с тем, чтобы разобраться в протоколе обмена.
  8. При устранении неполадок может оказаться полезным применять коммуникационную программу типа Procomm или Viewcom чтобы вначале проанализировать коды, посылаемые устройством. Затем можно попробовать посылать такие коды назад (см. пункт 7), проверяя, что устройство правильно на них реагирует. Наконец, можно послать код, по которому устройство вернёт своё состояние.
  9. Если должна использоваться написанная пользователем программа, по возможности вначале с помощью фирменной программы убедитесь в том, что связь между РС и устройством работает нормально.
  10. Для оборудования, в котором управление через RS-232 предусмотрено в качестве опции и вводится установкой дополнительной аппаратной платы, проверьте, что такая плата правильно установлена (как описано в руководстве).
  11. Некоторые устройства могут получать управление от других элементов оборудования и могут настраиваться на работу через RS-232 с таким оборудованием, а не с компьютером. В этом случае необходимо правильно настроить устройство. Например, матричный коммутатор звуковых сигналов 16X16 настраевается на заводе (по умолчанию) на работу с матричным коммутатором видео 16X16. В этом случае звуковая матрица получает управление от РС через видеоматрицу. Если звуковой матрицей надо управлять независимо, её следует соответственно перенастроить (на работу в режиме устройства, переключающего «только звук»).
  12. Если необходимо выслать несколько команд, то перед отправкой дополнительной команды следует убедиться в том, что устройство отработало предыдущую команду. Для этого дождитесь получения ответа на предыдущую команду перед отправкой следующей.
  13. Убедитесь в том, что для связи с устройством используется настоящий интерфейс RS-232! Некоторое оборудование (например, стандартный последовательный порт Macintosh), хотя и аналогичен RS-232, использует иные режимы обмена данными.
  14. При использовании РС с операционной системой Windows NT4.0 (и ниже) следует принять дополнительные меры. Эта система не имеет функции «plug and play» и поэтому настройка портов компьютера в ней – непростая задача. Обратитесь к документации на Windows NT! Даже если Ваша программа работает на компьютере с иной операционной системой, возможно, что под Windows NT порт не будет правильно инициализироваться.
  15. Учтите, что рабочее расстояние для RS-232 (по определению) не превышает 10 метров! Если требуется большая длина связи, следует использовать «удлинитель линии связи».
  16. По определению, интерфейс RS-232 предназначен для осуществления обмена между 2 портами (в нашем случае это РС и коммутатор). Если надо соединить вместе несколько устройств с интерфейсами RS-232, можно использовать расширитель портов (Port Extender) (например, если коммутатором надо управлять от 2-х компьютеров и контроллера).


ПРИМЕЧАНИЕ: Для некоторых изделий допускается управление несколькими такими устройствами при их последовательном соединении прямыми кабелями – что кажется неправильным в свете вышесказанного. На самом деле устройства настраиваются в режимы «ведущий/ведомый» (master/slave), при этом с компьютером через RS-232 связано только одно, ведущее устройство. При таком включении ведущее устройство передаёт информацию на и от РС к ведомым устройствам, а интерфейсом RS-232 порты оказываются связанными попарно).

Рекомендации по разводке сети интерфейса RS-485

RS-485 (EIA/TIA-485) — это стандарт, определяющий электрические характеристики приемников и передатчиков информации для использования в балансных цифровых многоточечных системах. Интерфейс RS-485 является одним из наиболее распространённых стандартов физического уровня в современных средствах промышленной автоматизации.

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

1       Краткое описание стандарта

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

Рисунок 1 — Диаграмма дифференциальной (балансной) передачи данных

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

Рисунок 2 — Конфигурация сети RS-485

2       Рекомендации по подключению

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

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

Проблему отражений сигнала в интерфейсе RS-485 решают при помощи согласующих резисторов — «терминаторов», которые устанавливаются непосредственно у выходов двух приемопередатчиков максимально отдаленных друг от друга. Следует отметить, что в большинстве случаев «терминаторы» уже смонтированы в потребительских устройствах и подключаются к сети при помощи соответствующих перемычек на корпусе устройства. Номинал «терминатора» соответствует волновому сопротивлению кабеля, при этом нужно помнить, что волновое сопротивление кабеля зависит от его характеристик и не зависит от его длины. К примеру, для витой пары UTP-5, используемой для прокладки Ethernet волновое сопротивление составляет 100 ±15 Ом. Специализированный кабель Belden 9841…9844 для прокладки сетей RS-485 имеет волновое сопротивление 120 Ом, поэтому расчетами резистора — «терминатора» можно пренебречь и использовать 120 Ом.

Рисунок 3 — Примеры топологий сетей RS-485

Экранированные витые пары (например, кабели Belden 9841, 3106A) рекомендуется применять в особо ответственных системах, а также при скоростях обмена свыше 500 Кбит/сек.

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

Рисунок 4 — Зависимость скорости обмена от длины линии связи

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

Электрические характеристики интерфейса приведены в таблице 1.

Таблица 1














ПараметрЗначение
Максимальное число приемников/передатчиков32/32
Максимальная длина кабеля, м1200
Максимальная скорость передачи данных, Мбит/с10
Уровень логической «1» передатчика, В+1,5…+6
Уровень логического «0» передатчика, В–1,5…–6
Диапазон синфазного напряжения передатчика, В–1…+3
Максимальный ток короткого замыкания передатчика, мА250
Допустимое сопротивление нагрузки передатчика, Ом54
Порог чувствительности приемника, мВ± 200
Допустимый диапазон напряжений приемника, В–7…+12
Уровень логической «1» приемника, мВболее +200
Уровень логического «0» приемника, мВменее –200
Входное сопротивление приемника, кОм12

Стандарт RS-485 (EIA/TIA-485) не регламентирует, по какому протоколу устройства сети должны связываться друг с другом. Наиболее распространенными протоколами связи на данный момент являются: Modbus, ProfiBus, LanDrive, DMX512 и другие. Передача информации осуществляется полудуплексно в большинстве случаев по принципу «ведущий» — «ведомый».

Порог чувствительности приемника составляет ± 200 мВ, то есть при разнице потенциалов на входе приемника в диапазоне от минус 200 мВ до плюс 200 мВ его выходное состояние будет находиться в состоянии неопределенности. Разность потенциалов более 200 мВ приемник принимает как логическую «1», а разность потенциалов менее минус 200 мВ приемник принимает как логический «0». Состояние неопределенности может произойти, когда ни один из передатчиков не активен, отключен от сети, либо находится в «третьем состоянии», либо все устройства сети находятся в режиме приема информации. Состояние неопределенности крайне нежелательно, так как оно вызывает ложные срабатывания приемника из-за несинфазных помех.

Использование защитного смещения позволяет исключить возможность возникновения неопределенного состояния в сети. Для этого линию А необходимо подтянуть резистором к питанию (pullup), а линию В резистором — к «земле» (pulldown). В результате, с учетом «терминаторов», получится резистивный делитель напряжения. Для надежной работы сети необходимо обеспечить смещение порядка 250…300 мВ (рисунок 5).

Рисунок 5 — Защитное смещение

Рассмотрим ситуацию, когда в сети находятся два устройства. Нам необходимо получить смещение 250мВ, при этом в сети подключены два терминальных резистора по 120Ом, и имеется источник напряжения +5В, оба приемника обладают единичной нагрузкой— их сопротивление составляет 12кОм.

Учитывая, что терминальные резисторы по 120Ом и оба приемника по 12кОм включены параллельно, то их общее сопротивление равняется:

Rсети = (Rобщ.терм · Rобщ.вх) / (Rобщ.терм + Rобщ.вх) = (60 · 6000) / (60 + 6000) = 60Ом.

Рассчитаем ток в цепи смещения:

Iсм= Uсм / Rсети = 0,250В / 60Ом = 0,0042А.

При этом последовательное сопротивление цепи смещения составит:

Rсм.общ = Uпит / Iсм = 5В / 0,0042А = 1140Ом.

Получаем сопротивление резисторов смещения:

Rсм = 1140 / 2 = 570Ом.

Выбираем ближайший номинал 560Ом.

Рисунок 6— Диаграмма передачи данных при использовании защитного смещения

Исходя из расчета защитного смещения можно заметить, что через делитель напряжения постоянно протекает ток (для случая выше это 4,2мА), что может быть недопустимым в системах с малым энергопотреблением. Это является серьезным недостатком защитного смещения.

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

Для гальванически развязанной линии резисторы смещения следует подтягивать к «земле» и питанию со стороны изолированной линии.

Для защиты от помех экран витой пары следует заземлять в одной точке, при этом стандарт не оговаривает в какой, поэтому часто экран кабеля заземляется на одном из его концов. Иногда причиной возникновения ошибок при передаче сигнала является работающий поблизости радиопередатчик. Чтобы устранить влияние радиосигнала на передающий кабель достаточно установить высокочастотный конденсатор малой емкости между экраном кабеля и заземлением электрической сети порядка 1…10нФ.

Если приборы, объединенные в одну сеть, питаются от различных источников или находятся на значительном удалении друг от друга, то необходимо дополнительным дренажным проводом объединить «земли» всех устройств. Это правило исходит из того, что разность потенциалов между линией и «землей» по стандарту не должна превышать от минус 7 до плюс 12 В. В случае, когда устройства находятся на значительном расстоянии друг от друга, либо питаются от разных источников разность потенциалов на входе приемопередатчика может превысить в несколько раз допустимый диапазон, что приведет к выходу из строя приемопередатчика. При этом следует учитывать, что подключение устройства к сети RS-485 нужно начинать именно с дренажного провода, а производя отключение устройства в последнюю очередь отсоединять дренажный провод. Для ограничения «блуждающих» токов в дренажном проводе его следует подключать к каждой сигнальной земле через резистор номиналом 100 Ом мощностью 0,5 Вт, помимо этого необходимо через такой же резистор 100 Ом 0,5 Вт подключить дренажный провод к защитному заземлению. Рекомендуем осуществлять защитное заземление дренажного провода в одной точке, чтобы исключить постоянное протекание «блуждающего» тока через него по сравнению со случаем, когда дренажный провод заземляется у каждого устройства. Не следует использовать экран кабеля в качестве дренажного провода.

Рисунок 7 — Использование дренажного провода для уравнивания
потенциала «земель»

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

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

 

Рисунок 8 — Варианты защиты сети RS-485 от перенапряжений и импульсных помех

Как правило, устройства, работающие в сетях RS-485 помимо «терминаторов» имеют встроенную защиту от перенапряжений и импульсных помех. Подробнее об этом можно прочитать в руководстве по эксплуатации на конкретное устройство. Помимо этого на рынке существует множество готовых устройств подавления импульсных помех, принцип действия которых также основан на применении варисторов и газоразрядных трубок. Стоит лишь помнить, что каждое дополнительное устройство защиты, установленное в сети, вносит дополнительную емкость, эквивалентную емкости кабеля длинной 120…130 м.

Подведем итоги:

1. Следует избегать прокладки витой пары совместно с силовыми цепями, особенно в общей оплетке. Линии связи должны находиться не ближе чем 0,5 м от силовых цепей. Пересечение линий связи с силовыми цепями (если этого не избежать) желательно делать под прямым углом. Не рекомендуется использовать в качестве витой пары кабели менее 0,326 мм2 (22 AWG). Не допускается наличие «скруток» для сращивания кабеля.

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

3. Сеть должна иметь топологию «шина», не допускаются длинные ответвления от основной «шины».

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

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

6. В сетях, где возможно возникновение состояния неопределенности необходимо с целью минимизации ошибок и сбоев устанавливать защитное смещение порядка 250…300 мВ. Необходимо учитывать при этом, что ток потребления системы увеличится.

7. Для защиты от помех экран витой пары заземляется в любой точке, но один раз.

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

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

10. Не стоит пренебрегать дополнительными устройствами защиты от перенапряжений и импульсных помех.


Компания ООО «Энергия-Источник» предлагает следующие приборы для передачи и преобразования сигналов интерфейса RS-485:

Физические интерфейсы RS485 и RS422 : Техническая поддержка

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

Физический уровень — это канал связи и способ передачи сигнала (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 они не совместимы друг с другом.

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


Дополнительные данные:

Модемы RX с интерфейсом RS-485

Модемы RX с интерфейсом RS-422

GSM модемы TELEOFIS серии RX. Руководство по эксплуатации


Ссылки по теме:

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

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

Просто о протоколе Modbus RTU

Из данной статьи вы узнаете о протоколе Modbus RTU, который широко применяется в АСУ ТП. Англоязычная версия статьи доступна на сайте ipc2u.com. Описание протокола Modbus TCP можно найти в статье.

Оглавление:

Описание протокола Modbus RTU

Modbus — коммуникационный протокол, основан на архитектуре ведущий-ведомый (master-slave). Использует для передачи данных интерфейсы RS-485, RS-422, RS-232, а также Ethernet сети TCP/IP (протокол Modbus TCP).

Сообщение Modbus RTU состоит из адреса устройства SlaveID, кода функции, специальных данных в зависимости от кода функции и CRC контрольной суммы.

SlaveIDКод функцииСпециальные данныеCRC

Если отбросить SlaveID адрес и CRC контрольную сумму, то получится PDU, Protocol Data Unit.

SlaveID – это адрес устройства, может принимать значение от 0 до 247, адреса с 248 до 255 зарезервированы.

Данные в модуле хранятся в 4 таблицах.

Две таблицы доступны только для чтения и две для чтения-записи.

В каждой таблице помещается 9999 значений.

Номер регистраАдрес регистра HEXТипНазваниеТип
1-99990000 до 270EЧтение-записьDiscrete Output CoilsDO
10001-199990000 до 270EЧтениеDiscrete Input ContactsDI
30001-399990000 до 270EЧтениеAnalog Input RegistersAI
40001-499990000 до 270EЧтение-записьAnalog Output Holding RegistersAO

В сообщении Modbus используется адрес регистра.

Например, первый регистр AO Holding Register, имеет номер 40001, но его адрес равен 0000.

Разница между этими двумя величинами есть смещение offset.

Каждая таблица имеет свое смещение, соответственно: 1, 10001, 30001 и 40001.

Ниже приведен пример запроса Modbus RTU для получения значения AO аналогового выхода (holding registers) из регистров от #40108 до 40110 с адресом устройства 17.

11 03 006B 0003 7687

11Адрес устройства SlaveID (17 = 11 hex)
03Функциональный код Function Code (читаем Analog Output Holding Registers)
006BАдрес первого регистра (40108-40001 = 107 =6B hex)
0003Количество требуемых регистров (чтение 3-х регистров с 40108 по 40110)
7687Контрольная сумма CRC

В ответе от Modbus RTU Slave устройства мы получим:

11 03 06 AE41 5652 4340 49AD

Где:

11Адрес устройства (17 = 11 hex)SlaveID
03Функциональный кодFunction Code
06Количество байт далее (6 байтов идут следом)Byte Count
AEЗначение старшего разряда регистра (AE hex)Register value Hi (AO0)
41Значение младшего разряда регистра (41 hex)Register value Lo (AO0)
56Значение старшего разряда регистра (56 hex)Register value Hi (AO1)
52Значение младшего разряда регистра (52 hex)Register value Lo (AO1)
43Значение старшего разряда регистра (43 hex)Register value Hi (AO2)
40Значение младшего разряда регистра (40 hex)Register value Lo (AO2)
49Контрольная суммаCRC value Lo
ADКонтрольная суммаCRC value Hi

Регистр аналогового выхода AO0 имеет значение AE 41 HEX или 44609 в десятичной системе.

Регистр аналогового выхода AO1 имеет значение 56 52 HEX или 22098 в десятичной системе.

Регистр аналогового выхода AO2 имеет значение 43 40 HEX или 17216 в десятичной системе.

Значение AE 41 HEX — это 16 бит 1010 1110 0100 0001, может принимать различное значение, в зависимости от типа представления.

Значение регистра 40108 при комбинации с регистром 40109 дает 32 бит значение.

Пример представления.

Тип представленияДиапазон значенийПример в HEXБудет в десятичной форме
16-bit unsigned integer0 до 65535AE4144,609
16-bit signed integer-32768 до 32767AE41-20,927
two character ASCII string2 знакаAE41® A
discrete on/off value0 и 100010001
32-bit unsigned integer0 до 4,294,967,295AE41 56522,923,517,522
32-bit signed integer-2,147,483,648 до 2,147,483,647AE41 5652-1,371,449,774
32-bit single precision IEEE floating point number1,2·10−38 до 3,4×10+38AE41 5652-4.395978 E-11
four character ASCII string4 знакаAE41 5652® A V R

Наверх к оглавлению

Какие бывают команды Modbus RTU?

Приведем таблицу с кодами функций чтения и записи регистров Modbus RTU.

Код функцииЧто делает функцияТип значенияТип доступа
01 (0x01)Чтение DORead Coil StatusДискретноеЧтение
02 (0x02)Чтение DIRead Input StatusДискретноеЧтение
03 (0x03)Чтение AORead Holding Registers16 битноеЧтение
04 (0x04)Чтение AIRead Input Registers16 битноеЧтение
05 (0x05)Запись одного DOForce Single CoilДискретноеЗапись
06 (0x06)Запись одного AOPreset Single Register16 битноеЗапись
15 (0x0F)Запись нескольких DOForce Multiple CoilsДискретноеЗапись
16 (0x10)Запись нескольких AOPreset Multiple Registers16 битноеЗапись

Наверх к оглавлению

Как послать команду Modbus RTU на чтение дискретного вывода? Команда 0x01

Эта команда используется для чтения значений дискретных выходов DO.

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

Значения DO в ответе находятся в одном байте и соответствуют значению битов.

Значения битов определяются как 1 = ON и 0 = OFF.

Младший бит первого байта данных содержит значение DO адрес которого указывался в запросе. Остальные значения DO следуют по нарастающей к старшему значению байта. Т.е. справа на лево.

Если запрашивалось меньше восьми значений DO, то оставшиеся биты в ответе будут заполнены нулями (в направлении от младшего к старшему байту). Поле Byte Count Количество байт далее указывает количество полных байтов данных в ответе.

Пример запроса DO с 20 по 56 для SlaveID адреса устройства 17. Адрес первого регистра будет 0013 hex = 19, т.к. счет ведется с 0 адреса (0014 hex = 20, -1 смещение нуля = получаем 0013 hex = 19).

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
01Функциональный код01Функциональный код
00Адрес первого регистра Hi байт05Количество байт далее
13Адрес первого регистра Lo байтCDЗначение регистра DO 27-20 (1100 1101)
00Количество регистров Hi байт6BЗначение регистра DO 35-28 (0110 1011)
25Количество регистров Lo байтB2Значение регистра DO 43-36 (1011 0010)
0EКонтрольная сумма CRC0EЗначение регистра DO 51-44 (0000 1110)
84Контрольная сумма CRC1BЗначение регистра DO 56-52 (0001 1011)
45Контрольная сумма CRC
E6Контрольная сумма CRC

Состояния выходов DO 27-20 показаны как значения байта CD hex, или в двоичной системе 1100 1101.

В регистре DO 56-52 5 битов справа были запрошены, а остальные биты заполнены нулями до полного байта (0001 1011).

КаналыDO 56DO 55DO 54DO 53DO 52
Биты00011011
Hex1B

Модули с дискретным выводом: M-7065, ioLogik R1214, ADAM-4056S

Наверх к оглавлению

Как послать команду Modbus RTU на чтение дискретного ввода? Команда 0x02

Эта команда используется для чтения значений дискретных входов DI.

Пример запроса DI с регистров от #10197 до 10218 для SlaveID адреса устройства 17. Адрес первого регистра будет 00C4 hex = 196, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
02Функциональный код02Функциональный код
00Адрес первого регистра Hi байт03Количество байт далее
C4Адрес первого регистра Lo байтACЗначение регистра DI 10204-10197 (1010 1100)
00Количество регистров Hi байтDBЗначение регистра DI 10212-10205 (1101 1011)
16Количество регистров Lo байт35Значение регистра DI 10218-10213 (0011 0101)
BAКонтрольная сумма CRC20Контрольная сумма CRC
A9Контрольная сумма CRC18Контрольная сумма CRC

Модули с дискретным вводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на чтение аналогового вывода? Команда 0x03

Эта команда используется для чтения значений аналоговых выходов AO.

Пример запроса AO с регистров от #40108 до 40110 для SlaveID адреса устройства 17. Адрес первого регистра будет 006B hex = 107, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
03Функциональный код03Функциональный код
00Адрес первого регистра Hi байт06Количество байт далее
6BАдрес первого регистра Lo байтAEЗначение регистра Hi #40108
00Количество регистров Hi байт41Значение регистра Lo #40108
03Количество регистров Lo байт56Значение регистра Hi #40109
76Контрольная сумма CRC52Значение регистра Lo #40109
87Контрольная сумма CRC43Значение регистра Hi #40110
40Значение регистра Lo #40110
49Контрольная сумма CRC
ADКонтрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Как послать команду Modbus RTU на чтение аналогового ввода? Команда 0x04

Эта команда используется для чтения значений аналоговых входов AI.

Пример запроса AI с регистра #30009 для SlaveID адреса устройства 17. Адрес первого регистра будет 0008 hex = 8, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
04Функциональный код04Функциональный код
00Адрес первого регистра Hi байт02Количество байт далее
08Адрес первого регистра Lo байт00Значение регистра Hi #30009
00Количество регистров Hi байт0AЗначение регистра Lo #30009
01Количество регистров Lo байтF8Контрольная сумма CRC
B2Контрольная сумма CRCF4Контрольная сумма CRC
98Контрольная сумма CRC

Модули с аналоговым вводом: M-7017, ioLogik R1240, ADAM-4017+

Наверх к оглавлению

Как послать команду Modbus RTU на запись дискретного вывода? Команда 0x05

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

Значение FF 00 hex устанавливает выход в значение включен ON.

Значение 00 00 hex устанавливает выход в значение выключен OFF.

Все остальные значения недопустимы и не будут влиять значение на выходе.

Нормальный ответ на такой запрос — это эхо (повтор запроса в ответе), возвращается после того, как состояние DO было изменено.

Пример записи в DO с регистром #173 для SlaveID адреса устройства 17. Адрес регистра будет 00AC hex = 172, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
05Функциональный код05Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
ACАдрес первого регистра Lo байтACАдрес первого регистра Lo байт
FFЗначение Hi байтFFЗначение Hi байт
00Значение Lo байт00Значение Lo байт
4EКонтрольная сумма CRC4EКонтрольная сумма CRC
8BКонтрольная сумма CRC8BКонтрольная сумма CRC

Состояние выхода DO173 поменялось с выключен OFF на включен ON.

Модули с дискретным выводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на запись аналогового вывода? Команда 0x06

Эта команда используется для записи одного значения аналогового выхода AO.

Пример записи в AO с регистром #40002 для SlaveID адреса устройства 17. Адрес первого регистра будет 0001 hex = 1, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
06Функциональный код06Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
01Адрес первого регистра Lo байт01Адрес первого регистра Lo байт
00Значение Hi байт00Значение Hi байт
03Значение Lo байт03Значение Lo байт
9AКонтрольная сумма CRC9AКонтрольная сумма CRC
9BКонтрольная сумма CRC9BКонтрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Как послать команду Modbus RTU на запись нескольких дискретных выводов? Команда 0x0F

Эта команда используется для записи нескольких значений дискретного выхода DO.

Пример записи в несколько DO с регистрами от #20 до #29 для SlaveID адреса устройства 17. Адрес регистра будет 0013 hex = 19, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
0FФункциональный код0FФункциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
13Адрес первого регистра Lo байт13Адрес первого регистра Lo байт
00Количество регистров Hi байт00Кол-во записанных рег. Hi байт
0AКоличество регистров Lo байт0AКол-во записанных рег. Lo байт
02Количество байт далее26Контрольная сумма CRC
CDЗначение байт DO 27-20 (1100 1101)99Контрольная сумма CRC
01Значение байт DO 29-28 (0000 0001)
BFКонтрольная сумма CRC
0BКонтрольная сумма CRC

В ответе возвращается количество записанных регистров.

Модули с дискретным выводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на запись нескольких аналоговых выводов? Команда 0x10

Эта команда используется для записи нескольких значений аналогового выхода AO.

Пример записи в несколько AO с регистрами #40002 и #40003 для SlaveID адреса устройства 17. Адрес первого регистра будет 0001 hex = 1, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
10Функциональный код10Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
01Адрес первого регистра Lo байт01Адрес первого регистра Lo байт
00Количество регистров Hi байт00Кол-во записанных рег. Hi байт
02Количество регистров Lo байт02Кол-во записанных рег. Lo байт
04Количество байт далее12Контрольная сумма CRC
00Значение Hi 4000298Контрольная сумма CRC
0AЗначение Lo 40002
01Значение Hi 40003
02Значение Lo 40003
C6Контрольная сумма CRC
F0Контрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Какие бывают ошибки запроса Modbus?

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

Ответ будет содержать измененный Функциональный код, старший бит будет равен 1.

Пример:

БылоСтало
Функциональный код в запросеФункциональный код ошибки в ответе
01 (01 hex) 0000 0001129 (81 hex) 1000 0001
02 (02 hex) 0000 0010130 (82 hex) 1000 0010
03 (03 hex) 0000 0011131 (83 hex) 1000 0011
04 (04 hex) 0000 0100132 (84 hex) 1000 0100
05 (05 hex) 0000 0101133 (85 hex) 1000 0101
06 (06 hex) 0000 0110134 (86 hex) 1000 0110
15 (0F hex) 0000 1111143 (8F hex) 1000 1111
16 (10 hex) 0001 0000144 (90 hex) 1001 0000

Пример запроса и ответ с ошибкой:

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
0AАдрес устройства0AАдрес устройства
01Функциональный код81Функциональный код с измененным битом
04Адрес первого регистра Hi байт02Код ошибки
A1Адрес первого регистра Lo байтB0Контрольная сумма CRC
00Количество регистров Hi байт53Контрольная сумма CRC
01Количество регистров Lo байт
ACКонтрольная сумма CRC
63Контрольная сумма CRC

Расшифровка кодов ошибок

01Принятый код функции не может быть обработан.
02Адрес данных, указанный в запросе, недоступен.
03Значение, содержащееся в поле данных запроса, является недопустимой величиной.
04Невосстанавливаемая ошибка имела место, пока ведомое устройство пыталось выполнить затребованное действие.
05Ведомое устройство приняло запрос и обрабатывает его, но это требует много времени. Этот ответ предохраняет ведущее устройство от генерации ошибки тайм-аута.
06Ведомое устройство занято обработкой команды. Ведущее устройство должно повторить сообщение позже, когда ведомое освободится.
07Ведомое устройство не может выполнить программную функцию, заданную в запросе. Этот код возвращается для неуспешного программного запроса, использующего функции с номерами 13 или 14. Ведущее устройство должно запросить диагностическую информацию или информацию об ошибках от ведомого.
08Ведомое устройство при чтении расширенной памяти обнаружило ошибку паритета. Ведущее устройство может повторить запрос, но обычно в таких случаях требуется ремонт.
10
(0A hex)
Шлюз неправильно настроен или перегружен запросами.
11
(0B hex)
Slave устройства нет в сети или от него нет ответа.

Наверх к оглавлению

Программы для работы с протоколом Modbus RTU

Ниже перечислены программы, которые облегчают работу с Modbus.

DCON Utility Pro с поддержкой Modbus RTU, ASCII, DCON. Скачать

Modbus Master Tool с поддержкой Modbus RTU, ASCII, TCP. Скачать

Modbus TCP client с поддержкой Modbus TCP. Скачать

Наверх к оглавлению

Оборудование с поддержкой протокола Modbus RTU

Наверх к оглавлению


За более подробной информацией обращайтесь к специалистам IPC2U по телефону: +7 (495) 232 0207 или по e-mail: [email protected]

Описание последовательного интерфейса

RS-485 | Устройства CUI

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

Что такое RS-485?

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

Когда, зачем и где использовать RS-485

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

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

Стандарт RS-485

RS-485, также известный как TIA-485 или EIA-485, — это стандарт, определяющий электрические характеристики драйверов и приемников для протокола связи.Модель взаимодействия открытых систем (OSI) пытается охарактеризовать различные уровни системы связи от конечного приложения до электрических уровней и, наконец, до физического уровня, рис. 1.

Рисунок 1: Модель

взаимодействия открытых систем (OSI) Физический уровень модели OSI

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

RS-485 использует две сигнальные линии, «A» и «B», которые должны быть симметричными и дифференциальными. Симметричные сигналы — это две линии, которые совместно используют пару в кабеле витой пары с одинаковым импедансом на каждой линии. Наряду с согласованным импедансом линий также должен быть согласован импеданс на приемнике и передатчике. На рисунке 2 показана типичная многоточечная сеть RS-485, в которой каждое устройство имеет дифференциальный приемопередатчик RS-485, а связь между устройствами состоит из кабелей с витой парой и согласующих резисторов.

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

Рис. 2: Типовая топология сети RS-485

Сбалансированная кабельная разводка позволяет снизить уровень шума при использовании дифференциальных сигналов. Эти сигналы «A» и «B» называются дифференциальной парой; один из сигналов соответствует исходному сигналу, а другой полностью инвертирован, поэтому его иногда называют дополнительным сигналом.

В несимметричном интерфейсе приемник связывает сигнал с землей и определяет состояние сигнала на основе заранее определенных уровней напряжения (они называются логическими уровнями, поскольку они определяют, является ли сигнал высоким или низким). Однако на больших расстояниях между кабелями, когда напряжение имеет тенденцию к падению и скорость нарастания напряжения уменьшается, часто возникают ошибки сигнала. В дифференциальном приложении хост генерирует исходный несимметричный сигнал, который затем поступает на дифференциальный передатчик.Этот передатчик создает дифференциальную пару, передаваемую по кабелю. Когда генерируются два сигнала, приемник больше не связывает уровень напряжения с землей, а вместо этого связывает сигналы друг с другом. Это означает, что вместо того, чтобы искать конкретные уровни напряжения, приемник всегда смотрит на разницу между двумя сигналами. Затем дифференциальный приемник преобразует пару сигналов обратно в один несимметричный сигнал, который может быть интерпретирован ведущим устройством с использованием надлежащих логических уровней, требуемых узлом, рисунок 3.Этот тип интерфейса также позволяет устройствам с разными уровнями напряжения работать вместе посредством связи между дифференциальными приемопередатчиками. Все это работает вместе, чтобы преодолеть деградацию сигнала, которая могла бы возникнуть в несимметричном приложении при больших расстояниях прокладки кабелей.

Рисунок 3: Выходной сигнал энкодера, управляемый дифференциальным драйвером и восстановленный приемником

. Ухудшение сигнала — не единственная проблема, которая возникает на больших расстояниях между кабелями. Чем длиннее кабель внутри системы, тем выше вероятность того, что электрические помехи и помехи попадут на кабели и, в конечном итоге, в электрическую систему.Когда шум попадает на кабели, он проявляется в виде напряжения различной величины, но преимущество использования сбалансированного кабеля витой пары состоит в том, что шум передается на кабель одинаково на каждой линии. Например, положительный скачок напряжения 1 В приведет к +1 В на А и +1 В на В. Поскольку дифференциальный приемник вычитает сигналы друг из друга, чтобы получить восстановленный сигнал, он будет игнорировать шум, одинаково показанный на обоих проводах. , Рис. 4. Способность дифференциального приемника игнорировать напряжения, одинаковые на обеих сигнальных линиях, называется подавлением синфазного сигнала.

Рис. 4. Дифференциальный приемник, игнорирующий шум, общий для обоих сигналов.

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

При этом важно проверить спецификации продукта, чтобы убедиться, что устройство поддерживает полный диапазон напряжений стандарта. Например, кодеры RS-485 CUI Devices используют на плате 3,3 В, поэтому они используют RS-485 3.Передатчик 3 В. Однако они также допускают входное напряжение от 0 до 12 В. Это позволяет им без проблем использовать одну и ту же шину RS-485 при нескольких различных напряжениях передачи от 0 до 12 В, если может быть соблюдено минимальное дифференциальное напряжение +/- 200 мВ. как на приемнике, так и на передатчике. Это особенно важно, потому что с увеличением длины кабеля падает напряжение на сигнальных линиях. Хост-устройство может передавать с дифференциальным напряжением +/- 1 В, но при большой длине кабеля это напряжение может уменьшаться до +/- 200 мВ, что по-прежнему вполне приемлемо для RS-485, рисунок 5.

Рисунок 5: Минимальные уровни сигнала шины RS-485 Рисунок 6: Модель OSI с определенным физическим уровнем

Канальный уровень модели OSI

RS-485 — это дуплексная система связи, в которой несколько устройств на одной шине могут обмениваться данными в обоих направлениях. RS-485 чаще всего используется как полудуплекс, как показано на рисунках выше, только с одной линией связи («A» и «B» как пара). В полудуплексном режиме устройства по очереди используют одну и ту же линию, где хост будет утверждать управление шиной и отправлять команду всем остальным устройствам, которые ее слушают.Предполагаемый получатель будет прослушивать его адрес, а затем это устройство подтвердит управление и ответит. И наоборот, в полнодуплексной системе, такой как последовательный периферийный интерфейс (SPI) или универсальный асинхронный приемный передатчик (UART), главные и ведомые устройства могут обмениваться данными одновременно с использованием выделенных входных и выходных линий.

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

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

Рисунок 7: Общее использование UART для RS-485

Интерфейс UART является асинхронным, что означает, что связь не включает часы. Ведущее и ведомое устройства должны использовать свои собственные внутренние часы, и оба устройства должны знать, с какой тактовой частотой будут передаваться данные. Это отличается от синхронной системы, такой как последовательный периферийный интерфейс (SPI), где одна из сигнальных линий содержит часы, по которым прослушивающее устройство на шине может захватывать данные.

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

Рисунок 8: Кадрирование данных UART

Хост-процессор будет использовать вывод IO для перевода приемопередатчика RS-485 в режим передачи и будет отправлять байт из линии передачи UART в линию данных (D или DI) приемопередатчика RS-485. .Трансивер преобразует несимметричный битовый поток UART в дифференциальный битовый поток на линиях A и B, рисунок 3. Сразу после того, как данные покидают трансивер, хост переключает режим трансивера на прием. Подчиненная система идентична, это означает, что ведомый приемопередатчик RS-485 принимает входящий поток битов, преобразует его в несимметричный сигнал и отправляет его на ведущее устройство через линию приема UART ведомого устройства. Когда ведомое устройство готово ответить, оно передает, как первоначально делал хост, а теперь принимает, рисунок 9.

Рисунок 9: Хост отправляет команду через шину RS-485, а подчиненное устройство отвечает Рисунок 10: Модель OSI с определенным уровнем канала данных

Сетевой уровень модели OSI

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

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

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

Рисунок 11: Модель OSI с определенным сетевым уровнем

Уровень приложений модели OSI

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

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

Поскольку стандарт RS-485 определяет только физический уровень и уровень канала передачи данных с требованиями адресации, прикладной уровень может принимать различные проприетарные или открытые протоколы связи. Инженеры могут принять существующие протоколы, такие как Modbus, или определить свои собственные для своего приложения. Например, кодировщики CUI Devices используют очень упрощенную структуру адресации для подтверждения устройств, которая обеспечивает быстрый оборот и минимальное время обработки.Адрес каждого кодировщика — это только шесть старших битов байта, а два младших бита представляют собой команду. Это позволяет кодировщику начать свой ответ после всего лишь одного байта от ведущего, что обеспечивает быстрое время обработки, что имеет решающее значение для приложений управления движением.

Рисунок 12: Полностью определенная модель OSI

, кодеры RS-485 устройств CUI

Кодировщики RS-485

CUI Devices используют протокол быстрого определения местоположения, который позволяет кодировщику определять положение в течение байта времени. Как описано выше, этот формат поддерживает 64 уникальных адреса кодировщика.Адрес кодировщика — это 6 старших битов байта, а 2 младших бита — это команда. Эти адреса можно настроить с помощью программного обеспечения AMT Viewpoint ™ CUI Devices и программного модуля. Эти кодировщики имеют различные команды в зависимости от их версии, при этом все устройства поддерживают расширенные команды, такие как сброс или установка нулевого положения.

00 0x00 Прочитать позицию
01 0x01 Считывание счетчика оборотов (только многооборотные энкодеры)
10 0x02 Указывает расширенную команду
11 0x03 Зарезервировано

Рис. 13: Формат адресации кодировщика RS-485 CUI Devices

Абсолютные кодировщики CUI Devices имеют 12-битное или 14-битное разрешение, однако все они отвечают двумя полными байтами на каждый запрос положения.Два полных байта составляют 16 бит, что позволяет кодировщику использовать два старших бита для вычисления контрольной суммы. Эта часть прикладного уровня позволяет хосту проверять данные, передаваемые кодером. Для 12-битных кодеров передача будет иметь контрольные биты в двух верхних битах, при этом два нижних бита будут нулевыми, а 12 промежуточных битов будут содержать данные положения.

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

Абсолютные энкодеры

CUI Devices также доступны в высокоскоростной версии, которая работает на скорости 2 Мбит / с с временем обработки, близким к 3 микросекундам. Однако для приложений, которые не могут удовлетворить требования к высокой скорости и жесткой синхронизации, доступны версии с регулируемой скоростью передачи данных.Эти версии дают пользователям возможность выбирать из списка частот с помощью AMT Viewpoint и программного модуля, что упрощает реализацию, когда нет необходимости в высокой скорости.

Заключение

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

Дополнительные ресурсы



У вас есть комментарии к этой публикации или темам, которые вы хотели бы, чтобы мы освещали в будущем?

Отправьте нам письмо по адресу cuiinsights @ cuidevices.ком

RS485, технические характеристики и подробное руководство

Об авторе:

Ламмерт Бис
папа, муж и полиглот. Он занимается разработкой встраиваемых систем с восьмидесятых годов. Использовал машинное обучение до того, как у него появилось название. Специализируется на соединении компьютеров, роботов и людей. Был сторонником Google Mapmaker и выступал на нескольких международных конференциях Google с 2011 года до тех пор, пока Mapmaker не отключили от сети в 2017 году.Bughunter с Google. В настоящее время распространяет искусственный интеллект в самых диких местах производственной среды. Он никогда не перестает учиться.

Введение в RS485

RS232, RS422, RS423 и RS485 — это методы последовательной связи для компьютеров и устройств. RS232, без сомнения, самый известный интерфейс, потому что этот последовательный интерфейс реализован почти на всех компьютерах, доступных сегодня. Но некоторые другие интерфейсы, безусловно, интересны, потому что их можно использовать в ситуациях, когда RS232 не подходит.Здесь мы сконцентрируемся на интерфейсе RS485.

RS232 — это интерфейс для подключения одного DTE, оконечного оборудования данных к одному DCE, оборудования передачи данных на максимальной скорости 20 кбит / с с максимальной длиной кабеля 50 футов. Этого было достаточно в старые времена, когда почти все компьютерное оборудование было подключено с помощью модемов, но вскоре люди начали искать интерфейсы, способные выполнять одно или несколько из следующих действий:

  • Подключайте DTE напрямую без модемов
  • Подключайте несколько DTE в сетевую структуру
  • Способность общаться на больших расстояниях
  • Способность обмениваться данными на более высоких скоростях

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

Дифференциальные сигналы с RS485:

Более длинные расстояния и более высокая скорость передачи

Одной из основных проблем RS232 является отсутствие помехоустойчивости сигнальных линий. Передатчик и приемник сравнивают напряжения на линиях передачи данных и квитирования с одной общей нулевой линией. Сдвиги на уровне земли могут иметь катастрофические последствия.Поэтому уровень запуска интерфейса RS232 устанавливается относительно высоким и составляет ± 3 В. Шум легко улавливается и ограничивает как максимальное расстояние, так и скорость связи. В RS485, напротив, нет такого понятия, как общий ноль в качестве опорного сигнала. Разница в несколько вольт на уровне земли передатчика и приемника RS485 не вызывает никаких проблем. Сигналы RS485 являются плавающими, и каждый сигнал передается по линии Sig + и линии Sig-. Приемник RS485 сравнивает разность напряжений между обеими линиями, а не абсолютный уровень напряжения на сигнальной линии.Это хорошо работает и предотвращает существование контуров заземления, которые являются частым источником проблем со связью. Наилучшие результаты достигаются, если линии Sig + и Sig- скручены. Изображение ниже объясняет, почему.

Шум в кабелях прямой и витой пары

На рисунке выше шум создается магнитными полями окружающей среды. На рисунке показаны линии магнитного поля и шумовой ток в линиях данных RS485, который является результатом этого магнитного поля. В прямом кабеле весь шумовой ток течет в одном направлении, практически генерируя петлевой ток, как в обычном трансформаторе.Когда кабель скручен, мы видим, что в некоторых частях сигнальных линий направление шумового тока противоположно току в других частях кабеля. Из-за этого результирующий шумовой ток во много раз ниже, чем при использовании обычного прямого кабеля. Экранирование — распространенный метод предотвращения шума в линиях RS232 — пытается удерживать враждебные магнитные поля подальше от сигнальных линий. Однако витые пары в связи RS485 добавляют помехоустойчивость, что является гораздо лучшим способом борьбы с шумом.Магнитные поля могут проходить, но не причиняют вреда. Если требуется высокая помехоустойчивость, часто используется комбинация скрутки и экранирования, как, например, в STP, экранированная витая пара и FTP, сетевые кабели с фольгированной витой парой.

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

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

Характеристики RS485 по сравнению с RS232, RS422 и RS423

5 1 макс. 1

RS232 RS423 RS422 RS485
Дифференциальный нет нет да да

да
32
Максимальное количество приемников 1 10 10 32
Режимы работы полудуплекс / полный дуплекс полудуплекс полудуплекс полудуплекс
Топология сети точка-точка многоточечная многоточечная многоточечная
Макс.стандарт) 15 м 1200 м 1200 м 1200 м
Макс.скорость на 12 м 20 кбит / с 100 кбит / с 10 Мбит / с 35 Мбит / с
Макс. 100 кбит / с 100 кбит / с
Макс.скорость нарастания 30 В / мкс регулируемая нет нет
Входное сопротивление приемника 3.0,7 кОм 4 кОм ≧ 4 кОм ≧ 12 кОм
Сопротивление нагрузки драйвера 3..7 кОм ≧ 450 Ом 100 Ом 54 Ом
Приемник входная чувствительность ± 3 В ± 200 мВ ± 200 мВ ± 200 мВ
Диапазон входного сигнала приемника ± 15 В ± 12 В ± 10 В –7 .. 12 В
Максимальное выходное напряжение драйвера ± 25 В ± 6 В ± 6 В –7.0,12 В
Мин. Выходное напряжение драйвера (с нагрузкой) ± 5 В ± 3,6 В ± 2,0 В ± 1,5 В

Характеристики RS232, RS422, RS423 и RS485

О чем нам говорит вся информация в этой таблице? Прежде всего, мы видим, что скорость дифференциальных интерфейсов RS422 и RS485 намного превосходит несимметричные версии RS232 и RS423. Мы также видим, что для RS232 и RS423 определена максимальная скорость нарастания.Это было сделано, чтобы избежать отражения сигналов. Максимальная скорость нарастания также ограничивает максимальную скорость передачи данных по линии. Для обоих других интерфейсов — RS422 и RS485 — скорость нарастания не определена. Чтобы избежать отражений на более длинных кабелях, необходимо использовать соответствующие оконечные резисторы.

Мы также видим, что максимально допустимые уровни напряжения для всех интерфейсов находятся в одном диапазоне, но что уровень сигнала ниже для более быстрых интерфейсов. Из-за этого RS485 и другие могут использоваться в ситуациях с сильным сдвигом уровня земли на несколько вольт, где в то же время возможны высокие скорости передачи данных, потому что переход между логическим 0 и логической 1 составляет всего несколько сотен милливольт.

Интересно, что RS232 — единственный интерфейс, способный к полнодуплексной связи. Это связано с тем, что на других интерфейсах канал связи используется несколькими приемниками и — в случае RS485 — несколькими отправителями. RS232 имеет отдельную линию связи для передачи и приема, которая — с хорошо написанным протоколом — обеспечивает более высокие эффективные скорости передачи данных при той же скорости передачи данных, чем другие интерфейсы. Данные запроса и подтверждения, необходимые для большинства протоколов, не потребляют полосу пропускания на основном канале данных RS232.

Топология сети с RS485

Сетевая топология, вероятно, является причиной того, что RS485 сейчас является фаворитом из четырех упомянутых интерфейсов в приложениях для сбора данных и управления. RS485 — единственный из интерфейсов, способных объединять несколько передатчиков и приемников в одной сети. При использовании стандартных приемников RS485 с входным сопротивлением 12 кОм можно подключить к сети 32 устройства. Доступные в настоящее время входы RS485 с высоким сопротивлением позволяют увеличить это число до 256.Также доступны повторители RS485, которые позволяют увеличить количество узлов до нескольких тысяч на несколько километров. И это с интерфейсом, который не требует интеллектуального сетевого оборудования: реализация со стороны программного обеспечения не намного сложнее, чем с RS232. Это причина того, почему RS485 так популярен среди компьютеров, ПЛК, микроконтроллеров и интеллектуальных датчиков в научных и технических приложениях.

Топология сети RS485

На рисунке выше показана общая сетевая топология RS485.N узлов соединены в многоточечную сеть RS485. Для более высоких скоростей и более длинных линий оконечные сопротивления необходимы на обоих концах линии для устранения отражений. Используйте резисторы 100 Ом на обоих концах. Сеть RS485 должна быть спроектирована как одна линия с несколькими ответвлениями, а не звездой. Хотя общая длина кабеля может быть меньше в звездообразной конфигурации, адекватное оконцевание больше невозможно, и качество сигнала может значительно ухудшиться.

Функциональность RS485

А теперь самый главный вопрос, как на практике работает RS485? По умолчанию все отправители на шине RS485 находятся в трех состояниях с высоким импедансом.В большинстве протоколов более высокого уровня один из узлов определяется как главный, который отправляет запросы или команды по шине RS485. Все остальные узлы получают эти данные. В зависимости от информации в отправленных данных ведущему устройству отвечают ноль или более узлов на линии. В этой ситуации пропускная способность может быть использована почти на 100%. Существуют и другие реализации сетей RS485, в которых каждый узел может начать сеанс передачи данных самостоятельно. Это сравнимо с тем, как работают сети Ethernet. Поскольку при этой реализации существует вероятность объединения данных, теория говорит нам, что в этом случае будет эффективно использоваться только 37% пропускной способности.При такой реализации сети RS485 необходимо, чтобы в протоколе более высокого уровня было реализовано обнаружение ошибок для обнаружения повреждения данных и повторной отправки информации в более позднее время.

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

RS485 используется в качестве электрического уровня для многих хорошо известных стандартов интерфейсов, включая Profibus и Modbus. Следовательно, RS485 будет использоваться в течение многих лет в будущем.

Вероятность того, что что-то случится
обратно пропорционально его желательности.

ЗАКОН ГАМПЕРСОНА

Понимание RS485: проводка, подключение, программное обеспечение для мониторинга

Сбор данных »Статьи» RS485

Те, кто знаком с RS232, знают, что стандарт
определяет, как линии RS232 должны управляться электрически:
как они называются, какую информацию они несут и
даже разъемы и номера контактов для использования.RS422
и RS485, напротив, определяют только электрические
характеристики водителя.

Преимущества RS485 и RS422 | Различия между RS485 и RS422 | Электромонтажные схемы | Предотвращение отражения напряжения | Идеальная схема подключения RS485 | Подтягивания линии: как избежать серийных ошибок | Имена сигналов: требуется внимание | Бесплатное программное обеспечение для мониторинга RS485 / RS422 | Комментарии


Дифференциальные приводные линии RS485 и RS422:
для каждого сигнала требуется два провода. Если вы хотите
Передайте четыре сигнала, тогда потребуется восемь проводов.В
на рисунке ниже показан один сигнал RS485 / RS422,
передан. Для передачи логической 1 линия B имеет высокий уровень и
линия А низкая. Для передачи логического 0 на линии B низкий уровень и
линия А высокая. Преимущество такого расположения:
что сигналы могут передаваться быстрее и более
расстояния, чем это возможно с одним проводом.


И в RS422, и в RS485 один драйвер может управлять многими
приемники. В RS485 каждый драйвер может быть отключен
позволяя нескольким устройствам отправлять данные по одному
пара проводов.В RS422 это невозможно. Этот
Дополнительная функция вызывает дополнительные проблемы для устройств RS485.
Остальные отличия невелики, поэтому в дальнейшем я буду ссылаться на
для устройств как RS485, но примечания относятся и к RS422.
Интерфейсные блоки часто называют себя RS422 / RS485.
потому что блок RS485, который не использует свои дополнительные
возможность совместима с RS422.


Когда приборы описаны как имеющие интерфейс RS485
это ничего не говорит вам наверняка о том, что сигналы
передан. Обычно, хотя только данные передачи (TX)
и данные приема (RX) обычного последовательного порта преобразуются
к RS485 или RS422.Остальные сигналы последовательного порта
не используется. Распространены три варианта: только запись,
4-проводная (полнодуплексная) и 2-проводная (полудуплексная).

Система только записи: отправка только данных

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

Полнодуплексная система: отправка и получение данных по 4 проводам

Full Duplex означает, что данные могут передаваться одновременно
как к инструментам, так и от них. Это требует
4 провода — одна пара для передачи и одна пара для
Получить. Только компьютер управляет TX
линия передачи. Он отправляет сообщение, которое включает
адрес. Только адресованный инструмент отвечает
управляя линией RX.

Это означает, что все подключенные инструменты должны
использовать тот же программный протокол — иначе будет
может возникнуть путаница относительно того, к какому инструменту обращается.Достаточно простого преобразования RS232 в RS485.
для этого расположения и никаких особых требований не предъявляется
сделано на программном обеспечении общего назначения, таком как ComDebug.

Полудуплексная система: отправка и получение данных по 2 проводам

Half Duplex означает, что данные могут передаваться только в одном
направление за раз. В этом расположении оба TX
и RX-сигналы используют одну пару проводов. Этот
можно сэкономить на установочных расходах.

Компьютер управляет линиями для отправки своих
сообщение запроса, но должен выключить его драйвер, чтобы
позвольте прибору ответить.Это сложно
немного. Многие преобразователи RS232 в RS485 привлекают
Линия RTS последовательного порта для переключения
Драйвер RS485 Вкл. И Выкл. Однако Windows никогда не
предпринял более половинчатую попытку поддержать
такое расположение.

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

В последние годы большинство последовательных портов были
реализованы как устройства USB-to-Serial. Эти
устройства всегда включают микропроцессор, и это может
выполнять задачу управления драйвером RS485
очень хорошо. Если вам нужно реализовать 2-проводную
Система RS485, вы всегда должны получать USB-to-RS485.
конвертер, рекламирующий эту особенность. An
В качестве примера мы используем Moxa 1130.Этот блок
автоматически отключает драйвер при появлении
больше нет данных для отправки. Такой агрегат может работать
с программным обеспечением общего назначения, таким как ComDebug или
Гипертерминал. Имейте в виду, что это может не сработать
со специальным программным обеспечением, поставляемым прибором
производители, которые могут предполагать конкретный RS232-
преобразователь в RS485 и может вызывать ошибки при
используется с любым другим устройством.


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


В идеале система RS485 состоит из одного
линейный кабель (без ответвлений) с резисторами 120 Ом
подключен через 2 провода на каждом конце
кабель.

RS485 может работать со скоростью более 10 Мбит / с.
вторая и линейная протяженность более 1 км. если ты
работают где-то рядом с этими значениями, вы должны
устроить вашу электропроводку близко к идеалу.

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


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


Вы обнаружите, что ваши имена сигналов RS485 для линии
пара — это либо A, B, либо +, -. В идеальном мире вы бы
просто подключите A на компьютере к A на приборе.
Однако эти имена не всегда применяются
производителей, и вам может потребоваться подключить A к
компьютер к B на приборе.


Дальнейшее чтение RS485 и RS422

Введение в RS485 »Примечания по электронике

Стандарт RS485 используется, когда требуется высокоскоростной последовательный обмен данными со скоростью 10 Мбит / с.


Последовательная передача данных Включает:
Стандарты последовательных данных

Общие стандарты:
RS232
RS422
RS449
RS485
Токовая петля 20 мА


RS485 был разработан для обеспечения высокоскоростной передачи данных. Стандарт определяется отраслевыми телекоммуникационными организациями и чаще всего может называться RS485, но также можно увидеть ссылки на EIA485 или TIA-485.

RS485 может обеспечить скорость передачи данных 10 Мбит / с на расстояниях до 50 футов, но расстояния могут быть увеличены до 4000 футов с более низкой скоростью 100 Кбит / с.

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

Приложения RS-485

Часто каналы RS-485 используются для простых сетей, и они могут быть подключены в 2-х или 4-х проводном режиме. В типичных приложениях несколько адресных устройств могут быть связаны с одним управляемым компьютером (ПК), и, таким образом, для связи может использоваться одна линия. Также возможно преобразование между RS485 и RS232 с помощью простых интерфейсных преобразователей, которые могут включать оптическую изоляцию между двумя цепями, а также подавление скачков напряжения для любых электрических «всплесков», которые могут возникнуть.

Используя RS-485, можно построить многоточечную сеть передачи данных. Стандарт определяет, что в системе может использоваться до 32 драйверов или передатчиков вместе с 32 приемниками. Это означает, что может быть 32 узла, способных как передавать, так и принимать. Его можно расширить, используя «автоматические» повторители и драйверы / приемники с высоким сопротивлением. Таким образом, в сети могут быть сотни узлов. В дополнение к этому, RS485 расширяет диапазон синфазных помех как для драйверов, так и для приемников в режиме «трех состояний» и при отключенном питании.Кроме того, драйверы RS-485 способны противостоять «конфликтам данных» (конфликту данных на шине) и состояниям неисправности шины.

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

Другой подход — разработать систему «единого ведущего». Здесь мастер инициирует запрос связи к «подчиненному узлу», обращаясь к этому устройству.Аппаратное обеспечение обнаруживает стартовый бит передачи и тем самым включает передатчик. После отправки запрошенных данных оборудование возвращается в режим приема.

Обзор технических характеристик RS485

В таблице ниже представлены основные сведения о RS485.

Основные характеристики RS485
Атрибут Спецификация
Кабельная проводка Многоканальный
Кол-во приборов 32 передатчика
32 приемника
Режимы связи полудуплекс
Максимальное расстояние 4000 футов при 100 кбит / с
Максимальная скорость передачи данных 10 Мбит / с на расстоянии 50 футов
Сигнализация Сбалансированный
Марка (данные = 1)
состояние
1.От 5 В до 5 В (B больше A)
Пробел (данные = 0)
состояние
от 1,5 В до 5 В (A больше B>
Максимальный выходной ток драйвера250 мА

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

Темы беспроводного и проводного подключения:
Основы мобильной связи
2G GSM
3G UMTS
4G LTE
5G
Вай-фай
IEEE 802.15.4
Беспроводные телефоны DECT
NFC — связь ближнего поля
Основы сетевых технологий
Что такое облако
Ethernet
Серийные данные
USB
SigFox
LoRa
VoIP
SDN
NFV
SD-WAN

Вернуться к беспроводному и проводному подключению

Полное руководство по протоколу последовательной связи и нашему RS-485 |

Введение

Различные протоколы последовательной передачи данных варьируются от RS-232 (EIA / TIA-232) до Gigabit Ethernet и других.Хотя каждый протокол подходит для конкретного приложения, во всех случаях необходимо учитывать стоимость и производительность физического (PHY) уровня. В этой статье основное внимание уделяется протоколу RS-485 (EIA / TIA-485) и приложениям, наиболее подходящим для этого стандарта. Он также показывает способы оптимизации скорости передачи данных в зависимости от кабельной разводки, конструкции системы и выбора компонентов.

В этом примечании к применению мы будем использовать номенклатуру «RS» для обозначения соответствующих стандартов ANSI EIA / TIA.

Определения протоколов

Что такое RS-485? Как он соотносится с другими последовательными протоколами и для каких приложений они подходят лучше всего? В следующем обзоре сравниваются характеристики и возможности RS-485 PHY с RS-232 и RS-422. [1]

RS-232 — это стандарт, который возник как руководство по связи для модемов, принтеров и других периферийных устройств ПК. Он обеспечивал несимметричный канал со скоростью передачи данных до 20 кбит / с, а позже был увеличен до 1 Мбит / с. Другие характеристики RS-232 включают номинальные уровни сигнала передачи ± 5 В и приема ± 3 В (пробел / отметка), подавление синфазного сигнала 2 В, максимальная емкость нагрузки кабеля 2200 пФ, максимальное выходное сопротивление драйвера 300 Ом, минимальное сопротивление приемника (нагрузки) 3 кОм и 100 футов (типовая) максимальная длина кабеля.Системы RS-232 являются только двухточечными. Любая система RS-232 должна учитывать эти ограничения.

RS-422 — это однонаправленный полнодуплексный стандарт для промышленных сред с электрическими шумами. Он определяет один драйвер с несколькими приемниками. Путь сигнала является дифференциальным и поддерживает скорость передачи данных выше 50 Мбит / с. Диапазон синфазного сигнала приемника составляет ± 7 В, выходное сопротивление драйвера составляет максимум 100 Ом, а входное сопротивление приемника может составлять всего 4 кОм.

Стандарт RS-485

Исходный стандарт ANSI / EIA / TIA-485-A-1998 был утвержден в марте 1998 года для устранения недостатков RS-232 и RS-422.RS-485 — это двунаправленный полудуплексный стандарт с несколькими «шинами» драйверов и приемников, в которых каждый драйвер может отказаться от шины. Он соответствует всем спецификациям RS-422, но является более надежным, включая, например, более высокий входной импеданс приемника и более широкий диапазон синфазных сигналов (от -7 В до +12 В).

Входная чувствительность приемника составляет ± 200 мВ, что означает, что для распознавания метки или пробела приемник должен видеть уровни сигнала выше + 200 мВ или ниже -200 мВ. Минимальное входное сопротивление приемника составляет 12 кОм (называемое единичной нагрузкой), а выходное напряжение драйвера составляет ± 1.Минимум 5 В, максимум ± 5 В.

Емкость привода составляет 32 единицы нагрузки, т. Е. 32 параллельно подключенных приемника 12 кОм. Многие приемники имеют более высокий входной импеданс, что позволяет увеличить количество единичных нагрузок на одной шине. К шине может быть подключено любое количество приемников при условии, что суммарная (параллельная) нагрузка, передаваемая на драйвер, не превышает 32 единичных нагрузок (375 Ом). Допустимое сопротивление нагрузки драйвера составляет 54 Ом (максимум), что для типичной витой пары 24AWG составляет 32 единицы нагрузки, подключенные параллельно с двумя терминаторами на 120 Ом.

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

Максимальная рекомендованная скорость передачи данных в стандарте RS-485 с 1998 года составляет 10 Мбит / с, что может быть достигнуто при максимальной длине кабеля 40 футов (12 м). Абсолютное максимальное расстояние составляет 4000 футов (1.2 км) кабеля, при этом скорость передачи данных ограничена 100 кбит / с. Это были спецификации, сделанные в исходном стандарте, которому на момент публикации этого примечания к приложению уже 20 лет! Современные приложения, использующие RS-485, часто имеют скорость передачи данных в несколько раз больше 10 Мбит / с и требуют более высоких скоростей на больших расстояниях. Новые приемопередатчики и кабели RS-485 расширяют возможности RS-485, выходя далеко за рамки его первоначальных определений.

Profibus и Fieldbus [2] — это шины, используемые в основном на промышленных предприятиях, и являются расширением RS-485.Системы электропроводки предприятия измеряют датчики, управляют исполнительными механизмами, собирают и отображают данные и осуществляют обмен данными между системой управления технологическим процессом и сетью датчиков и исполнительных механизмов.

Profibus и Fieldbus — это общие описания системы; RS-485 является стандартом для уровня PHY поддерживающей их сети. Характеристики Profibus и Fieldbus немного отличаются. Profibus требует минимального дифференциального выходного напряжения 2,0 В с максимальной нагрузкой на шину 54 Ом. Для Fieldbus требуется минимальное дифференциальное выходное напряжение 1.5 В, с максимальной нагрузкой на шину 54 Ом. Profibus может передавать данные со скоростью до 12 Мбит / с по сравнению с 500 кбит / с для Fieldbus. В приложениях Profibus допуски по перекосу и емкости более жесткие.

Где лучше всего подходят эти протоколы?

  • RS-232: связь с модемами, принтерами и другими периферийными устройствами ПК. Типичная максимальная длина кабеля составляет 100 футов.
  • RS-422: промышленные среды, требующие только одного мастера шины (драйвера). Типичные области применения включают автоматизацию процессов (химикаты, пивоварение, бумажные фабрики), автоматизацию производства (изготовление металлов), HVAC, безопасность, управление двигателями и управление движением.
  • RS-485: промышленные среды, для которых требуется более одного мастера / драйвера шины. Типичные приложения аналогичны приложениям RS-422: автоматизация процессов (химикаты, пивоварение, бумажные фабрики), автоматизация производства (автомобили, производство металлов), HVAC, безопасность, управление двигателями и управление движением.

Какие факторы ограничивают скорость передачи данных RS-485?

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

  • Длина кабеля: при заданной частоте сигнал ослабляется кабелем в зависимости от длины.
  • Конструкция кабеля: Витая пара Cat5, Cat5e и Cat6 24AWG — очень распространенные типы кабелей, используемые в системах RS-485. Добавление экрана к кабелю повышает помехоустойчивость и тем самым увеличивает скорость передачи данных на заданном расстоянии.
  • Характеристический импеданс кабеля: Распределенная емкость и индуктивность замедляют фронты, уменьшая запас помехоустойчивости и нарушая «глазковую диаграмму». Распределенное сопротивление напрямую снижает уровень сигнала.
  • Выходной импеданс драйвера: если он слишком высокий, это ограничивает возможности привода.
  • Входное сопротивление приемника: если оно слишком низкое, ограничивает количество приемников, с которыми может работать драйвер.
  • Прерывание: длинный кабель может действовать как линия передачи. Концевая заделка кабеля с его характеристическим сопротивлением уменьшает отражения и увеличивает достижимую скорость передачи данных.
  • Запас по шуму: чем больше, тем лучше.
  • Скорость нарастания драйвера: более медленные фронты (более низкие скорости нарастания) позволяют передавать по кабелю большей длины, но снижают максимально достижимую скорость передачи данных.
  • Точка-точка против многоточечного: заглушки, созданные третьим или более устройствами на шине, ограничивают достижимую скорость передачи данных, иногда очень сильно.

Некоторые эмпирические данные

MAX3469

Рассмотрим реальную проводную систему ( Рисунок 1 ). Показанный кабель обычно используется в системах RS-485: витая пара EIA / TIA / ANSI 568 Cat5. Скорость передачи данных, полученная для кабелей длиной от 300 до 900 футов, варьируется от 1 Мбит / с до 35 Мбит / с.

Рисунок 1. Тестовая установка.

Для разработчиков систем производитель трансивера часто не так важен, как максимальная скорость передачи данных и наибольшее расстояние, на которое драйвер RS-485 может передавать сигнал. Глазковые диаграммы драйвера Maxim (в данном случае MAX3469, , рисунок 3, ) и эквивалентного драйвера от другого производителя (, рисунок 2, ) могут дать представление о возможностях трансивера в отношении расстояния и скорости сигнала.

Рис. 2. Глазковая диаграмма для устройства драйвера RS-485, сравнимого с MAX3469 от Maxim. [3]

Рис. 3. Глазковая диаграмма MAX3469 от Maxim.

Целостность сигнала проверяется путем наблюдения за дифференциальным выходом драйвера. Настройте осциллограф на поиск точек запуска между пороговыми значениями 80 мВ и -400 мВ. (Эти пороги выбраны, потому что приемники, используемые в нашем тестировании, имеют входной диапазон от 20 мВ до -200 мВ, плюс запас по шуму.) Когда импульсы (биты) начинают «работать вместе», для определения общих вкладов можно использовать глазковые диаграммы. искажения, шума и затухания до параметра, называемого межсимвольной помехой (ISI).

ISI заставляет вас снизить битрейт до уровня, который позволяет адекватно различать импульсы. Тесты схемы на Рисунке 1 показывают последовательную и четкую корреляцию между точками запуска и глазковыми диаграммами. Глазковые диаграммы показывают 50% джиттер, измеренный с использованием методов, описанных в примечании к приложению National Semiconductor 977 [4] . Данные были получены при измерении джиттера при дифференциале ± 100 мВ (, рисунок 4, ) и дифференциале 0 В (, рисунок 5, ).

Рисунок 4.График джиттера для заданной скорости передачи данных и длины кабеля. Джиттер измеряется при разнице ± 100 мВ.

Рисунок 5. График джиттера для заданной скорости передачи данных и длины кабеля. Джиттер измеряется при разности 0 В.

Для данного двухточечного соединения скорость передачи данных, связанная с конкретной длиной кабеля, может быть представлена ​​как дифференциал ± 100 мВ (рисунок 4) или дифференциал 0 В (рисунок 5). Входные сигналы приемника в диапазоне от + 100 мВ до -100 мВ обеспечивают правильное переключение приемника, поскольку входные пороги для дифференциальных сигналов менее 200 мВ.(Данные , рис. 5, применимы только к идеальному приемнику, который переключается при дифференциальном входе 0 В.)

Глазковые диаграммы и виды отказов

При скорости 39 Мбит / с и кабеле Cat5 длиной 340 футов выходной сигнал драйвера (рис. 2) показывает глазковую диаграмму, в которой сигналы пересекаются посередине глаза — состояние, указывающее на возможные битовые ошибки. Однако устройство Maxim с такой же скоростью передачи данных не показывает такого состояния (, рис. 3, ). Приемопередатчик Maxim обеспечивает лучшую производительность благодаря симметричным выходным фронтам и более низкой входной емкости.

Два драйвера сопоставимы для тестов, описанных выше. Однако при более высоких скоростях передачи данных при большей длине кабеля драйвер Maxim более надежен. Рисунок 9 дает оценку того, насколько быстро и на каком расстоянии часть Maxim может передавать данные в двухточечной сети. Эмпирически появление битовых ошибок примерно соответствует 50% -ному пределу джиттера.

Данные исследований из различных источников

Общепринятые в отрасли максимальные значения расстояния и скорости передачи данных составляют 4000 футов и 10 Мбит / с, но (конечно) не одновременно.Однако сочетание новейших устройств с тщательным проектированием системы может обеспечить более высокую пропускную способность при использовании кабелей большей длины.

Preemphasis [5] — это метод, который улучшает скорость передачи данных по сравнению с расстоянием и применим для связи RS-485 (, рисунок 6, ). Приемопередатчики RS-485 без предварительного усиления драйвера или коррекции приемника обычно получают 10% джиттер на длине 1700 футов кабеля при работе с фиксированной скоростью передачи данных 1 Мбит / с. Добавление упреждения водителя с такой скоростью удваивает расстояние до 3400 футов без увеличения джиттера.В качестве альтернативы предварительное выделение может увеличить скорость передачи данных на заданном расстоянии. Драйверы, работающие на скорости 400 кбит / с без предварительного выделения, обычно получают 10% джиттер на высоте более 4000 футов. Добавление предыскажения позволяет передавать на это расстояние до 800 кбит / с.

Рис. 6. Исходный стандарт: скорость передачи данных в зависимости от длины кабеля.

Другой способ рассчитать максимальную длину кабеля для надежной передачи — использовать таблицу затухания в зависимости от частоты, предоставленную производителем для кабеля Cat5. Общее правило допустимого затухания составляет -6 дБВ на всем протяжении кабеля.Это значение можно объединить с данными производителя о затухании, чтобы рассчитать максимальную длину кабеля для данной частоты.

MAX14783E

MAX14783E разработан для высокоскоростной (до 42 Мбит / с) многоточечной работы с высокой степенью защиты от электростатических разрядов до ± 35 кВ HBM. Благодаря входному сопротивлению 12 кОм это устройство позволяет подключать к шине до 32 приемопередатчиков (нагрузок). Поддержание многоточечной работы и увеличение максимальной скорости передачи данных обеспечивает более надежную конструкцию системы для надежной связи.

MAX22500E

MAX22500E, MAX22501E и MAX22502E — это приемопередатчики точка-точка, полудуплексные (MAX22500E / MAX22501E) и полнодуплексные (MAX22502E) со встроенным приоритетом (только MAX22500E и MAX22502E), оптимизированные для скорости передачи данных до 100 Мбит / с.

MAX22500E (, рис. 6, ) имеет интервал вытеснения, который устанавливается внешним резистором. Логический интерфейс питается от отдельного источника питания от приемопередатчика RS-485, что обеспечивает гибкость логических уровней между 1.8В и 5В.

MAX22501E (, рис. 7, ) не имеет упреждающих или гибких логических уровней, но предлагает простой высокоскоростной интерфейс RS-485, обеспечивающий скорость передачи данных до 100 Мбит / с. Этот продукт лучше всего подходит для электрически коротких кабельных трасс, где преимущества упреждения незначительны.

Рис. 7. Схемы приложений MAX22500E и MAX22501E.

MAX22502E (, рис. 8, ) — это полнодуплексный трансивер с такой же максимальной скоростью передачи данных 100 Мбит / с, что и MAX22500E и MAX22501E.Он также имеет встроенный упреждающий сигнал, который устанавливается с помощью внешнего резистора.

Рис. 8. Схема приложения MAX22502E.

Необходимость упреждения зависит от длины кабеля. Длинные кабели могут искажать сигналы на приемном конце, что приводит к возникновению межсимвольных помех. Preemphasis снижает ISI за счет увеличения амплитуды дифференциального сигнала на каждом фронте перехода, противодействуя высокочастотному затуханию в кабеле. Предварительное выделение не требуется для коротких кабелей, но только минимально снижает джиттер на глазковых диаграммах при использовании коротких кабелей.Обратите внимание, что данные, взятые из MAX22500E на рис. 8 , демонстрируют эту взаимосвязь. Эти тесты показывают максимальную скорость передачи данных, которая может быть передана по длине кабеля TIA / EIA-568-B Cat6, сохраняя при этом коэффициент битовых ошибок менее одной ошибки на 100 миллионов бит (BER

Рис. 9. Зависимость максимальной скорости передачи данных от длины кабеля для MAX22500E.

Советы и хитрости

Доступные трансиверы RS-485 имеют несколько функций, которые могут повысить производительность системы:

  • Особое внимание: снижает ISI для связи на больших расстояниях.
  • Приемники с уменьшенной единичной нагрузкой: устройства с малой нагрузкой доступны с нагрузкой до 1/8 единицы, что позволяет подключать до 256 устройств на одной шине. Такие устройства также позволяют снизить нагрузку на шину, что, в свою очередь, позволяет использовать более длинный кабель или более высокую скорость передачи данных.
  • Высокоскоростные устройства: доступные в настоящее время драйверы поддерживают скорость передачи данных до 100 Мбит / с, уделяя особое внимание низкой задержке распространения и малому перекосу.
  • Защита от электростатических разрядов: не увеличивает скорость передачи данных, но может быть разницей между работающей системой и системой с нулевой скоростью передачи данных (нарушена).Доступные устройства предлагают встроенную защиту от электростатического разряда до ± 35 кВ.
  • Правильная разводка [6] : RS-485 определяет дифференциальную передачу, для которой необходимы два сигнальных провода в дополнение к заземляющему проводу (обычно витая пара 24AWG) для передачи сигнала. Два сигнальных провода передают сигналы по-разному и значительно уменьшают проблемы, связанные с излучаемыми электромагнитными помехами и захватом электромагнитных помех, благодаря отличному подавлению синфазных помех. Общий характеристический импеданс этого провода составляет от 100 Ом до 120 Ом, который также является сопротивлением, используемым для заделки каждого конца кабеля — в интересах уменьшения отражений и других эффектов линии передачи. На рисунках 10, и , 11, показаны правильно подключенные системы.

Рисунок 10. Сеть с одной передачей и одним приемом.

Рисунок 11. Сеть с несколькими приемопередатчиками.

Заключение

Сети

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

Список литературы

  1. Для получения более общей информации см. Примечание к приложению Maxim 736, «Основы дифференциальной системы передачи данных RS-485».
  2. См. Примечание по применению Maxim 1833, «Использование приемопередатчиков RS-485 / RS-422 в сетях Fieldbus».
  3. См. Texas Instruments Databook , «Цепи передачи данных, том 1», 1995/1996, стр. 4-9–4–24 и 4–37–4–48.
  4. См. Texas Instruments SNLA166, «Качество сигнала LVDS: измерения джиттера с использованием отчета о тестировании глазковых диаграмм №1.»
  5. Более подробное обсуждение см. В примечании по применению Максима 643, «Превосходство улучшает связь по RS-485».
  6. См. Примечание по применению Maxim 763, «Рекомендации по правильному подключению сети RS-485».

Modbus против RS485 | Краткое руководство по RS485 и MODBUS

Что такое полудуплексная система?

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

Сеть RS485 построена на основе структуры ведущий / ведомый. Ведущее устройство выполняет роль передатчика, отправляя запросы назначенному ведомому устройству, которое действует как приемник. Мастер прослушивает ответ и, если он не получен в соответствующий период времени, прекращает обмен данными.

Что такое Modbus?

Сообщения Modbus

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

Протокол Modbus позволяет мастеру выбирать, адресовать сообщения конкретным ведомым устройствам или связываться со всеми ведомыми одновременно. Это делается с помощью специального «широковещательного» адреса. Некоторые продукты, например, от Integra и SPR, не поддерживают использование этого широковещательного адреса.

Операции чтения и записи отправляются через сообщения Modbus с использованием катушек. Катушка состоит из 16-битных слов и двоичных регистров. Подчиненное устройство может только ответить на полученное сообщение и никогда не инициирует связь с мастером.

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

Точно так же, как соединение RS232 работает, ведомые и ведущие устройства должны быть правильно настроены. Такие параметры, как скорость и четность, необходимо синхронизировать по всей сети.

Формат сообщения Modbus

Формат сообщения, используемый в связи Modbus между ведущим и ведомым устройством, определен в протоколе.

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

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

В чем разница между последовательными интерфейсами RS-232 и RS-485?

Эта статья является частью Связь Серия : В чем разница: Последовательная связь 101

Загрузите эту статью в формате .PDF

Сегодня используются десятки интерфейсов последовательной передачи данных. Большинство из них были разработаны для конкретных приложений. Некоторые из них стали универсальными, например I 2 C, CAN, LIN, SPI, Flex, MOST и I 2 S.Затем есть Ethernet, USB и другие высокоскоростные последовательные интерфейсы, такие как FireWire, HDMI и Thunderbolt. Два самых старых интерфейса — это RS-232 и RS-485. Однако эти устаревшие интерфейсы не устарели и не прекращены. Оба до сих пор живы и здоровы во многих приложениях.

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

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

Определение логических уровней, среды и соединителей является частью физического уровня (PHY) или уровня 1 сетевой модели взаимодействия открытых систем (OSI). Любые дополнительные функции, такие как обработка данных, являются частью уровня управления доступом к среде (MAC) или уровня 2 модели OSI.

RS-232

Один из самых старых последовательных интерфейсов обычно называется RS-232. Первоначально он был создан в 1962 году как метод подключения оконечного оборудования данных (DTE), такого как электромеханические телетайпы, к оборудованию передачи данных (DCE). На протяжении многих лет его использование включало подключения к видеотерминалам, компьютерам и модемам. Первые персональные компьютеры включали RS-232, называемый последовательным портом, для подключения к принтеру или другому периферийному устройству. Сегодня он по-прежнему широко используется во встроенных системах разработки компьютеров, научных инструментах и ​​всевозможном промышленном контрольном оборудовании.

Официальное название стандарта — Electronic Industries Association / Telecommunication Industries Association EIA / TIA-232-F. Буква F обозначает самую последнюю модификацию и обновление стандарта. Стандарт по существу совпадает со спецификациями V.24 и V.28 Международного союза электросвязи — телекоммуникации (ITU-T).

Стандарт определяет логическую 1 и напряжение от –3 до –25 В и логический 0 как уровень напряжения от +3 до + 25 В (рис.1) . Уровни сигнала обычно называют отметкой для логической 1 и пробелом для логического 0. Напряжения между ± 3 В недопустимы, обеспечивая огромный запас помехоустойчивости для интерфейса. Шумовые напряжения в этом диапазоне отклоняются. В обычной практике уровни логического 0 и 1 обычно составляют от ± 5 В до ± 12 или ± 15 В. Конфигурации передатчика и приемника несимметричные (не дифференциальные) с опорным заземлением.

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faef» data-embed-element = «span» data-embed-size = «640w» data-embed-alt = «1.Уровни напряжения определяют логическую 1 или метку и логический 0 или пробелы. Напряжение между & Acirc; & PlusMinus; 3 В недопустимо. «Data-embed-src =» https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04 = format & fit = max & w = 1440 «data-embed-caption =» 1. Уровни напряжения определяют логическую 1 или метку и логический 0 или пробелы. Напряжение между Â & PlusMinus; 3 В недопустимо.»]}%

Кабельная среда может быть простой параллельной жилой или витой парой. Длина кабеля определяет максимальную скорость передачи данных и обычно не должна превышать 50 футов. Однако в условиях низкой скорости передачи данных можно использовать кабели гораздо большей длины. Сегодня основная задача — использовать кабель с емкостью между проводами не более 2500 пФ. Это ограничивает верхнюю скорость передачи данных примерно до 20 кбит / с. Из-за низкой скорости передачи данных, используемой с этим интерфейсом, кабель обычно не рассматривается как формальная линия передачи.Линии передачи требуют согласованного импеданса генератора и нагрузки для устранения отражений, вызывающих искажение данных.

Стандарт определяет 25-контактный разъем под названием DB-25, который был разработан для подключения различных линий управления, а также линий передачи и приема последовательных данных. Такие разъемы сегодня используются редко. Вместо этого был определен девятиконтактный разъем под названием DE-9, и сегодня он является стандартом де-факто (рис. 2) .

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faf1» data-embed-element = «span» data-embed-size = «640w» data-embed-alt = «2.Популярный разъем DB9 передает показанные сигналы. Цифры — это номера контактов на разъеме. «Data-embed-src =» https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04_0413_png2_face_face format & fit = max & w = 1440 «data-embed-caption =» 2. Популярный разъем DB9 передает показанные сигналы. Цифры — это номера контактов на разъеме. «]}%

Первоначально скорость передачи данных для электромеханического оборудования была очень низкой.Минимальная скорость обычно составляла 75 бит / с, но были распространены скорости 150 и 300 бит / с. Сегодня скорость передачи данных определяется протоколом, используемым с интерфейсом, и может достигать 115,2 кбит / с. Типичные скорости передачи данных составляют 1200, 2400, 4800, 9600, 19 200, 38 400 и 115 200 бит / с. Скорость передачи данных ограничена максимально допустимой скоростью нарастания 30 В / мкс (вольт за микросекунду). Для коротких кабелей с низкой емкостью скорость передачи данных может достигать нескольких мегабит в секунду с соответствующими драйверами.

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

Управляющие сигналы в интерфейсе определяют протокол для передачи и приема данных. Эти сигналы сообщают двум взаимодействующим устройствам, когда они заняты, передают, готовы и принимают. Передающее устройство — это DTE, такое как компьютер, а принимающее устройство — это DCE, например принтер.Управляющие сигналы, используемые на общем девятиконтактном разъеме:

  • Обнаружение носителя данных (DCD): DCE сообщает DTE, что он получает действительный входной сигнал.
  • Набор данных готов (DSR): DCE сообщает DTE, что он подключен и готов к приему.
  • Полученные данные (RD): это фактический сигнал, полученный от DTE.
  • Запрос на отправку (RTS): Этот сигнал от DTE сообщает DCE, что он готов к передаче.
  • Передача данных (TD): это переданный сигнал от DTE.
  • Готово к отправке (CTS): Эта строка от DCE сообщает DTE, что оно готово к приему данных.
  • Терминал данных готов (DTR): Эта линия от DTE к DCE указывает на готовность к отправке или приему данных.
  • Индикатор звонка (RI): эта линия использовалась в старых модемных соединениях, но больше не используется.
  • Заземление сигнала: это общее заземление для всех сигналов.

На рис. 3 показаны кабельные соединения от DTE к DCE. Обратите внимание на соединения между выводами линии управления.Сигналы на этих выводах возникают в ответ друг на друга в так называемом процессе управления потоком или «рукопожатия».

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faf3» data-embed-element = «span» data-embed-size = «640w» data-embed-alt = «3. Это обычное соединение между DTE и устройствами DCE. Обратите внимание на соединения в кабеле от одного разъема к другому «. data-embed-src = «https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04_0413_WTDinterfaces_F3.png? auto = format & fit = max & w = 1440 «data-embed-caption =» 3. Это обычное соединение между DTE и устройствами DCE. Обратите внимание на соединения в кабеле от одного разъема к другому. «]}%

Хотя формально это не является частью стандарта RS-232, большинство последовательных устройств, использующих этот интерфейс, также используют так называемый универсальный асинхронный приемный передатчик (UART). Эта ИС, обычно отделенная от схем драйвера линии и приемника, реализует базовый протокол связи, который включает передачу до 8 бит за раз.Он выполняет преобразование из последовательного в параллельный и из параллельного в последовательный, добавляя стартовые и стоповые биты, чтобы сигнализировать о начале и конце слова данных, обнаружение битовых ошибок четности и установление скорости передачи данных.

Данные часто представляют собой символы ASCII, но может быть передано любое слово данных длиной до 8 бит. (рис. 4) . UART обычно может быть настроен для обработки слов различного размера (от 5 до 8 бит), добавления 1, 1,5 или 2 стоповых бита и включения нечетных, четных или нулевых битов четности. Скорость передачи данных от 75 до 115 бит / с.Можно выбрать 2 кбит / с.

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faf5» data-embed-element = «span» data-embed-size = «640w» data-embed-alt = «4. Это сигнал EIA / TIA-232 для передачи 7-битной заглавной буквы ASCII J. Стартовый бит сигнализирует о начале символа. Младший бит является первым передатчиком. Включен бит нечетной четности. Передача завершается стоповым битом. . » data-embed-src = «https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04_0413_WTDinterfaces_F4_0.png? auto = format & fit = max & w = 1440 «data-embed-caption =» 4. Это сигнал EIA / TIA-232 для передачи 7-битной заглавной буквы ASCII J. Стартовый бит сигнализирует о начале символа. LSB идет первым передатчиком. Включен бит нечетной четности. Передача заканчивается стоповым битом. «]}%

RS-485

Этот интерфейс, также определенный стандартом EIA / TIA, теперь называется TIA-485. Он определяет не только один интерфейс между устройствами, но и коммуникационную шину, которую можно использовать для формирования простых сетей из нескольких устройств.Его конфигурация и характеристики также расширяют диапазон и скорость передачи данных за пределы возможностей интерфейса RS-232.

Стандарт RS-485 определяет дифференциальную сигнализацию по двум линиям, а не по несимметричным, с напряжением относительно земли. Логическая 1 — это уровень больше –200 мВ, а логический 0 — уровень больше +200 мВ. Типичные уровни линейного напряжения от линейных драйверов составляют от минимум ± 1,5 В до максимум примерно ± 6 В. Чувствительность входа приемника составляет ± 200 мВ. Шум в диапазоне ± 200 мВ по существу блокируется.Дифференциальный формат обеспечивает эффективное подавление синфазного шума.

Стандартная среда передачи — это витая пара сплошного провода №22 или №24 AWG. Минимум две линии, но можно использовать третий опорный провод. Если требуется полнодуплексный режим, можно также использовать четырехпроводные кабели. Кабели могут быть экранированными или неэкранированными, чаще всего неэкранированные. Кабель рассматривается как линия передачи. Номинальное характеристическое сопротивление составляет 100 или 120 Ом. Согласующие нагрузочные резисторы необходимы для обеспечения согласованного состояния линии, что предотвращает отражения, приводящие к ошибкам данных.

Стандарт не определяет конкретных разъемов. Использовались различные способы подключения, в том числе разъем RS-232 DE-9. Простые винтовые клеммные соединения распространены в некоторых типах промышленного управляющего оборудования.

Длина кабеля определяет верхнюю скорость передачи данных. Но из-за более низких уровней логического напряжения и дифференциального подключения скорость передачи данных может превышать 10 Мбит / с в зависимости от длины кабеля. Максимальная длина кабеля обычно определяется как 1200 метров или около 4000 футов.Типичная максимальная скорость передачи данных на высоте 4000 футов составляет 100 кбит / с. Общее правило состоит в том, что произведение длины линии в метрах и скорости передачи данных в битах в секунду не должно превышать 10 8 . Например, 20-метровый кабель обеспечит максимальную скорость передачи данных 5 Мбит / с.

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

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faf7» data-embed-element = «span» data-embed-size = «640w» data-embed-alt = «5. Это типичная дифференциальная шина TIA-485 с отдельными драйверами (D) и приемниками (R), а также приемопередатчиками.Обратите внимание на концы оконечных резисторов шины. «Data-embed-src =» https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04_0413_files_uploads_2013_04_0413_wTDinterface == max & w = 1440 «data-embed-caption =» 5. Это типичная дифференциальная шина TIA-485 с отдельными драйверами (D) и приемниками (R), а также приемопередатчиками. Обратите внимание на концы оконечных резисторов шины. «]}%

Стандарт не определяет конкретный протокол связи.Иногда используется стандартный протокол UART. Большинство приложений определяют уникальный протокол.

Варианты интерфейса

Иногда на практике встречаются несколько вариаций этих двух стандартов. RS-422 — это вариант RS-485 с аналогичными характеристиками, но рассчитанный только на один драйвер и до 10 приемников. Логические уровни варьируются от ± 2 до ± 6 В. RS-423 представляет собой несимметричный, а не дифференциальный вариант RS-422. В остальном другие характеристики аналогичны интерфейсу RS-485.

Приложения

Стандарт TIA-232 в настоящее время развернут в широком спектре приложений малого радиуса действия с низкой скоростью передачи данных. Он особенно эффективен в оборудовании, используемом в шумных средах, таких как фабрики, заводы управления технологическими процессами и коммунальные предприятия. Длина кабеля обычно не превышает 50 футов. Обычное оборудование включает низкоскоростные модемы, промышленное оборудование управления, такое как программируемые логические контроллеры (ПЛК), станки с числовым программным управлением (ЧПУ), роботов, встроенные управляющие компьютеры, медицинские инструменты и оборудование, а также системы разработки встроенных контроллеров.

Интерфейс TIA-485 также широко используется в промышленных приложениях, где требуются более высокие скорости и большие расстояния. Он используется в том же типе оборудования, что и интерфейс RS-232, а также в таких устройствах, как торговые точки (POS), измерительные приборы и большие специальные автоматизированные машины. Сети, определяемые полевыми шинами, такими как Profibus и Modbus, также используют его.

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

Резюме

В общем, RS-232 лучше всего подходит для коротких расстояний и низкой скорости. Это простой и недорогой, и для построения интерфейса доступно множество компонентов, таких как линейные драйверы и приемники, UART и разъемы. Некоторые драйверы допускают скорость передачи данных до 2 или 3 Мбит / с для коротких линий. Большинство интерфейсных микросхем включают в себя преобразователь постоянного тока с накачкой заряда, который подает положительное и отрицательное напряжение питания, позволяя ИС работать от одной тройки.Питание 3 или 5 В.

RS-485 предназначен для более высоких скоростей в более длинных диапазонах или если требуется возможность дуплексной сети. Опять же, для создания интерфейса доступно множество стандартных частей. Микросхемы имеют драйверы и приемники, которые могут допускать более 32 сбросов, а скорость передачи данных может достигать 40 Мбит / с. Некоторые ИС также включают преобразователи постоянного тока в постоянный для обеспечения двойного напряжения питания (см. Таблицу) .

% {[data-embed-type = «image» data-embed-id = «5df275edf6d5f267ee20faf9» data-embed-element = «aside» data-embed-align = «left» data-embed-alt = «Сайты электронного дизайна Electronicdesign com Загрузка файлов 2013 04 0413 Таблица интерфейсов Wtd 0 «data-embed-src =» https: // img.electronicdesign.com/files/base/ebm/electronicdesign/image/2013/04/electronicdesign_com_sites_electronicdesign.com_files_uploads_2013_04_0413_WTD_interfaces_Table_0.png?auto=format&fit=max&w=40} -ed14data_data&fit=max&w=402

Подробнее из Связь Серия : В чем разница: Последовательная связь 101

Скачать эту статью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *