Параллельные интерфейсы Centronics и LPT-порт

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

Введение

 

Параллельные интерфейсы характеризуются тем, что в них для передачи бит в слове используются отдельные сигнальные линии, и биты передаются одновременно. Параллельные интерфейсы используют логические уровни ТТЛ (транзисторно-транзисторной логики), что ограничивает длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. Гальваническая развязка отсутствует. Параллельные интерфейсы используют для подключения принтеров. Передача данных может быть как однонаправленной (Centronics), так и двунаправленной (Bitronics). Иногда параллельный интерфейс используют для связи между двумя компьютерами - получается сеть, "сделанная на коленке" (LapLink). Ниже будут рассмотрены протоколы интерфейсов Centronics, стандарт IEEE 1284, а также реализующие их порты PC.

Интерфейс Centronics и LPT-порт

 

Для подключения принтера по интерфейсу Centronics в PC был введен порт параллельного интерфейса - так возникло название LPT-порт (Line PrinTer - построчный принтер). Хотя сейчас через этот порт подключаются не только построчные принтеры, название "LPT" осталось.

 

Интерфейс Centronics

 

Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему на принтерах. Назначение сигналов приведено в табл. 1. Интерфейс Centronics поддерживается принтерами с параллельным интерфейсом. Его отечественным аналогом является интерфейс ИРПР-М. Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, через который программно реализуется протокол обмена Centronics. Порт вырабатывает аппаратное прерывание по импульсу на входе Ack#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics.

 

Таб. 1. Назначение сигналов Centronics.

СигналI/O*КонтактНазначениеStrobeI1Строб данных. Данные фиксируются по низкому уровню сигналаData [0:7]I2-9Линии данных. Data 0 (контакт 2) - младший битAck#010Acknowledge - импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования запроса прерыванияBusy011Занято. Прием данных возможен только при низком уровне сигналаPaperEnd012Высокий уровень сигнализирует о конце бумагиSelect013Сигнализирует о включении принтера (обычноно в принтере соединяется резистором с цепью +5 В)AutoLF#I14Автоматический перевод строки. При низком уровне принтер, получив символ CR (Carriage Re turn - возврат каретки), автоматически выполняет и функцию LF (Line Feed - перевод строки)Error032Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтераlnit#I31Инициализация (сброс в режим параметров умолчания, возврат к началу строки)Select ln#36Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейсаGND-19-30, 33Общий провод интерфейса

Рис. 1. Передача данных по протоколу Centronics

 

Таб. 2. Название и назначение сигналов разъема порта

Контакт DB-25SНомер провода в кабелеНазначениеI/O*Reg. Bit**Сигнал110/1CR.OStrobe230(1)DR.0Data 0350(1)DR.1Data 1470(1)DR.2Data 2590(1)DR.3Data36110(1)DR.4Data 47130(1)DR.5Data 58150(1)DR.6Data 69170(1)DR.7Data 710191***SR.6Ack#11211SR.ABusy12231SR.5PaperEnd13251SR.4Select1420/1CR.1Auto LF#1541SR.3Error*1660/1CR.2lnit#1780/1CR.3Select ln#18-2510, 12,14,

16, 18.20,

22, 24, 26-* I/O задает направление передачи (вход/выход) сигнала порта. 0/1 обозначает выходные линии, состояние которых считывается при чтении из портов вывода; (I) - выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).

** Символом "\" отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

*** Вход Ack# соединен резистором (10 кОм) с питанием +5 В.

 

Традиционный LPT-порт

 

Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 3BCh, 378h и 278h. Порт может использовать линию запроса аппаратного прерывания, обычно IRQ7 или IRQ5. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, BIOS поддерживает до четырех (иногда до трех) LPT-портов (LPT1-LPT4) своим сервисом - прерыванием INT 17h, обеспечивающим через них связь с принтером по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа (по опросу готовности, не используя аппаратных прерываний), инициализацию интерфейса и принтера, а также опрос состояния принтера.

Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE). Data Register (DR) - регистр данных, адрес=ВЛ5Е. Данные, записанные в этот порт, выводятся на выходные линии интерфейса. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях, что не всегда одно и то же. Если в порт записать байт с единицами во всех разрядах, а на выходные линии интерфейса через микросхемы с выходом типа "открытый коллектор" подать какой-либо код (или соединить ключами какие-то линии со схемной землей), то этот код может быть считан из того же регистра данных. Таким образом, на многих старых моделях адаптеров можно реализовать порт ввода дискретных сигналов, однако выходным цепям передатчика информации придется "бороться" с выходным током логической единицы выходных буферов адаптера. Схемотехника ТТЛ такие решения не запрещает, но если внешне