Основным назначением
интерфейса Centronics является
подключение к компьютеру принтеров различных типов. Поэтому распределение
контактов разъема, назначение сигналов, программные средства управления
интерфейсом ориентированы именно на это использование. Вто же время с помощью
данного интерфейса можно подключать к компьютеру и другие внешние устройства,
имеющие разъем Centronics, а также специально разработанные УС.
Основным
достоинством использования Centronics для подключения УС по сравнению с ISA
является значительно меньший риск вывести компьютер из строя. Главный
недостаток этого подхода - значительно меньшая скорость обмена. Назначение 36
контактов разъема Centronics приведено в таблице 1.
Таблица 1. Назначение контактов разъемов Centronics
Вывод |
Наименование |
Направление |
Описание |
1 |
/STROBE |
Out |
Strobe (Строб) |
2 |
D0 |
Out |
Data Bit 0 |
3 |
D1 |
Out |
Data Bit 1 |
4 |
D2 |
Out |
Data Bit 2 |
5 |
D3 |
Out |
Data Bit 3 |
6 |
D4 |
Out |
Data Bit 4 |
7 |
D5 |
Out |
Data Bit 5 |
8 |
D6 |
Out |
Data Bit 6 |
9 |
D7 |
Out |
Data Bit 7 |
10 |
/ACK |
In |
Acknowledge (Подтверждение) |
11 |
BUSY |
In |
Busy (Занято) |
12 |
PE |
In |
Paper End (Конец бумаги) |
13 |
SEL |
In |
Select (Выбор) |
14 |
/AUTOFD |
Out |
Autofeed (Перевод строки) |
15 |
/ERROR |
In |
Error (Ошибка) |
16 |
/INIT |
Out |
Initialize (Инициализация) |
17 |
/SELIN |
Out |
Select In (Выбор) |
18 |
GND |
- |
Signal Ground (Корпус) |
19 |
GND |
- |
Signal Ground (Корпус) |
20 |
GND |
- |
Signal Ground (Корпус) |
21 |
GND |
- |
Signal Ground (Корпус) |
22 |
GND |
- |
Signal Ground (Корпус) |
23 |
GND |
- |
Signal Ground (Корпус) |
24 |
GND |
- |
Signal Ground (Корпус) |
25 |
GND |
- |
Signal 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, равный единице, разрешает прерывание от принтера).