Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Взаємодія комп’ютера з зовнішніми пристроями досить часто відбувається через послідовний (СОМ) порт (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 встановлено чотири СОМ-порти

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

Для багатьох практичних задач потрібно зв'язати комп'ютер із зовнішніми пристроями. Без цього неможлива ні автоматизація фізичного експерименту, ні комп'ютерне управління технологічними процесами. Зовнішні пристрої можуть бути як стандартними (принтер), так і нестандартними (пристрої для наукових досліджень, крокові двигуни, роботи-маніпулятори). Основне призначення Centronics (аналог ИРПР-М) - це під'єднання до комп'ютера принтерів різних типів. Тому розміщення контактів роз'єму, призначення сигналів та програмні засоби орієнтовані на це застосування. В той же час через Centronics можна керувати й нестандартними зовнішніми пристроями. Перевагами Centronics є стандартність, простота та паралельність та низька ймовірність вивести комп'ютер з ладу (порівняно з ISA). Для зв'язку комп'ютера із зовнішніми пристроями служать порти. Одні порти служать для вводу даних в комп'ютер, а інші - для виводу. Дані в порт записуються і зчитуються по шині даних D0-D7 (8 біт), а для вибору конкретного порту використовується шина адреси A0-A15 (16 біт).

Кабель (25/DB-25S/ - 36)

Фактично паралельний порт складається з трьох 8-бітних портів/ регіcтрів:

1) DR - Data Register, 8 - бітний регістр даних (вивід з комп.)

2) SR - Status Register, 5-бітний регістр стану (ввід)

3) CR - Control Register , 4-бітний регістр контролю (вивід, але можливо ввід)

при цьому DR, CR служать для виводу даних з комп'ютера, а SR - для вводу (табл.1). Кожному біту (розряду) порту принтера фізично відповідає один контакт в роз'ємні. Використовується такі адреси портів принтера: LPT1 ($00378), LPT2 ($00278) і LPT3($003BC). Для більшості комп'ютерів адреси портів принтера (LPT1) в шістнадцятковій системі наступні: DR ($00378); SR ($00379), CR ($0037А), тобто адреса наступного регістра на 1 більша від попереднього, проте адреса першого порта може бути різною. Визначити адресу - в BIOS. Логічній одиниці на розряді паралельного порту відповідає напруга +5В, а логічному нулю - 0 В. Проте, якщо розряд інверсний, то логічній одиниці відповідає 0 В, а логічному нулю - 5В. SR дозволяє зчитувати дані із зовнішніх пристроїв, наприклад цифрові сигнали з різноманітних датчиків. Для SR не використовуються всі розряди, тому розряди вхідних сигналів DI звичайно зчитуються по 4 біти зі зсувом вліво на 3 біти (табл.1). Відповідно після зчитування потрібно програмно зсунути розряди SR7-SR3 вправо на 3 біти (поділити на 8). (рис. DI4-0 - SR7-3 - D4-0)

Таблиця 1. Розряди паралельного порту (піни).

  Позначення розрядів (для комп'ютера) Позначення розрядів (для порту принтера) Контакт роз'єму на комп'ютері Контакт роз'єму на принтері Ввід (1) / вивід (0); і-інверсія Розряди вхідних сигналів  
Port1 DR0 D0 2 2 0    
  DR1 D1 3 3 0    
  DR2 D2 4 4 0    
  DR3 D3 5 5 0    
  DR4 D4 6 6 0    
  DR5 D5 7 7 0    
  DR6 D6 8 8 0    
  DR7 D7 9 9 0    
Port2 SR3 Error 15 32 1 DI0  
  SR4 Slct 13 13 1 DI1  
  SR5 Pe 12 12 1 DI2  
  SR6 Ask 10 10 1 DI3  
  SR7 Busy 11 11 1 / і DI4  
Port3 CR0 Strobe 1 1 0 / i    
  CR1 Auto fd 14 14 0 / i    
  CR2 Init 16 31 0    
  CR3 Scltin 17 36 0 / i    
Земля Gnd Gnd 18 - 25 16,17,19-30,33      
               

Решту розрядів - заземлення.

Немає сигналів живлення - як перевага.

Непід'єднані контакти - високий рівень

Призначення розрядів порту принтера:

Регістр DR

D0-D7 : 8 - розрядна шина даних, служить для передачі даних з комп'ютера в принтер.

Регістр SR

Error : Помилка

SLCT : Сигнал готовності принтера

PE : Сигнал закінчення паперу

Ask : Підтвердження принтера про прийом даних

Busy : Сигнал зайнятості принтера

Регістр CR

Strobe : Сигнал стробування даних (дозвіл приймати дані, які вже встановлені на шині та виконувати певні дії; передача даних або підготовка - строб (команда на виконання) - пасивний стан)

Auto fd : Сигнал переходу на новий рядок

Init : Ініціалізація принтера (очищення його буфера)

SLCT In : Сигнал принтеру про початок передачі даних

Типи паралельного порту

Тип паралельного порту Режим вводу Режим виводу Примітки  
стандартний півбайтовий сумісний ввід - 4біт, вивід - 8 біт  
Двонаправлений байтовий сумісний ввід/вивід по 8 біт  
Вдосконалений (ЕРР - Enchanced PP) ЕРР ЕРР ввід/вивід по 8 біт  
Розширений (ЕСР) ЕСР ЕСР ввід/вивід по 8 біт , прямий доступ до пам'яті  
         

Режими пар порту

Режим Напрям Швидкість, Кбайт/с  
Півбайтовий (4біт) ввід 50  
байтовий ввід 50  
сумісний вивід 150  
ЕРР ввід/вивід 500-2000  
ЕСР ввід/вивід 500-2000  
       

Студент повинен

знати :

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

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

вміти :

v Використовувати команди мови Асемблера, які стосуються тестування та керування портами комп’ютера.

Питання для самоконтролю

1. Назвіть особливості робти послідовного порту.

2. Назвіть функції для керування роботи послідовного порту. Дайте коротку характеристику.

3.  Назвіть особливості робти паралельного порту.

4. Назвіть функції для керування роботи паралельного порту. Дайте коротку характеристику.

 Література

[2] с. 178-182, 309-316


 Список використаних джерел

1. Глинський Я.М., Анохін В.Є., Ряжська В.А. “С++ і С++ Builder” - Львів, СПД Глинський, 2008.

2. Зубков С.В. “Ассемблер для DOS, Windows i UNIX”. СПб, Питер, 2006.

3. Страуструп Б. Язык программирования С++. Специальное издание - М.: И.В.К.-СОФТ, 1991.

4. Керниган Б., Риччи Д. Язык Си. - М.:Мир, 1985.

5. Фельдман С.К. Системное программирование на персональном компьютере. - М.:Бук-Пресс, 2006.

6. Побегайло А.П. “Системное программирование в среде Windows”. СПб, БхВ Петербург, 2006.

7. С.О.Бочков, Д.М.Субботин Язык программирования Си для персонального компьютера. М.: Радио и связь, 1990.

8. Фигурнов В.Э. “IBM PC для пользователя”, М, Инфра-М, 2003.

9. Ставровський А.Б., Карнаух Т.О. Програмування. Перші кроки – М, Видавничий дім “Вільямс”, 2005.

10. Мельник А.О. Архітектура комп’ютера. Наукове видання – Луцьк, Волинська обласна друкарня, 2008.

11. Нікольський Ю.В., Щербина Ю.М., Пасічник В.В. Дискретна математика – К, Видавнича група БХВ, 2007.

12. Ковалюк Т.В. Основи програмування – К, Видавнича група БХВ, 2005.

13. www.wikipedia.org – вільна електронна енциклопедія

14. www.kemping.te.ua - блог для починаючих веб-дизайнерів і програмістів.

15. http://www.znannya.org - Портал знань — відкриті навчальні матеріали, дистанційне навчання, дистанційне тестування знань. Вільний доступ до навчальних курсів різної тематики. Освітні ресурси з інформаційних технологій, програмування, проектування програмного забезпечення, а також матеріали з інших предметних галузей.

 

 


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 263; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.027 с.)
Главная | Случайная страница | Обратная связь