Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОТ СП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11 Мб
Скачать
☆

1. Функції для керування роботою послідовного порту

Взаємодія комп’ютера з зовнішніми пристроями досить часто відбувається через послідовний (СОМ) порт (Serial Interface RS-232C). Послідовна передача даних дозволяє значно спростити канал зв’язку між пристроями, але одночасно приводить до ускладнення формату передачі даних. Тому для ефективного використання послідовних портів потрібно чітко розуміти принципи та формати послідовної передачі даних.

Послідовний інтерфейс використовується для зв'язку двох пристроїв між собою. Дані в одну сторону передаються по одному проводу за допомогою послідовності бітів. Природно, при підключенні декількох пристроїв до комп'ютера обмін виробляється тільки з одним з цих пристроїв. Для з’єднання з боку комп’ютера використовується інтерфейс, названий СОМ-порт (COMmunication port, комунікаційний порт).

Цей порт забезпечує асинхронний обмін і реалізується на мікросхемах універсальних асинхронних прийомопередатчиків (UATR, Universal Asynch-ronous Receiver Transmitter), сумісних з сімейством і8250. Хоча стандарт RS-232C передбачає й асинхронний, і синхронний режими обміну. СОМ-порт комп’ютера підтримує тільки асинхронний режим. Для реалізації синхронного обміну застосовуються спеціальні адаптери, наприклад, SDLC чи V.35.

Слово "протокол" вносить деяку плутанину. З одного боку, RS-232 і RS-485 називають протоколами, а з іншого, MODBUS, ZModem і CAN - також протоколи. Який же з них справжній? Справа в тім, що послідовний зв'язок складається з двох складових - апаратної і програмної. Стандарти RS-232, RS-485 і інші описують апаратну частину: роз’єми, призначення сигналів, рівні напруг і т.п. Друга складова - програмна реалізація протоколів, домовленість про правила передачі. І ще одне зауваження. Усі стандарти мають подвійні, а то і потрійні назви. Подвійність назв зв'язана з тим, що Міжнародний союз електрозв'язку ITU-T використовує аналогічні стандарти з назвами V.xx. І, взагалі говорячи, дві назви це ще не межа. Так, стандарту RS-232 відповідає ISO 2110, Міністерство оборони США випустило практично ідентичний стандарт Mil-Std-188C. а в нашій країні подібний стандарт уведений ДСТ 18145-81.

DTE (Data Terminal Equipment) - кінцеве устаткування, що приймає чи передає дані. У якості DTE може виступати комп’ютер, принтер, плоттер чи інше периферійне устаткування.

DCE (Data Communications Equipment) - апаратура каналу даних. Функція DCE полягає в забезпеченні можливості передачі інформації між двома чи більшим числом DTE. Для цього DCE повинно забезпечити з'єднання з DTE, з одного боку, і з каналом передачі - з іншого. Роль DCE найчастіше виконує модем, наприклад, як показано на рис. 3.5.1.

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

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

 Рис. 3.5.3. Нуль-модемний кабель:а − мінімальний; б − повний

Вихідні сигнали керування (RTS та DTR) і вхідні сигнали стану (CTS, DSR, DCD) послідовного порту інвертовані. Послідовні сигнали даних SIN і SOUT не інвертовані. UART працює тільки з рівнем напруг ТТЛ/КМОП. Перетворювачі напруг розташовані між UART і роз’ємом RS232. Перетворювачі передавачів конвертують рівень напруги ТТЛ у рівень RS232, а перетворювачі приймачів - навпаки.

При включенні чи перезавантаженні комп'ютера BIOS перевіряє адреси всіх установлених послідовних портів. Якщо вона знаходить такий порт, то заносить базову адресу (двобайтове слово) у певну комірку пам'яті. Для СОМ1 це комірки 0000:0400h і 0000:0401h. Базову адресу можна одержати, злічивши їхній вміст. Комірки пам'яті, у яких міститься інформація про базові адреси встановлених послідовних портів, приведені нижче:

СОМ1: 0000:0400h - 0000:0401h

COM2: 0000:0402h - 0000:0403h

COM3: 0000:0404h - 0000:0405h

COM4: 0000:0408h - 0000:0407h

Однобайтова комірка пам'яті 0000:0411h у першому, другому і третьому бітах містить загальну кількість установлених СОМ-портів:

біт 3 = 0, біт 2 = 0, біт 1 = 0 СОМ-порти не встановлені

біт 3 = 0, біт 2 = 0, біт 1 = 1 встановлено один СОМ-порт

біт 3 = 0, біт 2 = 1, біт 1 = 0 встановлено два СОМ-порти

біт 3 = 0, біт 2 = 1, біт 1 = 1 встановлено три СОМ-порти

біт 3 = 1, біт 2 = 0, біт 1 = 0 встановлено чотири СОМ-порти