Що таке протокол послідовного зв’язку RS232?
RS-232 — це стандарт, який було запроваджено на початку 60-х років для послідовної передачі даних і який досі широко використовується переважно тому, що він багатоцільовий, простий в експлуатації та обслуговуванні, доступний і широко підтримується. Він визначає не лише характеристики електричних сигналів, такі як швидкість передавання сигналу, рівні напруги, довжина кабелю, таймінг і поведінка при короткому замиканні, а й багато іншого, зокрема механічні характеристики інтерфейсу, роз’єми та розводку контактів.
Згідно зі стандартом RS-232, усі дані передаються у часовій послідовності бітів. Для ПК найпоширенішою конфігурацією є асинхронне з’єднання, що надсилає 7-бітні або 8-бітні пакети. Однак цей стандарт також підтримує синхронну передачу.
За всіх своїх переваг RS-232 має деякі серйозні обмеження щодо дальності та продуктивності пропускної здатності даних, тому основною сферою його застосування є промислове обладнання, мережеве обладнання та лабораторне оснащення.
Основні специфікації для RS-232
Режим роботи: несиметричний
Макс. довжина кабелю: 15,24 метра (50 футів)
Макс. пропускна здатність даних: 20 кбіт/с
Макс. вихідна напруга драйвера: +/-25 В
Макс. швидкість наростання: 30 В/мкс
Макс. струм драйвера у стані High Z: +/-6 мА @ +/-2 В (вимкнене живлення)
Імпеданс навантаження драйвера: 3000-7000 Ом
Рівень вихідного сигналу драйвера: +/-5 В до +/-15 В (під навантаженням) або +/-25 В (без навантаження)
Вхідний опір приймача: 3000-7000 Ом
Діапазон вхідної напруги приймача: +/-15 В
Вхідна чутливість приймача: +/-3 В
Загальна кількість драйверів і приймачів на одній лінії: 1 драйвер і 1 приймач
RS232 Стандартні обмеження
Які відомі проблеми має послідовний порт RS-232? Використання стандартного COM-порту має купу обмежень, з якими доводиться мати справу. Ось очевидні обмеження стандарту:
- Підвищене споживання енергії через великий розмах напруги є серйозним ускладненням для проєктування джерела живлення.
- Багато пристроїв не використовують лінії узгодження для керування потоком, що робить RS-232 ненадійним.
- Хоча проблему багатоточкового підключення було вирішено більш надійними альтернативами, це все одно не компенсує обмеження сумісності та швидкості порту RS232.
- Потреба в нуль-модемі або перехресному кабелі щоразу під час підключення периферійного пристрою до комп’ютера.
- RS-232 не вирішує проблему, спричинену однотактною сигналізацією.
Роз’єми RS-232
Пристрій RS-232 є або кінцевим обладнанням лінії зв’язку (DCE), або термінальним обладнанням даних (DTE) залежно від того, які дроти використовуються для передавання та приймання кожного сигналу.
Відповідно до стандарту RS-232, DCE призначений для роз’ємів типу «мама», а DTE — для роз’ємів типу «тато». Однак існують пристрої з усілякими комбінаціями визначень статі роз’єму/призначення контактів. Наприклад, термінал, який має вбудовані роз’єми типу «мама», щоб комплектуватися кабелем, що має роз’єм типу «тато» на кожному кінці, повністю відповідає стандарту RS-232.
До редакції C стандарт рекомендує використовувати 25-контактний роз’єм D-subminiature, хоча обов’язковим він є лише починаючи з редакції D. Це тому, що переважній більшості пристроїв насправді не потрібні всі ті 20 сигналів, визначені стандартом, і 9-контактні з’єднання RS-232 значно дешевші та займають дуже мало місця. Компактніші й дешевші. Цей 9-контактний роз’єм RS-232 широко використовується в персональних комп’ютерах і подібних пристроях.
Роз'єми DB25
Варто зазначити, що не кожен 25-контактний D-sub роз’єм має інтерфейс, сумісний з RS-232-C. Деякі виробники ПК обирають нестандартні сигнали та напруги на певних контактах розпаювання COM-порту ПК. Наприклад, в оригінальному IBM PC жіночий D-sub роз’єм використовувався для паралельного принтерного порту Centronics.
25-контактна розводка послідовного порту:
Контакт 1: GND − Заземлення екрана.
Контакт 2: TxD → Передавання даних. Передає дані від термінального пристрою даних до пристрою передачі даних.
Контакт 3: RxD ← Приймання даних. Передає дані від пристрою передачі даних до термінального пристрою даних.
Контакт 4: RTS → Запит на передавання. Термінальний пристрій даних сигналізує пристрою передачі даних про підготовку до передавання даних.
Контакт 5: CTS ← Готовність до передавання. Пристрій передачі даних сигналізує термінальному пристрою даних, що він готовий до приймання даних.
Контакт 6: DSR ← Пристрій передачі даних готовий. DCE готовий приймати й передавати дані.
Контакт 7: GND − Системне заземлення. Опорна напруга нульового рівня.
Контакт 8: CD ← Виявлення несучої. Пристрій передачі даних сигналізує термінальному пристрою даних про виявлену несучу іншого пристрою.
Контакт 9: Зарезервовано
Контакт 10: Зарезервовано
Контакт 11: STF → Вибір каналу передавання.
Контакт 12: S.CD ← Вторинне виявлення несучої.
Контакт 13: S.CTS ← Вторинна готовність до передавання.
Контакт 14: S.TXD → Вторинне передавання даних.
Контакт 15: TCK ← Синхронізація елементів сигналу передавання.
Контакт 16: S.RXD ← Вторинне приймання даних.
Контакт 17: RCK ← Синхронізація елементів сигналу приймання.
Контакт 18: LL → Керування локальною петлею.
Контакт 19: S.RTS → Вторинний запит на передавання
Контакт 20: DTR → Керування віддаленою петлею.
Контакт 22: RI ← Індикатор дзвінка. Пристрій передачі даних сигналізує термінальному пристрою даних про виявлений стан дзвінка.
Контакт 23: DSR → Вибір швидкості сигналу даних.
Контакт 24: XCK → Синхронізація елементів сигналу передавання.
Контакт 25: TI ← Індикатор тестування.
Під час асинхронного зв’язку і RTS, і CTS увімкнені протягом усього сеансу. Однак, якщо DTE під’єднано до багатоточкової лінії, дані передаються по черзі — по одній станції за раз (через спільне використання зворотної телефонної пари), тож єдине призначення RTS — вмикати й вимикати несучу модема. Станція піднімає RTS, коли готова передавати. Модем вмикає свою несучу, чекає, доки вона стабілізується (зазвичай це займає кілька мілісекунд), і піднімає CTS. Поки CTS активний, DTE передає. Після завершення передавання станція опускає RTS, а потім модем опускає і CTS, і несучу.
Усі тактові сигнали на контактах 15, 17 і 24 послідовного кабелю в розводці COM-порту призначені лише для синхронного зв’язку. Тактова частота виділяється з потоку даних DSU або модемом, або DSU виділяє її та надсилає до DTE, щоб забезпечити стабільний тактовий сигнал. Важливо підкреслити, що приймальний і передавальний тактові сигнали не обов’язково мають бути однаковими та можуть мати різні швидкості у бодах.
Розпіновка 9-контактного RS-232
Отже, ось спрощена версія розпіновки послідовного з’єднання, що використовується на персональних комп’ютерах: 9-контактна розпіновка RS-232.
Pin 1: DCD ← Виявлення несучої
Pin 2: RxD ← Прийом даних
Pin 3: TxD → Передача даних
Pin 4: DTR → Термінал готовий
Pin 5: 0V/COM − 0 В або системна земля
Pin 6: DSR ← Набір даних готовий
Pin 7: RTS → Запит на передавання
Pin 8: CTS ← Дозвіл на передавання
Pin 9: RI ← Індикатор дзвінка
RS-232 сигнали
Рівні напруги, що представляють сигнали розводки контактів послідовного порту RS232 відносно спільного для системи (землі живлення/логіки). Активний стан (SPACE) має додатний рівень сигналу, а стан простою (MARK) має від’ємний рівень сигналу відносно спільного. Протокол зв’язку має бути визначений RS-232. Крім того, RS-232 має кілька ліній рукостискання для використання з модемами (у більшості випадків).
Інтерфейс RS-232 припускає, що і DTE, і DCE мають подібні електричні шини з ідентичними «землями». Очевидно, це припущення може бути повністю хибним, коли йдеться про довгі лінії між DTE та DCE.
Максимальна напруга холостого ходу, визначена стандартом RS232, становить 25 В, але зазвичай рівні сигналу становлять 5 В, 10 В, 12 В і 15 В.
Згідно зі стандартом RS-232, усі дані є біполярними. Для більшості обладнання стан ON або 0-стан (SPACE) позначається напругою від +3 В до +12 В, а стан OFF або 1-стан (MARK) позначається напругою від -3 В до -12 В. Однак деякі пристрої не розпізнають жодних від’ємних рівнів, і 0 В достатньо для стану OFF. А інколи менші напруги можуть бути достатніми для досягнення стану ON. Таким чином можна суттєво зменшити загальний діапазон для передавання/приймання RS-232.
Нормальна напруга вихідного сигналу — від +12 В до -12 В. Також існує так звана «мертва зона» в діапазоні від +3 В до -3 В, призначена для поглинання завад на лінії. В інших розводках контактів послідовних портів, подібних до RS-232, цей діапазон може бути іншим (наприклад, визначення V.10 має мертву зону +0,3 В до -0,3 В). Багато приймачів RS-232 можуть легко відчувати різницю потенціалів у 1 В або навіть менше.
Технічні характеристики кабелів RS-232
Стандарт RS-232 безпосередньо не визначає обмежень довжини кабелю, тож головним визначальним чинником є максимальна ємність, яку здатне витримати сумісне драйверне коло. Як загальне правило, критична довжина становитиме 15 м (або близько 300 м за умови використання лише низькоємнісних кабелів). Відверто кажучи, для більших відстаней стандарт RS-232 — не найкращий варіант для високошвидкісної передачі даних на великі відстані.
Пам’ятаючи, що не всі виробники пристроїв дотримуються стандарту до кінця, варто вивчити документацію та використовувати брейкаут-бокс, щоб протестувати кожне нове підключення. У деяких випадках лише метод спроб і помилок може допомогти знайти правильний кабель для з’єднання кожної пари пристроїв.
Відповідно до стандарту RS-232 пристрій DCE має бути підключений до DTE через кабель, у якому в кожному роз’ємі відповідають однакові номери контактів (відомий як «прямий кабель»). Будь-які невідповідності статі кабелю/роз’єма можна легко усунути за допомогою змінювачів статі. Також поширені кабелі з 25-контактним роз’ємом D-sub на одному кінці та 9-контактним роз’ємом RS-232 на іншому. Будь-яке обладнання з роз’ємами 8P8C зазвичай постачається з кабелем, який має DB-9 або DB-25. Деякі навіть мають змінні роз’єми для додаткової гнучкості.
Якщо немає потреби використовувати RS-232 на повну, можна застосувати мінімальне 3-дротове з’єднання: передавання, приймання та земля. Для одностороннього потоку даних існує 2-дротовий варіант: дані та земля. А для двосторонньої, апаратно керованої передачі даних найкращою альтернативою є 5-дротова версія — така сама, як 3-дротова, але з додаванням ліній RTS і CTS.
Діаграма потоку даних RS-232
Відповідно до стандарту RS-232 дані можуть передаватися в багатьох варіаціях. Однак найпоширенішим є надсилання пакетів, що містять 7–8-бітне слово, а також стартовий, стоповий і біти парності. Як ви можете бачити на діаграмі нижче, спочатку йде стартовий біт (активний низький, +3 В до +15 В), потім біти даних, за якими йде біт парності (якщо цього вимагає протокол), і, нарешті, стоповий біт (використовується для встановлення логічної одиниці, -3 В до -15 В).
Взаємозв’язок між RS232 та іншими стандартами
Порти, сумісні з RS-232, не обов’язково можуть працювати з кількома іншими стандартами послідовної сигналізації, такими як RS-422, RS-423, RS-449, RS-422, 423, RS-485 тощо. Для GPS-приймачів і ехолотів, що використовують TTL-рівень, близький до +5 і 0 В, рівень «mark» переходить у невизначену зону стандарту. Вам знадобиться перетворювач струму, щоб використовувати стандарт RS-232 у такому середовищі.
Як вони співвідносяться:
- RS-422 має подібну швидкість до RS-232, але відрізняється сигналізацією
- Швидкість RS-423 така сама, але без балансної сигналізації
- RS-449 виведено з експлуатації
MIL-STD-188 схожий на RS-232, але має чудовий контроль часу наростання з кращим імпедансом. Думаєте відмовитися від свого пристрою RS-232? Не так швидко! Як бачите, цей послідовний протокол і далі спростовує всі твердження про те, що його повністю замінив USB. Хоча сучасні системи зв’язку потребують більш досконалої системи на кшталт USB, ми й надалі використовуватимемо стандартні послідовні порти.
Сторонні застосунки добре себе показали в удосконаленні того, як ми працюємо з послідовним портом RS-232. Прикладом є з’єднувач RS232–Ethernet, розроблений Electronic Team. Цікаві сценарії використання ви можете знайти в Посібнику користувача.
Сучасні сценарії використання послідовного порту
Послідовні порти можуть і не бути ефектними, але вони залишаються одним із найнадійніших і найпоширеніших методів зв’язку в електроніці та ІТ.
Незалежно від того, чи працюєте ви з промисловими системами, вбудованими пристроями або мережевим обладнанням, розуміння розпіновки послідовного порту все ще є цінною навичкою.
Послідовні порти еволюціонували за межі застарілих ПК.
1. USB-до-послідовного зв’язку
Адаптери дозволяють сучасним ноутбукам легко підключатися до послідовних пристроїв.
2. Віртуальні послідовні порти
Драйвер віртуального послідовного порту може емулювати COM-порти для тестування та віддаленого зв’язку.
- Корисний в IoT та системах, підключених до хмари
- Забезпечує спільний доступ до портів через мережі
3. Вбудована розробка
Serial все ще є основним інтерфейсом налагодження для:
- Мікроконтролерів
- Пристроїв IoT
- Розробки прошивки
4. Конфігурація мережевого пристрою
Багато корпоративних маршрутизаторів і комутаторів досі покладаються на послідовний консольний доступ.
Часті запитання
RS (рекомендований стандарт) був розроблений Асоціацією електронної промисловості ще в 60-х роках, щоб полегшити зв’язок між модемом і комп’ютерними терміналами.
Більшість лабораторій промислової автоматизації та геодезичних лабораторій продовжують використовувати технологію послідовного порту, незважаючи на її обмеження. Повторне впровадження роз’єму DB-9M у персональному комп’ютері Tecra компанією Toshiba доводить, що ці стандарти наразі залишаться. Попри свої відмінності, стандарти USB і RS-232 підтримують більшість програмного забезпечення в основних операційних системах.