Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LPT-порт.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
163.84 Кб
Скачать

Лабораторная работа

Исследование параллельного интерфейса (LPT-порта)

Цель работы: Изучить назначение, условия совместимости и исследовать режимы работы параллельного интерфейса в составе IBM PC совместимых компьютеров.

Назначение: Порт параллельного интнерфейса первоначально был введен в РС для работы ( подключения ) с принтером , отсюда и пошло название LPT порт ( Line Printer – построчный принтер) . В настоящее время , LPT - порт используется и для других целей , например , подключения лазерных принтеров . Кроме того , функции адаптера порта расширены и он может реализовывать и двусторонний обмен данными.

Стандартный (традиционный ) LPT-порт.

Традиционный порт SPP ( Standart Parallel Port) является однонаправленным портом , на базе которого программно реализуется протокол обмена Centronics (назначение сигналов и временную диаграмму обмена, см. лабораторную работу « Исследование печатающих устройств »).

Стандартный порт имеет три 8-битовых регистра расположенных по соедним адресам в пространстве ввода /вывода , начиная с базового адреса порта (BASE) .

Регистр данных ( Date Registr – DR ), адрес = BASE . Данные записанные в этот порт, выводятся на выходные линии интерфейса . Если в порт записать байт с единицами во всех разрядах , а на выходные линии интерфейса через микросхемы типа «открытый коллектор » подать какой – либо код, то этот код может быть считан из этого же регистра данных .

Регистр состояния ( Status Rgistr- SR) , адрес = BASE+1.

Представляет собой порт ввода сигналов состояния принтера.Назначение бит регистра состояния

( в скобках указаны номера контактов разъема DB– 25 S ):

  • SR.7 – Busy – инверсное отображение состояния линии – Busy (11) : при низком уровне на линии устанавливается единичое значение бита- разрешение на вывод очередного байта;

  • SR.6 – АСК ( Acknowllolge) – отображение состояния линии Ack # 10.

  • SR.5 – РЕ (Paper End)- отображение состояния линии Paper End (12). Единичное значение соответствует высокому уровню линии- сигналу о конце бумаги в принтере ;

  • SR.4- Select – отображение состояния линии Select (13) . Единичное значение соответствует высокому уровню линии- сигналу о включении принтера ;

  • SR.3- Eeror - отображение состояния линии Error (15). Нулевое значение соответствует низкому уровню линии- сигналу о любой ошибке принтера;

  • SR.2- PIRQ- флаг прерывания по сигналу Аск # ( только для порта PS/ 2) . Бит обнуляется , если сигнал Аск # вызвал аппаратное прерывание . Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния;

  • SR[1:0] – зарезервированы .

Control Registre ( CR) – регистр управления , , адрес = BASE+2. Как и регистр данных , этот порт вывода допускает запись и чтение (биты 0-3) , но его выходной буфер обычно имеет тип « открытый коллектор» . Это позволяет более корректно использовать линии регистра как выходные

при программировании их в высокий уровень . Биты 0,1,3 инвертируются –единичному значению в регистре соответствует низкий уровень сигнала , и наоборот .

Назначение бит регистра управления :

  • CR [7:6] –зарезервированы ;

  • CR5 - Direction –бит управления направление передачи ( только портов PS/2).Запись «1» переводит порт данных в режим ввода . При чтениии состоянию бита не определено;

  • CR 4- ACKINTEN ( Ack Interrupt Enable ) – единичное значение разрешает прерывание по спаду сигнала на линии Ack # -сигнал запроса следующего байта ;

  • CR 3 – Select In – единичное значение бита соответствует низкому уровню на выходе Select In # (17) – сигналу , разрешающему работу принтера по интерфейсу Centronics;

  • CR 2- Inits- нулевое значение бита соответствует низкому уровню на выходе Init # (16) – сигнал аппаратного сброса принтера .

  • CR 1- Auto LF – единичное значение бита соответствует низкому уровню на выходе Auto LF #( 14) – сигналу на автоматический перевод строки ( LF – Line Feed ) по приему байта возврата каретки ( СR – Carriage Return );

  • CR 0 – Stroble – единичное значение бита соответствует низкому уровню на выходе Stroble # (1) – сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ5или IRQ7 ) вырабатывается по отрицательному перепаду Ack # (10) при установке CR.4 = 1 . Во избежание ложных прерываний контакт 10 соединен резистором с шиной +5 в . Прерывание вырабатывается , когда принтер подтверждает прием предыдущего байта. BIOS это прерывание не использует и его не обслуживает . В таблице 1 приведены разъемы стандартного LPT- порта , сигналы на них и направления передачи .

Таблица 1. Разъемы стандартного LPT-порта.

Контакт

DB- 25 S

Провод

шлейфа

Назначение

Доступность

I/0 *

Red. Bit **

Сигнал

1

1

0/I

CR:0\

Strobe #

2

3

0(I)

DR:0

Data 0

3

5

0(I)

DR:1

Data 1

4

7

0(I)

DR:2

Data 2

5

9

0(I)

DR:3

Data 3

6

11

0(I)

DR:4

Data 4

7

13

0(I)

DR:5

Data 5

8

15

0(I)

DR:6

Data 6

9

17

0(I)

DR:7

Data 7

10

19

I***

SR:6

Ack #

11

21

I

SR:7\

Busy

12

23

I

SR:5

Paper End

13

25

I

SR:4

Select

14

2

0/I

CR:1\

Auto LF #

15

4

I

SR:3

Error #

16

6

0/I

CR:2

Init #

17

8

0/I

CR : 3\

Select In #

18-25

10,12,14,16

18,20,22,24,26

-----

------

*-I/0 задает направление передачи (вход/выход ) сигнала порта. I/0 обозначает выходные линии , состояние которых считывается при чтении из соответствующих портов вывода ; 0 (І) – выходные линии , состояние которых может быть считано только при некоторых условиях ;

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

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

Недостатки стандартного порта :

  • для вывода одного байта требуется по меньшей мере 4-5 операций ввода/ вывода с регистрами порта ;

  • невысокая скорость обмена при значительной загрузке процессора ( скорость до 100-150 К байт/ с при полной загрузке процессора ) ;

  • функциональная сложность использования в качестве порта ввода данных ;

Стандартный порт сильно асимметричен при наличии 12 линий ( и бит) , работающих на вывод ,на ввод работает только 5 линий состояния , что затрудняет реализацию симметричной двусторонней связи. Поэтому на всех стандартных портах работоспособен режим полубайтного обмена ( ввода) .

Функции bios для lpt- порта.

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

Программное прерывание BIOS INT 17h обеспечивает следующие функции поддержки LPT- порта:

00h-вывод символа из регистра AL по протоколу Centronics ( без аппаратных прерываний) .

Данные помещаются в выходной регистр (DR) , и, дождавшись готовности принтера ( снятия сигнала BUSY ), формируется строб.

01h- инициализация интерфейса и принтера ( установка исходных уровней управляющих сигналов , формирование импульса Init # , запрет аппаратных прерываний и переключение на вывод двунаправленного интерфейса );

02h-опрос состояния принтера ( чтение регистра SR порта) .

При вызове INT 17 h номер функции задается в регистре АН , номер порта в регистре DX (0-LPT1,1-LPT2…). При возврате после любой функции регистр АН содержит код состояния – биты регистра состояния SR [7:3] ( биты 6 и 3 инвертированы ) и флаг тайм-аута в бите 0.Флаг тайм –аута устанавливается при неудачной попытке вывода символа , если сигнал BUSY не снимается в течении времени , определяемого для данного порта содержимым ячеек 0: 478 , 479, 047 А,047В ВIOS DATA AREA. В этом случае согласно протоколу Centronics, строб данных не вырабатывается .

Расширения параллельного порта , стандарт ieee 1284 –1994.

Недостатки стандартного порта частично устраняли новые типы портов , появившихся в компьютерах семейства PS/2- это в частности двунаправленный порт , порт с прямым доступом к памяти и другие .

Все расширения были обобщены и оформлены в виде стандарта на параллельный интерфейс IEEE 1284 , принятый в 1994 году .Стандарт определяет термины SPP , EPP ECP, определяет 5 режимов обмена данными , метод согласования режима , физический и электрический интерфейсы.

Согласно IЕEE1284 , возможны следующие режимы обмена данными через параллельный порт:

-Contratibility Mode- однонаправленный ( вывод) по протоколу Centronics . Этот режим соответствует стандартному ( традиционному ) проту SPP.

-Nibble Mode – ввод байта в два цикла ( по 4 бита ) используя для приема линии состояния. Этот режим может использоваться на любых адаптерах ;

- Byte Mode - ввод байта целиком , используя для приема линии данных . Этот режим используется на портах допускающих чтение выходных данных ( Bi – Directional или PS/2 Type 1)

- EPP ( Enhanced Parallel Port Mode) – двунаправленный обмен данными , при котором управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту ( чтения или записи в порт). Эффективен при работе с устройствами внешней памяти , адаптерами локальных сетей ;

- ECP ( Extended Capability Port) Mode – двунаправленный обмен данными с возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding) и использования FIFO –буфера и DMA . Управляющие сигналы генерируются аппаратно . Эффективен для принтеров и сканеров .

В современных АТ-машинах с LPT-портом на системной плате режим порта –SPP , EPP, ECP или их комбинации задаются в BIOS Setup. Режим Compatibilitu Mode полностью соответствует стандартному порту SPP .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]