¹ Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).
² Определяется пользователем.
1.7. Конфигурирование LPT-портов
Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Этим обеспечивается возможность согласования аппаратуры с ПО и блокирования ложных переключений, вызванных некорректными действиями программы.
Конфигурирование LPT-порта зависит от его исполнения. Порт, расположенный на плате расширения (мультикарте), устанавливаемой в слот ISA или ISA+VLB, конфигурируется джамперами на самой плате. Порт на системной плате конфигурируется через BIOS Setup.
Ниже перечислены параметры, подлежащие конфигурированию.
♦ Базовый адрес — 3BCh, 378h или 278h. При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические имена LPT1
, LPT2
, LPT3
. Адрес 3BCh имеет адаптер порта, расположенный на плате MDA или HGC. Большинство портов по умолчанию конфигурируется на адрес 378h и может переключаться на 278h.
♦ Используемая линия запроса прерывания: для LPT
— IRQ7
, для LPT2
— IRQ5
. Традиционно прерывания от принтера не задействуются, и этот дефицитный ресурс можно сэкономить. Однако при использовании скоростных режимов ЕСР (или Fast Centronics) работа через прерывания может заметно повысить производительность и снизить загрузку процессора.
♦ Использование канала DMA для режимов ЕСР и Fast Centronics — разрешение и номер канала DMA.
♦ Режимы работы порта:
• SPP — порт работает только в стандартном однонаправленном программно-управляемом режиме;
• PS/2, он же Bi-Directional — отличается от SPP возможностью реверса канала (установкой CR.5
=1);
• Fast Centronics — аппаратное формирование протокола Centronics с использованием FIFO-буфера и, возможно, DMA;
• EPP — в зависимости от использования регистров порт работает в режиме SPP или EPP;
• ЕСР — по умолчанию включается в режим SPP или PS/2, записью в ECR может переводиться в любой режим ЕСР, но перевод в EPP записью в ECR кода 100 не гарантируется;
• ЕСР+EPP — то же, что и ЕСР, но запись в ECR кода режима 100 переводит порт в EPP.
Выбор режима EPP, ЕСР или Fast Centronics сам по себе не приводит к повышению быстродействия обмена с подключенными ПУ, а только дает возможность драйверу и ПУ установить оптимальный режим в пределах их «разумения». Большинство современных драйверов и приложений пытаются использовать эффективные режимы, поэтому «подрезать им крылья» установкой простых режимов без веских на то оснований не стоит.