Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Двунаправленный байтный режим — Byte Mode



В этом режиме данные принимаются с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR. 5=1. Как и предыдущие, режим является программно-управляемым — все сигналы кви­тирования анализируются и устанавливаются драйвером. Сигналы порта описа­ны в табл. 1.3, временные диаграммы — на рис. 1.2.

Таблица 1.3. Сигналы LPT-порта в байтном режима ввода-вывода




Имя в байтном I/O Бит режиме

1 14

17

16 10

Контакт Сигнал SPP

Strobe* HostClk AutoFeed* HostBusy

lnit# Ack#

Selectln* 1284Active

lnit# PtrClk

 

11 Busy PtrBusy
12 PE AckDataReq1
13 Select Xflag1
15 Error* DataAvail*1

2-9

Data [0:7] Data [0:7]


Описание

О CR.O\ Импульс (низкого уровня) подтверждает прием байта в конце каждого цикла

О CR.1\ Сигнал квитирования. Низкий уровень означает готовность хоста принять байт; высокий уровень устанавливается по приему байта

О CR.3\ Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий)

0  CR.2 Не используется; установлен высокий

уровень

1  SR.6 Устанавливается в низкий уровень

для индикации действительности данных на линиях Data [0:7]. В низкий уровень устанавливается в ответ на сигнал HostBusy

I SR-Д Состояние занятости прямого канала

I SR.5 Устанавливается ПУ для указания

на наличие обратного канала передачи

I SR.4 Флаг расширяемости

I SR.3 Устанавливается ПУ для указания

на наличие обратного канала передачи

I/O DR[0:7] Двунаправленный (прямой и обратный) канал данных


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


1:3. Стандарт IEEE 1284 -                                                                                                      25


 

Рис. 1.2. Прием данных в байтном режиме

Фазы приема байта данных перечислены ниже.

1. Хост сигнализирует о готовности приема данных установкой низкого уровня
на линии HostBusy.

2. ПУ в ответ помещает байт данных на линии Data [0:7].

3. ПУ сигнализирует о действительности байта установкой низкого уровня на
линии PtrClk.

4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой байта.

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

6. Хост подтверждает прием байта импульсом HostClk.

Шаги 1-6 повторяются для каждого следующего байта. Квитирование осуще­ствляется парой сигналов HostBusy и PtrClk; ПУ может и не использовать сигнал HostClk (это приглашение к выдаче следующего байта, напоминающее сигнал Ack# в интерфейсе Centronics). Побайтный режим позволяет поднять скорость обрат­ного канала до скорости прямого канала в стандартном режиме. Однако он спосо­бен работать только на двунаправленных портах, которые раньше применялись в основном на малораспространенных машинах PS/2, но практически все современ­ные порты можно сконфигурировать на двунаправленный режим (в настройках BIOS Setup - Bi-Di или PS/2).






Режим EPP

Протокол EPP (Enhanced Parallel Port — улучшенный параллельный порт) был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия стандарта IEEE 1284. Этот протокол предназначен для повышения производи­тельности обмена по параллельному порту, впервые был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят множеством компаний как дополнительный протокол параллельного порта. Версии протокола, реализо­ванные до принятия IEEE 1284, отличаются от нынешнего стандарта (см. ниже). Протокол ЕРР обеспечивает четыре типа циклов обмена:

♦ запись данных;

♦ чтение данных;


26


Глава 1. Параллельный интерфейс — LPT -порт


запись адреса;

чтение адреса.

Назначение циклов записи и чтения данных очевидно. Адресные циклы исполь­зуются для передачи адресной, канальной и управляющей информации. Циклы обмена данными отличаются от адресных циклов применяемыми стробирующи-ми сигналами. Назначение сигналов порта ЕРР и их связь с сигналами SPP объяс­няются в табл. 1.4.

Таблица 1.4. Сигналы LPT-порта в режиме ввода-вывода ЕРР
Контакт Сигнал SPP Имя в ЕРР I/O Описание______________________________________

1 Strobe» Write* 0
14 AutoLF# DataStb* 0
17 Selectln* AddrStb# 0
16 lnit# Reset» 0
10 Ack# INTR# 1
11 Busy Wait# 1
2-9 Data [0:7] AD[0:7] I/O
12 PaperEnd AckDataReq1 1
13 Select Xflag' 1
15 Error* DataAvaiW1 1

Низкий уровень — цикл записи, высокий — цикл чтения

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

Строб адреса. Низкий уровень устанавливается в адресных циклах

Сброс ПУ (низким уровнем)

Прерывание от ПУ

Сигнал квитирования. Низкий уровень

разрешает начало цикла (установку строба

в низкий уровень), переход в высокий —

разрешает завершение цикла (снятие строба)

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

Используется по усмотрению разработчика периферии

Используется по усмотрению разработчика периферии

Используется по усмотрению разработчика периферии

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

ЕРР-порт имеет расширенный набор регистров (табл. 1.5), который занимает в пространстве ввода-вывода 5-8 смежных байт.

Таблица 1.5. Регистры ЕРР-порта

 

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

1.3. Стандарт IEEE 1284       27
           
Имя регистра Смещение Режим R/W Описание  
Not Defined +5...+7 ЕРР N/A В некоторых контроллерах могут использоваться для 16-32-битных операций ввода-вывода  

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

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

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

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

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

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

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

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

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

Рис. 1.3. Цикл записи данных ЕРР

Пример адресного цикла чтения приведен на рис. 1.4. Цикл чтения данных отли чается только применением другого стробирующего сигнала.

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


28_________________________ Глава 1. Параллельный интерфейс — LPT-порт

Протокол блокированного квитирования ( interlocked handshakes ) позволяет авто­матически настраиваться на скорость обмена, доступную и хосту, и ПУ. ПУ может регулировать длительность всех фаз обмена с помощью всего лишь одного сигна­ла Wait*. Протокол автоматически подстраивается под длину кабеля — вносимые задержки приведут только к удлинению цикла. Поскольку кабели, соответству­ющие стандарту IEEE 1284 (см. выше), имеют одинаковые волновые свойства для разных линий, нарушения передачи, связанного с «состязаниями» сигналов, происходить не должно. При подключении сетевых адаптеров или внешних дис­ков к ЕРР-порту можно наблюдать непривычное явление: снижение производи­тельности по мере удлинения интерфейсного кабеля.

Рис. 1.4. Адресный цикл чтения ЕРР

Естественно, ПУ не должно «подвешивать» процессор на шинном цикле обмена. Это гарантирует механизм тайм-аутов PC, который принудительно завершает любой цикл обмена, длящийся более 15 мкс. В ряде реализаций ЕРР за тайм-аутом интерфейса следит сам адаптер — если ПУ не отвечает в течение определенного времени (5 мкс), цикл прекращается и в дополнительном (не стандартизованном) регистре состояния адаптера фиксируется ошибка.

Устройства с интерфейсом ЕРР, разработанные до принятия IEEE 1284, отлича­ются началом цикла: строб DataStb* или AddrStb* устанавливается независимо от состояния WAIT*. Это означает, что ПУ не может задержать начало следующего цикла (хотя может растянуть его на требуемое время). Такая спецификация называется ЕРР 1.7 (предложена Xircom). Именно она применялась в контрол­лере 82360. Периферия, совместимая с IEEE 1284 ЕРР, будет нормально работать с контроллером ЕРР 1.7, но ПУ в стандарте ЕРР 1.7 может отказаться работать с контроллером ЕРР 1284.

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

Назначение регистров стандартного порта сохранено для совместимости ЕРР-порта с ПУ и ПО, рассчитанными на применение программно-управляемого обмена. Поскольку сигналы квитирования адаптером вырабатываются аппарат-


1.3. Стандарт IEEE 1284_______________________________________________ 29

но, при записи в регистр управления CR биты О, 1 и 3, соответствующие сигналам Strobe*, AutoFeed* и Selecting должны иметь нулевые значения. Программное вмешательство могло бы нарушить последовательность квитирования. Некоторые адаптеры имеют специальные средства защиты (ЕРР Protect ), при включении ко­торых программная модификация этих бит блокируется.

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

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

К сожалению, режим ЕРР поддерживается не всеми портами — он отсутствует, к примеру, в ряде блокнотных ПК. Так что при разработке собственных устройств ради большей совместимости с компьютерами приходится ориентироваться на режим ЕСР.










Режим ЕСР

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

♦ циклы записи и чтения данных;

♦ командные циклы записи и чтения.

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


30


Глава 1. Параллельный интерфейс — LPT-порт


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

♦ компрессия данных хост-адаптером по методу RLE;

♦ буферизация FIFO для прямого и обратного каналов;

♦ применение DMA и программного ввода-вывода.

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

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

Протокол ЕСР переопределяет сигналы SPP (табл. 1.6). Таблица 1.6. Сигналы LPT-порта в режиме ввода-вывода ЕСР


   
 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 162; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.035 с.)
Главная | Случайная страница | Обратная связь