Проверка LPT порта ПК
Диагностика LPT порта на WinXP /Win7.
При возникновении проблем с подключением контроллеров для управления приводами с ЧПУ через LPT порт, необходимо произвести диагностику всех пинов порта. В зависимости от того, какая операционная система установлена на ПК – выбираем программу:
Для Windows XP — программа XPlpt (работает без установки);
Для Windows 7 — программа Wndlpt (требует установку).
Приготовьте мультиметр и установите режим измерения напряжения до 20 В. Также потребуется два отрезка провода с зачищенными от изоляции концами (подойдут проводники от витой пары).
В системном блоке ПК оставляем подключенным LPT кабель и перезагружаем ПК. После перезагрузки запускаем программу для проверки LPT порта. Ниже приведена распиновка LPT по сигналам для контроллеров систем с ЧПУ.
Будем проверять пины с 1 по 17 (это будут плюсовые контакты). Минусовые контакты с 18 по 25 (соединены между собой).
Для XP, в программе xplpt нажимая кнопочки с 1 по 17, соответствующие пинам порта, проверяем появление питания на контактах LPT кабеля. Когда в программе напротив пина установлено значение 0, то питание на данном пине должно быть в пределах +0…+1 вольт. При установке значения 1 – на контакте соответствующего пина должно появиться напряжение в пределах +3…+ 5 вольт. Если этого не происходит, то проверьте, правильно ли выставлен порт в программе. В данном примере это порт $3BC. Учтите, что пины 10, 11, 12, 13, 15 всегда находятся под напряжением + 3…+ 5 вольт.
Для Windows 7 в программе winlpt перейдите во вкладку «сигналы» и поочередно устанавливая галочки у каждого пина проверяем наличие напряжения +3…+5 вольт на контактах LPT кабеля, как по инструкции выше для Windows XP.
Работа с LPT-портом в Win NT/2000/XP
LPT-порт (Line PrinTer) — порт параллельного интерфейса, который изначально создавался для подключения принтера. BIOS обеспечивает поддержку LPT-порта, необходимую для организации вывода по интерфейсу Centronics. Адресное пространство порта занимает диапазон &H378-&H37F
LPT-порт имеет 12 выходных и 5 входных линий. Такое довольно большое количество линий делает возможным подключение к порту несложной аппаратуры, возможно даже не имеющей своего микроконтроллера. Поэтому этот порт, несмотря на исчезновение принтеров с LPT-интерфейсом, активно используется для подключения простых программаторов микросхем памяти, JTAG-интерфейсов для перепрошивки (замены программного обеспечения) спутниковых рессиверов, DVD-плееров и другой электронной техники. Популярен LPT-порт и у моддеров, поскольку позволяет подключить к компьютеру LCD-дисплеи без изготовления сложных плат-интерфейсов.
Windows 2000/XP не позволяет приложениям обращаться к портам ввода-вывода напрямую. Для этого нужно использовать драйвер, работающий в KERNEL-mode (в режиме ядра операционной системы).
Ограничение доступа к портам ввода-вывода для обычных прикладных программ (работающих в пользовательском режиме) позволяет сделать операционную систему более стабильной. Хотя с другой стороны никто не мешает программисту написать драйвер, обращающийся к портам.
Интересно, что для процессора Intel x86 можно написать драйвер, использующий один из двух принципиально разных подходов. Первый вариант — драйвер сам обращается к портам, а прикладная программа только указывает драйверу, что делать. Этот вариант в общем случае является стандартным и предпочтительным.
Для решения проблемы существуют четыре популярных варианта драйверов, позволяющих прикладной программе обращаться к портам ввода-вывода: драйвер DLPortIO, драйвер UserPort, драйвер GiveIO.sis, драйвер Port95nt.
Все четыре варианта практически равноценны.
Драйвер DLPortIO
DLportIO — драйвер доступа к портам из пакета DriverLINX от Scientific Software Tools, Inc. (http://www.sstnet.com) в сокращённом виде (без описания и лишней документации). Для нормальной работы программ обслуживания LCD-индикаторов можно порекомендовать именно этот вариант драйвера.
Собственно драйвер состоит из двух составляющих:
• DLPortIO.dll — Win32 DLL, обеспечивающая аппаратные функции ввода/вывода и
• DLPortIO.sys — драйвер для WinNT, работающий в режиме ядра ОС (не требуется для Win95/98)
В установочном пакете драйвера, помимо этих двух компонентов, есть ещё файл Install.exe, перемещающий два вышеназванных в папку драйверов Windows и регистрирующий их в системе.
Больше писать про этот драйвер и нечего. Настройка не требуется. Скачали, установили, пользуемся. Не забываем заглянуть в конец статьи и почитать о дополнительных мерах обеспечения работоспособности LPT-порта.
Установка элементарная — запускаем файл Install.exe, устанавливаем. По окончанию установки заглядываем в папку C:\Windows\System32\drivers и проверяем наличие двух файлов драйвера (DLPortIO.sys и DLPortIO.dll). Если видим, что эти файлы так и не скопировались, берем их из установочного пакета и копируем вручную. Не переживайте, с компьютером ничего плохого не случится. Перегружаем компьютер и работаем с LPT-портом.
Если вдруг, в результате манипуляций с оборудованием, вы получите от драйвера сообщение такого плана: «dlportio.sys device driver not loaded. Port I/O will have no effect», не стоит паниковать. Исправляется эта проблема так:
• Запускаем regedit.
• Заходим в реестре в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ .
• В папке dlportio изменяем значение параметра Start на 1.
• Перезагружаем компьютер.
Драйвер UserPort
Драйвер UserPort открывает доступ к портам в Win NT/2000/XP для программ. Этим вариантом драйвера LPT-порта чаще всего пользуются «технари», работающие с программаторами и JTAG’ами, поскольку драйвер имеет хоть какие-то конфигурирующие настройки. Для работы программ обслуживания LCD-индикаторов его так же можно использовать.
В архиве драйвера имеются три файла:
• UserPort.sys — драйвер для WinNT, работающий в режиме ядра ОС,
• UserPort.exe — программа для настройки драйвера и
• UserPort.pdf — файл описания.
Установка UserPort:
• 1. Распакуйте архив в отдельную папку.
• 2. Скопируйте файл UserPort.sys в C:\Windows\System32\drivers
Настройка UserPort:
• Запустите UserPort.exe.
• Перед нами появится панель с 2-мя окошками.
Левое окошко относится к работе программы в ДОС окне, правое на полном экране. По умолчанию в них прописаны номера портов LPT — все их можно удалить с помощью кнопки «Remove». В оба окна нужно вписать нужные номера портов, которые планируется использовать.
Для использования с драйвера с большинством программаторов, JTAG’ов и программ обслуживания дисплеев, добавьте в левую колонку следующие параметры:
378, 379 и 37A для LPT1
278, 279 и 27A для LPT2 (Если в BIOS’е переназначен адрес LPT-порта).
Поясню, что означают цифры. 0x378 — это адрес порта.
• Адрес 0x378 называется базовым и служит для записи и чтения данных в порт и из порта, по шине данных D0-D7.
• Адрес 0x379 (базовый+1) предназначен для чтения битов состояния из устройства, подключеного к LPT-порту.
• Адрес 0x37A (базовый+2) служит для записи битов управления устройства, подключенного к LPT-порту.
Добавляем так:
0x378-0x378
0x37A-0x37A
Добавлять адреса порта в список нужно через окно ввода и с помощью кнопки «Add». Адрес 0x379 чаще всего не нужен и его можно не вписывать, поскольку он предназначен для чтения битов состояния из устройства, подключеного к LPT-порту, а большинство устройств (программаторы, JTAG’и и LCD-индикаторы тем более) сигналы состояния не формируют. При желании можно наоборот вписать весь диапазон адресов, отведённых системой под LPT-порт 0x378-0x37F.
Заходим в Панель Управления , Система , выбираем закладку Оборудование , Диспетчер устройств , заходим в Порты (COM и LPT) и смотрим свойства LPT порта, по которому вы хотите установить соединение. В Свойствах открываем закладку Ресурсы и смотрим значение параметра Диапазон ввода/вывода (I/O) . (Обычно в Windows XP оно равно 378 — 37F)
После формирования списка адресов, нужно нажать кнопку «Start», драйвер будет запущен и появится сообщение:
Затем нажать кнопку «Update», при этом драйвер будет зарегистрирован в системе, затем «Exit». Разумеется, кнопку «Stop», пока мы пользуемся драйвером, нажимать не нужно.
Если при нажатии кнопки «Update» система уходит в перезагрузку, нужно пробовать запускать регистрацию драйвера в системе с правами администратора или попытаться временно отключить файрволл или антивирус, которые могут блокировать вмешательство в системные процессы. Если что-то не получилось, читайте UserPort.pdf
Для проверки, появился ли доступ к портам, можно запустить программу «lpt-test.exe».
После старта программы появится окно со следующим содержанием:
LPT-TEST v1.03 1995-2003 Copyright (C) С.Б.Алеманов. Москва «БИНАР». Во время тестирования к портам не должно быть подключено периферийных устройств. Dx — рег. данных (out), Ux — рег. управления (out), Sx — рег. статуса (inp). Тестируется порт LPT1 (Адрес 378h) Отсутствует порт LPT2 Отсутствует порт LPT3 Отсутствие сообщения «Тестируется порт LPT (Адрес XXXh)» и последующих за ним строк говорит о том, что драйвер не работает. Эта программа просто посылает в регистр данных Dx и регистр управления Ux порта LPT различные числа, а потом их же считывает. Регистр статуса Sx порта LPT только считывается. На экран выводится номер и адрес тестируемого порта LPT. Если порт исправный, то для регистров Dx и Ux не должно выдаваться никаких сообщений.
|