Інтерфейс rs-232c
Послідовна передача даних
Мікропроцесорна система без засобів введення та виведення виявляється марною. Характеристики та обсяги введення і виведення в системі визначаються, в першу чергу, специфікою її застосування - наприклад, в мікропроцесорної системі управління деяким промисловим процесом не потрібно клавіатура і дисплей, так як майже напевно її дистанційно програмує і контролює головний мікрокомп'ютер (з використанням послідовної лінії RS -232C).
Оскільки дані зазвичай представлені на шині мікропроцесора в паралельної формі (байтами, словами), їх послідовний ввід-висновок виявляється дещо складним. Для послідовного введення буде потрібно засоби перетворення послідовних вхідних даних в паралельні дані, які можна помістити на шину. З іншого боку, для послідовного виведення необхідні засоби перетворення паралельних даних, представлених на шині, в послідовні вихідні дані. У першому випадку перетворення здійснюється регістром зсуву з послідовним входом і паралельним виходом (SIPO), а в другому - регістром зсуву з паралельним входом і послідовним виходом (PISO).
Послідовні дані передаються в синхронному або асинхронному режимах. У синхронному режимі всі передачі здійснюються під керуванням загального сигналу синхронізації, який повинен бути присутнім на обох кінцях лінії зв'язку. Асинхронна передача на увазі передачу даних пакетами; кожен пакет містить необхідну інформацію, що вимагається для декодування що містяться в ньому даних. Звичайно, другий режим складніше, але у нього є серйозна перевага: не потрібен окремий сигнал синхронізації.
Існують спеціальні мікросхеми введення і виведення, які вирішують проблеми перетворення, описані вище. Ось список найбільш типових сигналів таких мікросхем:
- D0-D7 - вхідні-вихідні лінії даних, що підключаються безпосередньо до шини процесора;
- RXD - прийняті дані (вхідні послідовні дані);
- TXD - передані дані (вихідні послідовні дані);
- CTS - скидання передачі. На цій лінії периферійний пристрій формує сигнал низького рівня, коли воно готове сприймати інформацію від процесора;
- RTS - запит передачі. На цю лінію мікропроцесорна система видає сигнал низького рівня, коли вона має намір передавати дані в периферійний пристрій.
Всі сигнали програмованих мікросхем послідовного введення-виведення ТТЛ-сумісні. Ці сигнали розраховані тільки на дуже короткі лінії зв'язку. Для послідовної передачі даних на значні відстані потрібні додаткові буфери і перетворювачі рівнів, що включаються між мікросхемами послідовного введення-виведення і лінією зв'язку.
Загальні відомості про інтерфейс RS-232C
Інтерфейс RS-232C є найбільш широко поширеною стандартної послідовної зв'язком між мікрокомп'ютерами і периферійними пристроями. Інтерфейс, визначений стандартом Асоціації електронної промисловості (EIA). має на увазі наявність обладнання двох видів: термінального DTE і зв'язкового DCE.
Різниця між термінальними і зв'язковими пристроями досить розпливчасто, тому виникають деякі складнощі в розумінні того, до якого типу обладнання відноситься той або інший пристрій. Розглянемо ситуацію з принтером. До якого обладнанню його віднести? Як зв'язати два комп'ютери, коли вони обидва діють як термінальне обладнання. Для відповіді на ці питання слід розглянути фізичне з'єднання пристроїв. Провівши незначні зміни в лініях інтерфейсу RS-232C, можна змусити чіткий устаткування функціонувати як термінальне. Щоб розібратися в тому, як це зробити, потрібно проаналізувати функції сигналів інтерфейсу RS-232C (таблиця 1).
Таблиця 1. Функції сигнальних ліній інтерфейсу RS-232C.
- 1. Лінії 11, 18, 25 зазвичай вважають незаземленими. Наведена в таблиці специфікація відноситься до специфікаціям Bell 113B і 208A.
- 2. Лінії 9 і 10 використовуються для контролю негативного (MARK) і позитивного (SPACE) рівнів напруги.
- 3. Щоб уникнути плутанини між RD (Read - зчитувати) і RD (Received Data - прийняті дані) використовуватимуться позначення RXD і TXD, а не RD і TD.
Стандартний послідовний порт RS-232C має форму 25-контактного роз'єму типу D (рис 1).
Мал. 1. Призначення ліній 25-контактного роз'єму типу D для інтерфейсу RS-232C
Термінальне обладнання зазвичай оснащено роз'ємом зі штирями, а чіткий - роз'ємом з отворами (але можуть бути і винятки).
Сигнали інтерфейсу RS-232C поділяються на наступні класи.
Послідовні дані (наприклад, TXD, RXD). Інтерфейс RS-232C забезпечує два незалежних послідовних каналу даних: первинний (головний) і вторинний (допоміжний). Обидва канали можуть працювати в дуплексному режимі, тобто одночасно здійснюють передачу і прийом інформації.
Керуючі сигнали квитування (наприклад, RTS, CTS). Сигнали квитирования - засіб, за допомогою якого обмін сигналами дозволяє DTE почати діалог з DCE до фактичної передачі або прийому даних по послідовній лінії зв'язку.
Сигнали синхронізації (наприклад, TC, RC). У синхронному режимі (на відміну від більш поширеного асинхронного) між пристроями необхідно передавати сигнали синхронізації, які спрощують синхронізм сигналу з метою його декодування.
На практиці допоміжний канал RS-232C застосовується рідко, і в асинхронному режимі замість 25 ліній використовуються 9 ліній (таблиця 2).
Таблиця 2. Основні лінії інтерфейсу RS-232C.
DTE працює і DCE може підключиться до каналу зв'язку
У більшості схем, що містять інтерфейс RS-232C, дані передаються асинхронно, тобто у вигляді послідовності пакета даних. Кожен пакет містить один символ коду ASCII, причому інформація в пакеті достатня для його декодування без окремого сигналу синхронізації.
Символи коду ASCII представляються сім'ю битами, наприклад літера А має код 1000001. Щоб передати букву А по інтерфейсу RS-232C, необхідно ввести додаткові біти, що позначають початок і кінець пакету. Крім того, бажано додати зайвий біт для простого контролю помилок за паритетом (парності).
Найбільш широко поширений формат, що включає в себе один стартовий біт, один біт паритету і два степових бита. Початок пакета даних завжди відзначає низький рівень стартового біта. Після нього слід 7 біт даних знака коду ASCII. Біт парності містить 1 або 0 так, щоб загальне число одиниць в 8-бітної групі було непарним. Останнім передаються два степових бита, представлених високим рівнем напруги. Еквівалентний ТТЛ-сигнал при передачі літери А показаний на рис. 2.
Мал. 2. Подання коду літери А сигнальними рівнями ТТЛ.
Таким чином, повне асинхронно передається слово складається з 11 біт (фактично дані містять тільки 7 біт) і записується у вигляді 01000001011.
Використовувані в інтерфейсі RS-232C рівні сигналів відрізняються від рівнів сигналів, що діють в комп'ютері. Логічний 0 (SPACE) представляється позитивним напругою в діапазоні від +3 до +25 В, логічна 1 (MARK) - негативним напругою в діапазоні від -3 до -25 В. На рис. 3 показаний сигнал в тому вигляді, в якому він існує на лініях TXD і RXD інтерфейсу RS-232C.
Мал. 3. Вид коду літери А на сигнальних лініях TXD і RXD.
Зрушення рівня, тобто перетворення ТТЛ-рівнів у рівні інтерфейсу RS-232C і навпаки виробляється спеціальними мікросхемами драйвера лінії і приймача лінії.
На рис. 4 представлений типовий мікрокомп'ютерний інтерфейс RS-232C. Програмована мікросхема DD1 послідовного введення здійснює паралельно-послідовні і послідовно-паралельні перетворення даних. Мікросхеми DD2 і DD3 виробляють зрушення рівнів для трьох вихідних сигналів TXD, RTS, DTR, а мікросхема DD4 - для трьох вхідних сигналів RXD, CTS, DSR. Мікросхеми DD2 і DD3 вимагають напруги живлення ± 12 В.
Мал. 4. Типова схема інтерфейсу RS-232C.
Розроблено кілька нових стандартів, спрямованих на усунення недоліків початкових специфікацій інтерфейсу RS-232C. Серед них можна відзначити інтерфейс RS-422 (балансні система, що допускає імпеданс лінії до 50 Ом), RS-423 (небалансная система з мінімальним імпедансом лінії 450 Ом) і RS-449 (стандарт з високою швидкістю передачі даних, в якому кілька змінені функції схем і застосовується 37-контактний роз'єм типу D).
Тестове обладнання для інтерфейсу RS-232C
З'єднувачі. Ці дешеві пристрої спрощують перехресні сполуки сигнальних ліній інтерфейсу RS-232C. Вони зазвичай оснащуються двома роз'ємами типу D (або стрічковими кабелями, що мають розетку і вставку), і всі лінії проводяться до тієї області, куди можна вставити перемички. Такі пристрої включаються послідовно з лініями інтерфейсу RS-232C, і потім перевіряються різні комбінації підключень.
Трансформатори роз'єму. Зазвичай ці пристосування мають роз'єм RS-232C зі штирями на одній стороні і роз'єм з отворами на іншій стороні.
Порожні модеми. Як і попередні пристрої, порожні модеми включаються послідовно в тракт даних інтерфейсу RS-232C. Їх функції полягають у зміні сигнальних ліній таким чином, щоб перетворити DTE в DCE.
Лінійні монітори. Монітори индицируют логічні стану (в термінах MARK і SPACE) найбільш поширених сигнальних ліній даних і квітірованія. З їх допомогою користувач отримує інформацію про те, які сигнали в системі присутні і активні.
Врізки. Ці пристрої забезпечують доступ до сигнальним лініях. У них, як правило, поєднані можливості з'єднувачів і лінійних моніторів та, крім того, передбачені перемикачі або перемички для з'єднання ліній з обох сторін пристрою.
Інтерфейсні тестери. За своєю конструкцією ці пристрої трохи складніше попередніх, простих пристроїв. Вони дозволяють переводити лінії в стану MARK або SPACE, виявляти перешкоди, вимірювати швидкість передачі даних і відображати структуру слова даних.