Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Avdeev

.pdf
Скачиваний:
158
Добавлен:
01.06.2015
Размер:
1.99 Mб
Скачать

280

PTR CLK, низкий уровень которых указывает на достоверность данных. Из-за небольшой пропускной способности этот режим имеет ограниченную область применения.

Третийрежим(двунаправленныйпорт)выполняетсяпутемустановкибитаD5 регистра РУ(W) ППТ.

На рис. 10.17 изображена схема соединения ППТ и ПУ для выполнения режима байтного ввода.

 

DB25

 

 

 

 

Контакт

 

 

ППТ

 

1

HOST CLK (синхросигналы)

ПУ

C=0

 

2

D0 (бит данных)

 

 

...

 

 

...

 

РД(W)

9

D7 (бит данных)

 

 

 

 

C=1

 

10

PTR CLK (синхросигналы)

 

 

11

 

 

 

РС(R)

 

PTR BUSY (занят)

 

 

С=2

 

12

ACK DATA (ввод данных)

 

 

 

13

 

 

РУ(W)

 

XFLAG (флаг расширения)

 

 

 

14

Select (выбор:1-режим IEEE1284)

 

 

 

17

ACTIVE (1-режим IEEE1284)

 

 

Рис. 10.17. Режим байтного слова

 

Временная диаграмма ввода данных для третьего режима (байтового ввода) изображена на рис. 10.18.

HOST BUSY

PTR CLK

281

D7-D0

HOST CLK

Рис. 10.18. Временная диаграмма байтового ввода

Хост устанавливает сигнал HOST BUSY, низкий уровень которого указывает ПУ на возможность вводить данные. ПУ направляет данные по шине D7-D0 и устанавливает затем сигнал PTRCLK, определяющий низким уровнем достоверность байта на шине D7-D0. После этого хост устанавливает сигнал HOST BUSY высокого уровня и подтверждает прием байта данных сигналом HOSTCLK.

Режим EPP выполняет следующие циклы обмена данными: записи и чтения данных, записи и чтения адреса.

282

На рис. 10.19 представлена схема связи EPP с расширенным набо-

ром регистров и ПУ.

EPP

C=0

РД(W)

C=1

РС(R)

С=2

РУ(W)

С=3

РА(W/R)

C=4

РД(W/R)

...

DB25

Контакт

1

WRITE# (запись данных)

ПУ

2

AD0 (бит адрес/данные)

 

7AD7 (бит адрес/данные)

10 INTR#(прерывание)

11

WAIT#(занятие)

14 DATA STB#(строб данных)

16 RESET#(сброс)

17 ADDR STB#(строб адреса)

Рис. 10.19. Схема связи EPP и ПУ

EPP дополнительно содержит: регистр адреса (РА(W/R)), чтение или запись в который генерирует соответствующий цикл адреса EPP, и регистр данных (РД(W/R)), при записи или чтении которого выполняется соответствующий цикл данных EPP.

Временная диаграмма цикла записи данных или адреса изображена на рис.

10.20.

283

IOW#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П

 

WRITE#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EPP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D7-D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EPP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(ADDR)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DATA STB#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EPP

(ADDR STB)#

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WAIT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 10.20. Временная диаграмма цикла записи EPP

В приведенной диаграмме показано, что операция «запись» (IOW#) со стороны процессора инициирует внешний цикл обмена с EPP и ПУ. В этом цикле EPP устанавливает данные или адрес и сигнал WRITE# низкого уровня. Если на соответствующем входе EPP присутствует низкий уровень сигнала WAIT, то EPP формирует сигнал строба DATA STB# или ADDR STB#, выполняющий запись установленных данных в ПУ.

Снятие строба происходит после принятия сигнала WAIT высокого уровня. Аналогичным образом выполняется цикл чтения данных или адреса, которые инициализируются при чтении РД(W/R) или РА(W/R). Например, при чтении данных EPP устанавливает сигнал DATA STB#, на которые ПУ отвечает посылкой данных, сопровождаемых сигналом WAIT#. Снятие строба DATA STB# вызывает сброс сигнала WAIT и данных. Длительность обмена регулируется с помощью сигнала

WAIT.

284

Достоинством EPP является достаточно высокая скорость обмена данными до 2 Мбайт/с с сохранением режима Centronics. Регистровая передача без буферизации данных в EPP позволяет использовать этот порт для работы в реальном масштабе времени в устройствах связи с объектами, сбора и распределения информации. Следует отметить, что в микросхеме I8255 (программируемом параллельном интерфейсе) реализованы более широкие возможности, чем в EPP. Известны другие параллельные периферийные интерфейсы со встроенными циклами обмена, например, представленный здесь контроллер ISA/ИРПР.

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

Командные циклы связаны с передачей адресов логических устройств, входящих в состав физической системы, или содержимого счетчика RLE (группового кодирования), используемого при сжатии данных. ЕСР выполняет следующие функции: сжатие данных методом группового кодирования, применение FIFO для прямого и обратного каналов, использования ПДП и программного ввода/вывода, поддержка режима Centronics. Схема связи ЕСР и ПУ показана на рис. 10.21.

 

 

 

ЕСР

 

С=000, Р=0,1

С=400,Р=3

...

 

 

 

 

 

 

РД

 

EDFIFO

 

 

 

 

 

 

 

 

С=000, Р=3

С=400,Р=6

 

 

EAFIFO

 

TFIFO

 

 

 

 

 

 

С=001, Р=0-7

С=400,Р=7

 

 

РС

 

РКА

 

 

 

 

 

 

 

 

С=002, Р=0-7

С=401,Р=7

 

 

РУ

 

РКВ

 

 

 

 

 

 

 

 

С=400, Р=2

С=402,Р=0-7

 

 

CD FIFO

 

РРУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DB25

 

контакт

 

1

 

HOST CLK (синхросигналы)

ПУ

 

 

 

2D0 (бит данных)

9 D7 (бит данных)

...

 

10PER CLK (синхросигналы)

11PER ACK (подтверждение)

12ACK REV(обратное подтверждение)

13XFLAG (флаг расширяемости)

14HOST ACK (подтверждение)

15PER REQ (запрос)

16REV REQ (обратный запрос)

17ACTIVE (1- режим ЕСР)

Рис. 10.21. Схема связи ЕСР и ПУ

285

ЕСР сохраняет преемственность с параллельным портом интерфейса Centronics. Для выполнения этой цели в ЕСР сохранены регистры РД, РС и РУ, имеющие смещения С, соответственно равные 0, 1 и 2. Режимы (Р) работы ЕСР задаются битами D7-D5 расширенного регистра управления (РРУ), используемого во всех режимах (Р=0-7) и имеющего С=402h (величина смещения определена в 16–ричной форме). Режимы ECP представлены в табл. 10.2.

 

Таблица 10.2

 

 

Ре-

Назначение режима

жимы

 

 

 

0

Centronics

 

 

1

Двунаправленный режим

 

 

2

Быстрый Centronics (FIFO и ПДП)

 

 

3

Режим параллельного порта ЕСР

 

 

4

Режим параллельного порта ЕРР

 

 

5

Резерв

 

 

6

Режим тестирования

 

 

7

Режим конфигурации

 

 

Режим Р0 является обычным режимом Centronics, а режим Р1 – режимом Centronics с обратной передачей данных, которая определяется установкой бита D5 регистра РУ.

Режим Fast Centronics (быстрый Centronics) заключается в том, что все рутинные программируемые операции (запись, опрос состояния и т.д.) по передаче данных в ПУ выполняет ЕСР, а процессор осуществляет только вывод данных. Для

286

реализации этого режима применяется буфер FIFO и ПДП. Запрос прерывания формируется в зависимости от состояния буфера FIFO.

Режим Р3 также использует буфер FIFO и ПДП. С помощью регистров EDFIFO и EAFIFO в буфер FIFO помещаются соответственно данные и команды , передаваемые в ПУ. Из буфера FIFO данные выводятся через регистр EDFIFO с учетом состояния линий HOSTACK. Режим ЕСР предусматривает сжатие данных методом группового кодирования (RLE). Принцип кодирования состоит в том, что учитываются одинаковые байты и отмечается в счетчике число их повторов. Если передаются одинаковые байты, то в регистр EAFIFO заносится байт, содержащий нулевой бит D7 и счетчик числа повторов (биты D6 – D0), а в регистр EDFIFO – байт данных. Эти два байта затем используются при расширении данных в ПУ, при приеме данных аппаратным способом и размещение их в буфере FIFO.

РежимР6являетсярежимомтестирования(псевдопередача),когдаданные не передаются на внешнюю шину и проверяется работа буфера FIFO спомощью регистра TFIFO, в который данные поступают в режиме ПДП или программного обмена. ЕСР следит за состоянием буфера FIFO и при необходимости формирует запрос прерывания.

Режим Р7 используется для получения доступа к регистрам конфигура-

ции.

Для обращения к регистрам ЕСР употребляются 10 двоичных битов и каждый режим задается соответствующей записью в расширенный регистр управления (РРУ), причем по умолчанию устанавливается режим Р0 или Р1.

Регистр EAFIFO предназначен для хранения байта канального адреса или счетчика RLE (назначение этого байта определяется битом D7), передаваемого

вбуфер FIFO в режиме ЕСР.

Врегистр CDFIFO данные передаются в программном режиме или ПДП и через буфер FIFO направляются в ПУ в соответствии с протоколом Centronics.

Регистр TFIFO используется в режиме тестирования, а регистр EDFIFO

– в режиме ЕСР (Р3).

287

Код идентификации адаптера размещается в битах D7 – D4

регистра конфигурации А (РКА), идентификация которого может быть считана хостом , а в регистре конфигурации В (РКВ) хранится информация, необходимая драйверу.

Расширенный регистр управления (РРУ) применяется во всех режимах и его установленные биты имеют следующее назначение: D0 – буфер FIFO пуст, D1 – буфер FIFO полон, D2 – запрет сервисных прерываний (переполнения, опустошения, окончания циклов ПДП), D3 – разрешение ПДП, D4 – запрет прерывания при наличии ошибки, D5 – D7 – режим ЕСР. Работа с портом ЕСР заключается в программном доступе к соответствующим регистрам и слежении за состоянием буфера FIFO.

Последовательность передачи информации из ЕСР в ПУ изображена на рис.

10.22.

ЕСР

ПУ

1

Уст D7 – D0 и HOSTACK

 

 

2

Уст HOSTCLK

 

 

Уст PERACK

3

4

Сбр HOSTCLK

 

 

 

Сбр PERACK

5

Рис. 10.22. Последовательность передачи информации из ЕСP в ПУ

Передача данных или команд имеет одну и ту же последовательность сигналов и определяется уровнем сигнала HOSTACK (высокий уровень – передача данных и низкий уровень – передача команды). При выводе данных ЕСР устанавливает (уст) D7 – D0 и сигнал HOSTACK. Затем ЕСР формирует сигналы HOSTCLK низкий уровень которых определяет достоверность данных D7 – D0. ПУ отвечает сигналом подтверждения периферии (PERACK) высокого уровня. Сброс (сбр) сиг-

288

нала HOSTCLK (положительный фронт) может быть использован для записи данных и этот момент времени определяет выдачу данных в ПУ. Если выполняется передача команды, то это, как уже отмечалось, может быть адрес (бит D7=1) или счетчик RLE (бит D7=0).

ДрайвервыполняетвыводданныхвбуферFIFOвпрограммномрежиме или в режиме ПДП, а передача данных из буфера FIFO в ПУ осуществляется схемным способом.

ПоследовательностьсигналовпередачиинформацииизПУвЕСРпредставлена на рис. 10.23.

 

ЕСР

ПУ

1

Уст REVREQ#

 

 

Уст ACKREV#

2

 

Уст D7 – D0 и PERACK

3

 

Уст PERCLK

4

5

Уст HOSTACK

 

 

Уст PERCLK

6

7Сбр HOSTACK

Сбр D7 – D0 и PERACK

8

Сбр REVREQ#

Сбр ACKREV#

Рис. 10.23. Последовательность сигналов передачи информации из ПУ в

ЕСР

При выполнении последовательности передачи информации из ПУ в ЕСР осуществляются следующие действия:

289

1.Хост устанавливает сигнал запроса реверса передачи данных (REVREQ#) низким активным уровнем.

2.ПУ отвечает сигналом подтверждения реверса (ACKREV#).

3.После этого ПУ помещает данные D7 – D0 и устанавливает сигнал PERACK. Если PERACK имеет высокий уровень, то передаются данные, а если низкий уровень, то направляется команда.

4.Затем ПУ формирует периферийный синхросигнал (РЕРСLK), низкий уровень которого указывает на достоверность информации на D7 – D0.

5.Хост, в свою очередь, устанавливает сигнал HOSTACK высокого уровня.

6.Для фиксации информации в ЕСР ПУ формирует сигнал PERCLK.

7.Хост переводит уровень сигнала HOSTACK с высокого на низкий.

8.ПУ, получив сигнал HOSTACK = 0, снимает информацию с линий D7 – D0 и сбрасывает сигнал PERACK.

Указанная последовательность сигналов повторяется при вводе каждого байта информации в ЕСР и завершается сбросом сигналов REVREQ# и ACKREV#.

При подключении какого-либо ПУ к ЕСР выполняется последовательность установки, с помощью которой определяется тип режима ЕСР. Если ПУ не отвечает на последовательность установки, то используется исходный режим Centronics. Когда осуществляется последовательность установки, то хост направляет байт расширения в ПУ, а ПУ отвечает подтверждением или посылкой идентификатора в любом режиме обратной передачи, кроме ЕРР. В табл. 10.3 представлено описание байтов расширения.

 

 

Таблица 10.3

 

 

 

Но-

Назначение байта расши-

Допусти-

мер бита

рения

мые комбинации

 

 

бит

 

 

 

7

Запрос будущих расшире-

1000 0000

 

ний

 

 

 

 

6

Запрос режима ЕРР

0100 0000

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]