Интерфейсы ПК

       

Прием данных в байтном режиме


Рисунок 1.4. Прием данных в байтном режиме

Фазы приема байта данных:

1. Хост сигнализирует о готовности приема данных уста- новкой низкого уровня на линии HostBusy.

2. ПУ в ответ помещает байт данных на линии Data [0:7].

3. ПУ сигнализирует о действительности байта установкой низкого уровня на линии PtrClk.

4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой байта.

5. ПУ отвечает установкой высокого уровня на линии PtrClk.

6. Хост подтверждает прием байта импульсом HostCIR.

7. Шаги 1-6 повторяются для каждого следующего байта.

Побайтный режим позволяет поднять скорость обратного канала до скорости прямого канала в стандартном режиме. Однако он может работать только на двунаправленных портах.

Режим ЕРР

Протокол ЕРР (Enhanced Parallel Port - улучшенный парал- лельный порт) был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия IEEE 1284. Он предназначен для повышения производительности обмена по параллельному порту. ЕРР был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят мно- жеством компаний как дополнительный протокол параллель- ного порта. Версии протокола, реализованные до принятия IEEE 1284, отличаются от нынешнего стандарта (см. далее).

Протокол ЕРР обеспечивает четыре типа циклов обмена:



запись данных;

ш чтение данных;

запись адреса;

чтение адреса.

Назначение циклов записи и чтения данных очевидно. Ад- ресные циклы используются для передачи адресной, каналь- ной и управляющей информации. Циклы обмена данными отличаются от адресных циклов применяемыми стробирую- щими сигналами. Назначение сигналов порта ЕРР и их связь с сигналами SPP объясняются в табл. 1.6.

Контакт

Сигнал SPP

Имя в ЕРР

I/O

Описание

1

Strobe"

Write#

0

Низкий уровень - цикл записи, высокий - цикл чтения

14

AutoLF#

DataStb#

0

Строб данных. Низкий уровень устанавливается в циклах передачи данных

17

Selecting

AddrStbft

о

Строб адреса. Низкий уро- вень устанавливается в ад- ресных циклах

16

lnit"

Reset"

о

Сброс ПУ (низким уровнем)

10

Ack#

INTR#

I

Прерывание от ПУ

11

Busy

Wait#

Сигнал квитирования. Низкий уровень разрешает начало цикла (установку строба в низкий уровень), переход в высокий - раз- решает завершение цикла (снятие строба)

2-9

Data [0:7]

AD[0:7]

I/O

Двунаправленная шина адреса/данных

12

PaperEnd

AckDataReq*

I

Используется по усмотрению разработчика периферии

13

Select

Xflag*

I

Используется по усмотрению разработчика периферии

15

Error#

DataAvail#*

'

Используется по усмотрению разработчика периферии

<
* Сигналы действуют в последовательности согласования (см. далее).

2 Зак.№530

ЕРР- порт имеет расширенный набор регистров (табл. 1.7), который занимает в пространстве ввода/вывода 5-8 смеж- ных байт.

Имя регистра

Смещение

Режим

R/W

Описание

SPP Data Port

+0

SPP/EPP

W

Регистр данных SPP

SPP Status Port

+1

SPP/EPP

R

Регистр состояния SPP

SPP Control Port

+2

SPP/EPP

W

Регистр управления SPP

EPP Address Port

+3

EPP

R/W

Регистр адреса EPP. Чтение или запись в него генерирует связан- ный цикл чтения или записи адреса EPP

EPP Data Port

+4

EPP

R/W

Регистр данных EPP. Чтение (запись) гене- рирует связанный цикл чтения (записи) дан- ных EPP

Not Defined

+5...+7

EPP

N/A

В некоторых кон- троллерах могут исполь- зоваться для 16-/ 32-битных операций ввода/вывода

В отличие от программно-управляемых режимов, описанных ранее, внешние сигналы fPP-порта для каждого цикла об- мена формируются аппаратно по одной операции записи или чтения в регистр порта. На Рисунок 1.5 приведена диаграмма иик- ла записи данных, иллюстрирующая внешний цикл обмена, вложенный в цикл записи системной шины процессора (иног- да эти циклы называют связанными). Адресный цикл запи- си отличается от цикла данных только стробом внешнего ин- терфейса.

Цикл записи данных состоит из следующих фаз:

1. Программа выполняет цикл вывода (IOWR#) в порт 4 (EPP Data Port).

2. Адаптер устанавливает сигнал Write* (низкий уровень), и данные помещаются на выходную шину LPT-порта.

3. При низком уровне Wart# устанавливается строб данных.

4. Порт ждет подтверждения от ПУ (перевода Wait# в вы- сокий уровень).

5. Снимается строб данных - внешний ЕРР-цикл завер- шается.

6. Завершается процессорный цикл вывода.

7. ПУ устанавливает низкий уровень Wait#, указывая на возможность начала следующего цикла.


Содержание раздела