повернення каретки), автоматично виконує і функцію LF (Line Feed – переведення рядка)
Error# | О | 32 | Помилка; кінець паперу, стан OFF-Line або внутрішня помилка принтера
Imt# | І | 31 | Ініціалізація (скидання в режим параметрів умовчання, повернення до початку рядка)
Slctln# | І | 36 | Вибір принтера (низьким рівнем). При високому рівні принтер не сприймає решту сигналів інтерфейсу
GND | - | 19-30 33 | Спільний дріт інтерфейсу
* І/O задає напрям (вхід/вихід) стосовно принтера.
Рис. 1.. Передача даних по протоколу Centronics
Інтерфейс Centronics підтримується більшістю принтерів з паралельним інтерфейсом.
1.1.2. Традиційний LPT-порт
Традиційний (стандартний) порт SPP (Standard Parallel Port) є однонаправленим портом, на базі якого програмно реалізується протокол обміну Centronics. Порт забезпечує можливість вироблення запиту апаратного переривання по імпульсу на вході АСК#. Сигнали порту виводяться на роз'єм DB-25S (розетка), встановлений безпосередньо на платі адаптера (або системній платі) або що сполучається з нею плоским шлейфом. Назва і призначення сигналів роз'єму порту (табл. 1.2) відповідають інтерфейсу Centronics.
Таблиця 1.
Роз'єм стандартного LPT-порту
Контакт DB-25S | Провід шлейфа | Призначення
І/O* | Reg.Bit** | Сигнал
1 | 1 | О/І | CR: 0\ | Strobe#
2 | 3 | О(І) | DR: 0 | DataO
3 | 5 | О(І) | DR: 1 | Data 1
4 | 7 | О(І) | DR:2 | Data 2
5 | 9 | О(І) | DR:3 | Data 3
6 | 11 | О(І) | DR: 4 | Data 4
7 | 13 | О(І) | DR: 5 | Data 5
8 | 15 | О(І) | DR:6 | Data 6
9 | 17 | О(І) | DR:7 | Data 7
10 | 19 | І*** | SR:6 | Ack#
11 | 21 | І | SR:7\ | Busy
12 | 23 | І | SR:5 | PaperEnd
13 | 25 | І | SR:4 | Select
14 | 2 | О/І | CR: 1\ | Auto LF#
15 | 4 | І | SR:3 | Error»
16 | 6 | О/І | CR:2 | Init#
17 | 8 | О/І | CR:3\ | Select In#
18-25 | 10, 12, 14, 16 | 18, 20, 22, 24, 26–
* І/O задає напрям передачі (вхід/вихід) сигналу порту. О/І позначає вихідні лінії, стан яких прочитується при читанні з відповідних портів виведення; О(І) – вихідні лінії, стан яких може бути прочитаним тільки за деяких особливих умов.
** Символом «\» відзначені інвертовані сигнали (1 в регістрі відповідає низькому рівню лінії).
*** Вхід Ack# з'єднаний резистором (10 кОм) з живленням +5 В.
Стандартний порт має три 8-бітні регістри, розташовані за сусідніми адресами в просторі введення/виведення, починаючи з базової адреси порту (BASE).
Data Register (DR) – регістр даних, адреса = BASE. Дані, записані в цей порт, виводяться на вихідні лінії інтерфейсу. Дані, прочитані з цього регістра, залежно від схемотехніки адаптера відповідають або раніше записаним даним, або сигналам на тих же лініях, що не завжди одне і те ж. Якщо в порт записати байт з одиницями у всіх розрядах, а на вихідні лінії інтерфейсу через мікросхеми з виходом типу «відкритий колектор» подати який-небудь код (або з'єднати ключами якісь лінії зі схемною землею), то цей код може бути прочитаним з того ж регістра даних. Таким чином на багатьох старих моделях адаптерів можна реалізувати порт введення дискретних сигналів, проте вихідним ланцюгам передавача інформації доведеться «боротися» з вихідним струмом логічної одиниці вихідних буферів адаптера. Проте сучасні адаптери часто мають у вихідному ланцюзі резистор з опором до 50 Ом. Вихідний струм короткого замикання виходу на землю звичайно обмежений передавачем на рівні близько 30 мА. У разі навіть короткого замикання контакту роз'єму на землю при виведення «одиниці» на цьому резисторі падає напруга 1,5 В, що вхідною схемою приймача буде сприйнято як та ж «одиниця». Так що розраховувати на те, що такий спосіб введення буде працювати на всіх комп'ютерах із стандартними портами, не варто.
На деяких адаптерах портів вихідний буфер може відключатися перемичкою на платі, і тоді цей порт перетворюється на звичайний порт введення, але таких адаптерів, мабуть, вже і не знайти.
Status Register (SR) – регістр стану, що є 5-бітним портом введення сигналів стану принтера (биті SR.4-SR.7), адресою BASE+1. Біт SR.7 інвертується – низькому рівню сигналу відповідає одиничне значенню біта в регістрі, і навпаки.
Призначення бітів регістра стану (в дужках дані номери контактів роз'єму):
SR.7 – Busy – інверсні відображення стану лінії Busy (II): при низькому рівні на лінії встановлюється одиничне значення біта – дозвіл на виведення чергового байта.
SR.6 – АСК (Acknowledge) – відображення стану лінії Ack# (10).
SR.5 – РЕ (Paper End) – відображення стану лінії Paper End (12). Одиничне значення відповідає високому рівню лінії – сигналу про кінець паперу в принтері.
SR.4 – Select – відображення стану лінії Select (13). Одиничне значення відповідає високому рівню лінії – сигналу про включення принтера.
SR.3 – Error – відображення стану лінії Error (15). Нульове значення відповідає низькому рівню лінії – сигналу про будь-яку помилку принтера.
SR.2 – PIRQ – прапор переривання по сигналу Ack# (тільки для порту PS/2). Біт обнуляється, якщо сигнал Ack# викликав апаратне переривання. Одиничне значення встановлюється по апаратному скиданню і після читання регістра стану.
SR[1:0] – зарезервовані.
Control Register (CR) – регістр управління, адреса = ВА5Е + 2. Як і регістр даних, цей 4-бітний порт виведення