Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы.docx
Скачиваний:
198
Добавлен:
30.01.2015
Размер:
28.56 Mб
Скачать

16. Основные режимы работы интерфейса ieee-1284

Стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году, опи­сывает порты SPP, ЕРР и ЕСР. Стандарт определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Соглас­но IEEE 1284, возможны следующие режимы обмена данными через параллель­ный порт:

  • Режим совместимости (Compatibility Mode) — однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует SPP-порту.

  • Полубайтный режим (Nibble Mode) — ввод байта в два цикла (по 4 бита), исполь­зуя для приема линии состояния. Этот режим обмена подходит для любых адаптеров, поскольку задействует только возможности стандартного порта.

  • Байтный режим (Byte Mode) — ввод байта целиком, используя для приема ли­нии данных. Этот режим работает только на портах, допускающих чтение вы­ходных данных (Bi-Directional или PS/2 Туре 1, см. выше).

  • Режим ЕРР (ЕРР Mode) — двунаправленный обмен данными (ЕРР означает Enhanced Parallel Port). Управляющие сигналы интерфейса генерируются ап­ паратно во время цикла обращения к порту. Эффективен при работе с устрой­ ствами внешней памяти и адаптерами локальных сетей.

  • Режим ЕСР (ЕСР Mode) — двунаправленный обмен данными с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding) и использо­вания FIFO-буферов и DMA (ЕСР означает Extended Capability Port). Управ­ляющие сигналы интерфейса генерируются аппаратно. Эффективен для прин­теров и сканеров (здесь может использоваться сжатие) и различных устройств блочного обмена.

Полубайтный режим

Полубайтный режим предназначен для двунаправленного обмена и может работать на всех стандартных портах. Порты имеют 5 линий ввода состояния, используя которые ПУ может посылать в хост байт тетрадами (nibble — полубайт, 4 бита) за два приема. Сигнал Ack#, вызывающий прерывание, которое может использовать­ся в данном режиме, соответствует биту 6 регистра состояния.

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

ПУ в ответ помещает тетраду на входные линии состояния.

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

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

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

Шаги 1-5 повторяются для второй тетрады.

Полубайтный режим сильно нагружает процессор, и поднять скорость обмена выше 50 Кбайт/с не удается. Безусловное его преимущество в том, что он рабо­тает на всех портах. Его применяют в тех случаях, когда поток данных невелик (например, для связи с принтерами). Однако при связи с адаптерами локальных сетей, внешними дисковыми накопителями и CD-ROM прием больших объемов данных требует изрядного терпения со стороны пользователя.

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

В этом режиме данные принимаются с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR.

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

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

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

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

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

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

Побайтный режим позволяет поднять скорость обрат­ного канала до скорости прямого канала в стандартном режиме. Однако он спосо­бен работать только на двунаправленных портах, которые раньше применялись в основном на малораспространенных машинах PS/2, но практически все современ­ные порты можно сконфигурировать на двунаправленный режим

EPP

Параллельный. Протокол ЕРР обеспечивает четыре типа циклов обмена:

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

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

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

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

Шина данных двунаправленная.

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

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

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

RDY –

Процедура обмена (во время цикла ввода или вывода)

IOW и IOR - это линии, представляющие чтение и запись портов ввода-вывода

Вся процедура должна укладываться в цикл Ior/iow.

Если устройство тормозит, т.е. RDY долго не идет – существует специальный сигнал ISA (IO/RDY), который задает длительность IOR/IOW, но контроллер ЕРР имеет встроенный таймер для контроля вечного ожидания (более 15 мкс) – после этот контроллер сбрасывает весь процесс + состояние время 0.

Существует три регистра (D,S,..)

ECP

Основное отличие: оба устройства могут быть активными, т.е. управлять процессом.

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

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

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

Передача двунаправленная. Существует FIFO (первый зашел первый вышел).

В контроллере описана процедура сжатия данных.

Информация делиться на:

- данные

- команды.

Устройство имеет два регистра на запись и на чтение.

1. данные записываются в HOST FIFO

2. цикл обмена (запись в Р)

Отличие цикла ЕСР от ЕРР, что в ЕСР длительность цикла ни к чему не привязана, а в ЕСР все идет быстрее.

Также присутсвует таймер. При таком возникновении вся ситуация сохраняется в устройстве и потом передается в HOST.

В обоих интерфейсах существует возможность адресоваться к большому числу ПУ.

диаграмма двух циклов прямой передачи: за циклом дан­ных следует командный цикл

Тип цикла задается уровнем на линии HostAck: в цик­ле данных — высокий, в командном цикле — низкий. В командном цикле байт может содержать канальный адрес или счетчик RLE. Отличительным призна­ком является бит 7 (старший): если он нулевой, то биты 0-6 содержат счетчик RLE (0-127), если единичный — то канальный адрес.

Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:

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

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

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

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

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

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

Соседние файлы в предмете Интерфейсы Периферийных Устройств