Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интерфейсы периферийных устройств 9 семестр.pdf
Скачиваний:
24
Добавлен:
04.06.2015
Размер:
495.81 Кб
Скачать

Фазовые переходы:

1.Запись данных в регистр данных (1 цикл I/O)

2.Чтение регистра состояния, чтобы проверить принтер на занятость (BUSY)

3.Если принтер не занят, то производится запись в Регистр Управления, чтобы установить линию

STROBE

4.Производится запись в Регистр Управления, чтобы сбросить линию STROBE

Для вывода одного байта данных требуется четыре I /O инструкции и много дополнительных инструкций. В результате полоса пропускания порта ограничена величиной примерно 150КБ в секунду.

Режим EPP

Протокол Расширенного параллельного порта был первоначально разработан Intel, Xircom и Zenith Data Systems как средство для обеспечения высокопроизводительной связи через параллельный порт, которая будет все еще совместима со стандартным параллельным портом.

EPP протокол обеспечивает четыре типа циклов передачи данных:

1.Цикл записи данных

2.Цикл чтения данных

3.Цикл записи адреса

4.Цикл чтения адреса

Циклы Данных предназначены для передачи данных между ведущим и периферией. Циклы Адреса могут использоваться для передачи адреса, канала, или команды и управляющей информации. Эти циклы могут рассматриваться просто как два различных цикла данных. Разработчик может использовать и интерпретировать информацию адреса/данных любым способом, который имеет смысл для конкретного проекта.

EPP сигналы и связанные с ними SPP сигналы:

 

 

 

 

 

 

 

 

 

Сигнал SPP

 

Сигнал EPP

 

Input/Output

 

Описание сигнала EPP

 

 

 

 

 

 

 

 

 

Strobe#

 

Write#

 

Out

 

Указывает на действие записи. Высокий в цикле чтения.

 

 

 

 

 

 

 

 

 

Auto Feed#

 

Data STB#

 

Out

 

Указывает на то, что операция Data_Read или Data_Write

 

 

 

 

 

 

 

 

находится в процессе выполнения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Select In#

 

Addr STB#

 

Out

 

Указывает, что операция Address_Read или Address_Write

 

 

 

 

 

 

 

 

находится в процессе выполнения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Init#

 

Reset#

 

Out

 

Сброс Периферии.

 

 

 

 

 

 

 

 

 

Ack#

 

Intr#

 

In

 

Используется для выдачи прерывания ведущему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Busy

 

Wait#

 

In

 

строб), высокий указывает, что надо закончить цикл (сбросить

 

 

 

 

 

 

 

строб).

 

Data[7:0]

 

AD[7:0]

 

In/Out

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Paper End

 

Польз-ль

 

In

 

Может Использоваться по-разному каждой периферией

 

Select

 

Польз-ль

 

In

 

Может Использоваться по-разному каждой периферией

 

 

 

 

 

 

 

 

 

 

 

 

 

Error

 

Польз-ль

 

In

 

Может Использоваться по-разному каждой периферией

 

 

 

 

 

 

 

 

Регистры интерфейса EPP

 

 

 

 

 

 

Read

 

 

 

 

 

 

 

 

 

 

 

Имя порта

 

Смещение

 

Режим

/

 

Описание

 

 

 

 

 

 

Write

 

 

 

 

 

 

 

 

 

 

 

 

Порт данных SPP

 

+0

 

SPP/EPP

W

 

Стандартный порт данных SPP. Без

 

 

 

 

 

 

 

 

автостробирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт статуса SPP

 

+1

 

SPP/EPP

R

 

Чтение входов линий статуса интерфейса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт управления SPP

 

+2

 

SPP/EPP

W

 

Устанавливает состояние выходных линий

 

 

 

 

 

 

 

 

управления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт адреса EPP

 

+3

 

EPP

RW

 

Генерация цикла чтения или записи адреса с

 

 

 

 

 

 

 

 

рукопожатием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт данных EPP

 

+4

 

EPP

RW

 

Генерация цикла чтения или записи данных с

 

 

 

 

 

 

 

 

рукопожатием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Не определено

 

От +5 до +7

 

EPP

N/A

 

Используется по-разному в разных реализациях.

 

 

 

 

 

 

 

 

 

Фазовые переходы:

1.Программа выполняет I/O цикл записи в порт 4 (EPP Порт Данных)

2.Линия Write# установлена, и данные находятся на выходе параллельного порта

3.Строб данных установлен, с этого момента на DataStrobe# (в оригинале WAIT#) низкий уровень

4.Порт ждет подтверждения от периферии (WAIT# сброшен)

5.Строб данных сброшен и цикл EPP окончен

6.ISA I/O цикл окончен

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

Одной из наиболее важных особенностей является то, что полная передача данных происходит в пределах одного ISA I/O цикла. Следовательно, используя EPP протокол для передачи данных, система может достигать скоростей передачи от 500КБ до 2Mбайт в секунду. Таким образом, периферийные устройства, подключенные к порту, могут работать с той же производительностью, что и вставная плата ISA. Способность получить этот уровень производительности от устройства, подключенного к параллельному порту - одна из главных особенностей EPP протокола.