Традиционный LPT-порт
Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics.
Таблица 2.
Разъем стандартного LPT-порта
Контакт DB-25S | Провод шлейфа | Назначение | ||
I/O* | Reg.Bit** | Сигнал | ||
0/1 | CR: 0\ | Strobe# | ||
0(1) | DR:0 | Data 0 | ||
0(1) | DR: 1 | Data 1 | ||
0(1) | DR: 2 | Data 2 | ||
0(1) | DR:3 | Data 3 | ||
0(1) | DR: 4 | Data 4 | ||
0(1) | DR:5 | Data 5 | ||
0(1) | DR:6 | Data 6 | ||
0(1) | DR:7 | Data 7 | ||
I | SR: 6 | Ack# | ||
I | SR: 7\ | Busy | ||
I | SR: 5 | PaperEnd | ||
I | SR: 4 | Select | ||
0/1 | CR: 1\ | Auto LF# | ||
I | SR: 3 | Error# | ||
0/1 | CR: 2 | Init# | ||
0/1 | CR:3\ | Select In# | ||
18-25 | 10, 12, 14, 16 | 18, 20, 22, 24, 26 | - | - |
* I/O задает направление передачи (вход/выход) сигнала порта; 0/I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода.
** Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.
Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE).
Data Register (DR) — регистр данных, адрес= BASE. Данные, записанные в этот порт, выводятся на выходные линии интерфейса. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях.
Status Register (SR) — регистр состояния, представляющий собой 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7), адрес= BASE+1. Бит SR.7 инвертируется — низкому уровню сигнала соответствует единичному значению бита в регистре, и наоборот.
Control Register (CR) — регистр управления, адрес=ВА5Е+2. Как и регистр данных, этот 4-битный порт вывода допускает запись и чтение (биты 0-3), но его выходной буфер обычно имеет тип открытый коллектор. Это позволяет более корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты О, 1, 3 инвертируются — единичному значению в регистре соответствует низкий уровень сигнала, и наоборот.
Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (АСК#) при установке CR.4=1. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта.
Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора):
Вывод байта в регистр данных (1 цикл IOWR#).
Ввод из регистра состояния и проверка готовности устройства (бит SR.7 — сигнал BUSY).
По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла IOWRff).
Стандартный порт сильно асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена — Nibble Mode. В этом режиме, называемом также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования.
Дата добавления: 2015-07-24; просмотров: 666;