Основным достоинством использования 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 (Корпус) |
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, равный единице, разрешает прерывание от принтера).
Источник: gaw.ru