Разработка и отладка программного обеспечения

Программа, реализующая приведенные выше алгоритмы, разработана для микропроцессора КР1821ВМ85. При создании программы использовался в качестве компилятора кросс-ассемблер ASM80, позволяющий с помощью директив и меток, располагаемых в тексте программы, уйти от прямых физических адресов. Для пошагового анализа работы программы, выявления и исправления ошибок в реализации алгоритмов использовался отладчик DEB80. Исходный текст программы, а также ее листинг с указанием физических адресов, приведены ниже. Основная часть программы, реализующая алгоритм фильтрации, занимает ячейки ПЗУ с адреса 0500(16) по 0598(16) включительно, то есть 152 байта памяти. На исполнение основной части программы с момента рестарта RST 7.5. уходит 727 машинных тактов при максимально допустимом числе их N=1000, то есть программа, работая, укладывается в интервал дискретизации с запасом по времени » 25 %, что означает выполнение одного из требований к устройству – обработка сигнала в реальном масштабе времени.

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

Исходя из того, что переходная характеристика не имеет выброса и стремится к единице, можно утверждать, что при условии корректной реализации алгоритма не будет происходить переполнения разрядной сетки, то есть переходной процесс не превышает постоянный входной уровень, а установившийся режим в точности повторяет его. Это относится и к максимально допустимым цифровым значениям входных отсчетов. Переполнение может иметь место при некоторых упущениях в реализованной программе, например, когда результаты всех умножений ( на 0.4, 0.65, 0.1 ) округлятся в большую сторону. Однако особый способ реализации умножения на 0.1 ( вычитанием из единицы ) исключает такую возможность.

С целью проверки на переполнение был осуществлен ручной и автоматический расчет работы программы. В качестве исходных принимались два критических случая – минимального и максимального постоянных уровней на входе.

В первом случае от АЦП приходил максимальный отсчет FFh, который после перехода к дополнительному коду принимал значение 7Fh. Далее это значение умножалось согласно алгоритму на 0.4, и результат 33h записывался в ячейку 500А. Он же умножался затем на 0.65 ( результат 23h – в ячейку 500В ) и на 0.1 ( результат 03h – в ячейку 500С ). Перед суммированием эти результаты были занесены в ячейки 5000 – 5009 согласно рис. . В итоге суммирование дало результат, равный входному: 03h + 23h + 33h + 23h + 03h = 7Fh – он и был отправлен в порт В.

Во втором случае входной отсчет имел значение 00h, после преобразования 80h, после умножения - CDh, E0h и FАh в ячейках 500А, 500В и 500С соответственно. Эти же значения помещаются в другие рабочие ячейки, соответствующие алгоритму суммирования. Результат суммирования: FAh + E0h + CDh + E0h + FAh = 81h – был отправлен в порт.

И в том, и в другом случае переполнения не произошло.

Прочтите также:

Энергетический расчет оптико-электронной системы сканирующего пеленгатора
Рассчитать реализуемое отношение сигнал-шум на выходе сканирующей оптико-электронной системы обнаружения, обеспечивающей максимальную дальность действия при условной вероятности правиль ...

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

Технологические процессы микросборки плат
В 1946 году заводу № 197 поручается модернизация РЛС П-3, для чего создаётся специальная лаборатория под руководством Е. В. Бухвалова. Официальной датой основания предприятия считается ...

Основные разделы

Copyright © 2008 - 2020 www.techmatch.ru