RSS    

   Реферат: Параллельный интерфейс: LPT-порт

Таблица 7.

Регистры ЕРР-порта

Имя регистра Смещение Режим R/W Описание
SPP Data Port +0 SPP/EPP W Регистр данных стандартного порта
SPP Status Port +1 SPP/EPP R Регистр состояния стандартного порта
SPP Control Port +2 SPP/EPP W Регистр управления стандартного порта
EPP Address Port +3 EPP R/W Регистр адреса ЕРР. Чтение или запись в него гене­рирует связанный цикл чтения или записи адреса ЕРР
EPP Data Port +4 EPP R/W Регистр данных ЕРР. Чтение (запись) генерирует свя­занный цикл чтения (записи) данных ЕРР
Not Defined +5...+7 EPP N/A В некоторых контроллерах могут использоваться для 16-32-битных операций ввода/вывода

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

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

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

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

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

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

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

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

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

Главной отличительной чертой ЕРР является выполнение внешней передачи во время одного процессорного цикла ввода/вывода. Это позволяет достигать высоких скоростей обмена (0,5-2 Мбайт/с). Периферийное устройство, под­ключенное к параллельному порту ЕРР, может работать на уровне произво­дительности устройства, подключаемого через слот ISA. Периферийное устройство может регулировать длительность всех фаз обмена с помощью всего лишь одного сигнала WAIT#. Протокол автоматически подстраивается и под длину кабеля — вносимые задержки только приведут к удлинению цикла.

 «ЗАВИСАНИЕ» процессора на шинном цикле обмена препятствует механизм тайм-аутов PC, который принудительно завершает любой цикл обме­на, длящийся более 15 мкс.

С программной точки зрения контроллер ЕРР-порта выглядит достаточно про­сто (см. табл.7). К трем регистрам стандартного порта, имеющим смещение 0, 1 и 2 относительно базового адреса порта, добавлены два регистра (ЕРР Address Port и ЕРР Data Port), чтение и запись в которые вызывает генерацию связанных внешних циклов.

Назначение регистров стандартного порта сохранено, что обеспечивает сов­местимость ЕРР-порта с периферийными устройствами и программным обес­печением, рассчитанными на применение программно-управляемого обмена. Поскольку сигналы квитирования адаптером вырабатываются аппаратно, при записи в регистр управления CR биты 0, 1 и 3, соответствующие сигналам STROBES, AUTOFEEDS и SELECTING, должны иметь нулевые значения. В противном случае программное вмешательство может нарушить последовательность квитирова­ния. Некоторые адаптеры имеют специальные средства защиты (ЕРР Protect), при включении которых программная модификация этих бит блокируется.

Использование регистра данных ЕРР позволяет осуществлять передачу блока данных с помощью одной инструкции REP INSB или REP OUTSB вместо традици­онных циклов с интенсивными операциями ввода/вывода. Некоторые адаптеры допускают и 16/32-битное обращение к регистру данных ЕРР. Тогда 16- или 32-битное обращение по адресу регистра данных ЕРР приведет к автоматической генерации двух или четырех шинных циклов по нарастающим адресам, начиная со смещения 4. Эти циклы будут выполняться быстрее, чем то же количество одиночных циклов. Таким образом при обмене данными и обеспечивается производительность, достигающая 2 Мбайт/с, вполне достаточная и для адаптеров локальных сетей, внешних дисков, стриммеров и CD-ROM. Адресные циклы БРР всегда выполняются только в однобайтном режиме обра­щения.

Важной чертой ЕРР является то, что обращение процессора к периферийному устройству осуществляется в реальном времени. Программный драйвер всегда способен наблюдать состояние и подавать команды в точно известные моменты времени. Циклы чтения и записи могут чередоваться в произвольном порядке или идти блоками. Такой тип обмена наиболее пригоден для регистро-ориентированной периферии или периферии, работающей в реальном времени — сетевых адаптеров, устройств сбора инфор­мации и управления, дисковых устройств и т. п.

Режим ЕСР

Протокол ЕСР (Extended Capability Port — порт с расширенными возможнос­тями) был предложен фирмами Hewlett Packard и Microsoft как прогрессивный режим связи с периферией типа принтеров и сканеров. Как и ЕРР, данный про­токол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с периферийными устройствами.

Протокол ЕСР в обоих направлениях обеспечивает два типа циклов:

••• Циклы записи и чтения данных.  Командные циклы записи и чтения.

Командные циклы подразделяются на два типа: передача канальных адресов и счетчика RLC (Run-Length Count).

В отличие от ЕРР вместе с протоколом ЕСР сразу появился и стандарт на программную (регистровую) модель реализации его адаптера, изложенный в документе «The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard» компании Microsoft. Этот документ определяет специфические свой­ства реализации протокола, не заданные стандартом IEEE 1284: компрессия данных хост-адаптером по методу RLE;

••• буферизация FIFO для прямого и обратного каналов: применение DMA и программного ввода/вывода.

Компрессия в реальном времени по методу RLE (Run-Length Encoding) позво­ляет достичь коэффициента сжатия до 64:1 при передаче растровых изображе­ний.

Канальная адресация ЕСР применяется для адресации множества логических устройств, входящих в одно физическое. Например, в комбинированном устрой­стве факс/принтер/модем, подключаемом только к одному параллельному порту, возможен одновременный прием факса и печать на принтере.

Как и в других режимах 1284, протокол ЕСР переопределяет сигналы SPP (табл. 8).

Таблица 8.

Сигналы LPT-порта в режиме ввода/вывода ЕСР

Контакт Сигнал SPP Имя в ЕСР I/O Описание
1 STROBE» HortClk 0 Используется в паре с PeriphAck для передачи в прямом направлении (вывод)
14 AUTOFEED# HostAck 0 Индицирует тип команда/данные при передаче в прямом направлении. Используется в паре с PeriphClk для передачи в обратном направлении
17 SELECTING 1284Active О Высокий уровень указывает на обмен в режиме IEEE 1284. (В режиме SPP уровень низкий)
16 INIT# ReverseRequest# О Низкий уровень переключает канал на передачу в обратном направлении
10 ACK# PeriphClk I Используется в паре с HostAck для передачи в обратном направлении
11 BUSY PeriphAck

1

Используется в паре с HostClk для передачи в обратном направлении. Индицирует тип команда/ данные при передаче в обратном направлении
12 PE AckReverse# I Переводится в низкий уровень как подтверждение сигналу ReverseRequestff
13 SELECT Xflag* I Флаг расширяемости Extensibility flag
15 ERROR» PeriphRequest#* I Устанавливается ПУ для указания на доступность (наличие) обратного канала передачи*
2-9 Data[0:7] Data[0:7] I/O Двунаправленный канал данных

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

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.