--PAGE_BREAK--Расширения параллельного порта
Недостатки стандартного порта частично устраняют новые типы портов, появившихся в компьютерах семействаPS/2.
Двунаправленный порт1(Typel parallel port)— интерфейс, введенный сPS/2. Такой порт кроме стандартного режима может работать в режиме ввода или двунаправленном. Протокол обмена формируется программно, а для указания направления передачи в регистр управления порта введен специальный бит: при CR.5=0 буфер данных работает на вывод, приCR.5=1 — на ввод.
Порт с прямым доступом к памяти(Type3DMA parallel port) применялся в PS/2 моделей57, 90, 95. Этот тип был введен для повышения пропускной способности и разгрузки процессора при выводе на принтер. Программе, работающей с данным портом, требовалось только задать блок данных в памяти, подлежащих выводу, и вывод по протоколуCentronics производился без участия процессора.
Физический и электрический интерфейс
СтандартIEEE1284 определяет физические характеристики приемников и передатчиков сигналов.
К передатчикам предъявляются следующие требования:
Уровни сигналов без нагрузки не должны выходить за пределы-0,5… +5,5 В.
Уровни сигналов при токе нагрузки14 мА должны быть не ниже+2,4 В для высокого уровня(voh)и не выше+0,4 В для низкого уровня(vol) на постоянном токе.
Выходной импедансro,измеренный на разъеме, должен составлять 50(±)5 Ом на уровнеvoh-vol.Для обеспечения заданного импеданса в некоторых случаях используют последовательные резисторы в выходных цепях передатчика. Согласование импеданса передатчика и кабеля снижает уровень импульсных помех.
Скорость нарастания (спада) импульса должна находиться в пределах 0,05-0,4 В/нс.
Требования к приемникам:
Допустимые пиковые значения сигналов-2,0...+7,0.
Пороги срабатывания должны быть не выше2,0 В(vih)для высокого уровня и не ниже0,8 В(vil)для низкого.
Приемник должен иметь гистерезис в пределах0,2-1,2 В.
Входной ток микросхемы не должен превышать20 мкА.
Входная емкость не должна превышать50 пФ.
СтандартIEEE1284 определяет три типа используемых разъемов. Типы Л(DB-25) и В(Centronics-36) используются в традиционных кабелях подключения принтера, тип С— новый малогабаритный 36-контактный разъем.
Интерфейсные кабели, традиционно используемые для подключения принтеров, обычно имеют от18 до25 проводников, в зависимости от числа проводников цепиGND.
СтандартIEEE1284 регламентирует и свойства кабелей:
Все сигнальные линии должны быть перевитыми с отдельными обратными (общими) проводами.
Каждая пара должна иметь импеданс 62(±)6 Ом в частотном диапазоне 4-16 МГц.
Уровень перекрестных помех между парами не должен превышать10%.
Кабель должен иметь экран (фольгу), покрывающий не менее85% внешней поверхности. На концах кабеля экран должен быть окольцован и соединен с контактом разъема.
Кабели, удовлетворяющие этим требованиям, маркируются надписью IЕЕЕ
Std1284-1994
Compliant». Они могут иметь длину до10 метров.
Режимы передачи данных
СтандартIEEE1284 определяет пять режимов обмена, один из которых полностью соответствует традиционному стандартному программно-управляемому выводу по протоколуCentronics. Остальные режимы используются для расширения функциональных возможностей и повышения производительности интерфейса. Стандарт определяет способ согласования режима, по которому программное обеспечение может определить режим, доступный и хосту (в нашем случае это PC), и периферийному устройству.
Режимы нестандартных портов, реализующих протокол обменаCentronics аппаратно(«Fast Centronics, «Parallel Port FIFO Mode»), могут и не являться режимами IEE1284, несмотря на наличие в них черт ЕРР и ЕСР.
При описании режимов обмена фигурируют следующие понятия:
Хост— компьютер, обладающий параллельным портом.
ПУ— периферийное устройство, подключаемое к этому порту (им может оказаться и другой компьютер). обозначениях сигналовPtr обозначает передающее периферийное устройство.
Прямой канал— канал вывода данных от хоста в ПУ.
Обратный канал канал ввода данных в хост из ПУ.
Полубайтный режим ввода—
Nibble Mode
Режим полубайтного обмена является наиболее общим решением задачи двунаправленного обмена данными, поскольку может работать на всех стандартных (традиционных) портах. Все эти порты имеют5 линий ввода состояния, используя которые периферийное устройство может посылать вPC байт тетрадами (nibble— полубайт,4 бита) за два приема. Назначение сигналов порта приведено в табл 4.
Таблица4.
СигналыLPT-порта в полубайтном режиме ввода
Контакт
СигналSPP
I/O
Использование сигнала при приеме данных вNibble Mode
14
AUTOFEED#
HostBusy— сигнал квитирования. Низкий уровень означает готовность к приему тетрады, высокий подтверждает прием тетрады
17
SELECTIN»
Высокий уровень указывает на обмен в режимеIEEE1284 (в режимеSPP уровень низкий)
10
АСК#
'
PtrClk. Низкий уровень означает действительность тетрады, переход в высокий— ответ на сигналHostBusy
11
BUSY
I
Прием бита данных3, затем бита7
12
РЕ
I
Прием бита данных2, затем бита6
13
SELECT
I
Прием бита данных1, затем бита5
15
ERRORS
I
Прием бита данных0, затем бита4
Прием байта данных в полубайтном режиме состоит из следующих фаз:
1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линииHostBusy.
2. ПУ в ответ помещает тетраду на входные линии состояния.
3. ПУ сигнализирует о действительности тетрады установкой низкого уровня на линииPtrClk.
4. Хост устанавливает высокий уровень на линииHostBusy, указывая на занятость приемом и обработкой тетрады.
5. ПУ отвечает установкой высокого уровня на линииPtrCLk.
6. Шаги1-5 повторяются для второй тетрады.
Полубайтный режим работает на всех портах со скоростью обмена не выше50 Кбайт/с. Его применяют в тех случаях, когда прием данных от устройства производится в небольших объемах (например, для связи с принтерами).
Двунаправленный байтный режимByte Mode
Данный режим обеспечивает прием данных с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR.5=1. Как и в стандартном и в полубайтном режиме, данный режим является программно-управляемым— все сигналы квитирования анализируются и устанавливаются программным драйвером. Назначение сигналов порта приведено в табл.5.
Таблица5.
СигналыLPT-порта в байтном режиме ввода/вывода
Контакт
СигналSPP
Имя вByte Mode
I/O
Описание
1
STROBES
HostClk
Импульс (низкого уровня) подтверждает прием байта в конце каждого цикла
14
AUTOFEED#
HostBusy
Сигнал квитирования. Низкий уровень означает готовность хоста принять байт, высокий уровень устанавливается по приему байта
17
SELECT-IN»
1284Active
0
Высокий уровень указывает на обмен в режиме IEEE1284. (В режимеSPP уровень низкий)
16
INIT#
INIT#
0
Не используется, установлен высокий уровень
10
АСКй
Ptrtik
Устанавливается в низкий уровень для индикации действительности данных на линиях DATA[7:0]. В низкий уровень устанавливается в ответ на сигналHostBusy
11
BUSY
PtrBusy
I
Состояние занятости прямого канала
12
РЕ
AckDataReq*
I
Устанавливается ПУ для указания на наличие обратного канала передачи*
13
SELECT
Xflag*
I
Флаг расширяемости*
15
ERRORS
DataAvau#*
I
Устанавливается ПУ для указания на наличие обратного канала передачи*
2-9
DATA[7:0]
DATA[7:0]
I/0
Двунаправленный (прямой и обратный) канал данных
Прием байта данных в байтном режиме состоит из следующих фаз:
1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линииHostBusy.
2. ПУ в ответ помещает байт данных на линииDATA[7:0].
3. ПУ сигнализирует о действительности байта установкой низкого уровня на линииPtrClk.
4. Хост устанавливает высокий уровень на линииHostBusy, указывая на занятость приемом и обработкой байта.
5. ПУ отвечает установкой высокого уровня на линииPtrClk.
6. Хост подтверждает прием байта импульсомHostClk.
7. Шаги1-6 повторяются для каждого следующего байта.
Побайтный режим позволяет поднять скорость обратного канала до скорости прямого канала в стандартном режиме. Однако работать он может только на двунаправленных портах, которые применяются в основном лишь на малораспространенных машинахPS/2.
Режим ЕРР
Протокол ЕРР(Enhanced Parallel Port— улучшенный параллельный порт) предназначен для повышения производительности обмена по параллельному порту. ЕРР был реализован в чипсетеIntel 386SL (микросхема82360) и используется как дополнительный протокол параллельного порта.
Протокол ЕРР обеспечивает четыре типа циклов обмена:
Цикл записи данных.
Цикл чтения данных.
Цикл записи адреса.
Цикл чтения адреса.
Адресные циклы могут быть использованы для передачи адресной, канальной и управляющей информации. Циклы обмена данными явно отличаются от адресных циклов применяемыми стробирующими сигналами. Назначение сигналов порта ЕРР и их связь с сигналамиSPP приведены в табл.6.
Таблица6.
СигналыLPT-порта в режиме ввода/вывода ЕРР
Контакт
СигналSPP
Имя в ЕРР
I/O
Описание
1
STROBE»
WRITE»
Низкий уровень— признак цикла записи, высокий— чтения
14
AUTOFEEDff
DATASTB#
Строб данных. Низкий уровень устанавливается в циклах передачи данных
17
SELECTING
ADDRSTB#
0
Строб адреса. Низкий уровень устанавливается в адресных циклах
16
INIT#
RESETS
0
Сброс ПУ (низким уровнем)
Контакт
СигналSPP
Имя в ЕРР
I/O
Описание
10
АСК#
INTR#
I
Прерывание от ПУ
11
BUSY
WAIT»
I
Сигнал квитирования. Низкий уровень разрешает начало цикла (установку строба в низкий уровень), переход в высокий— разрешает завершение цикла (снятие строба)
2-9
D[8:0]
AD[8:0]
I/O
Двунаправленная шина адреса/данных
12
РЕ
AckDataReq*
I
Используется по усмотрению разработчика периферии
13
SELECT
Xflag*
I
Используется по усмотрению разработчика периферии
15
ERROR
DataAvaiW*
I
Используется по усмотрению разработчика периферии
ЕРР-порт имеет расширенный набор регистров (табл. 7), который занимает в пространстве ввода/вывода 5-8 смежных байт.
Таблица7.
Регистры ЕРР-порта
Имя регистра
Смещение
Режим
R/W
Описание
SPP Data Port
+0
SPP/EPP
W
Регистр данных стандартного порта
SPP Status Port
+1
SPP/EPP
R
Регистр состояния стандартного порта
SPP Control Port
+2
SPP/EPP
W
Регистр управления стандартного порта
EPP Address Port
+3
EPP
R/W
Регистр адреса ЕРР. Чтение или запись в него генерирует связанный цикл чтения или записи адреса ЕРР
EPP Data Port
+4
EPP
R/W
Регистр данных ЕРР. Чтение (запись) генерирует связанный цикл чтения (записи) данных ЕРР
Not Defined
+5...+7
EPP
N/A
В некоторых контроллерах могут использоваться для 16-32-битных операций ввода/вывода
В отличие от программно-управляемых режимов, описанных выше, внешние сигналы ЕРР-порта (как информационные, так и сигналы квитирования) для каждого цикла обмена формируются аппаратно по одной операции записи или чтения в регистр порта.
Цикл записи данных состоит из следующих фаз:
1. Программа выполняет цикл записи(IOWR#) в порт4 (ЕРРData Port).
2. Адаптер устанавливает сигналWriteff (низкий уровень), и данные помещаются на выходную шинуLPT-порта.
3. При низком уровнеWAIT# устанавливается строб данных.
4. Порт ждет подтверждения от ПУ (переводаWAIT# в высокий уровень).
5. Снимается строб данных— внешний ЕРР-цикл завершается.
6. Завершается процессорный цикл ввода/вывода.
7. ПУ устанавливает низкий уровеньWAIT#, указывая на возможность начала следующего цикла.
Главной отличительной чертой ЕРР является выполнение внешней передачи во время одного процессорного цикла ввода/вывода. Это позволяет достигать высоких скоростей обмена(0,5-2 Мбайт/с). Периферийное устройство, подключенное к параллельному порту ЕРР, может работать на уровне производительности устройства, подключаемого через слотISA. Периферийное устройство может регулировать длительность всех фаз обмена с помощью всего лишь одного сигналаWAIT#. Протокол автоматически подстраивается и под длину кабеля— вносимые задержки только приведут к удлинению цикла.
«ЗАВИСАНИЕ» процессора на шинном цикле обмена препятствует механизм тайм-аутовPC, который принудительно завершает любой цикл обмена, длящийся более15 мкс.
С программной точки зрения контроллер ЕРР-порта выглядит достаточно просто (см. табл.7). К трем регистрам стандартного порта, имеющим смещение 0,1 и2 относительно базового адреса порта, добавлены два регистра (ЕРРAddress Port и ЕРРData Port), чтение и запись в которые вызывает генерацию связанных внешних циклов.
Назначение регистров стандартного порта сохранено, что обеспечивает совместимость ЕРР-порта с периферийными устройствами и программным обеспечением, рассчитанными на применение программно-управляемого обмена. Поскольку сигналы квитирования адаптером вырабатываются аппаратно, при записи в регистр управленияCR биты0, 1 и3, соответствующие сигналамSTROBES, AUTOFEEDS иSELECTING, должны иметь нулевые значения. В противном случае программное вмешательство может нарушить последовательность квитирования. Некоторые адаптеры имеют специальные средства защиты (ЕРРProtect), при включении которых программная модификация этих бит блокируется.
Использование регистра данных ЕРР позволяет осуществлять передачу блока данных с помощью одной инструкцииREP INSB илиREP OUTSB вместо традиционных циклов с интенсивными операциями ввода/вывода. Некоторые адаптеры допускают и 16/32-битное обращение к регистру данных ЕРР. Тогда16- или 32-битное обращение по адресу регистра данных ЕРР приведет к автоматической генерации двух или четырех шинных циклов по нарастающим адресам, начиная со смещения4. Эти циклы будут выполняться быстрее, чем то же количество одиночных циклов. Таким образом при обмене данными и обеспечивается производительность, достигающая2 Мбайт/с, вполне достаточная и для адаптеров локальных сетей, внешних дисков, стриммеров иCD-ROM. Адресные циклы БРР всегда выполняются только в однобайтном режиме обращения.
Важной чертой ЕРР является то, что обращение процессора к периферийному устройству осуществляется в реальном времени. Программный драйвер всегда способен наблюдать состояние и подавать команды в точно известные моменты времени. Циклы чтения и записи могут чередоваться в произвольном порядке или идти блоками. Такой тип обмена наиболее пригоден для регистро-ориентированной периферии или периферии, работающей в реальном времени— сетевых адаптеров, устройств сбора информации и управления, дисковых устройств и т. п.
продолжение
--PAGE_BREAK--Режим ЕСР
Протокол ЕСР(Extended Capability Port— порт с расширенными возможностями) был предложен фирмамиHewlett Packard иMicrosoft как прогрессивный режим связи с периферией типа принтеров и сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с периферийными устройствами.
Протокол ЕСР в обоих направлениях обеспечивает два типа циклов:
••• Циклы записи и чтения данных. Командные циклы записи и чтения.
Командные циклы подразделяются на два типа: передача канальных адресов и счетчикаRLC (Run-Length Count).
В отличие от ЕРР вместе с протоколом ЕСР сразу появился и стандарт на программную (регистровую) модель реализации его адаптера, изложенный в документе«The IEEE1284Extended Capabilities Port Protocol and ISA Interface Standard» компанииMicrosoft. Этот документ определяет специфические свойства реализации протокола, не заданные стандартомIEEE1284: компрессия данных хост-адаптером по методуRLE;
••• буферизацияFIFO для прямого и обратного каналов: применениеDMA и программного ввода/вывода.
Компрессия в реальном времени по методуRLE (Run-Length Encoding) позволяет достичь коэффициента сжатия до64:1 при передаче растровых изображений.
Канальная адресация ЕСР применяется для адресации множества логических устройств, входящих в одно физическое. Например, в комбинированном устройстве факс/принтер/модем, подключаемом только к одному параллельному порту, возможен одновременный прием факса и печать на принтере.
Как и в других режимах1284, протокол ЕСР переопределяет сигналыSPP (табл.8).
Таблица8.
СигналыLPT-порта в режиме ввода/вывода ЕСР
Контакт
СигналSPP
Имя в ЕСР
I/O
Описание
1
STROBE»
HortClk
Используется в паре сPeriphAck для передачи в прямом направлении (вывод)
14
AUTOFEED#
HostAck
Индицирует тип команда/данные при передаче в прямом направлении. Используется в паре сPeriphClk для передачи в обратном направлении
17
SELECTING
1284Active
О
Высокий уровень указывает на обмен в режиме IEEE1284. (В режимеSPP уровень низкий)
16
INIT#
ReverseRequest#
О
Низкий уровень переключает канал на передачу в обратном направлении
10
ACK#
PeriphClk
I
Используется в паре сHostAck для передачи в обратном направлении
11
BUSY
PeriphAck
1
Используется в паре сHostClk для передачи в обратном направлении. Индицирует тип команда/ данные при передаче в обратном направлении
12
PE
AckReverse#
I
Переводится в низкий уровень как подтверждение сигналуReverseRequestff
13
SELECT
Xflag*
I
Флаг расширяемостиExtensibility flag
15
ERROR»
PeriphRequest#*
I
Устанавливается ПУ для указания на доступность (наличие) обратного канала передачи*
2-9
Data[0:7]
Data[0:7]
I/O
Двунаправленный канал данных
* Сигналы действуют в последовательности согласования (см. ниже).
Адаптер ЕСР тоже генерирует внешние протокольные сигналы квитирования аппаратно.
Прямая передача данных на внешнем интерфейсе состоит из следующих шагов:
1. Хост помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линииHostAck.
2. Хост устанавливает низкий уровень на линииHostClk, указывая на действительность данных.
3. ПУ отвечает установкой высокого уровня на линииPeriphAck.
4. Хост устанавливает высокий уровень линииHostClk, и этот перепад может использоваться для фиксации данных в ПУ.
5. ПУ устанавливает низкий уровень на линииPeriphAck для указания на готовность к приему следующего байта.
Поскольку передачи в ЕСР разделеныFIFO-буферами, которые могут присутствовать на обеих сторонах интерфейса, важно понимать, на каком этапе данные можно будет считать переданными. Данные считается переданными на шаге4, когда линияHostClk переходит в высокий уровень. В этот момент модифицируются счетчики переданных и принятых байт.
Обратная передача данных состоит из следующих шагов:
1. Хост запрашивает изменение направления канала, устанавливая низкий уровень на линииReverseRequestff. 2 ПУ разрешает смену направления установкой низкого уровня на линииAck-Reverse#.
3. ПУ помещает данные на шину канала и устанавливает признак цикла данных (высокий уровень) или команды (низкий уровень) на линииPeriphAck.
4. ПУ устанавливает низкий уровень на линииPeriphClk, указывая на действительность данных.
5. Хост отвечает установкой высокого уровня на линииHostAck.
6. ПУ устанавливает высокий уровень линииPeriphClk, и этот перепад может использоваться для фиксации данных хостом.
7. Хост устанавливает низкий уровень на линииHostAck для указания на готовность к приему следующего байта.
Согласование режимовIEEE1284
Периферийные устройства в стандартеIEEE1284 обычно не требуют от контроллера реализации всех режимов, предусмотренных стандартом. Для определения режимов и методов управления конкретным устройством стандарт предусматривает последовательность согласования(negotiation sequence) для установки требуемого режима интерфейса.
Во время фазы согласования контроллер выставляет на линии данных байт расширяемости(Extensibility byte), запрашивая подтверждение на перевод интерфейса в требуемый режим или прием идентификатора периферийного устройства (табл.11). Идентификатор передается контроллеру в запрошенном режиме (любой режим обратного канала, кроме ЕРР). ПУ использует сигнал Xflag (Select в терминахSPP) для подтверждения запрошенного режима обратного канала, кроме полубайтного. Полубайтный режим поддерживается всеми устройствамиIEEE1284. БитExtensibility Link request заложен для механизма определения дополнительных режимов в будущих расширениях стандарта.
Таблица.11.
продолжение
--PAGE_BREAK--Значение бит байта расширяемости
Бит
Описание
Допустимые комбинации бит[7:0]
7
Request Extensibility Link— запрос для будущих расширений
1000 0000
6
Запрос режима ЕРР
0100 0000
5
Запрос режима ЕСР сRLE
ООН0000
4
Запрос режима ЕСРMode безRLE
0001 0000
3
Резерв
0000 1000
2
Запрос идентификатора устройства с ответом в режиме:
Nibble Mode (полубайтный)
0000 0100
Byte Mode (байтный)
0000 0101
ЕСР безRLE
0001 0100
ЕСР сRLE
0011 0100
1
Резерв
0000 0010
ЗапросByte Mode
0000 0001
None
ЗапросNibble Mode
0000 0000
Последовательность согласования состоит из следующих шагов:
1. Хост выводит байт расширяемости на линии данных.
2. Хост устанавливает высокий уровень сигналаSelecting и низкий—Auto-Feedft, что означает начало последовательности согласования.
3. ПУ1284 ответит установкой низкого уровня сигналаAckff и высокого— Errorft, РЕ иSelect.
4. Хост устанавливает низкий уровень сигналаStrobeff для записи байта расширяемости в ПУ.
5. Хост устанавливает высокий уровень сигналовStrobeff иAutoFeedff.
6. ПУ отвечает установкой в низкий уровень сигналов РЕ иErrorff, если оно имеет обратный канал передачи данных. Если запрошенный режим поддерживается устройством, на линииSelect устанавливается высокий уровень, если не поддерживается— низкий.
7. ПУ устанавливает высокий уровень на линииAck# для указания на завершение последовательности согласования, после чего контроллер устанавливает требуемый (и разрешенный) режим работы.
Развитие стандарта
IEEE
1284
Кроме основного стандартаIEEE1284, который уже принят, в настоящее время в стадии проработки находятся новые стандарты, не отменяющие его, а определяющие дополнительные возможности. К ним относятся:
IEEE P1284.1«Standard for Information Technology for Transport Independent Printer/Scanner Interface (TIP/SI)». Этот стандарт разрабатывается для управления и обслуживания сканеров и принтеров на основе протоколаNPAP (Network Printing Alliance Protocol).
IEEE P1284.2«Standard for Test, Measurement and Conformance to IEEE Std. 1284»— стандарт для тестирования портов, кабелей и устройств на совместимость сIEEE1284.
IEEE P1284.3«Standard for Interface and Protocol Extensions to IEEE Std-1284Compliant Peripheral and Host Adapter Ports»— стандарт на драйверы и использование устройств прикладным программным обеспечением.
IEEE P1284.4«Standard for Data Delivery and Logical Channels for IEEE Std. 1284Interfaces». Этот стандарт направлен на реализацию пакетного протокола достоверной передачи данных через параллельный порт. Исходной точкой является протоколMLC (Multiple Logical Channels) фирмыHewlett-Packard.
КонфигурированиеLPT-портов
Управление параллельным портом разделяется на два этапа— предварительное конфигурирование(Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Таким образом обеспечивается возможность согласования аппаратуры и программного обеспечения и блокирования ложных переключении, вызванных некорректными действиями программы.
Способ и возможности конфигурированияLPT-портов зависят от его исполнения и местоположения. Порт, расположенный на плате расширения (обычно на мультикарте), устанавливаемой в слотISA илиISA+VLB, обычно конфигурируется джамперами на самой плате. Порт, расположенный на системной плате, обычно конфигурируется черезBIOS Setup.
Конфигурированию подлежат следующие параметры:
Базовый адрес, который может иметь значение3BCh, 378h и278h. При инициализацииBIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические именаLPT1,LPT2,LPT3. Адрес3BCh имеет адаптер порта, расположенный на платеMDA илиHGC. Большинство портов по умолчанию конфигурируется на адрес378h и может переключаться на278h.
Используемая линия запроса прерывания: дляLPT1 обычно используется IRQ7, дляLPT2 —IRQ5.
Использование канала
DMA для режимов ЕСР иFast Centronics — разрешение и номер каналаDMA.
продолжение
--PAGE_BREAK--