Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Міністерство освіти і науки, молоді та спорту України
Національний Університет “Львівська Політехніка”
ІЕПТ ім. В. Чорновола
Кафедра інформаційно-компютерних технологій
Факультет інформаційних технологій
Лабораторна робота №7
З дисципліни: Системне програмне забезпечення
на тему: «Паралельний інтерфейс».
Виконав
студент групи КІ-36
Цигнюк Н.В.
Перевірив викладач
Почтарук М.М.
Львів 2013
Мета роботи: вивчити основні поняття та принципи реалізації паралельного інтерфейсу.
Теоретичні відомості
1. Зовнішні інтерфейси ПК
В процесі функціонування інформаційно-обчислювальних систем значне місце посідають операції обміну інформацією між ПК та між ПК і зовнішними пристроями. Важливо відмітити, що обмін інформацією між ПК та зовнішними пристроями у більшості випадків зводиться до обміну інформацією між ПК та керуючою ПК (контроллером) зовнішнього пристрою. Тому в лабораторній роботі розглядається узагальнена задача організації і реалізації обміну інформацією між ПК через паралельний інтерфейс.
Обмін інформацією між між ПК та зовнішніми пристроями передбачає наявність одного з можливих зовнішніх інтерфейсів засобів взаємодії. Для ПК найбільш поширеними є послідовний (RS-232 C) і паралельний інтерфейси, а також USB та SCSI. Звязок між внутрішньою системною шиною компютера (PCI, ISA) та входом./виходом зовнішнього інтерфейсу забезпечується за допомогою адаптера пристрою, який реалізує протокол обміну. Протокол обміну це сукупність правил та домовленостей (стандартів), які описують та регламентують процедуру обміну інформацією між взаємодіючими обєктами. Фактично протокол обміну це сукупність протоколів, які згруповані по певних признаках в багаторівневу ієрахічну структуру. Найбільш повно ця структура представлена семирівневою еталонною моделлю протоколів обміну даними (ISO) [1], яка буде вивчатись у інших курсах. В даній лабораторній роботі охоплюються лише кілька рівнів цієї моделі, які визначають фізичну реалізацію та логічну організацію обміну інформацією. Фізична реалізація зовнішнього інтерфейсу визначає конструктивне виконання розємів, рівні та значення електричних сигналів. Логічна організація визначає відповідність сигналів приймача та передавача, послідовність операцій та сигналів для встановлення звязку та обміну інформацією.
У сучасних ПК адаптери послідовного і паралельного інтерфейсів часто інтегровані в системну плату і реалізовані за допомогою контроллера “Південний міст”, який входить до складу чіпсета.
2. Режими адаптера паралельного інтерфейсу
Сучасні адаптери паралельного інтерфейсу відповідають вимогам стандарту IEEE 1284 “Стандартний метод передачі сигналів для двонаправленого паралельного периферійного інтерфейсу для персональних компютерів”. Він забезпечує високу швидкість передачі інформації і зворотню сумісність з більш ранніми версіями та режимами адаптерів паралельного інтерфейсу.
Паралельний інтерфейс передбачає використання 25 ліній, які поділяються на лінії даних, лінії стану та лінії керування. Лінії даних використовуються для однонаправленого чи двонаправленого обміну даними. Лінії стану призначені для передачі контроллером присторою в адаптер сигналів, що характеризують стан пристрою. Лінії керування використовуються для передачі контроллеру пристрою керуючих сигналів адаптера.
Існує пять режимів роботи адаптера паралельного інтерфейсу:
Режим сумісності (Centronics, SPP) стандартний однонаправлений режим передачі восьми бітів даних від ПК до периферійного пристрою з швидкістю до 150 Кб/с (по лініях даних).
Режим тетради - двонаправлений напівдуплексний чотирьохбітовий режим обміну з використаннням чотирьох ліній даних для передачі і чотирьох ліній стану для прийому даних (з швидкістю до 80 Кб/с).
Режим байта двонаправлений режим з напівдуплексним використанням восьми ліній даних для передачі і прийому даних (з швидкістю до 150 Кб/с).
EPP режим - вдосконалений паралельний інтерфейс з апаратурно реалізованим швидкісним двонаправленим обміном даними (до 2 Мб/с) на основі “рукопотискання” в межах одного циклу вводу/виводу.
ECP режим розширений паралельний інтерфейс з апаратурно реалізованим швидкісним двонаправленим обміном даними на основі “рукопотискання” в межах одного циклу вводу/виводу, або з використанням каналу прямого доступу до памяті (DMA) без використання прямих операцій вводу/виводу. Цей режим також використовує стиснення даних на основі алгоритму RLE.
3. Сигнали адаптера паралельного інтерфейсу
Для зєднання адаптера паралельного інтерфейсу і периферійних пристроїв використовується три види розємів:
1284 Тип А 25-контактиний розєм (встановлюється на адаптері);
1284 Тип В 36-контактний розєм Centronics (використовується у принтерах);
1284 Тип С 36-контактний розєм аналогічний Centronics, але меншого розміру.
Електричні інформаційні та керуючі сигнали на входах/виходах паралельного інтерфейсу відповідають стандартам TTL логіки. Навантажувальна здатність виходів переважно не перевищує одного TTL входу. Для збільшення навантажувальної здатності використовуються буферні мікросхеми. Відповідність сигналів інтерфейсу і контактів розємів для режиму сумісності відображена у таблиці 1.
Сукупність ліній інтерфейсу приєднується до певних адресованих програмно доступних апаратних регістрів адаптера які називаються портом. Біти цих регістрів відповідають певним значенням сигналів кожної з ліній. У ПК може бути до трьох адаптерів паралельного інтерфейсу, кожен з яких містить регістр даних, регістр стану (статусу) і регістр керування. Адаптери позначаються LPT1-LPT3 і адресуються базовою адресою, яка співпадає з адресою регістру даних в операціях вводу/виводу. Зазвичай LPT1 відповідає базова адреса 378h, LPT2 278H, LPT3 3DCH. Враховуючи те, що базові адреси можуть мінятись, в області даних BIOS записані фактичні базові адреси портів LPT1-LPT3. Базова адреса LPT1 записана в комірці 0040:0008, базова адреса LPT2 - в комірці 0040:000A, а базова адреса LPT3 в комірці 0040:000С. Адреса регістру стану рівна базовій адресі+1, а адреса регістру керування базовій адресі+2.
Вихідні сигнали на виводах 2-9 відповідають логічним значенням бітів 0-7 регістру даних. Відповіднисть вхідних сигналів на виводах розєму і бітів регістру стану відображена у таблиці 2, а відповідність вихідних сигналів на виводах розєму і бітів регістру керування у таблиці 3.
Таблиця 1.
№ виводу адаптера |
№ виводу Centronics |
Назва сигналу (при обміні з принтером) |
Напрям |
Регістр |
1 |
1 |
Strobe строб |
Вихід* |
Керування |
2 |
2 |
Data0 дані, біт 0 |
Вихід |
Даних |
3 |
3 |
Data1 дані, біт 1 |
Вихід |
Даних |
4 |
4 |
Data2 дані, біт 2 |
Вихід |
Даних |
5 |
5 |
Data3 дані, біт 3 |
Вихід |
Даних |
6 |
6 |
Data4 дані, біт 4 |
Вихід |
Даних |
7 |
7 |
Data5 дані, біт 5 |
Вихід |
Даних |
8 |
8 |
Data6 дані, біт 6 |
Вихід |
Даних |
9 |
9 |
Data 7 дані, біт 7 |
Вихід |
Даних |
10 |
10 |
Ask прийом байта принтером завершений |
Вхід |
Стану |
11 |
11 |
Busy зайнято принтер приймає дані |
Вхід* |
Стану |
12 |
12 |
Paper відсутність паперу |
Вхід |
Стану |
13 |
13 |
Select підтвердження вибору принтером |
Вхід |
Стану |
14 |
14 |
Auto line feed автоматичн.перевід стрічки |
Вихід* |
Керування |
15 |
32 |
Error помилка |
Вхід |
Стану |
16 |
31 |
Init іниціація контроллера принтера |
Вихід |
Керування |
17 |
36 |
Select вибір принтера адаптером |
Вихід* |
Керування |
18-25 |
19-30 |
Ground земля |
Таблиця 2.
№ виводу адаптера |
№ біта регістра |
Значення активного сигналу |
0 |
Зарезервоване |
|
1 |
Зарезервоване |
|
2 |
IRQ |
|
15 |
3 |
Error (0 помилка) |
13 |
4 |
Select (1 принтер on-line) |
12 |
5 |
Paper (1 відсутність паперу) |
10 |
6 |
Ask (0 підтвердження прийому байта) |
11 |
7 |
Busy (0 принтер зайнятий) |
Таблиця 3.
№ виводу адаптера |
№ біта регістра |
Значення активного сигналу |
0 |
Strobe (1 вивід байта даних) |
|
1 |
Auto Line Feed (1- автоматичний перевід стрічки) |
|
2 |
Init (0 ініціація контроллера принтера) |
|
3 |
Select (0 відміна вибору принтера адаптером) |
|
4 |
Interrupt (1 переривання від принтера дозволено) |
|
5 |
Doubly linked I/O (1 дозвіл двонаправленого режиму) |
|
6 |
Не використовується |
|
7 |
Не використовується |
4. Організація вводу/виводу для паралельного інтерфейсу
Всі режими стандарту 1284 забезпечують організацію вводу/виводу даних з використанням “рукопотискання”. Протокол “рукопотискання” в інтерфейсі передбачає, що прийом кожної зміни сигналу керування адаптера підтверджується зміною відповідного сигналу стану контроллера і навпаки. Це дає можливість периферійним пристроям керувати часом, потрібним для виконання операції вводу/виводу (синхронізація вводу/виводу), а також формувати цикл стійкої прийомопередачі незалежно від довжини кабеля, яка впливає на час встановлення сигналів.
Реалізація “рукопотискання” забезпечується циклічним виконанням такої послідовності кроків:
При реалізації такого протоколу синхронний ввід/вивід здійснюється під керуванням центрального процесора, який є ініціатором обміну. При низькій швидкодії периферійних пристроїв це приводить до нераціонального використання процесорного часу (процесор простоює, очікуючи завершення роботи периферійного пристрою). Для усунення цього недоліку використовується асинхронний ввід/вивід в режимі переривання. При цьому процесор ініціює вивід першого байта і переходить до виконання якої-небудь іншої задачі (наприклад обчислення нових значень). По завершенню обробки прийнятого байта контроллер периферійного пристрою встановлює активне значення сигналу Ask, яке викликає апаратне переривання процесора. Процесор переходить у підпрограму обробки переривань і формує сигнали для виводу наступного байта. Таким чином у цьому режимі ініціатором обміну (крім першого байта) є периферійний пристрій.
5. Реалізація обміну інформацією між ЕОМ за допомогою паралельного інтерфесу в режимі тетради
При вирішенні багатьох задач виникає необхідність забезпечення двонаправленого обміну інформацією з використанням паралельного інтерфейсу. В даній лабораторній роботі розглядається варіант організації двонаправленого обміну між ПК з використанням паралельного інтерфейсу в режимі тетради. Для цього використовується кабельне зєднання розємів паралельного інтерфейсу у відповідності з Рис.1. При передачі, байт, що виводиться заноситься потетрадно в молодші розряди регістру даних (D0-D3), а прийом тетрад забезпечується входами інтерфейсу, які забезпечують отримання слова стану (Ask, Paper,Select, Error). Передача байта здійснюється півбайтами з використаннням мультиплексування. Сигнали Strobe та Busy використовуються для керування обміном. Прийомопередача здійснюється в напівдуплексному режимі (одна ПЕОМ передає, інша приймає, а потім вони міняються). Фрагмент програми, який ілюструє можливий варіант реалізації передачі даних, приведений на Рис.2.
Рис. 1. Кабельне зєднання розємів паралельного інтерфейсу для режиму тетради.
Програмний код:
mov si,0
mov ax,40h ; занесення адреси LPT1 в регістр dx
mov es,ax
mov dx,es:[8]
c1: mov al,buf[si]
out dx,al ; занесення байта в регістр даних
inc dx
inc dx
mov al,13 ; формування строба (вивід керуючого слова)
out dx,al
dec al
out dx,al
dec dx ; ввід і аналіз слова стану
c2: in al,dx
test al,01000b
jz error
test al,80h
jz c2
inc si
dec dx
jmp c1
Висновок: Я ознайомився з механізмом передачі даних через паралельний порт.
D7
D6
D5
D4
3
D2
D1
D0
D3
D2
D1
D0
Ask
Paper
Select
Error
Strobe
Busy