|
|
|
|
|
В практике проведения исследовательских разработок зачастую возникает
необходимость организации взаимодействия различного оборудования
с персональным компьютером, реализации программно-управляемого обмена
данными между внешними устройствами и ПК, с минимальными временными
и финансовыми затратами.
Для этих целей нами разработана плата отладочного модуля, встраиваемого
в ISA-слот ПК. Аппаратно в адресном пространстве ПК модуль занимает
адресное пространство 8 байт, обращением к которым осуществляется
связь процессора ПК со всевожножным оборудованием.
|
|
|
|
С внешней стороны отладочный модуль представляет из себя 4 8-битных порта
с независимой настройкой каждого порта на ввод или вывод независимо друг
от друга за исключением порта C, который всегда работает на вывод и используется
как шина управления обменом данными и позволяет побитное управление установкой
или очисткой разрядов порта.
Такая организация позволяет реализовать обмен с внешним периферийным
оборудованием различной сложности. Нагрузочная способность шин порта составляет
не менее 80 мА на каждый разряд. В режиме ввода порты переводятся в третье
состояние, что позволяет внешними подтягиваюшими резисторами реализовывать
как натекающий ноль, так и натекающую единицу для каждого разряда порта
независимо от остальных.
При работе любого порта на вывод, чтение состояния порта происходит не
с внетреннего содержимого регистров порта, а непосредственно с выходных
контактов разъема, что позволяет непосредственно контролировать ситуацию
на контактах.
После выбора источника командных данных, программа переходит в режим
выполнения, при котором последовательно выполняются действия, поступающие
из командного файла или клавиатуры.
Пользователь имеет возможность проконтролировать состояние данных на
портах ввода-вывода, которое выводится в виде статусной строки внизу экрана.
Одновременно ведется протокол действий.
Перечень команд, обрабатываемых программной оболочкой отладчика
|
|
|
A xx
|
|
Записать в порт A данные xx (hex). Параметр
xx должен быть отделен от команды одним (и более) пробелом.
При работе порта A на вывод данные xx появляются на
выходных контактах отладочного модуля. В режиме ввода - данные сохраняются
во внутреннем регистре, однако порт остается в третьем состоянии.
При переводе порта на вывод - данные из внутреннего регистра поступают
на выход порта A отладочного модуля. |
|
|
|
B xx
|
|
Записать в порт B данные xx (hex). Параметр
xx должен быть отделен от команды одним (и более) пробелом.
При работе порта B на вывод данные xx появляются на
выходных контактах отладочного модуля. В режиме ввода - данные сохраняются
во внутреннем регистре, однако порт остается в третьем состоянии.
При переводе порта на вывод - данные из внутреннего регистра поступают
на выход порта B отладочного модуля. |
|
|
|
C xx
|
|
Записать в порт C данные xx (hex). Параметр
xx должен быть отделен от команды одним (и более) пробелом.
При работе порта C на вывод данные xx появляются на
выходных контактах отладочного модуля. В режиме ввода - данные сохраняются
во внутреннем регистре, однако порт остается в третьем состоянии.
При переводе порта на вывод - данные из внутреннего регистра поступают
на выход порта C отладочного модуля. |
|
|
|
D xx
|
|
Записать в порт D данные xx (hex). Параметр
xx должен быть отделен от команды одним (и более) пробелом.
При работе порта D на вывод данные xx появляются на
выходных контактах отладочного модуля. В режиме ввода - данные сохраняются
во внутреннем регистре, однако порт остается в третьем состоянии.
При переводе порта на вывод - данные из внутреннего регистра поступают
на выход порта D отладочного модуля. |
|
|
|
0 x
|
|
Установить бит C.0 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом. |
|
|
|
1 x
|
|
Установить бит C.1 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом. |
|
|
|
2 x
|
|
Установить бит C.2 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом. |
|
|
|
3 x
|
|
Установить бит C.3 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом. |
|
|
|
4 x
|
|
Установить бит C.4 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом. |
|
|
|
5 x
|
|
Установить бит C.5 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом.
Данный бит имеет альтернативную функцию управления направлением передачи
данных порта D.
При C.5 = 1 порт D переходит в высокоимпедансное состояние
При C.5 = 0 порт D переводится в режим вывода информации
и данные, предварительно установленные во внутреннем регистре порта
транслируются на выходные контакты отладочного модуля |
|
|
|
6 x
|
|
Установить бит C.6 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом.
Данный бит имеет альтернативную функцию управления направлением передачи
данных порта B.
При C.6 = 1 порт B переходит в высокоимпедансное состояние
При C.6 = 0 порт B переводится в режим вывода информации
и данные, предварительно установленные во внутреннем регистре порта
транслируются на выходные контакты отладочного модуля. |
|
|
|
7 x
|
|
Установить бит C.7 в состояние х, где
x = [0..1]. Параметр x должен быть отделен от команды одним
(и более) пробелом.
Данный бит имеет альтернативную функцию управления направлением передачи
данных порта A.
При C.7 = 1 порт A переходит в высокоимпедансное состояние
При C.7 = 0 порт A переводится в режим вывода информации
и данные, предварительно установленные во внутреннем регистре порта
транслируются на выходные контакты отладочного модуля |
|
|
|
P
|
|
Пауза - временно прервать обработку выполнения последовательности
команд и ждать команды пользователя на продолжение. |
|
|
|
T yyyyy
|
|
Задержка в выполнении последовательности команд на
время yyyyy mS . Параметр yyyyy должен быть отделен
от команды одним (и более) пробелом. |
|
|
|
;
|
|
Комментарий. Никаких действий с портами не происходит.
Это операция введена исключительно для введения комментариев в текст
командного файла. |
|
|
|
Допускается размещение в одной строке нескольких команд, разреленных пробелами
или символами табуляции. К примеру строка A 0F B AA D 3 приведет
к записи во внутренние регистры Port[A] := 0A (hex) , Port[B]:=
AA (hex) , Port[D]:= 03 (hex)
Программная оболочка ( dbg.zip ) позволяет
реализовать простейшие функции управления шинами порта и контроль состояния
обмена данными. В качестве источника команд управления могут быть выбраны
как команды пользователя с клавиатуры, так и предварительно подготовленный
командный файл.
Подключение специализированных модулей позволяет на базе отладочного
модуля реализовать программаторы установки управления и контроля, без
значительных временных и материальных затрат. При этом резко сокращаются
затраты на разработку изделий, унифицируется значительная часть программного
кода.
|