Итак, RS-485 — это просто?

Jul 31, 2026 Оставить сообщение

Обзор RS-485


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


Шина RS-485 лишена недостатков RS-232, таких как короткие расстояния связи и низкие скорости передачи данных. RS-485 поддерживает скорость передачи данных до 10 Мбит/с и имеет теоретическое расстояние связи до 1200 метров. В отличие от несимметричной передачи RS-232, RS-485 использует дифференциальную передачу по паре витых пар, один из которых обозначен как A, а другой как B.


Физический уровень RS-485


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

 

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

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

02f4c218-c803-11ed-bfe3-dac502259ad0.png

 

031047e0-c803-11ed-bfe3-dac502259ad0.png

Стандарт определяет, что логика 1 равна от +2В до +6В, а логика 0 — от -6В до -2В.

RS-485 не требует определенного напряжения шины; он учитывает только минимальное дифференциальное напряжение. При большей длине кабеля напряжение, принимаемое приемником, может упасть до +/- 200 мВ, что вполне приемлемо для RS-485 — это одно из преимуществ RS-485.

Многие трансиверы соответствуют стандарту TIA/EIA-485A или даже превосходят его; однако в практических приложениях приоритет имеют указанные параметры устройства. Например, минимальный отрицательный входной порог для определенного трансивера составляет -200 мВ.

03301b4c-c803-11ed-bfe3-dac502259ad0.png

 

03445314-c803-11ed-bfe3-dac502259ad0.png

② Определения сигналов

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

 

 

Для гнездовых разъемов DB9 определение проводки RS-485 следующее: Контакты с 6 по 9 не используются и не должны подключаться.

ДБ9 Выходной сигнал Полнодуплексное подключение RS-422 Полудуплексное подключение RS-485
1 T/R+ Отправить(А+) RS-485(А+)
2 T/R- Отправить(Б-) RS-485(Б-)
3 прием+ Получить(А+) Пустой
4 ПРИЕМ- Получить(Б-) Пустой
5 Земля Заземляющий провод Заземляющий провод

③ Топология

RS-485 поддерживает как двух-, так и четырех-проводные конфигурации. Четырехпроводная-конфигурация ограничена связью «точка-точка»-—-и сегодня используется редко; чаще используется двухпроводная конфигурация. В этой конфигурации используется шинная топология, позволяющая подключить до 32 узлов к одной шине.

Как и I²C, шина RS-485 работает в режиме ведущего-подчиненного. Он поддерживает как режим "точка----одиночный-подчиненный режим, так и режим нескольких-подчиненных устройств, но не поддерживает режим с несколькими главными устройствами.

035cfae0-c803-11ed-bfe3-dac502259ad0.jpg

 

037c5d54-c803-11ed-bfe3-dac502259ad0.jpg

RS-485 трансивер

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

 

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

0396d684-c803-11ed-bfe3-dac502259ad0.png

 

Внутренняя структура трансивера RS-485

Где:

А и В — автобус;

R – вход приемника;

RE – сигнал включения приемника;

DE – сигнал включения передатчика;

D – выход передатчика;

Что касается сигналов включения, сигналы с линией над буквой имеют активный -низкий уровень (например, RE на рисунке выше), а сигналы без линии — активный-высокий уровень (например, DE).

 

03acba6c-c803-11ed-bfe3-dac502259ad0.pngТаблица истинности получателя

 

Для передатчика таблица истинности выглядит следующим образом:

1. Когда на выводе DE разрешения драйвера высокий логический уровень, дифференциальные выходы A и B следуют логическому состоянию на входе данных D. Высокий логический уровень на D приводит к тому, что A переходит в высокий уровень, а B - в низкий. В этом случае дифференциальное выходное напряжение, определяемое как VOD=VA – VB, является положительным. Когда D низкий, выходные состояния инвертируются: B становится высоким, A становится низким, а VOD отрицательным.

2. Когда DE низкий, оба выхода приобретают высокий-импеданс. В этом случае логическое состояние D не имеет значения.

 

Следующая таблица истинности применима к получателю:

1. Когда на выводе включения приемника (RE) находится низкий логический уровень, приемник активируется. Когда дифференциальное входное напряжение, определенное как VID=VA – VB, является положительным и превышает положительный входной порог VIT+, на выходе R приемника устанавливается высокий уровень. Когда VID отрицателен и ниже отрицательного входного порога VIT-, выход R приемника переходит в низкий уровень. Если VID находится между VIT+ и VIT-, вывод не определен.

2. Когда RE имеет высокий логический уровень или плавающий, выход приемника имеет высокий импеданс, независимо от величины или полярности VID.

03c45672-c803-11ed-bfe3-dac502259ad0.png

Таблица истинности получателя

 

03dd2350-c803-11ed-bfe3-dac502259ad0.jpg

Канал передачи данных RS-485

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

Независимо от того, отправляет ли ведущий данные ведомому или ведомое устройство отправляет данные ведущему, используются обе линии A и B; поэтому RS-485 обычно используется в полудуплексном режиме.


GPIO хоста управляет выводом DE трансивера RS-485, чтобы установить режим передачи. Один байт передается с линии UART TXD на линию данных (D или DI) приемопередатчика RS-485. Трансивер преобразует несимметричный поток битов UART в дифференциальный поток битов по линиям A и B. Как только данные покидают трансивер, хост немедленно переключает трансивер в режим приема.


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

 

Преобразование RS-232 в RS-485


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

Модули преобразования RS-232 в RS-485


Различия между RS-485 и CAN


Хотя RS-485 не имеет стандартизированного формата протокола данных, он имеет много общего с шиной CAN. Например, и A&B, и CANH&CANL являются дифференциальными сигналами; обоим для связи требуются приемопередатчики; и в обоих, помимо прочего, используются согласующие резисторы сопротивлением 120 Ом.

 

Характеристики автобуса CAN-шина Автобус RS-485
Стоимость оборудования Немного выше Недорогой
Использование автобусов Автоматический приоритетный арбитраж, высокая загрузка Использует опрос; низкий уровень использования
Скорость передачи данных Высокий Низкий
Механизмы обнаружения ошибок Контроллер включает в себя механизм контрольной суммы, обеспечивающий точность передачи данных низкого-уровня. Только спецификации физического уровня; нет спецификаций канального уровня
Влияние отказа одного-узла Никакого воздействия на автобус. Автобусный паралич
Затраты на разработку Гибкая разработка программного обеспечения, низкие временные затраты Трудно развивать
Системные затраты Относительно низкий Высокий

Общие схемы RS-485

Вот распространенная схема RS-485, которую я нашел в Интернете. Следует отметить два момента:

1. Сигналы включения RE и DE могут управляться одним GPIO для экономии ресурсов. Когда GPIO25 выдает высокий уровень, RE и DE равны 0 В, и устройство переходит в режим приема; когда GPIO25 выдает низкий уровень, RE и DE составляют 3,3 В, и устройство переходит в режим передачи.

2. В некоторых схемах к контакту A добавляется подтягивающий-резистор, а к контакту B добавляется подтягивающий-резистор. Основная причина этого заключается в том, что, когда шина RS-485 находится в состоянии ожидания, уровень напряжения не фиксирован,-т. е. он колеблется между -200 мВ и +200 мВ, и трансивер может выдавать либо высокий, либо низкий уровень. UART должен поддерживать высокий уровень в режиме ожидания; если трансивер в это время выдает низкий уровень, UART интерпретирует его как стартовый бит, что может вызвать ошибки связи. Конкретные значения R_u и R_d здесь подробно не обсуждаются; В будущем планирую написать подробную статью на эту тему.

041d65e6-c803-11ed-bfe3-dac502259ad0.png

 

По второму пункту обратите внимание на следующее:

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

② Если трансивер имеет встроенные-подтягивающие-повышающие и понижающие- резисторы, нет необходимости добавлять внешние резисторы.

Отправить запрос

whatsapp

Телефон

Отправить по электронной почте

Запрос