Командные циклы подразделяются на два типа: передача канальных адресов и передача счетчика
В отличие от EPP вместе с протоколом ЕСР сразу появился стандарт на программную (регистровую) модель его адаптера, изложенный в документе «The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard» компании Microsoft. Этот документ определяет свойства протокола, не заданные стандартом IEEE 1284:
♦ компрессия данных хост-адаптером по методу RLE;
♦ буферизация FIFO для прямого и обратного каналов;
♦ применение DMA и программного ввода-вывода.
Компрессия в реальном времени по методу
Протокол ECP переопределяет сигналы SPP (табл. 1.6).
Таблица 1.6. Сигналы LPT-порта в режиме ввода-вывода ECP
Контакт | Сигнал SPP | Имя в ECP | I/O | Описание |
---|---|---|---|---|
1 | Strobe# | HostClk | О | Строб данных, используется в паре с PeriphAck для передачи в прямом направлении (вывод) |
14 | AutoLF# | HostAck | О | Указывает тип цикла (команда/данные) при передаче в прямом направлении. Используется как сигнал подтверждения в паре с PeriphClk для передачи в обратном направлении |
17 | SelectIn# | 1284Active | O | Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий) |
16 | Init# | ReverseRequest# | O | Запрос реверса. Низкий уровень сигнализирует о переключении канала на передачу в обратном направлении |
10 | Ack# | PeriphClk | I | Строб данных, используется в паре с HostAck для передачи в обратном направлении |
11 | Busy | PeriphAck | I | Используется как сигнал подтверждения в паре с HostClk для передачи в прямом направлении. Индицирует тип команда/данные при передаче в образном направлении |
12 | PaperEnd | AckReverse# | I | Подтверждение реверса. Переводится в низкий уровень в ответ на ReverseRequest# |
13 | Select | Xflag¹ | I | Флаг расширяемости |
15 | Error# | PeriphRequest#¹ | I | Устанавливается ПУ для указания на доступность (наличие) обратного канала передачи¹ |
2-9 | Data [0:7] | Data [0:7] | I/O | Двунаправленный канал данных |
¹ Сигналы действуют в последовательности согласования (см. ниже)
Адаптер ECP тоже генерирует внешние протокольные сигналы квитирования аппаратно, но его работа существенно отличается от режима EPP.
На рис. 1.5, HostAck
: в цикле данных — высокий, в командном цикле — низкий. В командном цикле байт может содержать
Рис. 1.5. Передача в режиме ECP:
В отличие от диаграмм обмена EPP, на рис. 1.5 не приведены сигналы циклов системной шины процессора. В данном режиме обмен программы с ПУ разбивается на два относительно независимых процесса, которые связаны через FIFO-буфер. Обмен драйвера с FIFO-буфером может осуществляться как с использованием DMA, так и программного ввода-вывода. Обмен ПУ с буфером аппаратно выполняет адаптер ECP. Драйвер в режиме ЕСР не имеет информации о точном состоянии процесса обмена, но обычно важно только то, завершен он или нет.