Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОРТЫ_ЛЕКЦИЯ_2011.DOC
Скачиваний:
9
Добавлен:
09.09.2019
Размер:
320.51 Кб
Скачать

Параллельные lpt-порты

Стандартный LPT

С самого начала LPT-порт (рис. 5) предназначался для подключения к компьютерам так называемых «построчных» принтеров, поэтому и носит он соответствующее название — Line PrinTer. «Построчные» принтеры давно стали антиквариатом, а вот порт сохранился до сих пор и прошел немалую эволюцию.

 

Рис.5 – Внешний вид LPT-порта

LPT-порт называют параллельным, так как он относится к разряду так называемых параллельных интерфейсов. То есть таких интерфейсов, по которым данные передаются по нескольким проводам одновременно. Параллельный порт является 8-разрядным, то есть он может за один цикл передачи переслать один байт информации.

(Вообще-то, порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов.)

Кабель, соединяющий ПК и принтер по LPT-порту, изображен на рисунке 6. За всю историю развития появилось 3 основных «подвида» этих портов, а именно SPP, EPP, ECP.

Рис.6 -  Кабель, соединяющий ПК и принтер по LPT-порту

SPP (Standart Paralell Port) — самый старый вид параллельного порта. Он является однонаправленным, то есть предназначен только для вывода информации. Программный протокол обмена в режиме SPP соответствует интерфейсу Centronics.

Обычно на материнских платах по умолчанию LPT-порт работает именно в режиме SPP. Однако когда мы подключаем к порту устройство ввода информации (обычно это сканер), оно прекрасно функционирует.

Возникнет вопрос, почему?

Все очень просто: сам порт имеет 5 линий, по которым периферийное устройство сообщает о своем состоянии (например, одной из таких линий является PaperEnd, которая сигнализирует ПК о том, что в лотке принтера закончилась бумага). Вот по ним и происходит ввод информации (т.н. симметричная двунаправленная связь в режиме полубайтного обмена — Nibble Mode ). Такой режим называют полубайтным. Получается, что за один раз можно передать только 4 бита (пятая линия не используется для передачи данных), а значит, скорость ввода значительно уменьшается. Если скорость вывода — 40–50 Кб/с, то скорость ввода на треть меньше.

Для программиста SPP-порт — это три регистра: данных, состояния и управления, в которые записываются передаваемые данные, данные о состоянии подключенного устройства и управляющая информация соответственно. В адресном пространстве они расположены в виде трех подряд идущих ячеек с адресами, начиная с базового.

Для LPT1 базовый адрес — 378h, содержащий регистр данных, регистр состояния соответственно имеет адрес 379h, а управления — 37Аh.

Очередным этапом эволюции LPT-порта стал порт EPP (Enhanced Parallel Port — улучшенный параллельный порт), который был разработан компаниями Intel, Xircom и Zenith Data Systems. Порт стал двунаправленным (Bi-Directional) и мог работать в четырех режимах: запись/чтение данных и запись/чтение адреса. Начиная с этой модификации, протокол обмена начал организовываться аппаратно, что очень облегчало жизнь программистам. Достаточно записать в регистр данных значение, а все управляющие передачей сигналы будут выставлены портом автоматически.

Максимальная скорость обмена по ЕРР-порту достигает 2 Мб/с. (То есть периферийное устройство, подключенное к параллельному порту ЕРР, может работать на уровне производительности, предельно достижимом для слота ISA. Добиться этого позволяет одна из особенностей ЕРР, обеспечивающая выполнение процедуры передачи за время одного цикла ввода/вывода на шине. ).

В свое время это позволило подключать к такому порту внешние приводы CD-ROM, сетевые адаптеры, устраивать прямое соединение с другим ПК (последнее, кстати, получается намного более быстрым, чем соединение по нуль-модемному кабелю).

 С программной точки зрения, ЕРР отличается от SPP наличием еще двух регистров: регистра адреса ЕРР (ЕРР Address Port) и регистра данных (ЕРР Data Port), которые и используются при работе в режиме ЕРР. Применяя только первых три регистра, мы можем получить обычный порт SPP.

(Вообще, достоинством ЕРР является то, что обращение процессора к периферийному устройству по этому порту осуществляется в реальном времени. Программный драйвер постоянно отслеживает состояние порта и подает команды в точно определенные моменты времени. Такой режим оптимален уже не только для устройств вывода (принтеров), но и для периферии, для которой критична работа в реальном времени. Это и сетевые адаптеры, и дисковые накопители, и всевозможные устройства сбора информации и управления (датчики) и т.п. ).

Широкий порт

И, наконец, рассмотрим самый современный из параллельных портов ECP (Extended Capability Port — порт с расширенными возможностями), который был предложен компаниями Hewlett-Packard и Microsoft. Основные его преимущества таковы: аппаратная компрессия передаваемых данных, использование буферов FIFO и работа в режиме DMA. Все это позволило значительно повысить производительность LPT-порта.

Для обеспечения совместимости с более ранними спецификациями, ЕСР-порт может работать в нескольких режимах.

Введение канальной адресации ЕСР позволило работать с устройствами, которые состоят из нескольких отдельных полнофункциональных частей. Самым простым примером являются «офисные комбайны».

Функционирует это все примерно таким образом: компьютер в адресном цикле передачи выбирает устройство, с которым будет работать (например, принтер или сканер такого «комбайна»), а потом связывается с ним как с обычным принтером или сканером.

Режим порта, оптимальный для сканера с LPT-интерфейсом, именно ECP-вариант.

Ведь при работе со сканером необходимо передавать большие объемы данных (для графических изображений). Причем очень часто попадается масса идентичной информации, например, части рисунков содержат подряд идущие точки, имеющие одинаковые цвета. Именно в этом случае компрессия и использование DMA весьма оптимизируют работу со сканером. DMA разгружает процессор во время передачи данных, а компрессия идет по принципу RLE (Run-Length Encoding). Принцип RLE заключается в том, чтобы вместо длинной цепочки данных передать определенные данные и количество их повторений.

Речь шла только об основных модификациях LPT-порта, хотя за время его эволюции разные фирмы пытались изменять его по своему усмотрению. Чтобы хоть как-то унифицировать режимы параллельных портов, в 1994 году был принят стандарт IEEE 1284, который определил для LPT-порта режимы обмена данными (всего их пять, один из которых соответствует обмену по протоколу Centronics ), их согласование, а также физический (рис. 7) и электрический интерфейсы.

 

   

Рис.7 – Виды интерфейса Lpt-порта