Интерфейс RS-485 один из самых распространенных стандартов связи физического уровня. Физический уровень – это канал связи и средство передачи сигнала. Современные интеллектуальные передатчики и элементы управления наряду с традиционным интерфейсом RS-232 содержат подсистему последовательной передачи данных на базе интерфейса RS-485. Программируемые логические контроллеры многих производителей в качестве средств организации территориально распределенных систем передачи данных и управления используют различную реализацию интерфейса RS-485.
Принцип работы: В основе интерфейсаRS-485 лежит принцип дифференцированной (балансной) передачи данных. При дифференцированной передаче данных передача одного сигнала осуществляется посредством двух проводов. По одному проводу (условно A) передается оригинальный сигнал, а по другому (условно B) – инверсия сигнала. Другими словами, если по проводу А передается 1, то по проводу B передается 0 и наоборот. Таким образом, между двумя проводами пары всегда есть разность потенциалов: при передаче 1 она положительна, при передаче 0 – отрицательна (см. чертеж 6.1).
Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе. Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего (как это происходит в интерфейсе RS-232), то синфазная наводка может исказить проходящий по этому проводу сигнал. А при дифференциальной передаче искажения не происходит. Если два провода пролегают близко друг к другу и перевиты, то наводка на оба провода одинакова, потенциал в обоих одинаково нагруженных проводах изменяется одинаково, а информативная разность потенциалов остается без изменений.
На рис.6.2 представлены схемы приемопередатчика для интерфейсов RS-422 и RS-485. Под чертежами приведены толкования условных обозначений, указанных на схемах:
D (Driver) - передатчик; R (Receiver) - приемник; DI (Driver input) - цифровой вход передатчика; RO (Receiver output) - цифровой выход приемника; DE (Driver enable) - разрешение работы передатчика; RE (Receiver enable) - разрешение работы приемника; A - прямой дифференциальный вход/выход; B - инверсный дифференциальный вход/выход; Y – прямой дифференциальный выход (RS-422); Z - инверсный дифференциальный выход (RS-422).
Приемник, получая на дифференциальных входах (AB) разность потенциалов и переводит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной. Для конкретного приемника пороговый диапазон распознавания сигнала указан в документации и обычно составляет ± 200 мВ. То есть, когда > +200 мВ - приемник определяет "1", когда < -200 мВ - приемник определяет "0". Если разность потенциалов в линии не выходит за пороговые значения, корректное распознавание сигнала не будет возможно. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.
RS-422 является дуплексным интерфейсом. Прием и передача данных осуществляется посредством двух различных пар линии связи. На каждой паре линии связи можно разместить только один передатчик.
RS-485 же является полудуплексным режимом. Прием и передача данных осуществляется посредством одной пары линии связи с разделением по времени. В такой сети может быть много передатчиков, так как они могут отключаться в режиме приема. Все устройства соединяются к одной паре линии связи одинаково: прямые выходы (A) к одному проводу, инверсные выходы (B) - к другому. Входное сопротивление приемника со стороны линии () обычно составляет 12 КОм. Так как мощность передатчика не беспредельна, это создает ограничение на количество приемников, подключенных к линии. Согласно спецификации RS-485 c учетом согласующих резисторов передатчик может вести до 32 приемников. Однако есть ряд микросхем, имеющих повышенное входное сопротивление. Эти микросхемы позволяют подключить к линии значительно больше устройств. Максимальная скорость связи по интерфейсу RS-485 может достигать 10 Мбит/сек, а максимальное расстояние линии связи - 1200 метров. Если необходимо организовать связь на большем расстоянии или подключить к каналу связи больше устройств, чем допускает нагрузочная способность передатчика, необходимо применить специальные повторители (репитеры).
Существующий в приёмопередатчике цифровой выход приемника RO подключается к порту приемника микроконтроллера RX, а цифровой вход передатчика DI подключается к порту передатчика TX (рис.6.3).
Поскольку в существующем приемопередатчике RS-485 передатчик на дифференциальной стороне соединен с приемником, то во во время приема данных нужно отключать передатчик, а во время передачи – отключать приемник. Для этой цели приемопередатчике служат управляющие выходы: разрешение приемника (RE) и разрешения передатчика (DE). Так как выход RE инверсный, то его можно соединить с выходом DE и управлять приемником и передатчиком одним сигналом с любого порта контроллера. При проектировании системы на базе технических средств интерфейса RS-485, следует учесть целый ряд факторов, из которых наиболее важные: число приемников и передатчиков, скорость передачи данных, метод объединения технических средств и максимальная длина линии связи [21].
В ниже приведенной таблице показаны основные параметры интерфейса RS-422/485.
Таблица 1.
Параметры | RS-422 | RS-485 |
Допустимое число приемников/ передатчиков | 1/10 | 32/32 |
Максимальная длина кабеля | 1200 м | 1200 м |
Максимальная скорость связи | 10 Мбит/сек | 10 Мбит/сек |
Диапазон напряжений логической "1" передатчика | +2... +10 В | +1.5... +6 В |
Диапазон напряжений логической "0" передатчика | -2... –10 В | -1.5... -6 В |
Диапазон синфазного напряжения передатчика | -3... +3 В | -1… +3 В |
Допустимый диапазон напряжений приемника | -7… +7 В | -7... +12 В |
Пороговый диапазон чувствительности приемника | мВ | мВ |
Максимальный ток короткого замыкания | 150 мА | 250 мА |
Допустимое сопротивление нагрузки передатчика | 100 Ом | 54 Ом |
Входное сопротивление приемника | 4 кОм | 12 кОм |
Максимальное время нарастания сигнала передатчика | 10% бита | 30% бита |