Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IEEE-1284.doc
Скачиваний:
45
Добавлен:
30.01.2015
Размер:
401.92 Кб
Скачать

Режим усовершенствованного параллельного порта (epp)

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

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

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

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

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

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

Таблица 2 — Сигналы EPP

Сигнал SPP

Название

сигнала EPP

In / Out

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

nSTROBE

nWRITE

Out

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

nAUTOFEED

nDATASTB

Out

Активный низкий. Указывает на то, что операция Data_Read или Data_Write находится в процессе выполнения.

nSELECTIN

nADDRSTB

Out

Активный низкий. Указывает, что операция Address_Read или Address_Write находится в процессе выполнения.

nINIT

nRESET

Out

Активный низкий. Сброс Периферии.

nACK

nINTR

In

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

BUSY

nWAIT

In

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

D[8:1]

AD[8:1]

Двунаправ-ленный

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

PE

Определяется

пользователем

In

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

SELECT

Определяется

пользователем

In

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

nERROR

Определяется

пользователем

In

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

Рисунок 3 — пример Data_Write цикла. CPU сигнал nIOW показан только для того, чтобы подчеркнуть, что это полное квитирование происходит в пределах единственного I/O цикла.

Рисунок 3 — EPP Data_Write Цикл

Фазовые переходы цикла Записи Данных:

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

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

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

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

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

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

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

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

Квитирование основано на том, что каждый переход сигнала управления подтвержден противоположной стороной интерфейса. В вышеупомянутой диаграмме nDataStrobe может быть установлен, потому что nWAIT низок, nWAIT сбрасывается в ответ на установление nDataStrobe, nDataStrobe сбрасывается в ответ на сбрасываемый nWAIT, и наконец nWAIT устанавливается в ответ на сбрасываемый nDataStrobe. Таким образом, периферия может управлять установкой времени, требуемого для действия. Это выполнено следующим способом: время установки является временем от установления nDataStrobe до сброса nWAIT, периферия управляет этим временем. Преимущество квитирования также состоит в возможности формирования цикла передачи, независимого от длины кабеля. Режимы Тетрады, Байта, EPP и ECP используют квитирование.

Рисунок 3 — пример Address_Read цикла.

Рисунок 3 — EPP Address_Read Цикл

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

Самое простое представление EPP с точки зрения программного обеспечения — расширение определения регистров для стандартного параллельного порта. Как показано ранее, SPP состоит из трех регистров, смещенных от базового адреса порта: порт Данных, порт Статуса и порт Управления. Обычно реализации EPP расширяют это определение, чтобы использовать порты, не определенные SPP. См. таблицу 3.

Таблица 3. Определения регистров EPP

Имя порта

Смещение

Режим

Чтение /

запись

Описание

Порт данных SPP

+0

SPP/EPP

Запись

Стандартный порт данных SPP. Без автостробирования.

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

+1

SPP/EPP

Чтение

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

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

+2

SPP/EPP

Запись

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

Порт адреса EPP

+3

EPP

Чтение /

запись

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

Порт данных EPP

+4

EPP

Чтение /

запись

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

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

От +5 до +7

EPP

N/A

Используется по-разному в разных реализациях. Может использоваться для 16- и 32-разрядного ввода-вывода.

При выполнении одиночной инструкции записи по адресу "базовый_адрес + 4", контроллер EPP произведет необходимые сигналы квитирования и стробы, чтобы передать данные, использующие EPP Data_Write цикл. Инструкции ввода-вывода по базовым адресам, порты от 0 до 2, будут выполняться точно так же, как принято для стандартного параллельного порта. Это гарантирует совместимость со стандартными периферийными устройствами параллельного порта и принтерами. Циклы Адреса генерируются тогда, когда чтение или запись производятся по адресу "базовый_адрес + 3".

Порты от 5 до 7 используются по-разному различными реализациями аппаратных средств. Они могут использоваться для реализации 16- или 32-разрядного программного интерфейса, или как регистры конфигурации, или не использоваться вообще. Например, карта FarPoint Communications F/PortPlus имеет только интерфейс данных с 8 битами, но к ней можно обращаться, используя 32-разрядный ввод-вывод для EPP операций с данными. ISA контроллер перехватит 32-разрядный ввод-вывод и фактически произведет 4 быстрых 8-разрядных цикла ввода-вывода. Первый цикл будет адресован порту ввода-вывода, используя байт 0 (биты 0-7), второй цикл пойдет по адресу "порт + 1" для байта 1, тогда "порт + 2" для байта 2 и, наконец, "порт + 3" для байта 3. Эти дополнительные циклы производятся аппаратными средствами и прозрачны для программного обеспечения. Полное время для этих четырех циклов будет меньше, чем циклы для 4 независимых байтов. Например, в плате F/PortPlus (от FarPoint Communications) располагаются 4 порта ввода-вывода (со смещениями от 4 до 7) от внутреннего EPP регистра Данных. Это позволяет программному обеспечению использовать 32-разрядные операции ввода-вывода для EPP передачи данных. Циклы Адреса все еще ограничиваются 8-разрядным вводом-выводом.

Способность передавать данные к или от PC при помощи единственной инструкции позволяет параллельным портам в EPP режиме передавать данные на скоростях ISA шины. Быстрее, чем в программном цикле, блок данных может быть передан единственной REP_IO инструкцией. В зависимости от реализации порта ведущего адаптера и способности периферийного устройства, EPP порт может передавать данные со скоростями от 500КБ до почти 2M байт в секунду. Эта скорость передачи данных более чем достаточна для того, чтобы сетевые адаптеры, CD-ROM, стриммеры и другие периферийные устройства, работали при почти ISA уровне производительности.

EPP протокол и его текущие реализации обеспечивают тесную связь между периферийным драйвером и периферией. Это означает, что программа — драйвер всегда способна определять состояние связи с периферией и управлять им в любое время. Всегда можно смешивать операции чтения и записи и блочную передачу. Этот тип связи идеален для многих ориентируемых регистром или управляемых в реальном масштабе времени периферийных устройств типа сетевых адаптеров, систем сбора данных, портативных жёстких дисков и других устройств.

Соседние файлы в предмете Интерфейсы Периферийных Устройств