Інтерфейс RS-232C призначений для підключення апаратури, передавальною або дані (ООД– Кінцеве обладнання даних, або АПД– Апаратура передачі даних; DTE — Data Terminal Equipment), До кінцевої апаратурі каналів даних (АКД; DCE — Data Communication Equipment). У ролі АПД може виступати комп’ютер, принтер, плоттер і інше периферійне устаткування. У ролі АКД зазвичай виступає модем. Кінцевою метою підключення є з’єднання двох пристроїв АПД. Повна схема з’єднання наведена на рис. 1; інтерфейс дозволяє виключити канал віддаленого зв’язку разом з парою пристроїв АКД, з’єднавши пристрої безпосередньо за допомогою нуль-модемного кабелю (рис. 2).

Рис.1. Повна схема з’єднання по RS-232C

Рис. 2. З’єднання по RS-232C нуль-модемним кабелем

Стандарт описує керуючі сигнали інтерфейсу, пересилання даних, електричний інтерфейс і типи роз’ємів. У стандарті передбачені асинхронний і синхронний режими обміну, але COM-порти підтримують тільки асинхронний режим. Функціонально RS-232C еквівалентний стандарту МККТТ V.24 / V.28 і стику С2, але вони мають різні назви сигналів.

Стандарт RS-232C описує несиметричні передавачі і приймачі – сигнал передається відносно загального проводу – схемної землі (симетричні диференціальні сигнали використовуються в інших інтерфейсах – наприклад, RS-422). Інтерфейс не забезпечує гальванічної розв’язки пристроїв. Логічній одиниці (стан MARK) На вході даних (Сигнал RxD) Відповідає діапазон напруги від -12 до -3 В; логічному нулю – від +3 до +12 В (стан SPACE). Для входів керуючих сигналів Станом ON (“Включено”) відповідає діапазон від +3 до +12 В, станом OFF (“Вимкнено”) – від -12 до -3 В. Діапазон від -3 до +3 В – зона нечутливості, що обумовлює гістерезис приймача: стан лінії буде вважатися зміненим тільки після перетину порогу (рис. 3). Рівні сигналів на виходах передавачів повинні бути в діапазонах від -12 до -5 В і від +5 до +12 В. Різниця потенціалів між схемними землями (SG) з’єднуються пристроїв повинна бути менше 2 В, при більш високої різниці потенціалів можливо невірне сприйняття сигналів. Зауважимо, що сигнали рівнів ТТЛ (на входах і виходах мікросхем UART) передаються в прямому коді для ліній TxD і RxD і в інверсному – для всіх інших.

Інтерфейс припускає наявність захисного заземлення для з’єднуються пристроїв, якщо вони обидва живляться від мережі змінного струму і мають мережеві фільтри.

УВАГА

Підключення та відключення інтерфейсних кабелів пристроїв з автономним живленням повинно проводитися при відключеному харчуванні. Інакше різниця невирівняні потенціалів пристроїв в момент комутації може виявитися прикладеної вихідним або вхідним (що небезпечніше) ланцюгах інтерфейсу і вивести з ладу мікросхеми.

Стандарт RS-232C регламентує типи вживаних роз’ємів.

На апаратурі АПД (у тому числі на COM-портах) прийнято встановлювати вилки DB-25P або більш компактний варіант – DB-9P. Девятіштирьковие роз’єми не мають контактів для додаткових сигналів, необхідних для синхронного режиму (у більшості 25-штирькові роз’ємах ці контакти не використовуються).

На апаратурі АКД (Модемах) встановлюють розетки DB-25S або DB-9S.

Це правило припускає, що роз’єми АКД можуть підключатися до роз’ємів АПД безпосередньо або через перехідні “прямі” кабелі з розеткою і виделкою, у яких контакти з’єднані “один в один”. Перехідні кабелі можуть бути і перехідниками з 9 на 25-штирьковий роз’єми (рис. 4).

Якщо апаратура АПД з’єднується без модемів, то роз’єми пристроїв (вилки) з’єднуються між собою нуль-модемним кабелем (Zero-modem, або Z-modem), що має на обох кінцях розетки, контакти яких з’єднуються перехресно за однією із схем, наведених на рис. 5.

Рис. 3. Прийом сигналів RS-232C

Рис. 4. Кабелі підключення модемів

Рис. 5. Нуль-модемний кабель: а– Мінімальний, б– Повний

Якщо на якомусь устрої АПД встановлена ​​розетка – це майже 100% того, що до іншого пристрою воно повинне підключатися прямим кабелем, аналогічним кабелю підключення модему. Розетка встановлюється зазвичай на тих пристроях, у яких віддалене підключення через модем не передбачено.

У табл. 1 наведено призначення контактів роз’ємів COM-портів (і будь-який інший апаратури передачі даних АПД). Контакти роз’єму DB-25S визначені стандартом EIA/TIA-232-E, роз’єм DB-9S описаний стандартом EIA/TIA-574. У модемів (АКД) назва ланцюгів і контактів таке ж, але ролі сигналів (вхід-вихід) змінюються на протилежні.

Таблиця 1. З’єднувачі і сигнали інтерфейсу RS-232C

Позначення ланцюга Контакт роз’єму № дроти кабелю виносного роз’єму PC Напрямок
COM- RS- V.24 DB- DB- 11 22 33 44 I/O
порт 232 Стик 2 25P 9P          
PG AA 101 1 5 (10) (10) (10) 1
SG AB 102 7 5 5 9 1 13
TD BA 103 2 3 3 5 3 3 O
RD BB 104 3 2 2 3 4 5 I
RTS CA 105 4 7 7 4 8 7 O
CTS CB 106 5 8 8 6 7 9 I
DSR CC 107 6 6 6 2 9 11 I
DTR CD 108/2 20 4 4 7 2 14 O
DCD CF 109 8 1 1 1 5 15 I
RI CE 125 22 9 9 8 6 18 I

1 Стрічковий кабель 8-бітних мультикарта.

2 Стрічковий кабель 16-бітних мультикарта і портів на системних платах.

3 Варіант стрічкового кабелю портів на системних платах.

4 Широкий стрічковий кабель до 25-контактного роз’єму.

Підмножина сигналів RS-232C, Що відносяться до асинхронного режиму, розглянемо з точки зору COM-порту PC. Для зручності будемо користуватися мнемонікою назв, прийнятої в описах COM-портів і більшості пристроїв (вона відрізняється від безликих позначень RS-232 і V.24). Нагадаємо, що активному стану керуючих сигналів (“включено”) і нульового значення біта переданих даних відповідає позитивний потенціал (Вище +3 В) сигналу інтерфейсу, а стану “вимкнено” і одиничного битку – негативний (Нижче -3 В). Призначення сигналів інтерфейсу наведено в табл. 2. Нормальну послідовність керуючих сигналів для випадку підключення модему до COM-порту ілюструє рис. 6.

Таблиця 2. Призначення сигналів інтерфейсу RS-232C

Сигнал Призначення
PG Protected Ground– Захисна земля, з’єднується з корпусом пристрою і екраном кабелю
SG Signal Ground– Сигнальна (схемна) земля, щодо якої діють рівні сигналів
TD Transmit Data — послідовні дані – вихід передавача
RD Receive Data– Послідовні дані – вхід приймача
RTS Request To Send– Вихід запиту передачі даних: стан “включено” повідомляє модем про наявність у терміналу даних для передачі. У напівдуплексний режимі використовується для керування напрямком – стан “включено” служить сигналом модему на перемикання в режим передачі
CTS Clear To Send– Вхід дозволу терміналу передавати дані. Стан “вимкнено” забороняє передачу даних. Сигнал використовується для апаратного управління потоками даних
DSR Data Set Ready– Вхід сигналу готовності від апаратури передачі даних (модем в робочому режимі підключений до каналу і закінчив дії за погодженням з апаратурою на протилежному кінці каналу)
DTR Data Terminal Ready– Вихід сигналу готовності терміналу до обміну даними. Стан “включено” підтримує комутований канал в змозі з’єднання
DCD Data Carrier Detected– Вхід сигналу виявлення несучої віддаленого модему
RI Ring Indicator– Вхід індикатора виклику (дзвінка). У коммутируемом каналі цим сигналом модем сигналізує про прийняття виклику

Рис. 6. Послідовність керуючих сигналів інтерфейсу

  1. Установкою DTR комп’ютер вказує на бажання використовувати модем.
  2. Установкою DSR модем сигналізує про свою готовність і встановленні з’єднання.
  3. Сигналом RTS комп’ютер запитує дозвіл на передачу і заявляє про свою готовність приймати дані від модему.
  4. Сигналом CTS модем повідомляє про свою готовність до прийому даних від комп’ютера і передачі їх в лінію.
  5. Зняттям CTS модем сигналізує про неможливість подальшого прийому (наприклад, буфер заповнений) – комп’ютер повинен призупинити передачу даних.
  6. Сигналом CTS модем дозволяє комп’ютеру продовжити передачу (в буфері з’явилося місце).
  7. Зняття RTS може означати як заповнення буфера комп’ютера (модем повинен призупинити передачу даних в комп’ютер), так і відсутність даних для передачі в модем. Зазвичай в цьому випадку модем припиняє пересилку даних у комп’ютер.
  8. Модем підтверджує зняття RTS скиданням CTS.
  9. Комп’ютер повторно встановлює RTS для поновлення передачі.
  10. Модем підтверджує готовність до цих дій.
  11. Комп’ютер вказує на завершення обміну.
  12. Модем відповідає підтвердженням.
  13. Комп’ютер знімає DTR, що зазвичай є сигналом на розрив з’єднання (“повісити трубку”).
  14. Модем скиданням DSR сигналізує про розрив з’єднання.

З розгляду цієї послідовності стають зрозумілими з’єднання DTR–DSR і RTS–CTS в нуль-модемних кабелях.

Асинхронний режим передачі

Асинхронний режим передачі є байт-орієнтованим (символьно-орієнтованим): мінімальна пересилається одиниця інформації – один байт (один символ). Формат посилки байта ілюструє рис. 7. Передача кожного байта починається зі старт-біта, Що сигналізує приймачу про початок посилки, за яким слідують біти даних і, можливо, біт парності (Parity). Завершує посилку стоп-біт, Що гарантує паузу між посилками. Старт-біт наступного байта посилається в будь-який момент після стоп-біта, тобто між передачами можливі паузи довільної тривалості. Старт-біт, що має завжди строго певне значення (логічний 0), забезпечує простий механізм синхронізації приймача по сигналу від передавача. Мається на увазі, що приймач і передавач працюють на одній швидкості обміну. Внутрішній генератор синхронізації приймача використовує лічильник-дільник опорної частоти, обнуляється у момент прийому початку старт-біта. Цей лічильник генерує внутрішні строби, за якими приймач фіксує наступні прийняті біти. В ідеалі строби розташовуються в середині бітових інтервалів, що дозволяє приймати дані і при незначному розузгодженні швидкостей приймача і передавача. Очевидно, що при передачі 8 біт даних, одного контрольного і одного стоп-біта гранично допустиме неузгодженість швидкостей, при якому дані будуть розпізнані вірно, не може перевищувати 5%. З урахуванням фазових спотворень і дискретності роботи внутрішнього лічильника синхронізації реально допустимо менше відхилення частот. Чим менше коефіцієнт ділення опорної частоти внутрішнього генератора (чим вище частота передачі), тим більше похибка прив’язки стробов до середини бітового інтервалу, і вимоги до узгодженості частот стають більш суворі. Чим вище частота передачі, тим більше вплив спотворень фронтів на фазу прийнятого сигналу. Взаємодія цих чинників призводить до підвищення вимог до узгодженості частот приймача і передавача із зростанням частоти обміну.

Рис. 7. Формат асинхронної передачі RS-232C

Формат асинхронної посилки дозволяє виявляти можливі помилки передачі.

Формат асинхронної посилки дозволяє виявляти можливі помилки передачі.

  • Якщо прийнятий перепад, що сигналізує про початок посилки, а по стробу старт-біта зафіксований рівень логічної одиниці, старт-біт вважається помилковим і приймач знову переходить в стан очікування. Про цю помилку приймач може не повідомляти.
  • Якщо в час, відведений під стоп-біт, виявлений рівень логічного нуля, фіксується помилка стоп-біта.
  • Якщо застосовується контроль парності, то після посилки біт даних передається контрольний біт. Цей біт доповнює кількість одиничних біт даних до парного або непарного залежно від прийнятої угоди. Прийом байта з невірним значенням контрольного біта призводить до фіксації помилки.
  • Контроль формату дозволяє виявляти обрив лінії: як правило, при обриві приймач “бачить” логічний нуль, який спочатку трактується як старт-біт і нульові біти даних, але потім спрацьовує контроль стоп-біта.

Для асинхронного режиму прийнятий ряд стандартних швидкостей обміну: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 і 115200 біт / с. Іноді замість одиниці виміру “біт / с” використовують “бод” (baud), але при розгляді двійкових переданих сигналів це некоректно. У бодах прийнято вимірювати частоту зміни стану лінії, а при недвійковий способі кодування (широко вживаному в сучасних модемах) в каналі зв’язку швидкості передачі біт (біт / с) і зміни сигналу (бод) можуть відрізнятися в кілька разів.

Кількість біт даних може становити 5, 6, 7 або 8 (5 – і 6-бітові формати поширені незначно). Кількість стоп-біт може бути 1, 1,5 або 2 (“півтора біта” означає тільки тривалість стопового інтервалу).

Управління потоком даних

Для управління потоком даних (Flow Control) можуть використовуватися два варіанти протоколу – апаратний і програмний. Іноді керування потоком плутають з квітірованіем. Квитування (Handshaking) має на увазі посилку повідомлення про отримання елемента, в той час як управління потоком передбачає посилку повідомлення про можливість або неможливість подальшого прийому даних. Найчастіше управління потоком засноване на механізмі квітірованія.

Апаратний протокол управління потоком RTS / CTS (Hardware flow control) використовує сигнал CTS, який дозволяє зупинити передачу даних, якщо приймач не готовий до їх прийому (рис. 8). Передавач “випускає” черговий байт тільки при включеній лінії CTS. Байт, який вже почав передаватися, затримати сигналом CTS неможливо (це гарантує цілісність посилки). Апаратний протокол забезпечує найшвидшу реакцію передавача на стан приймача. Мікросхеми асинхронних приймачів мають не менше двох регістрів у адміністратора частини – зсувний, для прийому чергової посилки, і який зберігає, з якого зчитується прийнятий байт. Це дозволяє реалізувати обмін по апаратному протоколу без втрати даних.

Рис. 8. Апаратне керування потоком

Апаратний протокол зручно використовувати при підключенні принтерів і плотерів, якщо вони його підтримують. За безпосередньої (без модемів) з’єднанні двох комп’ютерів апаратний протокол вимагає перехресного з’єднання ліній RTS — CTS.

При безпосередньому з’єднанні у передавального терміналу має бути забезпечено стан “включено” на лінії CTS (з’єднанням власних ліній RTS — CTS), в іншому випадку передавач буде “мовчати”.

Застосовувані в IBM PC приймачі 8250/16450/16550 сигнал CTS апаратно НЕ відпрацьовують, а тільки показують його стан в регістрі MSR. Реалізація протоколу RTS / CTS покладається на драйвер BIOSInt 14h, і називати його “апаратним” не зовсім коректно. Якщо ж програма, яка користується COM-портом, взаємодіє з UART на рівні регістрів (а не через BIOS), то обробкою сигналу CTS для підтримки даного протоколу вона займається сама. Ряд комунікаційних програм дозволяє ігнорувати сигнал CTS (якщо не використовується модем), і для них не потрібно з’єднання входу CTS з виходом навіть свого сигналу RTS. Однак існують і інші приймачі (наприклад, 8251), в яких сигнал CTS відпрацьовується апаратно. Для них, а також для “чесних” програм, використання сигналу CTS на роз’ємах (а то й на кабелях) обов’язково.

Програмний протокол управління потоком XON / XOFF передбачає наявність двонаправленого каналу передачі даних. Працює протокол таким чином: якщо пристрій, що приймає дані, виявляє причини, з яких воно не може їх далі приймати, воно по зворотному послідовному каналу посилає байт-символ XOFF (13h). Протилежне пристрій, прийнявши цей символ, призупиняє передачу. Коли приймаючий пристрій знову стає готовим до прийому даних, воно посилає символ XON (11h), прийнявши який протилежне пристрій відновлює передачу. Час реакції передавача на зміну стану приймача в порівнянні з апаратним протоколом збільшується, принаймні, на час передачі символу (XON або XOFF) плюс час реакції програми передавача на прийом символу (мал. 9). З цього випливає, що дані без втрат можуть прийматися тільки приймачем, мають додатковий буфер прийнятих даних і сигналізує про неготовність завчасно (маючи в буфері вільне місце).

Рис. 9. Програмне управління потоком XON / XOFF

Перевага програмного протоколу полягає у відсутності необхідності передачі керуючих сигналів інтерфейсу – мінімальний кабель для двостороннього обміну може мати тільки 3 дроти (див. рис. 5, а). Недоліком, крім обов’язкової наявності буфера і більшого часу реакції (що знижує загальну продуктивність каналу через очікування сигналу XON), є складність реалізації полнодуплексного режиму обміну. У цьому випадку з потоку прийнятих даних повинні виділятися (і оброблятися) символи управління потоком, що обмежує набір переданих символів.

Крім цих двох поширених стандартних протоколів, підтримуваних і ПУ, і ОС, існують і інші.

electronic.com.ua