Традиционный LPT-порт - 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 инвертируется -- низкому уровню сигнала соответствует единичное значению бита в регистре, и наоборот.

Назначение бит регистра состояния (в скобках даны номера контактов разъема):

SR.7--Busy -- инверсные отображения состояния линии Busy (11);

SR.6 --АСК (Acknowledge) -- отображения состояния линии Ack# (10).

SR.5 --РЕ (Paper End) -- отображения состояния линии Paper End (12).

SR.4--Select -- отображения состояния линии Select (13). Единичное значение соответствует cигналу о включении принтера.

SR.3--Error -- отображения состояния линии Error (15).

SR.2 -- PIRQ -- флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

SR[1:0] -- зарезервированы.

Control Register (CR) -- Регистр управления, адрес=ВА5Е+2. Как и регистр данных, этот 4-битный порт вывода допускает запись и чтение (биты 0-3), но его выходной буфер обычно имеет тип Открытый коллектор. Это позволяет более корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты О, 1, 3 инвертируются -- единичному значению в регистре соответствует низкий уровень сигнала, и наоборот.

Назначение бит регистра управления:

CR[7:6] -- зарезервированы.

CR.5 -- Direction -- бит управления направлением передачи (только для портов PS/2). Запись единицы переводит порт данных в режим ввода.

CR.4 --ACKINTEN (Ack Interrupt Enable) -- единичное значение разрешает прерывание по спаду сигнала на линии Ackff -- сигнал запроса следующего байта.

CR.3 -- Select In -- единичное значение бита соответствует низкому уровню на выходе Selecting (17) -- сигналу, разрешающему работу принтера по интерфейсу Centronics.

CR.2 -- Init -- нулевое значение бита соответствует низкому уровню на выходе Imt# (16) -- сигнал аппаратного сброса принтера.

CR.1 -- Auto LF -- единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) -- сигналу на автоматический перевод строки (LF -- Line Feed) по приему байта возврата каретки (CR -- Carriage Return).

CR. O --Strobe -- единичное значение бита соответствует низкому уровню на выходе Strobeff (1) -- сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (АСК#) при установке CR.4=1. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта.

Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора):

Вывод байта в регистр данных (1 цикл IOWR#).

Ввод из регистра состояния и проверка готовности устройства (бит SR.7 -- сигнал BUSY).

По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла lOWRff).

Стандартный порт сильно асимметричен -- при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен Режим полубайтного обмена -- Nibble Mode. В этом режиме, называемым также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования.

Похожие статьи




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

Предыдущая | Следующая