3 СИНТЕЗ ПРОЕКТИРУЕМОГО УСТРОЙСТВА
Структурная схема типа реализации ЦФ приведена на рис.3.1. Параметры звеньев ЦФ следующие :
параметры звена : ;
параметры звена : ;
параметры звена : .
Рис. 3.1 – Структурная схема цифрового фильтра
Исходя из этой структуры, а также коэффициентов, для каждого звена составим разностные уравнения:
1) первое звено:
;
2) второе звено:
;
3) третье звено:
.
Результирующее разностное уравнение для цифрового фильтра будет иметь вид:
.
4 РАЗРАБОТКА АЛГОРИТМА ПРОГРАММЫ
ПРОЕКТИРУЕМОГО УСТРОЙСТВА
Прежде чем приступить к программированию устройства необходимо основательно изучить его внутреннюю структуру и возможности ресурсов. Простейшая блок-схема проектируемого устройства приведена на рисунке 4.1 В ней учтены конфигурация портов и АЦП, вычисление разностного уравнения фильтра, результат вычислений выдается на порт В.
Начало
Порт А –
вход
Порт В –
выход
Запуск
АЦП
Вычисление
разностного
уравнения
Выдача
Результата
На порт В
Рисунок 4.1 – блок-схема работы цифрового фильтра
Опираясь на данную блок схему, начнем более тщательное
рассмотрение вопроса. Конфигурация портов и АЦП задается исходя из документации предлагаемой производителем. Данная документация содержит примеры программ для настройки портов и АЦП. Оговорим некоторые аспекты этих программ применительно к нашему курсовому проекту. Контакты порта А зададим входами установкой битов в регистре TRISA. Данное условие необходимо для осуществления аналого-цифровой обработки сигнала. Контакты порта В зададим как выходные сбросом битов в регистре TRISB. Для АЦП выберем канал 0, то есть вывод микропроцессора RA0. В PIC16C711 на одно преобразование АЦП необходим минимальный интервал времени 10Тad, где Тad =1,6 мкс выбирается программно. Также одной из важных частей программы запуска АЦП является организация разрешения прерываний.
После конфигурации портов и запуска АЦП необходимо приступить к выполнению программы вычисления разностного уравнения, описывающего фильтр.
Просчитаем количество переменных, входящих в уравнения. Это количество будет определять необходимое число байт памяти. В нашем случае оно составляет 17. Нетрудно заметить, что коэффициенты разностных уравнений подобраны таким образом, что умножение переменной на них будет делением на 2,4,8…, а эта операция выполняется путем сдвига регистра вправо. Для хранения промежуточных данных сдвиговых операций и операций сложения нам понадобятся дополнительные ячейки памяти в количестве 17. При начальном запуске программы или при сбросе микропроцессорной системы все ячейки памяти необходимо сбросить в нуль.
На обработку данных АЦП требуется, как указывалось ранее, время. Чтобы повысить эффективность и качество системы, необходимо во время просчета АЦП, вместо простоя и ожидания системой результата просчета, произвести вычисления без участия текущего значения отсчета. Вычисления с участием текущего значения отсчета должны производиться через время, равное 10Tad.
Результат вычисления АЦП будет обрабатывать программа прерывания.
Исходя из всех вышеприведенных соображений, составим окончательный алгоритм программы:
Начало 1
Установка
порта А на COUNT-1
ввод
Установка да
порта В на Z=0
вывод
нет
6
0x17®W Сброс ADCON1
W®COUNT 0xC1®W
W®ADCON0
0x0C®W
Разрешить
прерывание
W®FSR АЦП
Разрешить
глобальное
Сброс INDF прерывание
FSR + 1 Пуск АЦП
1 2
2 3
Вычисление
А11UM1с сох- Вычисление
ранением зна- A32YN2YK2=
чения =A32(YN2+YK2)
с сохранением
значения
Вычисление
B11YN1 с сох-
ранением зна- Вычисление
чения B31YL1
Вычисление
В12YN2
ВычислениеYLL
= A31YN1YK1+
Вычисление + A32YN2YK2-
YNN=А11UM1- - B31YL1 с сох-
- B11YN1- ранением зна-
- В12YN2 с сох- чения
ранением зна-
чения
Вычисление YK1 ® W
A21UM1 с сох-
ранением зна-
чения
Вычисление W ® YK2
B21YK1
Вычисление YK ® W
YK=А21UM1-
- B21YK1 с сох-
ранением зна-
чения
W ® YK1
Вычисление
A31YN1YK1 =
=A31(YN1+YK1) Вычисление
с сохранением A10UM
значения
3
4
4 6 5
Вычисление
YN =A10UM+ UM ® W
+YNN
с сохранением
значения
W ® UM1
Вычисление
YL=A30(YN+
+YK)+YLL
с сохранением
значения
ОСТАНОВ
Передача знач-
чения YL на
порт B
YN1 ® W
W ® YN2
YN ® W
W ® YN1
YL ® W
5
Рисунок 4.2 - Алгоритм программы проектируемого устройства
... 8-канальный АЦП и аналоговый компаратор; - последовательные интерфейсы UART0, UART0, TWI и SPI; - блоки прерывания и управления (включая сторожевой таймер). Архитектура ядра. Ядро микроконтроллера выполнено по усовершенствованной RISC-архитектуре. Арифметико-логическое устройство, выполняющее все вычисления, подключено непосредственно к 32 регистрам общего назначения. Благодаря этому АЛУ ...
... данных в режиме простого обмена данными; q таймер (РУ55) останавливается; q содержимое ячеек ОЗУ и буферных регистров портов (РУ55) сохраняется. 3. Разработка общего алгоритма функционирования фильтра Общий алгоритм функционирования фильтра строится на основе выводов и определений, сделанных при анализе задачи, и включает в себя все функции устройства, реализуемые аппаратно и реализуемые ...
... , b2i , a2i определяют характеристики фильтра. При значениях коэффициентов фильтр имеет АЧХ фильтра верхних частот b 20 = 1;b 21 = 0;b 22 = 1.1; a 21 = 0.999;a 22 = 0.000 Разностное уравнение задает во временной области порядок получения выходной последовательности отсчетов из входной. В z-плоскости свойства цифрового фильтра описывает передаточная функция H(z), которая при двухкаскадной ...
... ; MOV X1, X ; MOV Y1, Y ; RETI ;возврат из подпрограммы обслуживания прерывания по входу END Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (нижних частот)". Разностное уравнение имеет вид: Представим уравнение в виде: , где , 1)Реализуемый коэффициент масштабирования (число без знака) при 8-разрядном формате беззнаковых коэффициентов: ;, ...
0 комментариев