Аппаратные интерфейсы ПК


Режим ЕСР - часть 3


На рис. 1.5, б показана пара цик­лов обратной передачи.

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

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

1.   Хост помещает данные на шину канала и устанавливает признак цикла дан­

ных (высокий уровень) или команды (низкий уровень) на линии HostAck.

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

тельность данных.

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

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

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

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


32


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


 

 

Рис. 1.5. Передача в режиме ЕСР: а — прямая, б — обратная

Из рис. 1.5 видно и другое отличие ЕСР от ЕРР. Протокол ЕРР позволяет драйве­ру чередовать циклы прямой и обратной передачи, не запрашивая подтверждения на смену направления.


Начало  Назад  Вперед