Стандартный параллельный интерфейс на PC

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

Основным достоинством использования Centronics для подключения УС по сравнению с ISA является значительно меньший риск вывести компьютер из строя. Главный недостаток этого подхода — значительно меньшая скорость обмена. Назначение 36 контактов разъема Centronics приведено в таблице 1.

Таблица 1. Назначение контактов разъемов Centronics

ВыводНаименованиеНаправлениеОписание
1/STROBEOutStrobe (Строб)
2D0OutData Bit 0
3D1OutData Bit 1
4D2OutData Bit 2
5D3OutData Bit 3
6D4OutData Bit 4
7D5OutData Bit 5
8D6OutData Bit 6
9D7OutData Bit 7
10/ACKInAcknowledge (Подтверждение)
11BUSYInBusy (Занято)
12PEInPaper End (Конец бумаги)
13SELInSelect (Выбор)
14/AUTOFDOutAutofeed (Перевод строки)
15/ERRORInError (Ошибка)
16/INITOutInitialize (Инициализация)
17/SELINOutSelect In (Выбор)
18GNDSignal Ground (Корпус)
19GNDSignal Ground (Корпус)
20GNDSignal Ground (Корпус)
21GNDSignal Ground (Корпус)
22GNDSignal Ground (Корпус)
23GNDSignal Ground (Корпус)
24GNDSignal Ground (Корпус)
25GNDSignal 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, равный единице, разрешает прерывание от принтера).