- •Содержание
- •1. Постановка задачи
- •2. Формализация задачи
- •2.1 Функциональная схема цифрового фильтра
- •2.2 Исходное состояние фильтра после включения питания
- •2.3 Формализация настроек для инициализации фильтра
- •2.3.1 Частота синхронизации мк
- •2.3.2 Настройка таймера – счетчика т/с0
- •2.3.3 Настройка прерываний
- •2.4.4 Хранение текущих данных
- •2.4.5 Масштабирование входных отсчетов
- •2.4.6 Умножение отсчета на коэффициент
- •3. Разработка и описание общего алгоритма функционирования фильтра
- •4. Обоснование построения аппаратной части фильтра
- •5. Разработка и отладка программы на языке команд мк
- •Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (режекторный)"
- •6. Расчет быстродействия фильтра
- •7. Анализ характеристик фильтра для заданных и реальных значений коэффициентов (нули и полюса, ачх, фчх, оценка устойчивости)
- •8. Заключение (оценка результатов проектирования)
- •9. Список использованных источников.
- •Приложение а (схема мп-системы на базе мк кр1830ве31).
- •Приложение б (список условных сокращений).
2.4.5 Масштабирование входных отсчетов
Если при вычислении разностного уравнения при принятом 8-разрядном формате представления данных получен числовой результат, выходящий за пределы -1, +1 имеет место переполнение разрядной сетки.
Для исключения переполнения введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования КМ<1, при котором вычисление разностного уравнения не дает недопустимого результата.
Коэффициент
КМ
получим, предположив, что все отсчеты
в разностном уравнении принимают
максимальные значения (-1, +1) и такие
знаки, при которых слагаемые разностного
уравнения складываются по модулю, то
есть складываются по модулю коэффициенты.
Подставив такие значения в уравнение
для вычисления Yn
и просуммировав по модулю коэффициенты,
получим Yn
max=2,207,
что является недопустимым результатом.
Отсюда заданный коэффициент масштабирования
(число без знака) равен KM=1/
Yn
max=
0.45310376
(10)
0,01110011(2)=73(16)
2.4.6 Умножение отсчета на коэффициент
При вычислении разностного уравнения и при масштабировании, перемножаются числа со знаком (отсчеты) на числа без знака (положительные числа).
Умножение множителя со знаком на множитель без знака мы реализуем на основе смены знака у отрицательного множимого, перемножения беззнаковых сомножителей с соответствующей сменой знака у произведения.
3. Разработка и описание общего алгоритма функционирования фильтра
Общий алгоритм функционирования фильтра строится на основе анализа задачи, проделанного в предыдущих разделах, и включает в себя все функции устройства, реализуемые аппаратно или программно. Он содержит также все сигналы и сообщения, необходимые для связи аппаратно-реализуемых операций (сигналы и сообщения, которые обеспечивают взаимодействие аппаратной части фильтра и программы).
Общий алгоритм функционирования фильтра приведен на рисунке 2. Работа фильтра начинается с подачи питания. Импульс, сформированный схемой сброса (дифференцирующая RC-цепь) при подаче питания, обнуляет программный счетчик МК и инициирует формирование импульса сброса RST для установки МК в исходное состояние. Исходное состояние МК после сброса однозначно определено и его следует учитывать при инициализации фильтра.
Программа инициализации МП-системы должна начинаться с нулевого адреса. При инициализации выполняются необходимые настройки аппаратных и программных модулей МК и МП-системы на заданные режимы функционирования и с определенными параметрами.
Таймер-счетчик Т/С0 (аппаратный узел) в режиме таймера настраивается на период переполнения, равный Тд, таймер запускается для формирования непрерывной последовательности импульсов с частотой дискретизации. Разрешаются внутренние прерывания от Т/С0, которые используются для программного формирования импульсов запуска АЦП, и внешние прерывания от входа - для пуска выполнения рабочего цикла фильтра по сигналам готовности данных от АЦП. Порт РA РФ55 настраивается на вывод, РА РУ55 – на ввод данных из АЦП. Программа инициализации завершается операцией останова МК.
Из состояния останова МК выводится сигналом внутреннего прерывания от флага TF0 переполнения Т/С0. По данному прерыванию выполняется программный модуль формирования и вывода импульса пуска АЦП. После запуска АЦП программа снова переходит в состояние останова и находится в нем до следующего прерывания по входу сигналом готовности данных от АЦП.
Последующие операции (ввод, оперативные обращения к памяти, арифметические преобразования, преобразование кодов и вывод) в каждом цикле работы фильтра выполняется под управлением рабочей программы фильтра. Каждый рабочий цикл программы также заканчиваться остановом – ожиданием очередного прерывания.
