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

Основною перевагою використання Centronics для підключення УС в порівнянні з ISA є значно менший ризик вивести комп’ютер з ладу. Головний недолік цього підходу – значно менша швидкість обміну. Призначення 36 контактів роз’єму Centronics наведено в таблиці 1.

Таблиця 1. Призначення контактів роз’ємів Centronics

Висновок Найменування Напрямок Опис
1 /STROBE Out Strobe (Строб)
2 D0 Out Data Bit 0
3 D1 Out Data Bit 1
4 D2 Out Data Bit 2
5 D3 Out Data Bit 3
6 D4 Out Data Bit 4
7 D5 Out Data Bit 5
8 D6 Out Data Bit 6
9 D7 Out Data Bit 7
10 /ACK In Acknowledge (Підтвердження)
11 BUSY In Busy (Зайнято)
12 PE In Paper End (Кінець паперу)
13 SEL In Select (Вибір)
14 /AUTOFD Out Autofeed (Переклад рядка)
15 /ERROR In Error (Помилка)
16 /INIT Out Initialize (Ініціалізація)
17 /SELIN Out Select In (Вибір)
18 GND Signal Ground (Корпус)
19 GND Signal Ground (Корпус)
20 GND Signal Ground (Корпус)
21 GND Signal Ground (Корпус)
22 GND Signal Ground (Корпус)
23 GND Signal Ground (Корпус)
24 GND Signal Ground (Корпус)
25 GND Signal Ground (Корпус)

Сигнали Centronics мають наступне призначення (тип вихідних каскадів для всіх сигналів – ТТЛ):

D0…D7 – 8-розрядна шина даних для передачі з комп’ютера в принтер. Логіка сигналів позитивна.

-STROBE – Сигнал стробування даних. Дані дійсно як по передньому, так і по задньому фронту цього сигналу. Сигнал говорить приймачу (принтеру), що можна приймати дані.

-ACK – Сигнал підтвердження прийняття даних і готовності приймача (принтера) прийняти наступні дані. Тобто тут реалізується асинхронний обмін.

BUSY – Сигнал зайнятості принтера обробкою отриманих даних і неготовність прийняти наступні дані. Активний також при переході принтера в стан off-line або при помилці, а також за відсутності паперу. Комп’ютер починає новий цикл передачі тільки після зняття-АСК і після зняття BUSY.

-AUTO FD – Сигнал автоматичного перекладу рядка. Отримавши його, принтер переводить каретку на наступний рядок.
Решта сигнали не є, взагалі кажучи, обов’язковими.

PE – Сигнал кінця паперу. Отримавши його, комп’ютер переходить у режим очікування. Якщо в принтер вставити лист паперу, то сигнал знімається.

SLCT – Сигнал готовності приймача. З його допомогою принтер говорить про те, що він обраний і готовий до роботи. У багатьох принтерів має постійно високий рівень.

-SLCT IN – Сигнал принтеру про те, що він вибраний і послідує передача даних.

-ERROR – Сигнал помилки принтера. Активний при внутрішньої помилку, переході принтера в стан off-line або за відсутності паперу. Як бачимо, тут багато сигнали дублюють один одного.

-INIT – Cигнал ініціалізації (скидання) принтера. Його тривалість не менше 2,5 мкс. Відбувається очищення буфера друку.
Тимчасова діаграма циклу передачі даних представлена ​​на малюнку 1.

Рис.1. Тимчасові діаграми циклу передачі даних у Centronics
(Всі тимчасові інтервали в наносекундах).

Перед початком циклу передачі даних комп’ютер повинен переконатися, що зняті сигнали BUSY і-ACK. Після цього виставляються дані, формується строб, знімається строб, і знімаються дані. Принтер повинен встигнути прийняти дані з обраним темпом. При отриманні стробу принтер формує сигнал BUSY, а після закінчення обробки даних виставляє сигнал-ACK, знімає BUSY і знімає-ACK. Потім може починатися новий цикл.

Усі сигнали інтерфейсу Centronics передаються в рівнях ТТЛ і розраховані на підключення одного стандартного входу ТТЛ. Максимальна довжина з’єднувального кабелю за стандартом – 1,8 м.

Як видно з таблиці 1.10, в інтерфейсі Centronics для підключення до комп’ютера довільних УС ми можемо використовувати 17 ліній, призначення яких можна вибирати на свій розсуд.

Формування і прийом сигналів інтерфейсу Centronics проводиться шляхом запису і читання виділених для нього портів введення / виведення. У комп’ютері може використовуватися три порти Centronics, що позначаються LPT1 (Базовий адресу 378h), LPT2 (базовий адресу 278h) і LPT3 (базовий адресу 3BCh). При цьому LPT3 використовується в тому випадку, коли контролер принтера знаходиться на платі графічного адаптера Hercules або EGA. Переривання портів принтерів (IRQ5 для LPT2 і IRQ7 для LPT1) використовуються дуже рідко.

Базовий адреса порту використовується для передачі принтеру байта даних. Встановлені на лініях дані можна вважати з цього ж порту.

Наступна адреса (базовий + 1) служить для читання бітів стану принтера (біт 3 соответсвует сигналу-EEROR, біт 4 – сигналу РЕ, біт 6 – сигналу-ACK, біт 7 – сигналу BUSY). Останній використовуваний адресу (базовий + 2) призначається для запису бітів управління принтером (біт 0 відповідає сигналу-STROBE, біт 1 – сигналу-AUTO FD, біт 2 – сигналу-INIT, біт 3 – сигналу -SLCT IN і нарешті біт 4, дорівнює одиниці, дозволяє переривання від принтера).
Джерело: gaw.ru