D2 | OUT | 4
5 | D3 | OUT | 5
6 | D4 | OUT | 6
7 | D5 | OUT | 7
8 | D6 | OUT | 8
9 | D7 | OUT | 9
10 | -ASK | IN | 10
11 | BUSY | IN | 11
12 | PE | IN | 12
13 | SLCT | IN | 13
14 | -AUTO FD | OUT | 14
15 | - ERROR | IN | 32
16 | - INIT | OUT | 31
17 | - SLCT IN | OUT | 36
18…25 | GND | ___ | 16, 17, 19 … 30, 33
кількох сигналів, що дублюють одне одного.
Перед початком циклу передачі даних комп’ютер повинен переконатися, що сигнали BUSY та АСК зняті. Після цього виставляються дані, формується строб, знімається строб та знімаються дані. Принтер повинен встигнути прийняти дані з вибраним темпом. При отриманні строба принтер формує сигнал BUSY, а після закінчення обробки даних виставляє сигнал –АСК, знімає BUSY та знімає –АСК. Після чого починається новий цикл.
Всі сигнали інтерфейсу Centronics розраховані на підключення одного стандартного входу ТТЛ. Максимальна довжина з’єднювального кабеля по стандарту – 1,8м.
Всі перераховані сигнали інтерфейсу , можна поділити на чотири групи :
1 – восьмирозрядна шина даних для запису з комп’ютера ( сигнали D0…D7 ) ;
2 – чотирирозрядна шина керування для запису з комп’ютера ( сигнали - ---STROBE, - AUTO FD, - INIT та -SLCT IN ) ;
3 – п’ятирозрядна шина стану для читання в комп’ютер ( сигнали – ACK, BUSY, PE, SLCT та – ERROR );
4 – шина “землі”.
Всі сигнали програмно доступні, що дозволяє реалізувати довільні протоколи інформаційного обміну в рамках наявного їх набору та швидкодії комп’ютера.
Найпростіший аналіз набору сигналів дозволяє виділити основну проблему, що виникає при спряженні пристроїв з інтерфейсом Centronics.
Поскільки шина даних є однонаправленою, що дозволяє використовувати її тільки на вивід , для вводу даних необхідно використовувати сигнали з п’ятирозрядної шини стану. Таким чином, якщо не застосовувати спеціальних дій , розрядність інформаційного обміну по читанню обмежена п’ятьма лініями.
Формування та прийом сигналів інтерфейсу Centronics відбувається шляхом запису та читання виділених для нього портів вводу/виводу. В комп’ютері може використовуватися три порти Centronics, позначених LPT1 ( базова адреса 378h ), LPT2 ( базова адреса 278h ) та LPT3 ( базова адреса 3BCh ).
Паралельний порт має три адреси в просторі пристроїв вводу-виводу комп’ютера : BASE – регістр даних, BASE + 1 – регістр стану,
BASE +2 – регістр керування.
Базова адреса порту використовується для передачі принтеру байта даних. Встановлені на лініях дані можна вважати з цього ж порту.
Наступна адреса ( базовий +1) служить для читання бітів стану принтера ( біт 3 відповідає сигналу –ERROR, біт 4 - сигналу SLCT, біт5 – сигналу РЕ, біт 6 – сигналу АСК, біт 7 – сигналу BUSY ). Остання адреса (базовий + 2 ) призначена для запису бітів керування принтером ( біт 0 відповідає сигналу – STROBE, біт 1 – сигналу – AUTO FD, біт 2 – сигналу INIT, біт 3 – сигналу SLCT IN, біт4, якщо дорівнює одиниці, - дозволяє переривання від принтера ).
Програмування підключеної до паралельного порту апаратури полягає в установці відповідних бітів в регістрах даних та керування і читанні відповідних бітів з регістра стану. При цьому, якщо з регістром даних проблем не виникає ( це звичайний байтовий регістр ), то два інші регістри мають деякі особливості. По-перше деякі біти є інверсними. При запису до регістру керування нуля в цих бітах встановлюються одиниці, якщо на входах регістру стану встановлені нулі, то з цих бітів зчитуються одиниці .По-друге, якщо чотири біти регістру керування розташовані в молодших бітах байта ( біти 0-3 ), п’ять бітів регістру стану – в старших (біти 3-7 ). Повна інформація про відображення сигналів шин керування та стану інтерфейсу Centronics у регістрах паралельного порту комп’ютера.. наведена в таблиці 2.4.
Таблиця 2-4 Сигнали шин інтерфейсу Centronics
ШИНА | СИГНАЛ | БІТ | НАЯВНІСТЬ ІНВЕРСІЇ
КЕРУВАННЯ | -STROBE | 0 | ІНВЕРСНИЙ
- AUTO FD | 1 | ІНВЕРСНИЙ
| - INIT | 2 | ПРЯМИЙ
- SELECT IN | 3 | ІНВЕРСНИЙ
СТАН | - ERROR | 3 | ПРЯМИЙ
SLCT | 4 | ПРЯМИЙ
PE | 5 | ПРЯМИЙ
- ACK | 6 | ПРЯМИЙ
- BUSY | 7 | ІНВЕРСНИЙ