определенного времени (5 мкс), цикл прекращается и в дополнительном (нестандартизованном) регистре состояния адаптера фиксируется ошибка.
Устройства с интерфейсом EPP, разработанные до принятия IEEE 1284, отличаются началом цикла: строб DataStb#
или AddrStb
# устанавливается независимо от состояния WAIT#
. Это означает, что ПУ не может задержать начало следующего цикла (хотя может растянуть его на требуемое время). Такая спецификация называется
С EPP Address Port
и EPP Data Port
), чтение и запись в которые вызывает генерацию связанных внешних циклов.
Назначение регистров стандартного порта сохранено для совместимости EPP-порта с ПУ и ПО, рассчитанными на применение программно-управляемого обмена. Поскольку сигналы квитирования адаптером вырабатываются аппаратно, при записи в регистр управления CR биты 0, 1 и 3, соответствующие сигналам Strobe#
, AutoFeed#
и SelectIn#
должны иметь нулевые значения. Программное вмешательство могло бы нарушить последовательность квитирования. Некоторые адаптеры имеют специальные средства защиты (
Использование регистра данных EPP позволяет осуществлять передачу блока данных с помощью одной инструкции REP INSB
или REP OUTSB
. Некоторые адаптеры допускают
Важной чертой EPP является то, что обращение процессора к ПУ осуществляется в реальном времени — нет буферизации. Драйвер способен отслеживать состояние и подавать команды в точно известные моменты времени. Циклы чтения и записи могут чередоваться в произвольном порядке или идти блоками. Такой тип обмена удобен
К сожалению, режим EPP поддерживается не всеми портами — он отсутствует, к примеру, в ряде блокнотных ПК. Так что при разработке собственных устройств ради большей совместимости с компьютерами приходится ориентироваться на режим ECP.
1.3.4. Режим ECP
Протокол
Протокол ECP в обоих направлениях обеспечивает два типа циклов:
♦ циклы записи и чтения данных;
♦ командные циклы записи и чтения.
Командные циклы подразделяются на два типа: передача канальных адресов и передача счетчика
В отличие от 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 для передачи в обратном направлении |