Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) icon

Расширенный параллельный порт (Interfacing the Enhanced Parallel Port)



НазваниеРасширенный параллельный порт (Interfacing the Enhanced Parallel Port)
Дата конвертации27.08.2012
Размер83.82 Kb.
ТипДокументы

Расширенный параллельный порт

(Interfacing the Enhanced Parallel Port)

(перевод файла epp.htm от Creag Peacock с http://www.senet.com.au/~cpeacock/)


Переведено Д.С. Иоффе (dsioffe@yandex.ru, ICQ 313263348) с другом PROMTом (в девичестве Stylus) исключительно для расширения собственного понятия. Никакие претензии не принимаются. Советы принимаются с удовольствием.

EPP - расширенный параллельный порт


Расширенный параллельный порт (EPP) совместно разработан фирмами Intel, Xircom & Zenith Data Systems. Порт EPP впервые описан в стандарте EPP 1.7. Позже он был включён в стандарт IEEE1284, выпущенный в 1994 году.

EPP имеет два стандарта, EPP 1.7 и EPP 1.9. Между двумя стандартами имеются различия, которые могут влиять на работу устройств. Это обсуждается далее. EPP имеет типовую скорость передачи порядка 500кБ/с - 2MБ/с. Это достигнуто благодаря аппаратной реализации подтверждения связи, стробирования и т.д., в отличие от Centronics.

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

Аппаратные свойства EPP


В режиме EPP каждая линия имеет своё назначение и название. Они показаны ниже в таблице 4. Часто в литературе смешивают названия для SPP и EPP. Из-за этого бывает очень трудно сосредоточиться на том, что именно происходит. Поэтому вся документация здесь будет использовать имена EPP.

Вывод

Сигнал SPP

Сигнал EPP

Вход / выход

Назначение

1

Strobe

Write

Выход

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

2-9

Data 0-7

Data 0-7

Вход - выход

Шина данных. Двунаправленная.

10

Ack

Interrupt

Вход

Линия прерывания.
Прерывание происходит по положительному (нарастающему) фронту

11

Busy

Wait

Вход

Используется при подтверждении связи. Цикл EPP начинается при низком уровне, и заканчивается при высоком

12

Paper Out / End

Свободный

Вход

Свободный - не используется при подтверждении связи в EPP

13

Select

Свободный

Вход

Свободный - не используется при подтверждении связи в EPP

14

Auto Linefeed

Data Strobe

Выход

Низкий уровень соответствует передаче данных

15

Error / Fault

Свободный

Вход

Свободный - не используется при подтверждении связи в EPP

16

Initialize

Reset

Выход

Выход - активный низкий

17

Select Printer

Address Strobe

Выход

Низкий уровень соответствует передаче адреса

18-25

Земля

Земля

GND

Земля

Таблица 1. Назначение выводов для разъёма расширенного параллельного порта.

Paper Out, Select and Error не определены в протоколе EPP. Эти линии пользователь может использовать любым способом. Состояние этих линий может быть определено в любое время по содержанию регистра состояния SPP. К сожалению, нет ни одного свободного выхода. Это может регулярно приводить к конфликтам.
^

Подтверждение передачи в EPP


Для правильного обмена данными при использовании EPP мы должны следовать протоколу подтверждения связи EPP. Поскольку вся работа выполняется аппаратно, это требование относится только к вашей аппаратуре, а не к программному обеспечению, как в SPP. Чтобы инициировать цикл EPP, ваше программное обеспечение должно выполнить только одну операцию ввода - вывода с соответствующим регистром EPP. Детали описываются ниже.
^

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


1. Программа пишет данные в регистр данных EPP (база + 4)

2. На nWrite устанавливается низкий уровень (низкий указывает на операцию записи).

3. Данные помещаются на линии данных 0-7.

4. nDataStrobe активизируется (переходит к низкому уровню), если на Wait низкий уровень (разрешение начала цикла).

^ 5. Ведущий ожидает подтверждения в виде высокого уровня на nWait (разрешение конца цикла).

6. nDataStrobe переходит к высокому уровню.

7. Конец цикла записи данных EPP.

^

Цикл записи адреса EPP


1. Программа пишет адрес в регистр адреса EPP (база + 3)

2. На nWrite устанавливается низкий уровень (низкий указывает на операцию записи).

^ 3. Адрес помещается на линии данных 0-7.

4. nAddrStrobe активизируется (переходит к низкому уровню), если на Wait низкий уровень (разрешение начала цикла).

5. Ведущий ожидает подтверждения в виде высокого уровня на nWait (разрешение конца цикла).

6. nAddrStrobe переходит к высокому уровню.

7. Конец цикла записи адреса EPP.

^

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


1. Программа читает регистр данных EPP (база + 4)

2. nDataStrobe активизируется (переходит к низкому уровню), если на Wait низкий уровень (разрешение начала цикла).

^ 3. Ведущий ожидает подтверждения в виде высокого уровня на nWait.

4. Данные считываются с выводов параллельного порта.

5. nDataStrobe переходит к высокому уровню.

6. Конец цикла чтения данных EPP.


^

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


1. Программа читает регистр адреса EPP (база + 3)

2. nAddrStrobe активизируется (переходит к низкому уровню), если на Wait низкий уровень (разрешение начала цикла).

^ 3. Ведущий ожидает подтверждения в виде высокого уровня на nWait.

4. Данные считываются с выводов параллельного порта.

5. nDataStrobe переходит к высокому уровню.

6. Конец цикла чтения адреса EPP.


Примечание. В реализации EPP 1.7 (до IEEE 1284) стробы данных и адреса могут активизироваться (начать цикл) независимо от состояния Wait. В EPP 1.9 цикл может начаться только при низком уровне на Wait. И EPP 1.7 и EPP 1.9 требуют высокого уровня на Wait, чтобы закончить цикл.
^

Программные регистры EPP


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

База + 1

Порт данных (SPP)

Запись

База + 2

Порт состояния (SPP)

Чтение

База + 3

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

Запись

База + 4

Порт адреса (EPP)

Чтение / запись

База + 5

Порт данных (EPP)

Чтение / запись

База + 6

Не определён (16/32 битовая передача)

-

База + 7

Не определён (32 битовая передача)

-

База + 8

Не определён (32 битовая передача)

-

Таблица 2. Регистры EPP.

Как Вы можете видеть, первые 3 адреса - точно такие же, как в стандартном параллельном порту, и ведут себя точно так же. Поэтому, если Вы используете расширенный параллельный порт, Вы можете выводить данные по адресу База + 0 так же, как в SPP. Если Вам нужно подключить принтер и использовать совместимый режим, тогда Вы должны будете проверить, занят ли порт, и затем устанавливать и снимать строб, используя регистры управления и состояния, а затем ждать Ack.

Если Вы хотите работать с EPP совместимым устройством, тогда все, что Вы должны сделать - это поместить Ваши данные по адресу База + 4, и плата произведет все необходимые действия для подтверждения связи. Аналогично, если Вы желаете послать адрес вашему устройству, то используйте регистр адреса EPP со смещением +3.

Таким образом, и через регистр адреса EPP, и через регистр данных EPP читаются и пишутся данные вашего устройства, и Вы можете использовать одни и те же регистры и для чтения, и для записи. Однако контроллер EPP должен начать цикл чтения, поскольку и nDataStrobe и nAddressStrobe - выходы. Ваше устройство может запросить чтение через использование прерывания и, таким образом, выполнить операцию чтения.

Порт состояния имеет одно небольшое отличие. Бит 0, который был зарезервирован в наборе регистров SPP, теперь становится битом прерывания EPP. Этот бит будет установлен, когда произойдёт прерывание EPP. Это случается, когда линия nWait не деактивируется в течение приблизительно 10uS (в зависимости от порта) при активной линии IOW или IOR. IOW и IOR - это линии, представляющие чтение и запись портов ввода-вывода на ISA шине.

Режим EPP очень зависит от временной диаграммы шины ISA. Когда выполняется цикл чтения, порт должен предпринять соответствующее подтверждение связи и возвратить данные в этом цикле ISA. Конечно, это не происходит в пределах одного ISA цикла. Таким образом, порт использует сигнал IOCHRDY (Готовность канала ввода - вывода) на шине ISA, чтобы войти в состояние ожидание, пока цикл не закончится. Теперь представьте, что чтение или запись EPP начато без подключённой периферии. Порт никогда не получит подтверждения (nWait), останется в состоянии ожидания, и ваш компьютер остановится. Поэтому в EPP реализован сторожевой таймер, который срабатывает приблизительно через 10 мкс.

Три регистра, База + 5, База + 6 и База + 7, могут использоваться для операций 16- и 32- разрядного ввода-вывода, если ваш порт это поддерживает. Это может уменьшить количество операций ввода - вывода. Параллельный порт может передавать только 8 битов одновременно, таким образом, любое слово из 32 или 16 битов, записанное в параллельный порту, будет разделено на блоки размером в байт и послано через 8 линий данных параллельного порта.
^

Программирование EPP


Перед началом любых циклов EPP порт должен быть правильно сконфигурирован. В состоянии ожидания линии nAddrStrobe, nDataStrobe, nWrite and nReset порта EPP должны быть установлены в неактивное состояние (высокий уровень). Некоторые порты требуют, чтобы Вы делали это перед началом любого цикла EPP. Поэтому нам сначала надо вручную инициализировать эти линии, используя регистры SPP. Запись XXXX0100 в порт управления обеспечит это.

На некоторых платах, если параллельный порт переведён в обратный режим, цикл записи EPP не может быть выполнен. Поэтому также мудро перевести параллельный порт на передачу в прямом направлении перед использованием EPP. Сброс бита 5 регистра управления должен привести к более приятному результату программирования, без того, чтобы вырывать Ваши волосы.

Бит тайм-аута EPP мы уже обсудили. Когда этот бит установлен, порт EPP не может функционировать правильно. Обычно при этом в циклах данных или адреса всегда читается 0xFF. Этот бит для надежной работы должен быть очищен и постоянно проверяем.







Похожие:

Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconРасширенный параллельный порт (Interfacing the Enhanced Parallel Port)
Переведено Д. С. Иоффе (dsioffe@yandex ru, Icq 313263348) с другом promtом (в девичестве Stylus) исключительно для расширения собственного...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconСтандартный параллельный порт (Interfacing the Standard Parallel Port)
Переведено Д. С. Иоффе (dsioffe@yandex ru, Icq 313263348) с другом promtом (в девичестве Stylus) исключительно для расширения собственного...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconСтандартный параллельный порт (Interfacing the Standard Parallel Port)
Переведено Д. С. Иоффе (dsioffe@yandex ru, Icq 313263348) с другом promtом (в девичестве Stylus) исключительно для расширения собственного...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconПараллельный порт с расширенными возможностями (Interfacing the Extended Capabilities Port)
Переведено Д. С. Иоффе (dsioffe@yandex ru, Icq 313263348) с другом promtом (в девичестве Stylus) исключительно для расширения собственного...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconПараллельный порт с расширенными возможностями (Interfacing the Extended Capabilities Port)
Переведено Д. С. Иоффе (dsioffe@yandex ru, Icq 313263348) с другом promtом (в девичестве Stylus) исключительно для расширения собственного...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconEnhanced Metafiles in Win32

Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconВ. А. Баканов расширенный каталог орбит визуально-двойных звёзд с известными орбитами и эффект барра у этих систем
Расширенный каталог орбит визуально-двойных звёзд с известными орбитами и эффект барра у этих систем
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconPort Popova

Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconУчредители и спонсоры фестиваля
Ооо “ вск “, ООО “Ориста”, ООО “свт восточный ”, ООО стивидорная компания “Малый порт”, ООО “ккс ”, профком докеров рпд ОАО “Восточный...
Расширенный параллельный порт (Interfacing the Enhanced Parallel Port) iconДокументы
1. /parallel.doc
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов