КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

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

Переводится
в низкий уровень в ответ на ReverseRequest*
Флаг расширяемости

1.3. Стандарт IEEE 1284
Контакт Сигнал SPP Имя в ЕСР
I/O Описание
15 Error*
PeriphRequest*1 I Устанавливается ПУ для указания
на доступность (наличие) обратного канала передачи1
2-9 Data [0:7] Data [0:7]
I/O Двунаправленный канал данных
1 Сигналы действуют в последовательности согласования (см. ниже).
Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно, но его работа существенно отличается от режима ЕРР.
На рис. 1.5, а приведена диаграмма двух циклов прямой передачи: за циклом дан¬ных следует командный цикл. Тип цикла задается уровнем на линии HostAck: в цик¬ле данных — высокий, в командном цикле — низкий. В командном цикле байт может содержать канальный адрес или счетчик RLE. Отличительным призна¬ком является бит 7 (старший): если он нулевой, то биты 0-6 содержат счетчик RLE (0-127), если единичный — то канальный адрес. На рис. 1.5, б показана пара цик¬лов обратной передачи.
В отличие от диаграмм обмена ЕРР, на рис. 1.5 не приведены сигналы циклов системной шины процессора. В данном режиме обмен программы с ПУ раз¬бивается на два относительно независимых процесса, которые связаны через FIFO-буфер. Обмен драйвера с FIFO-буфером может осуществляться как с ис¬пользованием DMA, так и программного ввода-вывода. Обмен ПУ с буфером аппаратно выполняет адаптер ЕСР. Драйвер в режиме ЕСР не имеет информа¬ции о точном состоянии процесса обмена, но обычно важно только то, завершен он или нет.
Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:
1.
Хост помещает данные на шину канала и устанавливает признак цикла дан¬
ных (высокий уровень) или команды (низкий уровень) на линии HostAck.
2.
Хост устанавливает низкий уровень на линии HostClk, указывая на действи¬
тельность данных.
3.
ПУ отвечает установкой высокого уровня на линии PeriphAck.
4.
Хост устанавливает высокий уровень линии HostClk, и этот перепад может ис¬пользоваться для фиксации данных в ПУ.
5.
ПУ устанавливает низкий уровень на линии PeriphAck для указания на готов¬ность к приему следующего байта.
Поскольку передача в ЕСР происходит через FIFO-буферы, которые могут при¬сутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе дан¬ные можно считать переданными. Данные считаются переданными на шаге 4, ког¬да линия HostClk переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт.

Hosted by uCoz