Книга: Аппаратные интерфейсы ПК. Энциклопедия
8.3.1. Параллельные интерфейсы — Centronics, IEEE 1284, ИРПР
8.3.1. Параллельные интерфейсы — Centronics, IEEE 1284, ИРПР
Параллельный интерфейс Centronics ориентирован на передачу потока байт данных к принтеру и прием сигналов состояния принтера. Этот интерфейс поддерживается всеми LPT-портами компьютеров. Его отечественным аналогом является интерфейс ИРПР-М. Понятие «Centronics» относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему на принтерах. Назначение сигналов интерфейса приведено в табл. 8.3, а временные диаграммы обмена с принтером показаны на рис. 8.5.
Таблица 8.3. Сигналы интерфейса Centronics
Сигнал | I/O? | Контакт | Назначение |
---|---|---|---|
Strobe# | I | 1 | Строб данных. Данные фиксируются по низкому уровню сигнала |
Data [0:7] | I | 2-9 | Линии данных. Data 0 (контакт 2) — младший бит |
Ack# | O | 10 | Acknowledge — импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования запроса прерывания |
Busy | O | 11 | Занято. Прием данных возможен только при низком уровне сигнала |
PaperEnd | O | 12 | Высокий уровень сигнализирует о конце бумаги |
Select | O | 13 | Сигнализирует о включении принтера (обычно в принтере соединяется резистором с цепью + 5 В) |
Auto LF# | I | 14 | Автоматический перевод строки. При низком уровне принтер, получив символ CR (Carriage Return — возврат каретки), автоматически выполняет и функцию LF (Line Feed — перевод строки) |
Error# | O | 32 | Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера |
Init# | I | 31 | Инициализация: сброс в режим параметров умолчания, возврат к началу строки и страницы |
Select In# | I | 36 | Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейса |
GND | - | 19-30, 33 | Общий провод интерфейса |
? I/O задает направление (вход или выход) применительно к принтеру.
Рис. 8.5. Передача данных по протоколу Centronics
Передача данных начинается с проверки готовности принтера — состояния линии Busy
. Строб данных может быть коротким — доли микросекунды, и порт заканчивает его формирование, не обращая внимания на сигнал Busy
. Во время строба данные должны быть действительными. Подтверждением приема байта (символа) является сигнал Ack#
, который вырабатывается после приема строба через неопределенное время (за это время принтер может выполнять какую-либо длительную операцию, например прогон бумаги). Импульс Ack#
является запросом принтера на прием следующего байта, его задействуют для формирования сигнала прерывания от порта принтера. Если прерывания не используются, то сигнал Ack#
игнорируется и весь обмен управляется парой сигналов Strobe#
и Busy
. Свое состояние принтер может сообщить порту по линиям Select
, Error#
, PaperEnd
— по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии Init#
принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического перевода строки, как правило, не пользуются, и сигнал AutoLF#
имеет высокий уровень. Сигнал SelectIn#
позволяет логически отключать принтер от интерфейса.
Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP), достигая скорости передачи до 150 Кбайт/с при полной загрузке процессора. Благодаря «продвинутым» режимам порта протокол может быть реализован и аппаратно (Fast Centronics), при этом скорость до 2 Мбайт/с достигается при меньшей загрузке процессора.
Большинство современных принтеров с параллельным интерфейсом поддерживают и стандарт IEEE 1284, в котором оптимальным режимом передачи является ECP (см. п. 1.3.4).
Для подключения принтера требуется кабель Centronics, пригодный для любых режимов параллельного интерфейса. Простейший вариант кабеля — 18-проводный с неперевитыми проводами — может использоваться для работы в режиме SPP. При длине более 2 м желательно, чтобы хотя бы линии Strobe#
и Busy
были перевиты с отдельными общими проводами. Для скоростных режимов (Fast Centronics, ECP) такой кабель может оказаться непригодным — возможны нерегулярные ошибки передачи, возникающие лишь при определенных последовательностях передаваемых кодов. Встречаются кабели Centronics, у которых отсутствует связь контакта 17 разъема PC с контактом 36 разъема принтера. При попытке подключения таким кабелем принтера, работающего в стандарте 1284, появится сообщение о необходимости применения «двунаправленного кабеля». Принтер не может сообщить системе о поддержке расширенных режимов, на что рассчитывает драйвер принтера. Другое проявление отсутствующей связи — «зависание» принтера по окончании печати задания из Windows. Эту связь можно организовать подпайкой дополнительного провода или же просто заменить кабель.
Неплохие электрические свойства имеют ленточные кабели, у которых сигнальные цепи (управляющих сигналов) чередуются с общими проводами. Но их применение в качестве внешнего интерфейса непрактично (нет второго защитного слоя изоляции, высокая уязвимость) и неэстетично (круглые кабели смотрятся лучше).
Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран — то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с при длине до 10 м.
В табл. 8.4 приводится распайка кабеля подключения принтера с разъемом X1 типа А (DB25-P) со стороны PC и X2 типа В (Centronics-36) или типа С (миниатюрный) со стороны принтера. Использование общих проводов (GND
) зависит от качества кабеля (см. выше). В простейшем случае (18-проводный кабель) все сигналы GND
объединяются в один провод. Качественные кабели требуют отдельного обратного провода для каждой сигнальной линии, однако в разъемах типа А и В для этого недостаточно контактов (в табл. 8.4 в скобках указаны номера контактов разъема PC типа А, которым соответствуют обратные провода). В разъеме типа С обратный провод (GND
) имеется для каждой сигнальной цепи; сигнальным контактам 1-17 этого разъема соответствуют контакты GND 19–35.
Таблица 8.4. Кабель подключения принтера
X1, разъем PC типа А | Сигнал | X2, разъем PRN типа В | X2, разъем PRN типа С |
---|---|---|---|
1 | Strobe# | 1 | 15 |
2 | Data0 | 2 | 6 |
3 | Data1 | 3 | 7 |
4 | Data2 | 4 | 8 |
5 | Data3 | 5 | 9 |
6 | Data4 | 6 | 10 |
7 | Data5 | 7 | 11 |
8 | Data6 | 8 | 12 |
9 | Data7 | 9 | 13 |
10 | Ack# | 10 | 3 |
11 | Busy | 11 | 1 |
12 | PaperEnd | 12 | 5 |
13 | Select | 13 | 2 |
14 | Auto LF# | 14 | 17 |
15 | Error# | 32 | 4 |
16 | Init# | 31 | 14 |
17 | Select In# | 36 | 16 |
18 | GND(1) | 19 | 33 |
19 | GND(2 3) | 20 21 | 24 25 |
20 | GND(4 5) | 22 23 | 26 27 |
21 | GND(6 7) | 24 25 | 28 29 |
22 | GND(8 9) | 26 27 | 30 31 |
23 | GND(11 15) | 29 | 19 22 |
24 | GND(10 12 13) | 28 | 20 21 23 |
25 | GND(14 16 17) | 30 | 32 34 35 |
Ряд отечественных (и стран бывшего СЭВ) принтеров имеет интерфейс ИРПР (IFSP в документации на принтеры ROBOTRON). Он является близким родственником интерфейса Centronics, а отличия перечислены ниже.
? Линии данных инвертированы.
? Протокол квитирования несколько иной.
? Ко всем входным линиям (на принтере) подключены пары согласующих резисторов: 220 Ом к питанию +5 В и 330 Ом к общему проводу. Это позволяет использовать длинные кабели, но перегружает большинство интерфейсных адаптеров PC.
? Сигналы ошибки и конца бумаги отсутствуют.
Интерфейс ИРПР может быть программно реализован через обычный LPT-порт, но для устранения перегрузки выходных линий согласующие резисторы из принтера желательно удалить. Порт, перегруженный по выходу, может преподносить всякого рода сюрпризы (естественно, неприятные и трудно диагностируемые).
- 5.21 IP-адреса, интерфейсы и множественное пребывание
- Множественные интерфейсы и имена методов
- 2.2 Интерфейсы IDE, EIDE и АТА
- 7.5 Программные интерфейсы приложений для адаптеров шины
- Абстрактные базы как двоичные интерфейсы
- Интерфейсы накопителей на жестких магнитных дисках
- Параллельные вычисления
- Глава 10 Интерфейсы компьютерных сетей
- Интерфейсы
- 8.4.4. Цифровые интерфейсы P&D, DVI и DFP
- 8.3.2. Последовательные интерфейсы
- 15.1.3. XPath и другие интерфейсы