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

IEEE P1284.4 «Standard for Data Delivery and Logical Channels for IEEE Std. 1284 Interfaces». Этот стандарт направлен на реализацию пакетного протокола достоверной передачи данных через параллельный порт. Исходной точкой яв­ляется протокол 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.

Использование параллельных портов

Наиболее распространенным применением LPT-порта является, естественно, подключение принтера. Практически все принтеры могут работать с портом в режиме SPP, но применение расширенных режимов дает дополнительные пре­имущества:

Двунаправленный режим (Bi-Di) дает дополнительные возможности для сообщения состояния и параметров принтера. Скоростные режимы (Fast Centronics) существенно повышают производительность практически любого принтера (особенно лазерного), но могут потребовать более качественного кабеля.

Режим ЕСР потенциально самый эффективный, и он имеет системную поддержку во всех вариантах Windows. Из распространенных семейств ЕСР поддерживают принтеры HP DeskJet моделей BXX, LaserJet начиная с 4-го, современные модели фирмы Lex­mark требуют применения кабеля по частотным свойствам соответствую­щего IEEE 1284.

Простейший вариант кабеля подключения принтера — 18-проводный кабель с неперевитыми проводами с успехом может использоваться для работы порта в режиме SPP.

Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран — то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с, и допускается их длина до 10 метров.

В табл. 12 приводится распайка кабеля подключения принтера с разъемом XI типа A (DB-25P) со стороны PC и Х2 типа В (Centronics-36) или типа С (миниатюрный) со стороны принтера.

Таблица 12. Кабель подключения принтера

XI, разъем PC типа А

Сигнал

X2,

разъем PRN типа В X2, разъем PRN типа С

1

-Strobe#

1

15

2

Data 0

2

6

3

Datal

3

7

4

Data г

4

8

5

Data3

5

9

6

Data 4

6

10

7

Data 5

7

11

8

Data 6

8

12

9

Data 7

9

13

10

AckS

10

3

11

Busy

11

1

12

PaperEnd

12

5

13

Select

13

2

14

Auto LF«

14

17

15

Error»

32

4

16

Imt#

31

14

17

Sict In#

36

16

18

GND(l)

19

33

19

GND(2 3)

20 21

24 25

20

GND(4 5)

22 23

26 27

21

GND(6 7)

24 25

28 29

22

GND(8 9)

26 27

30 31

23

GND(11 15)

29

19 22

24

GND(10 12 13)

28

20 21 23

25

GND(14 16 17)

30

32 34 35

Для связи двух компьютеров по параллельному интерфейсу применяются раз­личные варианты кабелей, зависящие от режимов используемых портов. Самый простой способ (и самый медленный обмен) обеспечивает режим полубайтно­го обмена Nibble Mode, работающий на всех (исправных) портах. Для этого ре­жима в кабеле достаточно иметь 10 сигнальных и один общий провод.

Высокоскоростная связь двух компьютеров может выполняться и в режиме ЕСР (режим ЕРР для этих целей неудобен, поскольку он требует синхронизации шинных циклов ввода/вывода двух компьютеров). В табл. 13 приведена распайка кабеля для этого режима. В ней в качестве вспомогательной информации приведены имена сигналов, которые аппаратно генерируются адаптерами портов. Этот же кабель может использоваться и для связи в режиме Byte Mode (при наличии двунаправленных портов). Связь компь­ютеров с помощью такого кабеля поддерживается Windows 95.

Таблица 13.

Кабель связи PC-PC в режиме ЕСР и Byte Mode

Разъем XI

Разъем Х2

Контакт

Имя в ЕСР

Имя в ЕСР

Контакт

1

HostClk

PeriphClk

10

14

HostAck

PeriphAck

11

17

1284Active

+PeriphRequest#

15

16

Reverse Request^

AckReverse#

12

10

PeriphClk

HostClk

1

11

PeriphAck

HostAck

14

12

AckReverse#

ReverseRequest#

16

13

Xflag

-

-

15

PeriphRequestf»

+284Active

17

2-9

Data[0:7]

Data [0:7]

2-9

Подключение сканера к LPT-порту эффективно, только если порт обеспе­чивает хотя бы двунаправленный режим (Bi-Di), поскольку в основном здесь используется ввод. Но лучше использовать порт ECP, если этот режим поддер­живается сканером.

Подключение внешних накопителей (lomega Zip Drive, CD-ROM), адаптеров ЛВС и других симметричных устройств ввода/вывода имеет общую специфику. Большинство таких устройств способно работать в любом из режимов порта (обычно исключая ECP), что обеспечивает их неограниченное применение на любых компьютерах.

Неисправности и тестирование параллельных портов

Тестирование параллельных портов целесообразно начинать с проверки их наличия в системе. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо в BIOS DATA AREA с помощью любого отладчика.

Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес. Программное тестирование порта без диагностической заглушки (Loop Back) не покажет оши­бок, поскольку при этом читаются данные выходных регистров, а они у всех конфликтующих (по отдельности исправных портов) совпадут. Именно такое тестирование и производит BIOS при проверке на наличие портов. Разбираться с такой ситуацией имеет смысл последовательно устанавливая порты и наблю­дая за адресами, появляющимися в списке.

Если физически установлен только один порт и его не обнаруживает BIOS, то либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения.

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

Рис. 1. Схема заглушки для тестирования LPT-порта программой Checkit

Большинство неприятностей при работе с LPT-портами доставляют разъемы и кабели. Для проверки порта, кабеля и принтера можно воспользоваться специальными тестами из популярных диагностических программ (Checkit, PCCheck и т. п.), а можно вывести на принтер какой-либо сим­вольный файл.

Если вывод файла с точки зрения DOS проходит (копирование файла на устройство с именем LPTn или PRN проходит быстро и успешно), а принтер (исправный) не напечатал ни одного символа — скорее всего, это обрыв (неконтакт в разъеме) цепи STROBES.

Если принтер по своему индикатору находится в состоянии On Line, a появляется сообщение о его неготовности (Not Ready Error), то причину следует искать в линии Busy.

Если принтер искажает информацию при печати, возможен обрыв (или замыкание) линий данных. В этом случае удобно воспользоваться фай­лом, содержащим последовательность кодов всех печатных символов (его можно создать с помощью простой программы, написанной даже на языке Basic, — ее текст приведен ниже).

10 OPEN "bincod.chr" FOR OUTPUT AS #1

20 FORJ=2T015

30 FOR 1=0 ТО 15

40 PRINT#1, CHR$(16*J+I);

50 NEXT I 60 PRINT#1,

70 NEXTJ

80 CLOSE #1

90 END

Файл BINCOD.CHR, созданный данной программой, представляет собой таблицу всех печатных символов (управляющие коды пропущены), расположен­ных по 16 символов в строке. Если файл печатается с повтором некоторых символов или их групп, по периодичности повтора можно легко вычислить оборванный провод данных интерфейса. Этот же файл удобно использовать для проверки аппаратной руссификации принтера.

Если принтер, подключенный к порту, в стандартном режиме (SPP) печа­тает нормально, а при переходе на ЕСР начинаются сбои, следует прове­рить кабель — соответствует ли он требованиям IEEE 1284. Кабели с неперевитыми проводами нормально работают на скоростях 50-100 Кбайт/с, но при скорости 1-2 Мбайт/с, обеспечивае­мой ЕСР, они могут не работать, особенно при длине более 2 метров.

Если при установке драйвера РпР-принтера появилось сообщение о необходимости применения «двунаправленного кабеля», проверьте нали­чие связи контакта 17 разъема DB-25 с контактом 36 разъема Centronics.

Аппаратные прерывания от LPT-порта используются далеко не всегда. Неисправности, связанные с цепью прерывания от порта, проявляются не часто. Однако по-настоящему многозадачные ОС (например, сервер NetWare) стара­ются работать с портом именно по прерываниям. Тестировать линию прерывания можно, только подключив к порту периферийное устройство или специаль­ную заглушку.

Параллельный порт и РпР

Большинство современных периферийных устройств, подключаемых к LPT-порту, поддерживает стандарт 1284 и функции РпР. Для поддержки этих функ­ций компьютером с аппаратной точки зрения достаточно иметь контроллер интерфейса, поддерживающий стандарт 1284. Для работы РпР подключенное устройство должно со­общить операционной системе все необходимые сведения о себе (идентификаторы производителя, модели и набор поддерживаемых команд). Более развернутая информация об устройстве может содержать идентификатор класса, подробное описание и идентификатор устройства, с которым обеспечи­вается совместимость.


Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.