Меню Рубрики

Как проверить lpt порт на работоспособность windows 7

knigechka

Сайт содержит тексты редких методических пособий, лабораторных и контрольных работ. Вообщем, то что трудно найти в сети но очень нужно для подготовки к экзаменам, в частности на заочной форме обучения.

Настройка и диагностика LPT-портов

Конфигурирование LPT-портов

Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфи­гурировании. Этим обеспечивается возможность согласования аппаратуры с ПО и блокирования ложных переключений, вызванных некорректными действиями программы.

Конфигурирование LPT-порта зависит от его исполнения. Порт, расположенный на плате расширения (мультикарте), устанавливаемой в слот ISA или ISA+VLB, конфигурируется джамперами на самой плате. Порт на системной плате конфи­гурируется через BIOS Setup.

Ниже перечислены параметры, подлежащие конфигурированию.

Базовый адрес — 3BCh, 378h или 278h. При инициализации BIOS проверя­ет наличие портов по адресам именно в этом порядке и, соответственно, при­сваивает обнаруженным портам логические имена LPT1, L PT2, L РТЗ. Адрес ЗВСЬ имеет адаптер порта, расположенный на плате MDA или HGC. Большин­ство портов по умолчанию конфигурируется на адрес 378h и может пере­ключаться на 278h.

♦ Используемая линия запроса прерывания: для L РТ — IRQ7, для LPT2 — IRQ5. Тра­диционно прерывания от принтера не задействуются, и этот дефицитный ре­сурс можно сэкономить. Однако при использовании скоростных режимов ЕСР (или Fast Centronics) работа через прерывания может заметно повысить про­изводительность и снизить загрузку процессора.

♦ Использование канала DMA для режимов ЕСР и Fast Centronics — разреше­ние и номер канала DMA.

♦ Режимы работы порта:

SPP — порт работает только в стандартном однонаправленном программно- управляемом режиме;

PS/2, он же BiDirectional отличается от SPP возможностью реверса кана­ла (установкой CR. 5=1);

Fast Centronics аппаратное формирование протокола Centronics с исполь­зованием FIFO-буфера и, возможно, DMA;

ЕРР — в зависимости от использования регистров порт работает в режиме SPP или ЕРР;

ЕСР— по умолчанию включается в режим SPP или PS/2, записью в ECR
может переводиться в любой режим ЕСР, но перевод в ЕРР записью в ECR кода 100 не гарантируется;

ЕСР+ЕРР — то же, что и ЕСР, но запись в ECR кода режима 100 переводит порт в ЕРР.

Выбор режима ЕРР, ЕСР или Fast Centronics сам по себе не приводит к повыше­нию быстродействия обмена с подключенными ПУ, а только дает возможность драйверу и ПУ установить оптимальный режим в пределах их «разумения». Боль­шинство современных драйверов и приложений пытаются использовать эффек­тивные режимы, поэтому «подрезать им крылья» установкой простых режимов без веских на то оснований не стоит.

Принтеры и сканеры могут пожелать режима ЕСР. Windows (3.x, Эх и NT) имеет системные драйверы для этого режима. В среде DOS печать через ЕСР поддержи­вается только специальным загружаемым драйвером.

Сетевые адаптеры, внешние диски и CDROM, подключаемые к параллельному порту, могут использовать режим ЕРР. Для этого режима специальный драйвер пока еще не применяется; поддержка ЕРР включается в драйвер самого подклю­чаемого устройства.

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

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

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

Если физически установлен только один порт, a BIOS его не обнаруживает, то либо порт отключен при конфигурировании, либо он вышел из строя (скорее всего из-за нарушений правил подключения). Если вам везет, неисправность устраняется «передергиванием» платы в слоте — там иногда возникают пробле­мы с контактами.

Наблюдаются и такие «чудеса» — при «теплой» перезагрузке DOS после Win­dows 95 порт не виден (и приложения не могут печатать из MS-DOS). Однако после повторной перезагрузки DOS порт оказывается на месте. С этим явлением легче смириться, чем бороться.

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

Рис. 1.8. Схема заглушки для тестирования LPT-порта: а для Norton Diagnostics б -для Checklt,

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

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

♦ Если принтер находится в состоянии On Line, а появляется сообщение о его неготовности, причину следует искать в линии Busy.

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

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

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

Аппаратные прерывания от LPT-порта используются не всегда. Даже DOS-програм­ма фоновой печати PRINT работает с портом по опросу состояния, а ее обслужива­ющий процесс запускается по прерыванию от таймера. Поэтому неисправности, связанные с цепью прерывания от порта, проявляются не часто. Однако по-насто­ящему многозадачные ОС (например, NetWare) стараются работать с портом по прерываниям. Протестировать линию прерывания можно, только подключив к порту ПУ или заглушку. Если к порту с неисправным каналом прерывания под­ключить адаптер локальной сети, то он, возможно, будет работать, но с очень низ­кой скоростью: на любой запрос ответ будет приходить с задержкой в десятки се­кунд — принятый из адаптера пакет будет приниматься не по прерыванию (сразу по приходу), а по внешнему тайм-ауту.

Литература:
ГукМ. Г93 Аппаратные интерфейсы ПК. Энциклопедия. — СПб.: Питер, 2002. — 528 с.: ил.

Источник

LPT порт — чем протестировать ?

#1 Pushnoi

  • Пользователи
  • 20 сообщений
  • Перестал печатать принтер HP LJ 6P — пробную стр. печатает своей кнопкой и по IrDa печать принимает — вроде исправен.

    Кроме того и сканер на LPT работать перестал — «необнаружен» типа.

    Думаю LPT гикнулся — запустил тестовую прогу Кофтуна — XPlpt — все пины шевелюся — мерил мультиметром и сигналы на входах правильные и тоже реальность отображают. Кроме того что на 13 входе всегда лог. 0 (10 мВ) и не подтягивается ( при подаче «1» с выходов ДАТА поднимается лишь до 850 мВ) даже внешним сигналом — но вроде это нормально.

    Чем — можно проверить в чем дело ? Просто WinXP пишет «неудалось напечатать этот документ» и всё — т.е. инфо скудная. А когда щелкаешь по принтеру в панеле задачь — выдает его состояние «Ошибка — идет печать». Но она конечно не идет.

    Какой прогой можно протестировать LPT и узнать чего принтеру не хватает ? Сканеру тоже.

    == В биос поставил «норамальный» режим вместо ECP — не помогло и порт удалял из системы и при перезапуске он снова возник сам и тоже не помогло.

    == про 13-й контакт LPT можно подробней ? может ли он быть всегда «0» ?

    Сообщение отредактировал Pushnoi: 03 Сентябрь 2007 — 12:55

    #2 Avangard

  • Продвинутый пользователь
  • 1 632 сообщений
    • Пол: Мужчина

    Просто WinXP пишет «неудалось напечатать этот документ» и всё — т.е. инфо скудная. А когда щелкаешь по принтеру в панеле задачь — выдает его состояние «Ошибка — идет печать».

    Источник

    Как проверить lpt порт на работоспособность windows 7

    sven » 28 дек 2009, 23:12

    Re: Проверка LPT порта

    ASD » 29 дек 2009, 09:31

    Плату со светодиодами делать не обязательно, хотя это, конечно, нагляднее. Достаточно, измеряя мультиметром напряжение на выходных контактах разъема, убедиться, что его уровни соответствуют тем, что Вы устанавливаете в окне программы. Выход можно считать исправным, если высокий (High) уровень на нем не менее 2,4 В, а низкий (Low) не более 0,4 В. Строго говоря, приведенные значения положено измерять при токе нагрузки 14 мА. Без нагрузки высокий уровень обычно получается выше, а низкий — ниже указанного.

    Для проверки входных линий порта нужно перемычкой на разъеме соединить проверяемый вход с одним из заведомо исправных (уже проверенных) выходов. Меняя состояние выхода, убедитесь, что за ним следует и показываемое в окне состояние входа.

    Re: Проверка LPT порта

    sven » 29 дек 2009, 21:17

    Re: Проверка LPT порта

    БОРИС » 30 дек 2009, 23:04

    Re: Проверка LPT порта

    sven » 10 мар 2010, 22:51

    Re: Проверка LPT порта

    ASD » 11 мар 2010, 00:18

    1. Изменяя уровень на линии DATA1, убеждаемся, что вместе с ним изменяется состояние линии BUSY.
    2. Изменяя уровень на линии DATA2, убеждаемся, что вместе с ним изменяется состояние линии PE.
    3. Устанавливаем низкий уровень на линии DATA4, чем включаем верхнюю по схеме половину микросхемы DD1.
    3.1. Изменяя уровень на линии DATA6, убеждаемся, что вместе с ним изменяется состояние линии MOSI.
    3.2. Изменяя уровень на линии DATA7, убеждаемся, что при низком уровне светодиод включен, а при высоком — выключен.
    3.3. Изменяя уровень на линии DATA5, убеждаемся, что вместе с ним изменяется состояние линии SCKI.
    4. Устанавливаем низкий уровень на линии DATA3, чем включаем нижнюю по схеме половину микросхемы DD1.
    4.1. Изменяя уровень на линии DATA8, убеждаемся, что вместе с ним изменяется состояние линии RESET.
    4.2. Убеждаемся, что на линии ACKLNG — высокий уровень. При соединении линии MISO с общим проводом (GND) уровень на линии ACKLNG должен стать низким.

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

    Re: Проверка LPT порта

    sven » 14 мар 2010, 23:54

    Re: Проверка LPT порта

    ASD » 15 мар 2010, 00:55

    Re: Проверка LPT порта

    Ewgen » 06 окт 2010, 17:17

    Проверка на возможность ввода информации по шине данных AD0-AD7 на четырёх
    разных AT и ATX компьютерах. (контакты 2,3,4,5,6,7,8,9 разъёма DB-25, LPT-порт)

    1. Войти в BIOS, установить режим EPP 1,7 или EPP, определить базовый адрес
    LPT-порта (обычно BASE = 378h) и запустить компьютер.

    2. Прочитать значение регистра управления (CR) по адресу BASE+2 (например 37Ah)
    и сохранить. Например на языке программирования QBASIC:

    3. Для переключения шины данных в режим ввода установить бит 5, регистра
    управления 37Ah , в «1»:

    4. Измерить напряжение на линиях шины данных AD0 — AD7. На всех линиях будет
    около 4.2 — 4.4 В. (контакты 2-9 разъёма DB-25, порта LPT)
    (на одном из древних компьютеров шина данных переключилась в состояние высокого
    входного сопротивления )

    5. Прочитать состояние шины данных AD0 — AD7:

    d=INP(&H378)
    PRINT d ;» десятичное «; HEX$(d);» шестнадцатиричное»

    Оно будет равным 255 в десятичном виде или FF в шестнадцатиричном.

    6. Соединить с общим проводом одну из линий шины данных через
    резистор в 200 Ом и прочитать состояние шины данных:

    DO
    d=INP(&H378)
    PRINT d , HEX$(d)
    LOOP WHILE INKEY$ = «»

    В зависимости от номера линии данных, соединенной через резистор в 200 Ом
    на общий провод на экране будет значение
    линия AD0 254 FE
    линия AD1 253 FD
    линия AD2 251 FB
    линия AD3 247 F7
    линия AD4 239 EF
    линия AD5 223 DF
    линия AD6 191 BF
    линия AD7 127 7F
    —————- 255 FF

    7. Измерить напряжение на этой линии, соединённой с общим проводом через
    резистор 200 Ом.
    Оно будет в пределах 0.1 — 0.6 В.
    Это означает что шина данных в состоянии ввода
    Если напряжение около 2,5 Вольт или больше, то шина данных находится в
    обычном состоянии вывода.

    8. Вычислить ток текущий через резистор (разделить измеренное напряжение
    на 200 Ом). Ток через резистор можно измерить и мультиметром, вкючив его
    последовательно с резистором (ни в коем случае не замыкайте выходы
    параллельного порта на корпус и не соединяйте выходы LPT-порта напрямую
    между собой )

    9. Восстановить старое значение регистра управления 37Ah:

    OUT(&H37A),a ‘ восстановить значение регистра BASE+2
    END

    Если вы владеете языком программирования (например QBASIC) то у вас должно
    получиться. Скопируйте программу в текстовый файл, присвойте ему расширение bas,
    откройте файл из среды QBSIC или QB45 и клавишей F5 запустите.
    Каждое соединение сопровождается звуком разного тона.
    Если сообщения на экране не читаются, подредактируйте текст,
    перепишите выводмые строки в кавычках за командой PRINT.

    SCREEN 11
    PRINT » ТЕСТИРОВАНИЕ LPT-ПОРТА НА ВОЗМОЖНОСТЬ ВВОДА ПО ЛИНИИ ДАННЫХ»
    PRINT » Поочерёдно соединяйте линии 2 — 9 разъёма DB-25 LPT»
    PRINT «с общим проводом через резистор 160 — 200 Ом»
    PRINT » РЕГИСТР УПРАВЛНИЯ БЫЛО»
    DEFINT A-Z
    a37A = INP(&H37A)
    PRINT «37Ah «,
    w = a37A
    GOSUB b1
    kl$ = «»
    OUT (&H37A), 32
    PRINT » РЕГИСТР УПРАВЛНИЯ СТАЛО»
    a37 = INP(&H37A)
    PRINT «37Ah «,
    w = a37
    w$ = «»
    GOSUB b1

    DO
    LOCATE 10, 1
    PRINT » РЕГИСТР ДАННЫХ»
    PRINT «378h»,
    kl$ = INKEY$
    IF kl$ <> «» THEN
    OUT (&H37A), a37A
    PRINT
    PRINT » РЕГИСТР УПРАВЛЕНИЯ ВОССТАНОВЛЕН »
    a37A = INP(&H37A)
    PRINT «37Ah»,
    w = a37A
    w$ = «»
    GOSUB b1
    END
    END IF
    a = INP(&H378)
    w = a
    w$ = «»
    GOSUB b1
    LOOP

    b1:
    zn = w
    FOR c = 7 TO 0 STEP -1
    x = 2 ^ c
    IF w >= x THEN
    w$ = w$ + «1»
    END IF
    IF w = x THEN w = w — x
    NEXT c
    PRINT w$; » «; HEX$(zn), zn
    RETURN

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как проверить hdd на ошибки и битые сектора windows 10
  • Как проверить 32 или 64 битная система на windows 10
  • Как присоединить локальный сервер к домену windows server 2012
  • Как присоединить компьютер к домашней группе windows 7
  • Как присоединить windows xp к домашней группе windows 7