«Послідовний порт» — це скорочення від послідовного інтерфейсу зв’язку. «Послідовний зв’язок» відноситься до методу зв’язку, за якого дані передаються біт за бітом у послідовності. Загальні послідовні порти включають RS-232 і RS-485. Хоча послідовний зв'язок був розроблений досить давно, він залишається широко використовуваним у сучасній промисловій автоматизації та сферах управління. У цій статті ми детально розглянемо послідовний порт RS-232. Ця стаття охоплює такі теми:
1. Історія RS232
2. Інтерфейс RS232
3. Електричні сигнали в RS232
4. Мікросхеми-перемикання рівня для RS232
5. Передача даних в RS232

1. Історія RS232
RS232 — це стандарт зв’язку, опублікований Асоціацією електронної промисловості (EIA) у 1962 році. Його повна назва: «Стандарт для електричних і механічних інтерфейсів між DTE і DCE». «DTE» означає «термінальне обладнання даних», наприклад комп’ютер; "DCE" розшифровується як "обладнання-закінчення ланцюга даних". Його також іноді пишуть як «обладнання передачі даних», наприклад модем. «RS» у «RS232» означає «рекомендований стандарт». «232» — це ідентифікатор. Ранній стандарт RS-232 був розроблений для забезпечення зв’язку між комп’ютерами, програмованими телефонами та модемами; після кількох переглядів він став стандартом послідовного зв'язку загального призначення. Ревізії RS-232 такі:
1969 Версія C (RS-232-C);
1986 Версія D (RS-232-D);
Версія E (RS232-E) 1991 р.;
Версія F (RS232-F) 1997 р.;
В даний час у галузі промислової автоматизації RS232 в основному використовується для зв’язку між такими пристроями, як сенсорні екрани, пристрої для зчитування карток, сканери штрих-кодів, а також принтери та ПЛК.

2. Інтерфейс RS-232
До версії F RS-232 використовував 25-контактний послідовний інтерфейс, який був двох типів: «папа» та «мама». Роз’єм «папа» використовується для пристроїв DTE, а роз’єм «мама» використовується для пристроїв DCE, як показано на малюнку нижче
Фізична одиниця показана на малюнку нижче:
Дивіться таблицю нижче для визначення пінів:
:
| Номер | Ім'я | Абревіатура |
|---|---|---|
| 1 | Щит | |
| 2 | Передані дані | TxD |
| 3 | Отримані дані | RxD |
| 4 | Запит на відправку | RTS |
| 5 | Очистити для надсилання | CTS |
| 6 | DCE Reоголошенняy/Набір даних готовий | DSR |
| 7 | Сигнальна земля/загальний вихід | SG |
| 8 | Детектор отриманого лінійного сигналу | |
| 9 | Зарезервовано для тестування набору даних | |
| 10 | Зарезервовано для тестування набору даних | |
| 11 | Uнаспідписаний | |
| 12 | Детектор сигналу вторинної лінії | |
| 13 | Вторинний Очистити для надсилання | (S)CTS |
| 14 | Вторинні передані дані | (S)TxD |
| 15 | Елемент сигналу передачітиМін | |
| 16 | Вторинні отримані дані | (S)RxD |
| 17 | Синхронізація елемента сигналу приймача (DCE) | |
| 18 | Локальний контур back | |
| 19 | Вторинний запит для надсилання | (S)RTS |
| 20 | DTE Ready/Data Terminal Ready | DTR |
| 21 | Remote Loopback/ Детектор якості сигналу |
|
| 22 | Індикатор дзвінка | RI |
| 23 | Селектор швидкості сигналу даних | |
| 24 | Синхронізація елемента сигналу передачі (DTE) | |
| 25 | Тестовий режим |
25-контактний послідовний порт має занадто багато контактів, що робить його громіздким у використанні. Щоб спростити послідовний порт RS232, у версії F визначено 9-контактний послідовний порт, який також містить роз’єм «папа» (для DTE) і роз’єм «мама» (для DCE), як показано на малюнку нижче:

Дивіться таблицю нижче для визначення контактів:
| Номер | Ім'я | Абревіатура |
|---|---|---|
| 1 | Виявлення носія даних | DCD |
| 2 | Отримані дані | RxD |
| 3 | Передані дані | TxD |
| 4 | Термінал даних готовий | DTR |
| 5 | Земля | GND |
| 6 | Набір даних готовий | DSR |
| 7 | Запит на відправку | RTS |
| 8 | Очистити для надсилання | CTS |
| 9 | Індикатор дзвінка | RI |

ПЛК вважається пристроєм DTE, а його послідовний порт RS-232 є штекерним роз’ємом. Наприклад, послідовний модуль CM1241 RS-232 для S7-1200 має послідовний порт типу «папа», як показано на малюнку нижче:
Для зв’язку між DTE та DTC можна використовувати пряме з’єднання, як показано на малюнку нижче:
Для зв’язку між двома DTE (наприклад, ПЛК і сканером штрих-кодів) слід використовувати перехресне-з’єднання. Усі контакти можна з’єднати один з одним, як показано на малюнку нижче:

Ви можете використовувати мінімальний метод підключення, використовуючи лише три дроти для з’єднання контактів TxD і RxD обох пристроїв і заземлення їх разом, як показано на малюнку нижче:
Цей тип з’єднання, у якому DTE підключається безпосередньо до DCE без проходження через DCE, також відомий як «нульмодемне» з’єднання, а кабель, який використовується для цього типу з’єднання, називається «нульмодемним» кабелем або перехресним кабелем.

3. Електричні сигнали RS-232
Електричні сигнали на клемах передачі та прийому RS-232 є сигналами напруги відносно загальної землі (GND). Різниця напруги між +3V і +15V представляє логічний «0»; різниця напруг між -3В і -15В представляє логічну «1»; а різниця напруги між -3 В та +3В не визначена. 3 В — мінімальний сигнал напруги, який можна виявити. У практичних застосуваннях очікується, що абсолютне значення різниці напруг коливається від 5 В до 15 В. Тобто, під час передачі даних драйвер передавача видає позитивний сигнал напруги від +5 В до +15 В, що представляє логічний «0», тоді як негативний сигнал напруги від -5 В до -15 В представляє логічну «1». Під час отримання даних будь-який електричний сигнал більше 3 В вважається дійсним сигналом.
4. ІС перетворення рівня RS-232
Оскільки контакти мікроконтролера виводять рівні TTL, для їх перетворення на рівні RS-232 потрібна спеціальна мікросхема перетворення (наприклад, MAX3232 TI або ST3232). Для отримання додаткової інформації зверніться до моєї попередньої статті: Яка різниця між рівнями RS-232 і TTL? Як вони перетворюються?

5. Передача даних RS-232
Перше поняття, пов’язане з передачею даних, це швидкість передачі даних. Як ми знаємо, послідовний зв’язок передає дані по одному біту, причому одиницею передачі є біт. Таким чином, швидкість передачі даних визначається як кількість бітів, що передаються за одиницю часу. Міжнародно прийнятою одиницею часу є секунда (с), тому одиницею швидкості передачі є біт/с (б/с), також записується як біт/с (біт на секунду).
Існує певний діапазон швидкості передачі даних (а не довільні значення); загальні швидкості передачі даних включають 9600, 38400, 56000 і 115200. Є також багато інших значень; сторони, що спілкуються, просто повинні домовитися про однакову швидкість передачі даних.
RS-232 — це -протокол зв’язку «точка-точка». Його кадр даних складається з чотирьох частин: стартовий біт, біти даних, біт парності та стоп-біт.
Стартовий біт: довжина 1, значення даних дорівнює логічному 0, що вказує на початок передачі даних;
Біти даних: довжина 8 або 7, що представляє фактичні дані, що передаються;
Біт парності: довжина 0 (без паритету) або 1 (парність або непарність);
Стоп-біт: довжина 1, 1,5 або 2; значення даних є логічною 1, що вказує на кінець кадру даних;
Припускаючи, що зв’язок RS232 налаштовано з 7 бітами даних, непарною парністю та 2 стоповими бітами, кадр і логічні значення показані на малюнку нижче
Далі зробимо розрахунок.
Припустімо, що налаштування зв’язку RS-232 має швидкість передачі даних 9600 бод, 8 біт даних, відсутність паритету (0) і 1 стоп-біт. Скільки байт даних можна передати за секунду за цих параметрів зв’язку?
Відповідь: виходячи з параметрів, довжина кадру для цього зв’язку становить 1 + 8 + 1=10 біт. У цьому кадрі передається один байт (8 біт). Тому за швидкості 9600 бод максимальний обсяг фактичних даних, які можна передати за секунду, становить 9600 / 10=960 байтів.




