Конфигурирование LPT-портов

в начало

Управление параллельным портом разделяется на два этапа – предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Таким образом обеспечивается возможность согласования аппаратуры и программного обеспечения и блокирования ложных переключений, вызванных некорректными действиями программы.

Порт, расположенный на системной плате, обычно конфигурируется через BIOS Setup.

Конфигурированию подлежат следующие параметры:

1) Базовый адрес, который может иметь значение 3ВСh, 378h и 278h. При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические имена LPT1, LPT2, LPTЗ. Адрес 3ВСh имеет адаптер порта, расположенный на плате MDA или HGC. Большинство портов по умолчанию конфигурируется на адрес 378h и может переключаться на 278h.

2) Используемая линия запроса прерывания: для LPT1 обычно используется IRQ7, для LPT2 – IRQ5. Во многих “настольных” применениях прерывания от принтера не используются, и этот дефицитный ресурс РС можно сэкономить. Однако при использовании скоростных режимов ЕСР (или Fast Centronics) работа по прерываниям может заметно повысить производительность и снизить загрузку процессора.

3) Использование канала ВМА для режимов ЕСР и Fast Centronics – разрешение и номер канала DMA.

Режим работы порта может быть задан в следующих вариантах:

- SPP – порт работает только в стандартном однонаправленном программно-управляемом режиме.

- PS/2, он же Bi-Directional – отличается от SPP возможностью реверса канала (с помощью установки CR.5=1).

- Fast Centronics – аппаратное формирование протокола Centronics с использованием FIFO-буфера и, возможно, DMA.

- ЕРР – в зависимости от использования регистров, порт работает в режиме SPP или ЕРР.

- ЕСР – по умолчанию включается в режим SPP или PS/2, записью в ЕСК может переводиться в любой режим ЕСР, но перевод в ЕРР записью в ЕСR кода режима 100 не гарантируется.

- ЕСР+ЕРР – то же, что и ЕСР, но запись в ЕСR кода режима 100 переводит порт в режим ЕРР.

Выбор режима ЕРР, ЕСР или Fast Centronics в BIOS Setup или джамперами на плате сам по себе не приводит к повышению быстродействия обмена с подключенной периферией, а только дает возможность драйверу и периферийному устройству установить оптимальный режим в пределах их “умений”. Однако большинство современных драйверов и приложений автоматически пытаются использовать эффективные режимы, так что “подрезать им крылья” установкой простых режимов без веских оснований не стоит.

Принтеры и сканеры могут пожелать использования режима ЕСР, причем Windows (3.1x, 95 и NT) имеет и системные драйверы для этого режима. В среде DOS печать через ЕСР поддерживается только специальным загружаемым драйвером.

Сетевые адаптеры, внешние диски и CD-ROM, подключаемые к параллельному порту, обычно могут использовать режим ЕРР. Для этого режима специальный драйвер пока еще не применяется, а возможность использования ЕРР обычно включена в драйвер самого подключаемого устройства.