Программа для отладки микропроцессоров TmLPT

TmLPT-программа для отладки микропроцессоров

Назначение программы

Программа TmLPT предназначена для формирования системы связанных стробов, сопровождающих выдачу данных на разъем LPT компьютера и может быть использована для отладки микропроцессорных систем.

Общий принцип формирования данных и стробов

Операционная система Windows не является системой реального времени. В любой момент передача данных может быть прервана и управление передано другому потоку в системе. Таким образом передача данных может разорвана даже в пределах одного цикла формирования данных и стробов. Во избежание подобной ситуации передача данных производится в пределах времени, отводимого одному потоку (Тп), что приблизительно составляет 15-20 мсек. За это время можно передать до 700 байт данных, что вполне достаточно при отладке микропроцессорных систем. При передаче данных рабочий поток переводится на уровень приоритета реального времени и запускает ожидающий таймер на время Тп -1. Вся передача производится во время работы ожидающего таймера, в результате операционная система не прерывает работу потока и передача завершется без разрывов, после чего устанавливается нормальный приоритет процесса. Если в системе имеется несколько логических процессоров, то рабочему потоку принудительно назначается последний процессор системы, что дополнительно снижает риск разрыва передачи.

Для проверки функционирования программы с помощью простого осциллографа имеется режим циклического выполнения рабочего потока программы с периодом 2*Тп.


Возможности программы

time

Рис.1

Формирование и назначение стробов

Обращение к регистрам LPT производится через драйвер GIVEIO.SYS, позволяющий непосредственное обращение к регистрам LPT. В результате минимально возможная длительность строба определяется двумя последовательными обращениями к регистру LPT и составляет приблизительно 1,5 – 1,8 мксек. Каждая выдача байта данных сопровождается определенным числом стробов, до четырех, которые можно выдавать в разных комбинациях, разной полярности и разной длительности.

Комбинации стробов имеют определенные ограничения:

Единицей длительности стробов является два последовательных обращения к порту LPT, что по времени равняется 1,5 – 1,8 мксек. Установка полярности стробов независимая, символ минус означает, что строб будет отрицательным, символ плюс означает, что строб будет положительным. Любой строб может быть назначен или отменен независимо от остальных. Максимальная длительность цикла передачи определяется числом формируемых стробов и может достигать 12-16 мксек.

Формирование данных

Данные могут передаваться в каждом цикле по шине данных в виде одного байта 8 разрядов или в виде двух полубайтов по четырем младшим разрядам шины данных. Во втором случае можно устанавливать последовательность передачи полубайтов, старшие разряды первыми или младшие.

Данные можно вводить вручную в поле редактирования данных и затем сохранять их в файле или вводить подготовленные данные из файла. Для ускорения ввода данных поле редактирования имеет возможность ввода шаблона данных NxM строк, в виде символов 0х. После символа 0х вводится число в шестнадцатеричном коде без пробела, например 0х8а, регистр значения не имеет. При передаче по шине данных команды полярность строба С2 будет изменяться на противоположную, если передаваемый код завершается косой чертой, например 0хd7/. Число байт данных в строке не ограничена. Строка может сопровождаться текстовым комментарием в произвольном виде, без использования символа косой черты (/).

Аппаратное сопряжение с LPT.

На выходной разъем LPT выводится три типа сигналов:

  1. Двухнаправленная шина данных D0-D7.
  2. Четыре выхода управляющих сигнала С0-С3.
  3. Пять входов состояния S3-S7 (зарезервированы для последующего использования).

На рисунке 2 показан разъем LPT.

rozetka

Рисунок 2.

Управляющие выходы (стробы) нуждаются в приемных формирователях, поскольку при работе на кабель фронты сигналов заваливаются. Для этих целей используется формирователь на 4-х триггерах Шмидта 74HC132. Это позволяет простыми средствами добиться совместимости по сигналам при питании как от источника +5в, так и источника +3,3в. Амплитуда сигналов на шине данных обычно не превышает +3,3в, кроме того цифровые входы микропроцессоров поддерживают возможность приема сигналов до +5,5в. Если какое либо из этих условий не соблюдается, то потребуется согласование и шины данных. На рисунке 3 показана схема формирования управляющих сигналов.

shema

Рис.3


Интерфейс программы и управление

Окно программы показано на рисунке 4.

wnd

В окне программы располагаются следующие органы управления:

Тестирование программы.

Программа тестировалась, вернее использовалась, при отладке микропроцессорной системы на PIC24FJ256DA210. Использовались два компьютера, первый на процессоре Core i3-2100, четыре ядра, второй однопроцессорный (Celeron). Никаких проблем замечено не было. Проверочные данные находятся в папке установки.

Установка программы.

Перед использованием программы следует установить драйвер GiveIO.sys следующим образом:

  1. Скопируйте файл драйвера GIVEIO.sys в папку C:\Windows\system32\drivers\
  2. Запустите файл install.reg
  3. Перезагрузить компьютер
  4. Стандартный драйвер LPT не отключать в диспетчере устройств! При возникновении проблем с установкой GIVEIO.sys прочитайте комментарии в файле giveio.inf.

Программа не требует установки и может запускаться с любого носителя. Все требуемые файлы находятся в папке установки.

 

[в начало]

Hosted by uCoz