Асинхронний послідовний адаптер RS-232-C
Вхідний контроль:
1 Які цифрові автомати називаються синхронними, а які асинхронними?
2 Які пристрої можуть використовуватись як джерела синхроімпульсів для цифрових автоматів?
При підключенні ПК до мережі, МПС до периферійних пристроїв використовується послідовне передавання даних, яке не створює жорстких обмежень на довжину лінії. В той самий час шина даних ПК та МПС є паралельною. Для перетворення паралельно поданих даних у послідовності в ВІС послідовних інтерфейсів використовуються регістри зсуву. При передаванні даних вони паралельно записуються у регістр зсуву і з кожним тактовим імпульсом зсуваються праворуч, виходячи із регістра в лінію молодшими розрядами вперед. При прийманні дані з лінії вводяться в регістр зсуву праворуч також молодшими бітами вперед і, після заповнення регістра, дані з нього у паралельному поданні передаються в МПС.
Порт послідовного передавання RS-232-C, який називається також асинхронним адаптером, або послідовним інтерфейсом, має багатоцільове призначення:
– підключення миші;
– підключення графобудувачів, сканерів, принтерів, диджитайзерів;
– реалізація зв’язку між двома комп’ютерами з використанням спеціального кабелю та оболонки NORTON COMMANDER;
– підключення модемів для передавання даних телефонними лініями;
– підключення до мережі персональних комп’ютерів.
У складі кожного комп’ютера є хоча б один послідовний порт для обміну даними.
Протокол обміну складається з опису передаваного сигналу та призначення його складових частин.
Послідовне передавання даних означає, що дані передаються з використанням однієї лінії. На рис. 6.2 наведено форму електричних сигналів та формат даних при передаванні ASCII коду літери А (41Н).
Рівень логічного нуля становить +15 В, логічної одиниці –15 В. Початковий стан лінії – одиничний. Стартовий біт сигналізує про початок передавання даних; далі передаються біти даних у такому порядку: D0–D1–D2–D3–D4–D5… Якщо використовується біт парності Р, то передається й він. Біт парності має таке значення, щоб у пакеті бітів загальна кількість одиниць була парною або непарною залежно від перевірки на парність або непарність. У кінці передаються один чи два стопових біти, які завершують передавання, після чого рівень лінії знову установлюється одиничним до появи наступного стартового біта. Використання парності, стартових та стопових бітів визначає протокол обміну даними.
Рисунок 6.2 – Часова діаграма електричних сигналів та формату даних
для даного 41Н
Іншою важливою характеристикою є швидкість передавання даних. Вона повинна бути однаковою для передавача та приймача. Швидкість передавання даних вимірюється у Бодах (Бод – це кількість бітів, які передаються за секунду). При цьому враховуються і стартстопні біти і біт парності. Іноді використовується інший термін – біти за секунду (bps). Він означає ефективну швидкість передавання даних без урахування службових бітів.
Комп’ютер має від одного до восьми портів послідовного передавання даних, які зреалізовуються на мікросхемі Intel 8250. Це універсальний асинхронний приймач/передавач (UART – Universal Asynchronous Receiver Transmitter). Мікросхема вміщує кілька внутрішніх регістрів, доступних через команди введення-виведення. При передаванні байт записується у буферний регістр передавача, звідки потім переписується у зсувовий регістр передавача. Байт „висувається” з регістра по бітах, молодшими бітами вперед. Аналогічно, приймач теж має зсувовий та буферний регістри. Зовнішні пристрої підключаються до порту введення-виведення через з’єднувач типу DB25P або DB9P, які мають відповідно 25 та 9 виводів. У табл. 6.1 подається призначення контактів з’єднувача.
На етапі ініціалізації комп’ютера модуль POST BIOS тестує наявні асинхронні адаптери та ініціалізує перші два з них. Їхні базові адреси розташовано в області даних BIOS, починаючи з адреси 0000:0400Н. Перший адаптер СОМ1 має базову адресу 3F8H і займає діапазон адрес з 3F8H до 3FFH. Другий адаптер СОМ2 має базову адресу 2F8H і займає адреси 2F8H…2FFH. Асинхронні адаптери можуть викликати переривання: COM1 – IRQ4 (INT 0CH), COM2 – IRQ3 (INT 0BH).
Таблиця 6.1 – Призначення контактів з’єднувача
Номер контакту | Призначення контакту | Вхід чи вихід |
Детектор сигналу з лінії DCD | Вхід | |
Приймані дані | Вхід | |
Передавані дані | Вихід | |
Готовність вихідних даних DTR | Вихід | |
Земля за сигналом | Вихід | |
Готовність даних DSR | Вхід | |
Запит для передавання RTS | Вихід | |
Скидання для передавання CTS | Вхід | |
Індикатор виклику RI | Вхід |
Порт 3F8H відповідає регістру даних, які передаються чи приймаються. Для передавання дані треба записати в цей порт. Після прийняття даних від зовнішнього пристрою вони можуть зчитуватись з цього порту.
Залежно від стану старшого біта керувального слова, яке виводиться в керувальний регістр з адресою 3FВH, призначення порту 3F8H може змінюватись. Якщо цей біт дорівнює 0, то порт 3F8H використовується для запису передаваних даних. Якщо ж він дорівнює 1, то порт 3F8H використовується для виведення молодшого байта подільника частоти тактового генератора. Змінюючи значення подільника, можна змінювати швидкість передавання даних. Старший байт подільника записується у порт 3F9H. Залежність швидкості передавання даних від значення подільника частоти подано нижче:
Подільник | Швидкість (Бод) |
Порт 3F9H використовується як регістр керування перериваннями від асинхронного адаптера або (після виведення в порт 3FBH байта з установленим в 1 старшим бітом) для виведення значення старшого байта подільника частоти. В режимі керування перериваннями порт має такий формат:
Порт 3FAH призначено для ідентифікації переривань. Його вміст визначає причину переривань. Регістр має такий формат:
Керувальний регістр 3FBH, доступний для запису та зчитування:
Регістр 3FC керує модемом: станом вихідних ліній DTR, RTS, ліній, специфічних для модемів OUT1 та OUT2, для запускання діагностики при вході асинхронного адаптера, замкненого на його вихід. Формат порту:
Регістр стану лінії 3FDH:
Регістр стану модема 3FEH:
Контрольні питання:
1 Які функції виконує асинхронний послідовний адаптер?
2 Які пристрої, що входять до складу комп’ютера, підключаються за допомогою адаптера RS-232-C?
3 Який пріоритет мають порти комп’ютера COM1 та COM2?
4 Який режим роботи адаптера задається при завантаженні операційної системи?
5 Задайте керувальне слово, яке забезпечить передавання даного 82Н з контролем на непарність та двома стоповими бітами. Наведіть часову діаграму електричних сигналів та формату даних для даного 82Н.
6 Яку інформацію вміщує керувальне слово, яке задає режим роботи адаптера?
7 З якою метою зчитується слово стану лінії при прийманні та слово стану буфера при передаванні?
Контрольні питання підвищеної складності:
1 Назвіть послідовність дій при задаванні бажаної швидкості обміну між RS-232-C та зовнішнім пристроєм?
2 Як заборонити переривання під час обміну даними через RS-232-C?
3 Як перевіряється готовність периферійного пристрою до роботи при обміні даними через RS-232-C?
МІКРОПРОЦЕСОРИ