Аппаратные интерфейсы ПК | страница 20
>HostClk
переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт. В протоколе ЕСР есть условия, вызывающие прекращение обмена между шагами 3 и 4. Тогда эти данные не должны рассматриваться как переданные.Из рис. 1.5 видно и другое отличие ЕСР от EPP. Протокол EPP позволяет драйверу чередовать циклы прямой и обратной передачи, не запрашивая подтверждения на смену направления. В ЕСР смена направления должна быть согласована: хост запрашивает реверс установкой >ReverseRequest#
, после чего он должен дождаться подтверждения сигналом >AckReverse#
. Поскольку предыдущий цикл мог выполняться по прямому доступу, драйвер должен дождаться завершения прямого доступа или прервать его, выгрузить буфер FIFO, определив точное значение счетчика переданных байт, и только после этого запрашивать реверс.
Обратная передача данных состоит из следующих шагов:
1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линии >ReverseRequest#
.
2. ПУ разрешает смену направления установкой низкого уровня на линии >AckReverse#
.
3. ПУ помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линии >PeriphAck
.
4. ПУ устанавливает низкий уровень на линии >PeriphClk
, указывая на действительность данных.
5. Хост отвечает установкой высокого уровня на линии >HostAck
.
6. ПУ устанавливает высокий уровень линии >PeriphClk
; этот перепад может использоваться для фиксации данных хостом.
7. Хост устанавливает низкий уровень на линии >HostAck
для указания на готовность к приему следующего байта.
1.3.5. Режимы и регистры ЕСР-порта
Программный интерфейс и регистры ЕСР для адаптеров IEEE 1284 определяет спецификация Microsoft. Порт ЕСР может работать в различных режимах, приведенных в табл. 1.7, где код соответствует полю >Mode
регистра >ECR
(биты [7:5]).
Таблица 1.7. Режимы ЕСР-порта
Код | Режим |
---|---|
000 | SPP mode, стандартный (традиционный) режим |
001 | Bi-directional mode, двунаправленный порт (тип 1 для PS/2) |
010 | Fast Centronics, однонаправленный с использованием FIFO и DMA |
011 | ЕСР Parallel Port mode, собственно режим ЕСР |
100 | ЕРР Parallel Port mode, режим ЕРР¹ |
101 | Зарезервировано |
110 | Test mode, тестирование работы FIFO и прерываний |
111 | Configuration mode, доступ к конфигурационным регистрам |
¹ Этот режим не входит в спецификацию Microsoft, но трактуется как ЕРР многими адаптерами портов, если в CMOS Setup установлен режим ЕСР+ЕРР.