МИКРОПРОЦЕССОРНАЯ ТЕХНИКА
Программа LPTtest
А. ВАКУЛЕНКО, г. Тюмень
Радиолюбители конструируют устройства, работающие совместно с компьютером и подключаемые к нему по интерфейсам COM, LPT, реже — PCI, ISA, USB и др. Примеров множество [1—5]. Это программаторы, эмуляторы, аналого-цифровые и цифро-аналоговые преобразователи и другое. Хотя за счет широких возможностей компьютера такие устройства значительно проще работающих автономно, но все же они после изготовления нуждаются в проверке и налаживании.
Тестировать подключаемое к компьютеру устройство с помощью его рабочей программы далеко не лучший вариант. Обычно в ней не предусмотрены функции вывода на экран значений сигналов на входных линиях интерфейса и их ручное изменение на выходных. В редких случаях к прибору (например, [4]) прилагают специальную тестовую программу, служащую для проверки прохождения сигналов по его цепям. Но для проверки других аппаратных средств такая программа, как правило, не годится.
В результате собранное устройство приходится проверять вообще без компьютера, подавая на интерфейсный разъем сигналы, имитирующие работу ПК, что тоже нельзя назвать удобным.
Для налаживания устройств, подключаемых к порту СОМ компьютера, можно использовать программу ТСОМ (ftp://ftp.radio.ru/pub/2003/05/tcom/ tcom.exe), дающую возможность управлять отдельно каждым выходным сигналом порта и наблюдать за уровнями всех входных. Описание этой программы в [6] навело автора на мысль создать подобную для параллельного порта.
Так появилась программа LPTtest, способная контролировать все сигналы порта LPT. Программа протестирована под Windows 98 и Windows ХР, противопоказаний к работе в прочих версиях Windows нет.
Программа получает доступ к регистрам порта через программный драйвер LPTwdmlO [7]. При работе под Windows 9х/Ме потребуется установить этот драйвер вручную: запустить Мастер установки оборудования из Панели управления, выбрать в появившемся списке Другие устройства и указать папку, в которой находятся файлы Iptwdmio.sys и Iptwdmio.inf. По завершении установки необходимо перезагрузить компьютер.
А теперь — цитата из [7]: "При работе на ОС Windows 2000/ХР также возможна установка вручную аналогичным способом. Но в отличие от Windows 98/Ме при установке перезагрузка точно не потребуется, драйвер стартует сразу. Кроме того, у ручной инсталляции есть одно преимущество: если клиентская программа была запущена от имени пользователя, не обладающего правами администратора, она все равно сможет работать с портами через драйвер".
И еще одна цитата: "Автоматическая установка выполняется при создании объекта для работы с драйвером в программе пользователя в том случае, если программа работает на платформе семейства NT, т. е. Windows NT4/2000/XP и драйвер не были ранее установлены вручную. При этом со стороны пользователя не требуется каких-либо дополнительных действий. Но если программа стартует от имени пользователя, не обладающего административными полномочиями, автоматическая установка не произойдет и программа не сможет управлять портами".
Перед запуском программы LPTtest не забудьте скопировать файл Iptwdmio.sys в ту же папку, где находится файл LPTtest.exe. В ней же должны находиться файлы LPTpins.jpg (расположение гнезд розетки DB-25F) и LPThelp.mhtml (справка по интерфейсу LPT).
Окно программы LPTtest показано на рис. 1. В нем отображено состояние пяти входных, четырех выходных линий порта и восьми линий его шины данных. Надписями Low (низкий) или High (высокий) справа от каждой кнопки, изменяющей состояние выходной линии, и справа от каждого названия входной линии показан текущий логический уровень сигнала на соответствующем контакте разъема.

При запуске программа LPTtest устанавливает на всех выходах низкий уровень. Выведенное в строке состояния текущее значение кода в регистре данных порта (DR) в десятичной и шестнадцатиричной системах счисления программа обновляет с частотой 100 Гц.

Если подвести к любой кнопке или к названию входной линии указатель мыши, всплывает подсказка с номером этого контакта в стандартном для LPT-порта разъеме DB-25F.
Чтобы увидеть изображение разъема, аналогичное показанному на рис. 2, достаточно выбрать в меню Помощь пункт Цоколевка разъема. Пункт Интерфейс LPT... того же меню выведет на экран содержимое файла помощи. Меню Выбрать порт предлагает в данной версии программы два варианта: LPT1 (базовый адрес 378h) и LPT2 (базовый адрес 278h).
Номер выбранного порта будет записан в файл Config.txt и прочитан из него при следующем запуске программы. Если такой файл не существует, программа создаст его в своей папке, выбрав по умолчанию порт LPT1.
Зависимые кнопки Выходы и Входы изменяют состояние пятого разряда регистра управления портом (CR), переводя этим шину данных в режим вывода (установлен по умолчанию) или ввода. Шина способна работать на ввод в большинстве современных компьютеров, адаптеры параллельного интерфейса устаревших моделей такой возможности не дают.
Когда шина данных настроена на ввод, ее линии соединены через предусмотренные в контроллере порта резисторы с источником напряжения +5 В. Поэтому логический уровень на линиях, к которым не подключены внешние цепи, воспринимается как высокий.
При переключении шины данных с ввода на вывод программа автоматически заносит нулевое значение в регистр DR, в результате чего на всех л -ниях шины будет установлен низкий уровень. Такую же операцию программа выполняет при смене порта, при запуске и при завершении работы.
ЛИТЕРАТУРА
- Балахтарь А. Программатор с питанием от LPT-порта для КР1878ВЕ1. — Радио, 2004, ╧ 1, с. 29, 30.
- Голубков А. Программатор МК ATMEL серии AT89. — Радио, 2003, ╧ 9, с. 24, 25.
- Михеев В. Карта параллельного порта для ПК. — Радио, 2002, ╧ 3, с. 19, 20.
- Рюмик С. "Параллельный" программатор для AT89. — Радио, 2004, ╧ 2, с. 28— 31.
- Хабаров А. Двухканальная осциллографическая приставка к ПК. — Радио, 2003, ╧ 4, с. 23—25.
- Долгий А. Как проверить PonyProg. — Радио, 2003, ╧ 5, с. 25, 26.
- Проект LPTwdmlO. — <http:// progrex.narod.ru/lptwdmio.html>.
графика — А. Долгий
От редакции. Программа LPTtest и все необходимые для ее работы файлы находятся на нашем FTP-сервере по адресу <ftp://ftp.radio.ru/pub/2004/08/lptt.zip>. Там же имеется полный Delphi-проект этой программы.
Вернуться к содержанию журнала "Радио" 8 номер 2004 год
Ваш комментарий к статье | ||||