|
|
5 Проектирование программного обеспечения
5.1 Уточнение алгоритма работы устройства
Уточненный порядок работы устройства следующий:
1. Инициализация устройства:
а) сброс микропроцессора;
б) настройка частоты генерации сигналов прерывания от таймера в соответствии с выбранной частотой дискретизации;
в) пересылка констант из памяти программ в память данных.
2. а) Ввод в устройство сигнала с его аналого-цифровым преобразованием и дискретизацией входного аналогового сигнала посредством АЦП.
б) занесение данных в соответствующий буфер;
3. В случае считывания 128-го отсчета текущей выборки второго ка-нала
в) суммирование с соответствующим счетчиком (вычисление матожидания);
г) определение диапазона, которому принадлежит сигнал, и увеличение счетчика этого диапазона (вычисление функции распре-деления);
д) Вычисление дисперсии сигнала в каждом канале.
е) Вывод результатов в регистр вывода с .предварительным ана-лизом слова состояния
4. Повторный запуск, начиная с пункта 2.
5.2 Разработка программного обеспечения устройства
Программное обеспечение разрабатывается в расчете на то, что АЦП выдает цифровые значения в прямом коде, и входные значения находятся в пределах 0..255.
После сброса или включения МП он начинает выборку команд с нулевого адреса памяти программ.
Блок-схема программы приведена в приложении 2.
Блок 1 выполняется в самом начале при включении питания. Он про-изводит начальную инициализацию процессора (устанавливает требуемые режимы работы АЛУ, таймера и т.п.), после чего входит в бесконечный цикл (блок 2). Этот цикл прерывается только сигналом прерывания от тай-мера (с частотой 20 кГц), которое начинается с блока 3.
Блоки 3 и 4 читают данные в нужные буфера из портов 0 и 1 соответ-ственно. После чего в блоке 5 происходит увеличение счетчика прочитан-ных слов. При достижении счетчиком значения 128 (блок 6 осуществляет эту проверку), программа переходит к обработке введенных данных.
Блок 8 и блок 10 подготавливают соответствующие портам 0 и 1 указатели, а блоки 9 и 11 вычисляют по ним требуемые значения. После чего блок 12 готовит указатели на результат, и блоки 13-16 выводят этот результат в порт записи 0. При этом блоки 13 и 14 опрашивают слово со-стояния регистра вывода, и ожидают его готовности.
После завершения обработки блок 7 разрешает дальнейшие прерывания и возвращает управление в бесконечный цикл (блок 2).
5.3 Интерфейс обмена информацией с устройством сопряжения
Разработанное устройство осуществляет обработку данных по вы-боркам размером 128 слов. После обработки выборок с каналов 0 и 1 устройство начинает обмен данными с внешней шиной. При этом сначала посылаются данные с 0-го канала, потом с 1-го. Последовательность выдачи данных следующая:
1. 128 слов, составляющих функцию распределения
2. 1 слово – матожидание текущей выборки
3. 1 слово – дисперсия
Каждое слово передается, только если было прочитано предыдущее, для чего анализируется флаг THBE слова состояния.
Т.о., устройство инициирует обмен 1 раз на каждые принятые 128 слов по обеим выборкам.
|
мобильные модульные здания
|