double arrow

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

Интерфейс RS -485, новое обозначение – EIA / TIA -485, один из наиболее распространенных стандартов физического уровня связи. Физический уровень – это первый уровень модели взаимосвязи открытых систем. Характеристики интерфейса приведены в табл.2.4.

Таблица 2.4. Стандартные параметры интерфейса RS -485

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

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

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

Рис. 2.12. Электрический сигнал интерфейса RS -485

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

Основой интерфейса является универсальный асинхронный приемопередатчик (UART), который состоит из приемника (Receiver) и передатчика (Transmitter). Кроме того, в состав UART входят: тактовый генератор связи или бодрейт-генератор, управляющие регистры, статусные регистры, буферы и сдвиговые регистры приемника и передатчика. Генератор задает тактовую частоту приемо-передатчика для данной скорости связи. Управляющие регистры задают режим работы последовательного порта и его прерываний. В статусном регистре устанавливаются флаги по различным событиям. В буфер приемника попадает принятый символ, в буфер передатчика помещается передаваемый. Для передачи в последовательный порт битов посылаемого кадра используется сдвиговый регистр передатчика. Сдвиговый регистр приемника по биту накапливает принимаемые из порта данные. По различным событиям устанавливаются флаги и генерируются прерывания, например, завершение приема или отправки кадра, освобождение буфера, наличие различных ошибок.

UART является полнодуплексным интерфейсом, поэтому приемник и передатчик могут работать одновременно и независимо друг от друга. Порт приемника обозначают Rx, передатчика – Tx. Последовательной установкой уровней на этих портах относительно общего провода («земли») и передается информация. По умолчанию передатчик устанавливает на линии единичный уровень. Передача начинается посылкой бита с нулевым уровнем (старт-бита), затем идут биты данных младшим битом вперед (низкий уровень – «0», высокий уровень – «1»), завершается посылка передачей одного или двух битов с единичным уровнем (стоп-битов). Пример электрического сигнала кадра посылки приведен на рис. 2.13.

Рис. 2.13. Формат кадра посылки

Формат кадра определяет число стоп-битов (1 или 2), число бит данных (8 или 9), а также назначение девятого бита данных. Все это зависит от типа контроллера.

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

Скорость связи или бодрейт (baud rate) измеряется в числе передаваемых бит в секунду, включая старт и стоп-биты. Задается эта скорость в бодрейт-генераторе делением системной частоты на задаваемый коэффициент. Типичный диапазон скоростей: 2400÷115200 бод.

Приемник и передатчик тактируются, как правило, с 16-кратной частотой относительно бодрейта. Это нужно для сэмплирования сигнала. Приемник, поймав падающий фронт старт-бита, отсчитывает несколько тактов и следующие три такта считывает (семплирует) порт Rx. Это как раз середина старт-бита. Если большинство значений семплов – «0», старт-бит считается состоявшимся, иначе приемник принимает его за шум и ждет следующего падающего фронта. После удачного определения старт-бита, приемник точно также семплирует серединки битов данных и по большинству семплов считает бит «0» или «1», записывая их в сдвиговый регистр. Стоп-биты тоже семплируются, и если уровень стоп-бита не «1» – UART определяет ошибку кадра и устанавливает соответствующий флаг в управляющем регистре (рис. 2.14).

Рис. 2.14. Пример чтения бита

Аппаратная реализация выходного устройства интерфейса – микросхемы приемопередатчиков с дифференциальными входами и выходами к линии связи и цифровыми портами к портам UART контроллера.

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

Рис. 2.15. Приемопередатчик RS -485

Обозначения на рис. 2.15: D (driver) – передатчик; R (receiver) – приемник; DI (driver input) – цифровой вход передатчика; RO (receiver output) – цифровой выход приемника; DE (driver enable) – разрешение работы передатчика; RE (receiver enable) – разрешение работы приемника; A – прямой дифференциальный вход/выход; B – инверсный дифференциальный вход/выход.

Цифровой выход приемника (RO) подключается к порту приемника UART (Rx). Цифровой вход передатчика (DI) к порту передатчика UART (Tx). Поскольку на дифференциальной стороне приемник и передатчик соединены, то во время приема нужно отключать передатчик, а во время передачи - приемник. Для этого служат управляющие входы – разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне «0» – работа на прием, при «1» – на передачу (рис. 2.15).

Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) переводит их в цифровой сигнал на выходе RO. Обычно порог чувствительности приемника составляет ± 200 мВ. То есть, когда UAB > +200 мВ – приемник определяет «1», когда UAB < –200 мВ – приемник определяет «0». Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.

Все устройства подключаются к одной витой паре одинаково: прямые выходы (A) к одному проводу, инверсные (B) – к другому.

Пример подключения приемопередатчика RS -485 к микроконтроллеру показан на рис. 2.16.

Рис. 2.16. Подключение приемопередатчика к микроконтроллеру

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

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

У любой линии связи есть такой параметр, как волновое сопротивление Z в. Оно зависит от характеристик используемого кабеля, но не от длины. Для обычно применяемых в линиях связи витых пар Z в = 120 Ом. Оказывается, что если на удаленном конце линии, между проводниками витой пары включить резистор с номиналом равным волновому сопротивлению линии, то электромагнитная волна, дошедшая до «тупика» поглощается на таком резисторе. Отсюда его названия - согласующий резистор или «терминатор».

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

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

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

В оба наиболее удаленных конца кабеля (Z в = 120 Ом) включают согласующие резисторы Rt по 120 Ом (0,25 Вт). Если в системе только один передатчик и он находится в конце линии, то достаточно одного согласующего резистора на противоположном конце линии. Пример линии связи интерфейса RS -485 приведен на рис. 2.17.

Рис. 2.17. Линия связи интерфейса RS -485


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: