Шрифт:
Интервал:
Закладка:
Рис. 2. Разъем интерфейсного адаптера Cetronics DB-25S
В качестве недостатков стандартного LPT порта (SPP) следует отметить невысокую скорость передачи данных (100–150 кВ/сек), загрузку процессора при передаче данных, невозможность двунаправленного побайтного обмена. Существует "радиолюбительская" методика двунаправленного обмена, которая состоит в том, что для ввода данных на линии D0-D7 выставляют "1", а в качестве передатчика используют микросхемы с открытым коллектором, которые при открытом транзисторе могут "подсаживать" напряжение логической единицы до уровня порядка 1.5–1.7 В. Ток ограничен на уровне 30 мА. Как очевидно из уровней сигналов, они не соответствуют уровням ТТЛ, поэтому многие порты не работают в таком режиме или работают нестабильно. Кроме того, такой способ может быть опасен для адаптера порта, который будет работать с предельными для него токами.
Стандарт IEEE 1284, принятый в 1994 году, определяет термины SPP, ЕРР и ЕСР. Стандарт определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:
— Compatibility Mode — однонаправленный (вывод) по протоколу Centronics. Этот режим соответствует стандартному (традиционному) порту SPP;
— Nibble Mode — ввод байта в два цикла (по 4 бита), используя для ввода линии состояния. Этот режим обмена может использоваться на любых адаптерах;
— Byte Mode — ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional или PS/2 Туре 1);
— ЕРР (Enhanced Parallel Port) Mode — двунаправленный обмен данными, при котором управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту (чтения или записи в порт). Эффективен при работе с устройствами внешней памяти, адаптерами локальных сетей;
— ЕСР (Extended Capability Port) Mode — двунаправленный обмен с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding), использования FIFO-буферов и DMA. Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров.
В современных машинах с LPT-портом на системной плате режим порта — SPP, ЕРР, ЕСР или их комбинация задается в BIOS Setup. Режим Compatibility Mode полностью соответствует SPP и часто установлен по умолчанию. Все остальные режимы расширяют функциональные возможности интерфейса и повышают его производительность. Кроме того, стандарт регламентирует способ согласования режима, доступного как ПК, так и периферийному устройству.
Физический и электрический интерфейс. Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов. IEEE 1284 предусматривает два уровня интерфейсной совместимости: первый уровень — для уст ройств, не требующих высоких скоростей обмена, но использующих возможность смены направления передачи данных; второй уровень — устройства, работающие в расширенных режимах, с высокими скоростями и длинными кабелями. Требования к передатчикам приведены в таблице 3, для приемников — в таблице 4.
Таблица 3. Требования стандарта IEEE 1284 к передатчикам
Требование ∙ Значение
Диапазон уровней сигналов без нагрузки… -0.5…+5.5 В
Уровень "1" при токе нагрузки 14 мА, не менее… +2.4 В
Уровень "0" при токе нагрузки 14 мА, не более… + 0.4 В
Выходной импеданс, измеренный на разъеме… 50±5 Ом
Скорость нарастания/спада импульса (должна находиться в указанных пределах)… 0.05-0.4 В/нс
Таблица 3. Требования стандарта IEEE 1284 к приемникам
Требование ∙ Значение
Допустимые пиковые значения сигналов, выдерживаемые без ошибок в работе, В… -2.0 — +7.0
Порог срабатывания "1", не выше, В… 2.0
Порог срабатывания "0", не ниже, В… 0.8
Гистерезис приемника (пределы), В… 0.2–1.2
Входной ток (втекающий и вытекающий), не более, мкА… 20
Входная емкость, не более, пФ… 50
Примечание: Входные линии соединяются с шиной питания резистором 1.2 кОм.
Стандарт IEEE 1284 определяет три типа используемых разъемов: A (DB-25S), В (Centronics-36), С (новый малогабаритный 36-контактный разъем). Интерфейсные кабели могут иметь от 18 до 25 проводников (в зависимости от числа проводников GND). Не предъявляется жестких требований к экранировке и прочим параметрам, однако, такие кабели могут работать только на низких скоростях при длине не более 2 метров. Стандарт IEEE 1284 для улучшенных кабелей определяет следующие параметры:
— Все сигнальные проводники должны быть перевиты с отдельными обратными (общими) проводами;
— Каждая пара должна иметь импеданс 62±6 Ом в диапазоне частот 4-16 МГц;
— Уровень перекрестных помех не должен превышать 10 %;
— Кабель должен иметь экран, покрывающий не менее 85 процентов внешней поверхности. На концах кабеля экран должен быть окольцован и соединен с контактом разъема GND.
Кабели, удовлетворяющие этим требованиям, маркируются как "IEEE Std 1284–1994 Compliant". Они могут иметь длину до 10 метров.
Работа с параллельным портом на низком уровне (т. е. на уровне прямого обращения к контроллеру порта) применяется при решении различного круга задач по обмену информацией с нестандартными устройствами, для написания драйверов принтеров и ряда других задач. Прямая работа с контроллером позволяет реализовать любой протокол обмена с устройством и использовать линии порта по своему усмотрению.
Контроллер порта расположен в адресном пространстве устройств ввода-вывода и обращение к нему производится посредством команд IN и OUT ассемблера. Или при помощи специальных команд компиляторов программ, написанных на языках высокого уровня. Информацию о портах LPT1 — LPT3 можно получить, прочитав переменные BIOS, приведенные в табл. 5.
BIOS ищет порты по адресам Base: 3BCh, 378h, 278h. Порт LPT4 BIOS найти не может:
— 378h — параллельный адаптер LPT1;
— 278h — параллельный адаптер LPT2;
— 3BCh — параллельный адаптер LPT3;
Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам, начиная с базового (Base) адреса. Перечень данных регистров приведен в табл. 6.
Примечание. W-R — доступные операции (W — запись, R — чтение, W/R — запись/чтение).
Регистр данных (DR). Записанные в этот регистр данные выводятся на выходные линии интерфейса D0-D7. Результат чтения этого регистра зависит от схемотехники адаптера, и соответствуют либо записанным ранее данным, либо сигналам на линиях D0-D7, что не всегда одно и тоже. При стандартном включении справедлив первый вариант — читаемые данные равны ранее записанным.
Регистр состояния (SR). Представляет собой 5-ти битный порт ввода, на который заведены сигналы состояния от внешнего устройства. Допускает только чтение. Назначение битов данного регистра приведены в табл. 7.
Регистр управления (CR). Регистр управления представляет собой 4-х битный порт вывода, допускающий чтение и запись. Биты 0, 1, 3 инвертируются, т. е. "1" в данных битах регистра управления соответствует "0" на соответствующих линиях