йцуйук
Послідовний порт із інтерфейсом RS-232
Інтерфейс RS-232 призначений для підключення до комп ‘ютера стандартних зовнішніх пристроїв (принтера, сканера, модема, миші та ін.), а також для зв’язку комп’ютерів між собою. Дані в RS-232C передаються в послідовному коді побайтно. Кожний байт супроводжується стартовим і стоповими бітами. Дані можуть передаватися як в один , так і в інший бік (дуплексний режим).
Комп’ютер має 25-контактний ( DB25P ) або 9-контактний (DB9P) роз’єм для підключення RS-232C. Призначення контактів роз’єму наведено в таб.2.1.
Таблиця 2-1 Призначення контактів роз’єму RS-232
Назва | Номер контакту | Призначення | Напрям
DCD | 1 | 8 | Зв`язок модемів встановлено | До ПЕВМ
RX | 2 | 3 | Прийняті дані | До ПЕВМ
ТХ | 3 | 2 | Передані дані | З ПЕВМ
DTR | 4 | 20 | Готовність ПЕВМ до роботи | З ПЕВМ
SG | 5 | 7 | Сигнальна земля | -----------
DSR | 6 | 6 | Готовність модему до роботи | До ПЕВМ
RTS | 7 | 4 | Запит на передачу | З ПЕВМ
CTS | 8 | 5 | Готовність модему до передачі | До ПЕВМ
RI | 9 | 2 | Індікатор виклику | До ПЕВМ
FG | --- | 1 | Захисна земля | -------
Для двонаправленої передачі частіше всього використовується трьохпровідний зв’язок. Для двохпровідної лінії зв’язку у випадку тільки однонаправленої передачі інформації використовуються тільки сигнали SG та TxD або SG та RхD. Всі 10 сигналів інтерфейсу можуть бути задіяні тільки при з’єднанні комп’ютера з модемом..
Формат даних, що передаються, показаний на рис.2.1. Власне дані супроводжуються стартовим бітом, бітом парності ( біт парності може бути відсутнім ) і одним або двома стоповими бітами.
Отримавши стартовий біт, приймач вибирає з лінії біти даних через визначені інтервали часу.
Тактові частоти приймача і передавача обов’язково повинні бути однакові (припустима розбіжність –не більше 10%). Швидкість передачі
+8…12 В
відсутність відсутність сигналу
сигналу -8…-12 В
старт-біт 8 біт даних 1-2 стоп-біти
біт парності (якщо є)
Рис.2.1 Формат передавання даних інтерфейсу RS-232
по інтерфейсу RS-232C може вибиратися з ряду : 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 біт/с.
Всі сигнали RS-232C передаються спеціально вибраними рівнями, якй забезпечують високу завадостійкість зв’язку ( рис.2.1 ). Дані передаються у інверсному коді ( логічній одиниці відповідає низький рівень, представлений напругою –8…-12 В, логічному нулю - високий рівень із напругою +8…+12 В ).
Обмін по RS-232C здійснюється за допомогою звернень до спеціально виділених для цього портів СОМ1 ( адреси 3F8h…3FFh, переривання ІRQ4 ), COM2 ( адреси 2F8h…2FFh, переривання ІRQ3 ), COM3 ( адреса 3E8h…3EFh, переривання ІRQ10 ), COM4 ( адреси 2E8h…2EFh, переривання ІRQ11 ).
Призначення портів із відповідними адресами для портів СОМ1…СОМ4 є повністю аналогічними ( наприклад, функціонально аналогічними є порти із адресами 3F8h, F8h, 3E8h, E8h ). Призначення бітів портів 3F8 та 3F9 залежить від значення спеціального біту керування , що записаний у 7 розряді порту 3FB ( тут і далі розглядається порт СОМ1, маючи на увазі, що для СОМ2…СОМ4 все робиться аналогічно ).
При нульовому значекнні керуючого біту порт 3F8 служить для запису в нього байту даних, що передається і читання з нього байту, що приймається. При одиничному значенні керуючого біту цей порт використовується для запису в нього молодшого байта коду поділювача частоти тактового генератора , який визначає швидкість передачі та
прийому. Зв’язок цього коду та швидкості передачі V наведений в табл.2.2.
Таблиця 2-2 Залежність швидкості передачі від коду поділювача
Код ( h ) | 180 | С0 | 60 | 30 | 18 | С | 6 | 3 | 2 | 1
V, ( кбіт\с ) | 0,3 | 0,6 | 1,2 | 2,4 | 4,8 | 9,6 | 19,2 | 38,4 | 57,6 | 115,2
При значенні керуючого біту, що дорівнює одиниці порт 3F9 використовується для запису старшого байта коду поділювача частоти. При нульовому значенні керуючого біту цей порт використовується для керування перериваннями із форматом :
біт 0 : 1 – дозвіл переривання по закінченні приймання даних,
0 – заборона переривання,
біт 1 : 1 – дозвіл переривання по закінченні передавання даних,
0 – заборона переривання,
біт 2 : 1 – дозвіл переривання при виявленні помилки в лінії,
0 – заборона переривання,
біт 3 : 1 – дозвіл переривання при зміні вхідних керуючих сигналів RS-
232,
0 – заборона переривання,
біти 4…7 – не використовуються.
Порт 3FА є регістром ідентифікації переривання. Використовується тільки для читання. Його вміст вказує на причину переривання . Формат регістру наступний :
біт 0 : 1 – відсутні переривання, що вимагають обслуговування,
0 – є переривання, що вимагають обслуговування,
біти 1,2 : 00 – переповнення приймача, помилка парності або формату
даних при прийманні, скидання – читанням адреси 3FD,
01 – дані передані, скидання – записом до адреси 3F8,
10 – дані прийняті і є доступними для читання, скидання –
читанням з 3F8,
11 – зміна вхідних керуючих сигналів RS-232, скидання –
читанням з 3FE.
Порт 3FB - керуючий регістр, доступний для читання та запису. Його формат :
біти 0,1 : кількість біт даних,