logo
Конспект ВМСиС

Традиционный lpt-порт

Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics.

Таблица 2.

Разъем стандартного LPT-порта

Контакт DB-25S

Провод шлейфа

Назначение

I/O*

Reg.Bit**

Сигнал

1

1

0/1

CR: 0\

Strobe#

2

3

0(1)

DR:0

Data 0

3

5

0(1)

DR: 1

Data 1

4

7

0(1)

DR: 2

Data 2

5

9

0(1)

DR:3

Data 3

6

11

0(1)

DR: 4

Data 4

7

13

0(1)

DR:5

Data 5

8

15

0(1)

DR:6

Data 6

9

17

0(1)

DR:7

Data 7

10

19

I

SR: 6

Ack#

11

21

I

SR: 7\

Busy

12

23

I

SR: 5

PaperEnd

13

25

I

SR: 4

Select

14

2

0/1

CR: 1\

Auto LF#

15

4

I

SR: 3

Error#

16

6

0/1

CR: 2

Init#

17

8

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 бита данных, пятая линия используется для квитирования.