Реализация цифрового фильтра нижних частот
RRC A ;восстановление положительного отсчета в аккумуляторе
MOV B, #k1 ;вычисление произведе-
MUL AB ;ния
MOV P1, B ;запоминание в памяти
SJMP M4 ;переход к продолжению
M3: RRC A ;восстановление отрицательного отсчета в аккумуляторе
CPL A ;получение положительного
INC A ;отсчета (смена знака)
MOV B, #k1 ;вычисление произведе-
MUL AB ;ния и пересылка
MOV A, B ;в аккумулятор
CPL A ;получение отрицательного
INC A ;отсчета (смена знака)
MOV P1, A ;запоминание в памяти
программный модуль вычисления произведения
хранится в ячейке ОЗУ с адресом Y1
записать в ячейку ОЗУ с адресом P2
M4: MOV A, Y1 ;копирование в акку-
RLC A ;мулятор и анализ знака
JC M5 ;переход к программе умножения отрицательного отсчета на
RRC A ;восстановление положительного отсчета в аккумуляторе
MOV B, #k2 ;вычисление произведе-
MUL AB ;ния
MOV P2, B ;запоминание в памяти
SJMP M6 ;переход к продолжению
M5: RRC A ;восстановление отрицательного отсчета в аккумуляторе
CPL A ;получение положительного
INC A ;отсчета (смена знака)
MOV B, #k2 ;вычисление произведе-
MUL AB ;ния и пересылка
MOV A, B ;в аккумулятор
CPL A ;получение отрицательного
INC A ;произведения (смена знака)
MOV P2, A ;запоминание в памяти
программный модуль вычисления выходного
отсчета , слагаемые
хранятся в ячейках ОЗУ, результат записать
в ячейку ОЗУ и вывести на ЦАП
M6: MOV A, X ;вычисление отсчета
ADD A, P1 ;и сохранение в памяти
ADD A, P2 ;
MOV Y, A ;
ADD A, #80h ;получение смещённого
кода для ЦАП
MOV DPTR, #PBRF ;вывод кода Y через порт
MOVX @DPTR, A ;РВ РФ55
программный модуль сдвига отсчетов в памяти, подготовка следующего рабочего цикла
MOV X2, X1 ;
MOV X1, X ;
MOV Y1, Y ;
RETI ;возврат из подпрограммы
обслуживания прерывания
по входу
END
Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (нижних частот)".
Разностное уравнение имеет вид:
Представим уравнение в виде: , где ,
1)Реализуемый коэффициент масштабирования (число без знака) при 8-разрядном формате беззнаковых коэффициентов:
;,
===
2)Реализуемые коэффициенты разностного уравнения и (числа без знака ) при 8-разрядном формате беззнаковых коэффициентов:
;
;
3) Входной положительный отсчет максимальной амплитуды (немасштабированный отсчет):
4)Масштабированный входной положительный отсчет максимальной амплитуды:
:==
5)Зададим состояние памяти после запоминания масштабированных входных отсчетов максимальной амплитуды и выходных отсчетов максимальной амплитуды:
Адрес ячейки памяти | Содержимое ячейки памяти |
X |
|
X1 |
|
X2 |
|
Y |
Вычисляется программой:= |
Y1 |
|
P1 |
Вычисляется программой: |
P2 |
Вычисляется программой: |
6) Получим произведение
7)Получим модуль произведения положительного отсчета на коэффициент :
==
8)Вычислим выходной отсчет:
=
Для отрицательных отсчетов:
3) Входной отрицательный отсчет максимальной амплитуды (немасштабированный отсчет):
4)Масштабированный входной отрицательный отсчет максимальной амплитуды:
:==
5)Зададим состояние памяти после запоминания масштабированных входных отсчетов максимальной амплитуды и выходных отсчетов максимальной амплитуды:
Адрес ячейки памяти | Содержимое ячейки памяти |
X |
|
X1 |
|
X2 |
|
Y |
Вычисляется программой:= |
Y1 |
|
P1 |
Вычисляется программой: |
P2 |
Вычисляется программой: |
6) Получим произведение
7)Получим модуль произведения отрицательного отсчета на коэффициент :
==
8)Вычислим выходной отсчет:
=
6. Составление и описание электрической принципиальной схемы устройства
Принципиальная схема цифрового фильтра содержит следующие микросхемы:
DD1- микроконтроллер КР1830ВЕ31;
DD2- БИС КР1821РФ55;
DD3- БИС КР1821РУ55;
D1- микросхема К155ЛН1 содержит 6 инверторов;
D2- операционный усилитель К140УД8;
DD4- ЦАП AD9708;
К микроконтроллеру подключается кварцевый резонатор ZQ1 с частотой
12 МГц, для обеспечения работы внутреннего генератора тактовых импульсов.
Обмен сигналами между микросхемами DD1, DD2, DD3 осуществляется по мультиплексированной шине адрес/данные (AD7…AD0). Для адресации микросхемы КР1821РФ55 используются: 3 старших разряда адресной шины (AD8, AD9, AD10) – адресация ПЗУ, А11(Р2.3) – по линии IO/M, выбор порта или памяти, A12(P2.4) – выбор кристалла по линии CS 2.
Для адресации микросхемы КР1821РУ55 используются: линия А14(Р2.6) – для выбора кристалла, А13 (Р2.5) – для выбора, по линии IO/M, порта РВ.
Микросхема КР1821РФ55 соединена с ЦАП портом РВ (РВ7…РВ0).
Для синхронизации передачи данных микросхемы соединены по служебным входам и . Для синхронизации вывода готового кода на ЦАП, необходимо подать сигнал записи () на вывод CLOCK. Но так как запись в регистр защелку осуществляется по положительному фронту управляющего строба, следовательно, перед выводом CLOCK надо поставить инвертор.
Для обеспечения требуемого размаха выходного напряжения ±5 В, используется усилитель с дифференциальным включением выводов на основе ОУ К140УД8.
Расчет дополнительных элементов:
, , , где
амплитуда напряжения на выходе ЦАП, - максимальный ток на выходе, - сопротивление для нагрузки на выходе, - опорный ток, - опорное напряжение, – сопротивление резистора на выводе FS ADJ для задания опорного тока.
Принимаем =0,5 В=5 В и =50 Ом, следовательно,
=10 мА, =0,31 мА, = R2=3,9 кОм.
C4=C5=C6=C7=0,1 мкФ, R3=R4==50 Ом.
Так как =0,5 В, следовательно, усилитель должен имеет коэффициент усиления =10. Для усилителя на ОУ с дифференциальным включением выводов
=; R7=R6=150 Ом; R8=R5=10150=1,5 кОм.
7. Расчёт быстродействия устройства
Быстродействие фильтра в рабочем режиме оценивается как время, необходимое для обработки прерывания микропроцессора. Рабочая программа фильтра линейная, поэтому общее число машинных циклов, требуемых для выполнения программы, получили как сумму машинных циклов всех последовательно выполняемых команд, составляющих рабочий цикл процессора.
Количество машинных циклов с момента поступления запроса на прерывание по входу до выхода на метку STOP равно 78. Период дискретизации равен
. Длительность машинного цикла , следовательно
время выполнения программы равно 78=78 мкс, что меньше чем период дискретизации, т.е. условие фильтрации в реальном времени выполняется.
8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
Разностное уравнение имеет вид:
В общем виде уравнение проектируемого фильтра можно представить в виде:
Коэффициенты имеют следующие значения:
; ;;;