Основы формализованного подхода к разработке прикладных программ МП-контроллеров
На начальном этапе разработки МП-контроллера можно применять некоторые формализованные приемы синтеза комбинационных схем и цифровых автоматов на интегральных элементах. Формализованные методы проектирования комбинационных и последовательностных (автоматных) схем на интегральных элементах низкой степени интеграции получили широкое теоретическое развитие, а также практическое применение. Указанные формализованные методы не могут быть непосредственно применены для проектирования систем, использующих МП, так как сам МП - программно-управляемый автомат с жесткой структурой и однозначно кодированной системой состояний и команд. К процедурам, которые могут быть применены для разработки МП-систем, относятся: минимизация булевых функций и автоматных таблиц-переходов (выходов), методы описания работы последовательных устройств на языке графов автоматов Мили и Мура. Микропроцессорная реализация булевых функций не требует дополнительной аппаратуры, но быстродействие контроллеров теряется.
Рисунок 48 – Схема реализации булевой функции
Рассмотрим комбинационную схему (рис. 48), реализующую булевую функцию от шести переменных: F=(A^(BvC))v(E^H)vL. Группа датчиков объекта управления генерирует пять независимых двоичных сигналов: А и В от концевых выключателей; С, Е, Н - три младших бита от десятипозиционного переключателя; L-сигнал состояния некоторого программного признака (например, прохождения теста), фиксируемого в определенном разряде одного их рабочих регистров R.
Выходной сигнал через порт вывода передается на светодиод индикации и реле исполнительного устройства. Сигналы от датчиков подаются в именные порта ввода информации. После ввода информации необходимо провести проверку состояния отдельных бит введенного байта и формирование значения выхода F.
Отдельные биты в байте обрабатываются путем их маскирования непосредственными операндами в командах логических операций AND, OR или XOR с последующей проверкой (истина/ложь) и соответствующей передачей управления (по командам JNZ или JZ).
Блок-схема алгоритма МП реализации булевой функции представлена на рисунке 49, где учитывается последовательность проверок, которая определяется скобочной формой записи функции F.
Рисунок 49 – Схема алгоритма программной реализации
Рисунок 50 – Граф автомата «а» и эквивалентная ему БСА «б>:
При реализации булевых функций в МП практически нет никаких ограничений на число переменных. С ростом их числа увеличивается время формирования сигнала F. Законы функционирования последовательных схем задаются или таблицами переходов/выходов, или в виде графа (диаграмма состояний) автомата.
Переход от графа автомата проектируемого МП-контроллера к БСА программы - ключевой этап методики, позволяющий отобразить таблицы состояний входов - выходов автомата на систему команд используемого типа МП.
Сравнив классические приемы синтеза логических схем, выраженных фрагментами графа автомата М или и БСА, можно заметить, что они эквивалентны (рис.50).
Операторные прямоугольники в БСА могут быть интерпретированы как вершины (устойчивые состояния) графа автомата, а условные операторы - как дуги графа Xi/Zi, т.е. как переходы к одному автоматическому состоянию. Операторный прямоугольник представляет собой фрагмент программы (линейный, циклический, но неветвящийся) с одним входом и одним выходом. В течение всего периода устойчивого состояния Q, выходной вектор Z, остается неизменным до тех пор, пока не изменит своего состояния входной вектор X. Для этого в течение устойчивого состояния Q; условные операторы алгоритма программной реализации автомата селектируют (с заданным периодом дискретности) изменение входного вектора X, если оно произошло под воздействием внешних по отношению к МП событий. В результате такого селектирования МП-контроллер переходит к новому устойчивому автоматному состоянию Qi+1 и генерирует новый выходной вектор Zi+1, значения которых полностью определены графом автомата и эквивалентной ему блок-схемой алгоритма.
Так как любой оператор БСА, изображенный на рисунке 50, может быть представлен последовательностью команд МП, то дальнейшие действия по разработке прикладного ПО МП-контроллера представляют собой трансляцию (отображение алгоритма на систему команд МП), в результате которой формируется исходный текст прикладной программы.
Дата добавления: 2019-02-07; просмотров: 396;