Студентам > Курсовые > Интерфейсы, порты ПК
Интерфейсы, порты ПКСтраница: 4/4
Интерфейс Centronics поддерживается
большинством принтеров с параллельным интерфейсом, его отечественным аналогом является
интерфейс ИРПР-М.
Функции BIOS для LPT-порта
BIOS обеспечивает поддержку LPT-порта,
необходимую для организации вывода по интерфейсу Centronics.
В процессе начального тестирования POST
BIOS проверяет наличие параллельных портов по адресам ЗВСЬ, 378h
и 278h и помещает базовые адреса обнаруженных портов в
ячейки BIOS DATA AREA 0:0408h,
040Ah, 040СП, 040ЕП. Эти ячейки хранят адреса портов с
логическими именами LPT1-LPT4.
В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие выдержку тайм-аута
для этих портов.
Поиск портов обычно ведется по базовому адресу. Если считанный
байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в
ячейку BIOS DATA AREA. Адрес порта
LPT4 BIOS самостоятельно установить не может, поскольку
в списке стандартных адресов поиска имеются только три вышеуказанных.
Обнаруженные порты инициализируются — записью в регистр управления
формируется и снимается сигнал Initff, после чего записывается
значение 00h, соответствующее исходному состоянию сигналов
интерфейса.
Программное прерывание BIOS I NT
17h обеспечивает следующие функции поддержки LPT-порта:
00h — вывод символа из регистра
AL по протоколу Centronics.
Данные помещаются в выходной регистр и после готовности принтера формируется строб.
01h — инициализаия интерфейса и
принтера.
02h — опрос состояния принтера.
При вызове INT 17h номер функции
задается в регистре АН, номер порта — в регистре DX (0
— LPT1, 1 — LPT2...). При возврате после любой функции
регистр АН содержит код состояния — биты регистра состояния SR[7:3]
(биты 6 и 3 инвертированы) и флаг тайм-аута в бите 0. Флаг тайм-аута устанавливается
при неудачной попытке вывода символа.
Физический и электрический интерфейс
Стандарт IEEE 1284 определяет физические
характеристики приемников и передатчиков сигналов.
К передатчикам предъявляются следующие требования:
Уровни сигналов без нагрузки не должны выходить за пределы
-0,5... +5,5 В.
Уровни сигналов при токе нагрузки 14 мА должны быть не ниже
+2,4 В для высокого уровня (voh) и не выше +0,4 В для
низкого уровня (vol) на постоянном токе.
Выходной импеданс ro, измеренный
на разъеме, должен составлять 50(±)5 Ом на уровне voh-vol.
Для обеспечения заданного импеданса в некоторых случаях используют последовательные
резисторы в выходных цепях передатчика. Согласование импеданса передатчика и кабеля
снижает уровень импульсных помех.
Скорость нарастания (спада) импульса должна находиться в пределах
0,05-0,4 В/нс.
Требования к приемникам:
Допустимые пиковые значения сигналов -2,0...+7,0.
Пороги срабатывания должны быть не выше 2,0 В (vih)
для высокого уровня и не ниже 0,8 В (vil) для низкого.
Приемник должен иметь гистерезис в пределах 0,2-1,2 В.
Входной ток микросхемы не должен превышать 20 мкА.
Входная емкость не должна превышать 50 пФ.
Стандарт IEEE 1284 определяет три
типа используемых разъемов. Типы Л (DB-25) и В (Centronics-36)
используются в традиционных кабелях подключения принтера, тип С — новый малогабаритный
36-контактный разъем.
Интерфейсные кабели, традиционно используемые для подключения
принтеров, обычно имеют от 18 до 25 проводников, в зависимости от числа проводников
цепи GND.
Стандарт IEEE 1284 регламентирует
и свойства кабелей:
Все сигнальные линии должны быть перевитыми с отдельными
обратными (общими) проводами.
Каждая пара должна иметь импеданс 62(±)6 Ом в частотном диапазоне
4-16 МГц.
Уровень перекрестных помех между парами не должен превышать
10%.
Кабель должен иметь экран (фольгу), покрывающий не менее 85%
внешней поверхности. На концах кабеля экран должен быть окольцован и соединен
с контактом разъема.
Кабели, удовлетворяющие этим требованиям, маркируются надписью
IЕЕЕ Std 1284-1994 Compliant».
Они могут иметь длину до 10 метров.
Режимы передачи данных
Стандарт IEEE 1284 определяет пять
режимов обмена, один из которых полностью соответствует традиционному стандартному
программно-управляемому выводу по протоколу Centronics.
Остальные режимы используются для расширения функциональных возможностей и повышения
производительности интерфейса. Стандарт определяет способ согласования режима, по
которому программное обеспечение может определить режим, доступный и хосту (в нашем
случае это PC), и периферийному устройству.
Режимы нестандартных портов, реализующих протокол обмена
Centronics аппаратно («Fast Centronics,
«Parallel Port FIFO Mode»), могут и не являться режимами
IEE1284, несмотря на наличие в них черт ЕРР и ЕСР.
При описании режимов обмена фигурируют следующие понятия:
Хост — компьютер, обладающий параллельным портом.
ПУ — периферийное устройство, подключаемое к этому порту (им
может оказаться и другой компьютер). обозначениях сигналов Ptr
обозначает передающее периферийное устройство.
Прямой канал — канал вывода данных от хоста в ПУ.
Обратный канал канал ввода данных в хост из ПУ.
Неисправности и тестирование параллельных портов
Тестирование параллельных портов целесообразно начинать с
проверки их наличия в системе. Список адресов установленных портов обычно появляется
в таблице заставки, выводимой 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. Для работы РпР подключенное
устройство должно сообщить операционной системе все необходимые сведения о себе
(идентификаторы производителя, модели и набор поддерживаемых команд). Более развернутая
информация об устройстве может содержать идентификатор класса, подробное описание
и идентификатор устройства, с которым обеспечивается совместимость.
Copyright © Radioland. Все права защищены. Дата публикации: 2004-09-01 (470 Прочтено) |