
- •Постановка задачи (введение)
- •Формализация задачи (определение функций аппаратной части и программы и способов их реализации)
- •Функциональная схема цифрового фильтра
- •Исходное состояние Фильтра после включения питания.
- •2.3Формализация настроек для инициализации фильтра.
- •Формализация определений для рабочего цикла фильтра.
- •Согласование кодов мк и цап
- •Разработка и описание общего алгоритма функционирования фильтра
- •Аппаратно - реализуемые операции Программно - реализуемые операции
- •5.Разработка и отладка программы на языке команд мк
- •Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (верхних частот)"
- •6.Составление электрической принципиальной схемы и описание функционирования фильтра
- •7. Расчет быстродействия фильтра
- •8. Анализ характеристик фильтра для заданных и реальных значений коэффициентов (нули и полюса, ачх, фчх, оценка устойчивости)
- •9.Заключение
- •10. Список использованных источников
6.Составление электрической принципиальной схемы и описание функционирования фильтра
Принципиальная схема цифрового фильтра (фильтр верхних частот) содержит следующие компоненты: МК КР1830ВЕ31, ПЗУ КР1821РФ55, АЦП AD7892AN-1, ЦАП 9708, ОУ AD8792 с коэффициентом усиления 40 необходимый для обеспечения заданного размаха напряжения на выходе ЦАП(-20 до 20). Вывод yn происходит через порт РА (РФ55) на ЦАП. Подключение микросхемы РФ55 осуществляется стандартным способом. Выдача 8-разрядного кода из ПЗУ на шину адреса данных производится при поступлении управляющего строба /PSEN. Входы управления /RD (чтение) и WR(запись) подключается к соответствующим линиям управления системой магистрали, на которой в зависимости от типа машинного цикла выдаются управляющие стробы /RD (чтение из ОЗУ, порта) или /WR (запись в ОЗУ, в порт).
Работа фильтра начинается с подачи питания. Импульс, сформированный схемой сброса (дифференцирующая RC цепь) при подачи питания, обнуляет программный счётчик МК и инициирует формирование импульса сброса RST для установки МК в исходное состояние. Исходное состояние МК после сброса однозначно определено и его следует учитывать при инициализации МК и МП – системы, в целом.
Программа инициализации МП – системы должна начинаться с нулевого адреса. При инициализации выполняются необходимые настройки аппаратных и программных модулей МК и МП – системы на заданные режимы функционирования.
Таймер-счётчик Т/СО (аппаратный узел) в режиме таймера настраивается на период переполнения, равный ТД таймер запускается для формирования непрерывной последовательности импульсов с частотой дискретизации FД. Разрешаются внутренние прерывания от Т/СО, которые используются для программного формирования импульсов запуска АЦП, и внешние прерывания от входа INT1 - для пуска выполнения рабочего цикла фильтра по сигналу готовности данных от АЦП. Порт РА РФ55 настраивается на вывод на ЦАП, РВ РФ55 – на ввод данных из АЦП.. Программа инициализации завершается операцией останова МК.
Из состояния останова МК выводится сигналом внутреннего прерывания от флага TF0 переполнения Т/СО. По данному прерыванию выполняется программный модуль формирования и вывода импульса пуска АЦП. После запуска АЦП программа снова переходит в состояние останова и находится в нем до следующего прерывания по входу INTO сигналом готовности данных от АЦП.
Последующие операции (ввод, оперативные обращения к памяти, арифметические преобразования, преобразование кодов и вывод) в каждом цикле работы фильтра выполняются под управлением рабочей программы фильтра. Каждый рабочий цикл программы также заканчивается остановом - ожиданием очередного прерывания.
7. Расчет быстродействия фильтра
Быстродействие фильтра в рабочем режиме оценим как время, необходимое для выполнения всех операций, требуемых для получения входного отсчёта, вычисления выходного, выдачи его на периферийное устройство, подготовки следующего цикла. Для проектируемого фильтра это время складывается как сумма затрат времени на преобразование аналогового входного отсчёта в код, обработку прерывания от Т/С0 и обработку прерывания от входа INT1 .
Длительность машинного цикла МК (1 мкс) постоянная, поэтому затраты времени на обработку прерываний можно оценивать количеством требуемых для этого машинных циклов. Число машинных циклов для каждой команды МК приведено в таблице команд.
При расчете суммарного количества машинных циклов для рабочего режима фильтра следует учесть, что разработанная программа содержит разветвления по знаку обрабатываемого отсчёта (команды JC). Умножение отрицательного отсчёта более длительно по времени. Время выполнения рабочего цикла фильтра максимально в том случае, когда все обрабатываемые программой отсчёты - отрицательные.
Таким образом, для выполнения одного цикла работы проектируемого фильтра Tф (с момента прерывания от Т/СО до выхода на метку STOP.) требуется время, равное: ТФ =80 ТМц + Ту=81,3 мкс < Тд=869 мкс, где Тмц =1 мкс - длительность машинного цикла, Ту =1,3 мкс - длительность входного устройства преобразования устройства, Тд =1 / Fд=1/1150 - интервал дискретизации фильтра. Число 80 показывает количество циклов программы необходимых для выполнения всех операций заложенных в программе, вычислении выходного отсчёта, подготовки следующего цикла. Количество циклов считается после того как выполнена инициализация программы (период переполнения Т/С0, пуск Т/С0, разрешение прерываний от Т/С0 и INT1, порт РВ РФ55-ввод, порт РА РФ55 вывод. Все обрабатываемые отсчёты – отрицательные, так как умножение отрицательного отсчёта более длительно по времени.