скачать рефераты
  RSS    

Меню

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

скачать рефераты

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

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

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. Хост помещает данные на шину канала и устанавливает признак цикла дан­ных (высокий уровень) или команды (низкий уровень) на линии HostAck.

2. Хост устанавливает низкий уровень на линии HostClk, указывая на действи­тельность данных.

3. ПУ отвечает установкой высокого уровня на линии PeriphAck.

4. Хост устанавливает высокий уровень линии HostClk, и этот перепад может использоваться для фиксации данных в ПУ.

5. ПУ устанавливает низкий уровень на линии PeriphAck для указания на го­товность к приему следующего байта.

Поскольку передачи в ЕСР разделены FIFO-буферами, которые могут при­сутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе данные можно будет считать переданными. Данные считается переданными на шаге 4, когда линия HostClk переходит в высокий уровень. В этот момент мо­дифицируются счетчики переданных и принятых байт.

Обратная передача данных состоит из следующих шагов:

1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линии ReverseRequestff. 2 ПУ разрешает смену направления установкой низкого уровня на линии Ack-Reverse#.

3. ПУ помещает данные на шину канала и устанавливает признак цикла дан­ных (высокий уровень) или команды (низкий уровень) на линии PeriphAck.

4. ПУ устанавливает низкий уровень на линии PeriphClk, указывая на дейст­вительность данных.

5. Хост отвечает установкой высокого уровня на линии HostAck.

6. ПУ устанавливает высокий уровень линии PeriphClk, и этот перепад может использоваться для фиксации данных хостом.

7. Хост устанавливает низкий уровень на линии HostAck для указания на го­товность к приему следующего байта.

Согласование режимов IEEE 1284

Периферийные устройства в стандарте IEEE 1284 обычно не требуют от конт­роллера реализации всех режимов, предусмотренных стандартом. Для опреде­ления режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования (negotiation sequence) для ус­тановки требуемого режима интерфейса.

Во время фазы согласования контроллер выставляет на линии данных байт расширяемости (Extensibility byte), запрашивая подтверждение на перевод интер­фейса в требуемый режим или прием идентификатора периферийного устрой­ства (табл. 11). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминах SPP) для подтверждения запрошенного режима обрат­ного канала, кроме полубайтного. Полубайтный режим поддерживается всеми устройствами IEEE 1284. Бит Extensibility Link request заложен для механизма определения дополнительных режимов в будущих расширениях стандарта.

Таблица. 11.

Значение бит байта расширяемости

Бит Описание Допустимые комбинации бит [7:0]
7 Request Extensibility Link — запрос для будущих расширений 1000 0000
6 Запрос режима ЕРР 0100 0000
5 Запрос режима ЕСР с RLE ООН 0000
4 Запрос режима ЕСР Mode без RLE 0001 0000
3 Резерв 0000 1000
2 Запрос идентификатора устройства с ответом в режиме:
Nibble Mode (полубайтный) 0000 0100
Byte Mode (байтный) 0000 0101
ЕСР без RLE 0001 0100
ЕСР с RLE 0011 0100
1 Резерв 0000 0010
0 Запрос Byte Mode 0000 0001
None Запрос Nibble Mode 0000 0000

Последовательность согласования состоит из следующих шагов:

1. Хост выводит байт расширяемости на линии данных.

2. Хост устанавливает высокий уровень сигнала Selecting и низкий — Auto-Feedft, что означает начало последовательности согласования.

3. ПУ 1284 ответит установкой низкого уровня сигнала Ackff и высокого — Errorft, РЕ и Select.

4. Хост устанавливает низкий уровень сигнала Strobeff для записи байта рас­ширяемости в ПУ.

5. Хост устанавливает высокий уровень сигналов Strobeff и AutoFeedff.

6. ПУ отвечает установкой в низкий уровень сигналов РЕ и Errorff, если оно имеет обратный канал передачи данных. Если запрошенный режим поддер­живается устройством, на линии Select устанавливается высокий уровень, если не поддерживается — низкий.

7. ПУ устанавливает высокий уровень на линии Ack# для указания на завер­шение последовательности согласования, после чего контроллер устанавли­вает требуемый (и разрешенный) режим работы.

Развитие стандарта IEEE 1284

Кроме основного стандарта IEEE 1284, который уже принят, в настоящее время в стадии проработки находятся новые стандарты, не отменяющие его, а опре­деляющие дополнительные возможности. К ним относятся:

IEEE P1284.1 «Standard for Information Technology for Transport Independent Printer/Scanner Interface (TIP/SI)». Этот стандарт разрабатывается для управ­ления и обслуживания сканеров и принтеров на основе протокола NPAP (Net­work Printing Alliance Protocol).

IEEE P1284.2 «Standard for Test, Measurement and Conformance to IEEE Std. 1284» — стандарт для тестирования портов, кабелей и устройств на совмес­тимость с IEEE 1284.

IEEE P1284.3 «Standard for Interface and Protocol Extensions to IEEE Std-1284 Compliant Peripheral and Host Adapter Ports» — стандарт на драйверы и использование устройств прикладным программным обеспечением.

IEEE P1284.4 «Standard for Data Delivery and Logical Channels for IEEE Std. 1284 Interfaces». Этот стандарт направлен на реализацию пакетного протокола достоверной передачи данных через параллельный порт. Исходной точкой яв­ляется протокол MLC (Multiple Logical Channels) фирмы Hewlett-Packard.

Конфигурирование LPT-портов

Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфи­гурировании. Таким образом обеспечивается возможность согласования аппа­ратуры и программного обеспечения и блокирования ложных переключении, вызванных некорректными действиями программы.

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


Новости

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

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

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.