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


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


Завершается процессорный цикл вывода.

ПУ устанавливает низкий уровень Wait*, указывая на возможность начала сле­

дующего цикла.

Рис. 1.3. Цикл записи данных ЕРР

Пример адресного цикла чтения приведен на рис. 1.4. Цикл чтения данных отли чается только применением другого стробирующего сигнала.

Главной отличительной чертой ЕРР является выполнение внешней передачи в< время одного процессорного цикла ввода-вывода. Это позволяет достигать высо ких скоростей обмена (0,5-2 Мбайт/с). ПУ, подключенное к параллельному пор ту ЕРР, может работать со скоростью устройства, подключаемого через слот ISA


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

Протокол блокированного квитирования (interlocked handshakes) позволяет авто­матически настраиваться на скорость обмена, доступную и хосту, и ПУ. ПУ может регулировать длительность всех фаз обмена с помощью всего лишь одного сигна­ла Wait*. Протокол автоматически подстраивается под длину кабеля — вносимые задержки приведут только к удлинению цикла. Поскольку кабели, соответству­ющие стандарту IEEE 1284 (см. выше), имеют одинаковые волновые свойства для разных линий, нарушения передачи, связанного с «состязаниями» сигналов, происходить не должно. При подключении сетевых адаптеров или внешних дис­ков к ЕРР-порту можно наблюдать непривычное явление: снижение производи­тельности по мере удлинения интерфейсного кабеля.

Рис. 1.4. Адресный цикл чтения ЕРР

Естественно, ПУ не должно «подвешивать» процессор на шинном цикле обмена. Это гарантирует механизм тайм-аутов PC, который принудительно завершает любой цикл обмена, длящийся более 15 мкс. В ряде реализаций ЕРР за тайм-аутом интерфейса следит сам адаптер — если ПУ не отвечает в течение определенного времени (5 мкс), цикл прекращается и в дополнительном (не стандартизованном) регистре состояния адаптера фиксируется ошибка.

Устройства с интерфейсом ЕРР, разработанные до принятия IEEE 1284, отлича­ются началом цикла: строб DataStb* или AddrStb* устанавливается независимо от состояния WAIT*.


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