Отже, 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 становить від +2V до +6V, а логічний 0 становить від -6V до -2V.

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 є Н/Д і їх не слід під’єднувати.

DB9 Вихідний сигнал Повнодуплексна проводка RS-422 Напівдуплексна проводка RS-485
1 T/R+ Надіслати (A+) RS-485(A+)
2 T/R- Надіслати (B-) RS-485(B-)
3 RXD+ Отримати (A+) Порожній
4 RXD- Отримати (B-) Порожній
5 GND Дріт заземлення Дріт заземлення

③ Топологія

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. У деяких схемах підтягуючий{1}}резистор додається до висновку A, а підтягувальний{2}}резистор — до контакту B. Основна причина цього полягає в тому, що коли шина RS-485 перебуває в стані очікування, рівень напруги не є фіксованим-, тобто коливається від -200 мВ до +200 мВ, і трансивер може виведення високого або низького рівня. UART має підтримувати високий рівень під час простою; якщо трансивер видає низький рівень у цей час, UART інтерпретує це як стартовий біт, що може спричинити помилки зв’язку. Конкретні значення R_u і R_d тут детально не обговорюватимуться; У майбутньому планую написати детальну статтю на цю тему.

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

 

Щодо другого пункту, зверніть увагу на наступне:

① Якщо застосувати підтягуючий-резистор до контакту A та підтягуючий-нижчий резистор до контакту B, передача даних може бути невдалою через перевернуті з’єднання.

② Якщо трансивер має вбудовані-підтягуючі-підйомні та підтягуючі-резистори, немає потреби додавати зовнішні.

Послати повідомлення

whatsapp

Телефон

Електронна пошта

Розслідування