Параллельные интерфейсы — Centronics, IEEE , ИPNP
Параллельный интерфейс Centronics ориентирован на передачу потока байт данных к принтеру и прием сигналов состояния принтера. Этот интерфейс поддерживается всеми LPT-портами компьютеров. Его отечественным аналогом является интерфейс ИPNP-М. Понятие «Centronics» относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему на принтерах. Назначение сигналов интерфейса приведено в табл. 8.3, а временные диаграммы обмена с принтером показаны на рис. 8.5.
Таблица 8.3. Сигналы интерфейса Centronics
Рис. 8.5. Передача данных по протоколу Centronics
Передача данных начинается с проверки готовности принтера — состояния линии Busy. Строб данных может быть коротким — доли микросекунды, и порт заканчи-
322_________ Глава 8. Специализированные интерфейсы периферийных устройств
вает его формирование, не обращая внимания на сигнал Busy. Во время строба данные должны быть действительными. Подтверждением приема байта (символа) является сигнал Ack#, который вырабатывается после приема строба через неопределенное время (за это время принтер может выполнять какую-либо длительную операцию, например прогон бумаги). Импульс Ack# является запросом принтера на прием следующего байта, его задействуют для формирования сигнала прерывания от порта принтера. Если прерывания не используются, то сигнал Ack# игнорируется и весь обмен управляется парой сигналов Strobe* и Busy. Свое состояние принтер может сообщить порту по линиям Select, Error*, PaperEnd — по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии lnit# принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического перевода строки, как правило, не пользуются, и сигнал AutoLF* имеет высокий уровень. Сигнал Selectln* позволяет логически отключать принтер от интерфейса.
Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP), достигая скорости передачи до 150 Кбайт/с при полной загрузке процессора.
8.3. Интерфейсы принтеров и плоттеров
323
Таблица 8.4. Кабель подключения принтера
Х1, разъем PC типа А Сигнал
X2, разъем PRN типа В X2, разъем PRN типа С
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Strobe» |
1 |
DataO |
2 |
Data1 |
3 |
Data2 |
4 |
DataS |
5 |
Data4 |
6 |
DataS |
7 |
Data6 |
8 |
Data7 |
9 |
Ack# |
10 |
Busy |
11 |
PaperEnd |
12 |
Select |
13 |
Auto LF# |
14 |
Error# |
32 |
lnit# |
31 |
Select ln# |
36 |
GND(1) |
19 |
GND (2 3) |
20 21 |
GND (4 5) |
22 23 |
GND (6 7) |
24 25 |
GND (8 9) |
26 27 |
GND(11 15) |
29 |
GND(101213) |
28 |
GND(141617) |
30 |
6
7
8
9
10
11
12
13
3
1
5
2
17
4
14
16
33
24 25
26 27
28 29
30 31
19 22
20 21 23
32 34 35
Ряд отечественных (и стран бывшего СЭВ) принтеров имеет интерфейс ИPNP (IFSP в документации на принтеры ROBOTRON). Он является близким родственником интерфейса Centronics, а отличия перечислены ниже.
¦ Линии данных инвертированы.
¦ Протокол квитирования несколько иной.
324
Глава 8. Специализированные интерфейсы периферийных устройств
¦ Ко всем входным линиям (на принтере) подключены пары согласующих ре
зисторов: 220 Ом к питанию +5 В и 330 Ом к общему проводу. Это позволяет использовать длинные кабели, но перегружает большинство интерфейсных адаптеров PC.
¦ Сигналы ошибки и конца бумаги отсутствуют.
Интерфейс ИPNP может быть программно реализован через обычный LPT-порт, но для устранения перегрузки выходных линий согласующие резисторы из принтера желательно удалить. Порт, перегруженный по выходу, может преподносить всякого рода сюрпризы (естественно, неприятные и трудно диагностируемые).