Интерфейс RS-485 для чайниковСети, построенные на основе интерфейсов RS-485 и RS-422, представляет собой приемопередатчики, подключенные с помощью витой пары. В основе RS-485 лежит принцип дифференциальной (балансной) передачи данных. Основа ее базируется на передаче одного сигнала по двум проводам. Причем по первому проводу (A) следует оригинальный сигнал, а по второму - его инверсная копия. Простыми словами, если на А "1", то на В "0" и наоборот, т.е, между двумя проводами витой пары всегда существует разность потенциалов: при "1" уровне она положительная, при "нулевом" - отрицательная.
Благодаря разности потенциалов и передается сигнал. Такой метод передачи обеспечивает отличную устойчивость к синфазной помехе. (т.е помехе, оказывающей воздействие на оба провода одинаково. Например, электромагнитная волна, следуя через участок линии связи, наводит в обоих проводах определенный потенциал. Если сигнал передается потенциалом в одном проводе относительно общего, как например в RS-232 (com), то помеха способна исказить сигнал. В случае дифференциальной передачи искажения отсутствуют, т.к наводка на оба провода в витой паре практически одинакова и потенциал обоих проводов изменяется одинаково, а информативная разность потенциалов остается без искажений.
RS-485 - полудуплексный интерфейс. В нем прием и передача осуществляется по одной паре проводов с временным разделением. В сети можно использовать несколько передатчиков, т.к они способны отключаются в режиме приема. RS-422 - также полнодуплексный интерфейс. Передача и прием происходят по двум отдельным парам проводов. На каждой паре может быть только один передатчик. R (receiver) - приемник; D (driver) - передатчик; RO (receiver output) - цифровой выход приемника; DI (driver input) - цифровой вход передатчика; RE (receiver enable) - разрешение работы приемника; DE (driver enable) - разрешение работы передатчика; Y - прямой дифференциальный выход (RS-422);
Z - инверсный дифференциальный выход (RS-422); A - прямой дифференциальный вход/выход; B - инверсный дифференциальный вход/выход;.
Цифровой выход приемника (RO) подcоединяется к порту приемника UART (RX). Цифровой вход передатчика (DI) к порту (TX). Так как на дифференциальной стороне приемник и передатчик соединены, то во время приема требуется отсоединять передатчик, соответственно во время передачи - приемник. Для этого используются специальные управляющие входы - разрешения передатчика (DE) и разрешение приемника (RE). Поскольку RE инверсный вход, то его необходимо соединить с DE и переключать приемник и передатчик после этого можно одним сигналом с любого порта контроллера. При логическом уровне "0" - работа на прием, при "1" - на передачу. Приемник, получает на свои дифференциальные входы (AB) разность потенциалов (UAB) переводит ее в сигнал цифрового вида на выходе RO. Обычно пороги чувствительности приемника составляют ± 200 мВ. Т.е, когда UAB больше +200 мВ - приемник определяет логическую "1", если UAB менее этого уровня - приемник определяет "лог. 0". Если разность потенциалов в линии ниже порогового значения - правильное распознавание сигнала не возможно. Все устройства использующие RS-485 подсоединяются к одной витой паре: прямые выходы (A) к первому проводу, инверсные (B) - к второму. Входное сопротивление приемника со стороны линии (RAB) обычно около 12 КОм. Так как мощность передатчика не бесконечна, имеется ограничение на количество приемников, подсоединенных к линии. Согласно спецификации RS-485 c учетом согласующих сопротивлений передатчик может вести всего до 32 приемников. Однако имеются некоторые микросхемы с повышенным входным сопротивлением, что дает возможность подсоединить к линии большее количество устройств. Максимальная скорость связи по спецификации интерфейса RS-485 может достигать 10 Мбод/сек. Максимальное расстояние более километра - 1200 м. Если требуется организовать передачу на большем расстоянии или подсоединить больше устройств, чем позволяет нагрузочная способность передатчика - используют специальные повторители, называемые репитерами.
При больших расстояниях между устройствами начинают возникать эффекты длинных линий, из-за конечности скорости распространения электромагнитных волн. (200 мм/нс). Сигнал также может отражаться от открытых концов линии передачи и различных ответвлений. Для коротких линий этот процесс происходит очень быстро, но время реакции приемников все равно десятки и даже сотни нс. Поэтому даже несколько десятков метров электрический сигнал пройдет совсем не мгновенно. И если расстояние приличное, фронт сигнала, отразившийся в конце линии и вернувшийся обратно, частично искажает текущий или следующий сигнал. В этих случаях необходимо подавлять эффект отражения. Как мы уже знаем из курса электротехники, у абсолютно любой линии связи имеется некоторое волновое сопротивление Zв. Оно зависит от свойств кабеля, но не от длины. Для типичных витых пар Zв=120 Ом. Если на удаленном конце линии, между проводами одной витой пары подсоединить резистор с номиналом аналогичным волновому сопротивлению, то электромагнитная волна дошедшая до "тупика" поглощается этим сопротивлением, которое называют согласующим резистором или "терминатор". Существенный недостаток такого согласования - повышенное потребление тока от передатчика. Поэтому следует включать передатчик только на короткое время отправки посылки. Имеются методы снижающие ток потребления, для этого последовательно с согласующим резистором включают развязывающуюся емкость. Однако и такому способу присущи и свои недостатки. Для коротких линий (несколько десятков метров) и малых скоростей передачи (ниже 38400 бод) согласование можно вообще не делать. Типичная схема согласования. В оба максимально удаленных конца кабеля (Zв=120 Ом) включают согласующие сопротивления Rt по 120 Ом (0.25 Вт). Если в системе имеется только один передатчик и он находится в конце линии, то достаточно одного терминатора на противоположном конце линии.
Т.к большинство компьютеров и микроконтроллеров не поддерживают RS485, во многих случая может потребоваться преобразователь на RS232. Представленная ниже схема позволяет собрать простой конвертер интерфейсов RS232-RS485. Основа схема популярные микросборки MAX232 и MAX485. Разъем DB-9 соединяет плату с COM портом. Через разъемы J1 и J2 происходит доступ к линиям ввода-вывода MAX232, через разъем CN1 осуществляется доступ к линиям ввода вывода микросхемы MAX485. При помощи перемычки J4 к устройству можно подключит внешнее питание уровнем от 9 до 12 В, которое преобразуется стабилизатором в 5 В. Если вы запитываете схему через J1, то проверьте, что J4 разомкнут. Светодиод D2 горит при выключение питания, диод D1 защищает от ошибочной смены полярности. Кабель RS485 подсоединяется к разъему CN2 через резисторы R3, R1 и R4, обеспечивающие требуемый импеданс. Вывод A CN1 - контроль приема/передачи. Если подключить его на землю, тог RS485 будет работать только в режиме приёма, а если подсоединить к Vcc, то работа происходит в режиме передачи. Для подключения микросхемы MAX232 к MAX485 подключите вывод C J1 к DI CN1, а вывод B J1 с выводом RO CN1. Для желающих собрать радиолюбительскую конструкцию ниже привожу рисунок печатной платы. |
|