Читайте также:
|
|
Протокол Расширенного параллельного порта был первоначально разработан Intel, Xircom и Zenith Data Systems как средство для обеспечения высокопроизводительной связи через параллельный порт, которая будет все еще совместима со стандартным параллельным портом. Реализация этого протокола была осуществлена Intel в наборе 386SL (82360 I/O чип). Это было до учреждения комитета IEEE 1284 и совместных работ по стандарту.
В протоколе EPP было предложено много преимуществ для производителей периферийных устройств параллельного порта, и он был быстро принят многими как необязательный метод передачи данных. Была сформирована свободная ассоциация вокруг 80 заинтересованных изготовителей, чтобы развивать и продвигать протокол EPP. Эта ассоциация стала EPP Комитетом и разработала этот протокол, принятый как один из продвинутых режимов IEEE 1284.
С тех пор EPP совместимые параллельные порты были доступны. Это было до выпуска 1284 стандарта, и имеется маленькое отклонение между до-1284 EPP портами и 1284 EPP протоколом. Это будет подробнее описано позже.
EPP протокол обеспечивает четыре типа циклов передачи данных:
1.Цикл записи данных
2.Цикл чтения данных
3.Цикл записи адреса
4.Цикл чтения адреса
Циклы Данных предназначены для передачи данных между ведущим и периферией. Циклы Адреса могут использоваться для передачи адреса, канала, или команды и управляющей информации. Эти циклы могут рассматриваться просто как два различных цикла данных. Разработчик может использовать и интерпретировать информацию адреса / данных любым способом, который имеет смысл для конкретного проекта. Таблица 1 описывает EPP сигналы и связанные с ними SPP сигналы.
Таблица 1 - Определения Сигналов EPP
Сигнал SPP | Название Сигнала EPP | Вход / Выход | Описание Сигнала EPP |
nSTROBE | nWRITE | Выход | Активный низкий. Указывает на действие записи. Высокий в цикле чтения. |
nAUTOFEED | nDATASTB | Выход | Активный низкий. Указывает на то, что операция Data_Read или Data_Write находится в процессе выполнения. |
nSELECTIN | nADDRSTB | Выход | Активный низкий. Указывает, что операция Address_Read или Address_Write находится в процессе выполнения. |
nINIT | nRESET | Выход | Активный низкий. Сброс Периферии. |
nACK | nINTR | Вход | Периферийное прерывание. Используется для выдачи прерывания ведущему. |
BUSY | nWAIT | Вход | Сигнал Рукопожатия. Низкий уровень указывает, что надо начать цикл (установить строб), высокий указывает, что надо закончить цикл (сбросить строб). |
D[8:1] | AD[8:1] | Двунаправленный | Двунаправленные линии адреса / данных. |
PE | Определяется пользователем | Вход | Может Использоваться по-разному каждой периферией |
SELECT | Определяется пользователем | Вход | Может Использоваться по-разному каждой периферией |
nERROR | Определяется пользователем | Вход | Может Использоваться по-разному каждой периферией |
Рисунок 1 - пример Data_Write цикла. CPU сигнал nIOW показан только для того, чтобы подчеркнуть, что это полное рукопожатие происходит в пределах единственного I/O цикла.
Рисунок 1 - 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 используют рукопожатие.
Как уже отмечалось, до -1284 EPP устройства отклоняются от 1284 протокола. В начале цикла nDataStrobe или nAddrStrobe устанавливаются независимо от состояния сигнала nWAIT. Это означает, что периферия не могла бы удерживать начало цикла при сброшенном nWAIT. Это иногда упоминается как EPP 1.7, в отношении предложения Xircom версии 1.7. Эта версия осуществлена Intel в оригинальном контроллере I/O 82360. 1284 EPP совместимая периферия будет работать должным образом с ведущим адаптером версии EPP 1.7, но периферия EPP 1.7 не может работать должным образом с 1284 совместимым ведущим.
Рисунок 2 - пример Address_Read цикла.
Рисунок 2 - EPP Address_Read Цикл
Дата добавления: 2015-07-20; просмотров: 94 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Физический и электрический интерфейсы | | | Регистры Интерфейса EPP |