- •Програмування паралельного інтерфейсу
- •Затверджено на засіданні кафедри
- •Рецензент Каркульовський в.І., канд. Техн.Наук.,доц.
- •Мета роботи
- •Короткі теоретичні відомості
- •2.1. Зовнішні інтерфейси еом
- •2.2. Режими адаптера паралельного інтерфейсу
- •2.3. Сигнали адаптера паралельного інтерфейсу
- •2.5. Реалізація обміну інформацією між еом за допомогою паралельного інтерфесу в режимі тетради
- •2.4. Організація вводу/виводу для паралельного інтерфейсу
- •Контрольні запитання
- •Лабораторне завдання
- •Оформлення звіту
- •6. Лiтература
2.2. Режими адаптера паралельного інтерфейсу
Сучасні адаптери паралельного інтерфейсу відповідають вимогам стандарту IEEE 1284 – “Стандартний метод передачі сигналів для двонаправленого паралельного периферійного інтерфейсу для персональних комп’ютерів”. Він забезпечує високу швидкість передачі інформації і зворотню сумісність з більш ранніми версіями та режимами адаптерів паралельного інтерфейсу.
Паралельний інтерфейс передбачає використання 25 ліній, які поділяються на лінії даних, лінії стану та лінії керування. Лінії даних використовуються для однонаправленого чи двонаправленого обміну даними. Лінії стану призначені для передачі контроллером присторою в адаптер сигналів, що характеризують стан пристрою. Лінії керування використовуються для передачі контроллеру пристрою керуючих сигналів адаптера.
Існує п’ять режимів роботи адаптера паралельного інтерфейсу:
Режим сумісності (Centronics, SPP) – стандартний однонаправлений режим передачі восьми бітів даних від ПК до периферійного пристрою з швидкістю до 150 Кб/с (по лініях даних).
Режим тетради - двонаправлений напівдуплексний чотирьохбітовий режим обміну з використаннням чотирьох ліній даних для передачі і чотирьох ліній стану для прийому даних (з швидкістю до 80 Кб/с).
Режим байта – двонаправлений режим з напівдуплексним використанням восьми ліній даних для передачі і прийому даних (з швидкістю до 150 Кб/с).
EPP – режим - вдосконалений паралельний інтерфейс з апаратурно реалізованим швидкісним двонаправленим обміном даними (до 2 Мб/с) на основі “рукопотискання” в межах одного циклу вводу/виводу.
ECP – режим – розширений паралельний інтерфейс з апаратурно реалізованим швидкісним двонаправленим обміном даними на основі “рукопотискання” в межах одного циклу вводу/виводу, або з використанням каналу прямого доступу до пам’яті (DMA) без використання прямих операцій вводу/виводу. Цей режим також використовує стиснення даних на основі алгоритму RLE.
2.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 |
Не використовується |
