Последующие операции (ввод, вывод, преобразование кодов, оперативные обращения к памяти, арифметические преобразования) в каждом цикле работы фильтра выполняются под управлением рабочей программы фильтра.
Каждый рабочий цикл МП есть реакция на прерывание (выполнение подпрограммы обслуживания прерывания), поэтому после обслуживания прерывания по команде возврата из подпрограммы в каждом рабочем цикле МП возвращается в состояние останова (в состояние ожидания очередного прерывания).
Минимальная конфигурация МП–системы, на которой реализуется устройство, полностью определяется заданным набором К1821, в состав которого входят следующие микросхемы: К1821ВМ85 - микропроцессор; КР1821РФ55 - ПЗУ ёмкостью 2К x 8 бит и два 8 – разрядных порта ввода–вывода; КР1821РУ55 - ОЗУ ёмкостью 258 x 8 (2048) бит, два 8 – разрядных и один 6 – разрядный порты ввода–вывода и 14–разрядный программируемый счётчик – таймер.
Полная схема фильтра получается при объединении минимальной конфигурации МП–системы и дополнительных аппаратных узлов. Такими дополнительными аппаратными узлами в данном случае являются- АЦП и преобразователь ток/напряжение
АЦП используется для преобразования выходного двоичного кода микропроцессора в аналоговый сигнал, в виде тока. Для преобразования токового сигнала в сигнал в виде напряжения используется преобразователь ток/напряжение, который реализован на двух ОУ К157УД3 и дополнительных стабилизирующих элементах. Опорное напряжение на ЦАП подается от внешнего источника.
5.Разработка и отладка программы на языке команд микропроцессора:
Рабочая программа разработана на основе спроектированного алгоритма функционирования устройства и результатов анализа и формализации задачи. Программа привязана к минимальной конфигурации аппаратной части фильтра, рис.1
Распределение памяти ПЗУ:
0000h....003Bh-программа инициализации;
003Ch....07FFh-программа реакции на прерывание RST 7
Распределение памяти OЗУ:
5000h,5001h,5002h-хранение отсчетов ,,
5003h,5004h,5005h-хранение отсчетов ,,
5006h,5007h,5008h-хранение отсчетов ,,
50FFh-начальный адрес стека.
;Программа «Цифровой режекторный фильтр»
;Автор:Прусс Александр Владимирович ст.гр.111
;Дата:10 апреля 2004г.
;Разностное уравнение
;Определение символических переменных
PA RF .EQU 0800h порт РА(РФ55)
RGA RF .EQU 0802h регистр направления передачи
порта РА(РФ55)
PA RU .EQU 7001h порт РА(РУ55)
RG RU .EQU 7000h регистр управляющего слова (РУ55)
TL .EQU 7004h младший байт таймера
TH .EQU 7005h старший байт таймера
STL .EQU 61h младшее слово для загрузки в таймер
STH .EQU 0C1h старшее слово для загрузки в таймер
SRF .EQU 0FFh управляющее слово для настройки порта
РА(РФ55)
SRU .EQU 0C0h управляющее слово для настройки
портов и пуска таймера (РУ55)
SPR .EQU 1Bh управляющее слово для настройки
прерываний
AX .EQU 5000h адрес отсчета
AX1 .EQU 5001h адрес отсчета
AX2 .EQU 5002h адрес отсчета
AY .EQU 5003h адрес отсчета
AY1 .EQU 5004h адрес отсчета
AY2 .EQU 5005h адрес отсчета
AP1 .EQU 5006h адрес отсчета
AP2 .EQU 5007h адрес отсчета
AP3 .EQU 5008h адрес отсчета
;Инициализация по сигналу «Сброс»
.ORG 0 начальный адрес программного модуля инициализации
DI запрет прерываний
LXI SP,50FFh организация стека
MVI A,SRF настройка таймера на частоту
переполнения Т=Тд в режиме 3
MVI A,STH
STA TH
MVI A,SRU настройка порта РА(РУ55) на ввод
STA RG RU и пуск таймера
MVI A,SPR настройка режима прерываний
SIM
EI разрешение прерываний
M1: HLT останов, ожидание прерывания
JMP M1 переход на команду останова
процессора по окончании подпрограммы обслуживания прерывания
.ORG 3Сh начальный адрес программной реакции на прерывание типа RST 7
LDA PA RU ввод текущего кода АЦП в аккумулятор
ADI 80h получение дополнительного кода для текущего отсчета
программный модуль масштабирования вычисления произведения
входной отсчет хранится в аккумуляторе
масштабированный отсчет записать в ячейку
ОЗУ с адресом AX
MOV H,A
ARHL арифметические сдвиги в право
ARHL отсчета и накопление суммы
MOV A,H частичных произведений
ARHL в аккумуляторе
ADD H
ARHL
STA AX запоминание в памяти
программный модуль вычисления
произведения
хранится в ячейке ОЗУ с адресом X2
записать в ячейку ОЗУ с адресом P1
LDA X2
ARHL частичных произведений
MOV A,H в аккумуляторе
STA AP1 запоминание в памяти
программный модуль вычисления произведения
хранится в ячейке ОЗУ с адресом Y2
записать в ячейку ОЗУ с адресом P2
STA AP2 запоминание в памяти
записать в ячейку ОЗУ с адресом P3
LDA Y2
MOV A,H
STA AP3 запоминание в памяти
программный модуль вычисления выходного
отсчета
слагаемые хранятся в ячейке ОЗУ, результат
вычисления записать в ячейки ОЗУ
LDA AX
LXI H,P2 загрузка адреса в регистр H
ADD М
LXI H,AP1
LXI H,AP3
SUB М
STA AY запоминание в памяти
ADI 80h получение смещенного входного
кода ЦАП
STA PА RF вывод кода на ЦАП через
порт РА(РФ55)
программный модуль сдвига отсчетов
в памяти
LHLD AX
SHLD AX1
LHLD AY
SHLD AY1
RET возврат из подпрограммы
обслуживания прерывания
Листинг программного модуля вычисления выходного отсчета
Sat Apr 15 2004 23:36 Page 1
2500 A.D. 8085 Macro Assembler - Version 4.02a
------------------------------------------------
Input Filename : sh.asm
Output Filename : sh.obj
1 0800 PARF .EQU 0800h;
2 5006 AP1 .EQU 5006h;
3 5007 AP2 .EQU 5007h;
4 5008 AP3 .EQU 5008h;
5 5000 AX .EQU 5000h;
6 5003 AY .EQU 5003h;
7 0000 3A 00 50 LDA AX
8 0003 21 07 50 LXI H,AP2
9 0006 86 ADD M
10 0007 21 06 50 LXI H,AP1
11 000A 86 ADD M
12 000B 21 08 50 LXI H,AP3
13 000E 96 SUB M
14 000F 32 03 50 STA AY
15 0012 32 00 08 STA PARF
16
Sat Apr 15 2004 23:36 Page 2
Defined Symbol Name Value References
2 AP1 = 5006 10
3 AP2 = 5007 8
4 AP3 = 5008 12
5 AX = 5000 7
6 AY = 5003 14
Pre CODE 0000
Pre DATA 0000
1 PARF = 0800 15
Lines Assembled : 16 Assembly Errors : 0
Для проверки на переполнение можно осуществить ручной просчет и машинный просчет программы. Приведенный ниже просчет сделан, для случая когда все отсчеты имеют максимально возможное значение:
выходной отсчет будет иметь максимальное значение, если:
Таким образом, при ручном просчете программы, для крайнего случая, переполнения не произошло. Машинный расчет дает такое же значение выходного отсчета. Отсюда можно сделать вывод, что в процессе выполнения программы переполнения не происходит.
6.Составление и описание электрической принципиальной схемы устройства:
Принципиальная электрическая схема цифрового режекторного фильтра содержит следующие элементы:
1) Микросхемы:
DD1 – МП К1821ВМ85
DD2 – ПЗУ К1821РФ55
DD3 – ОЗУ К1821РУ55
DA1 – ЦАП К572ПА1
DA2 - ОУ К157УД3
DA3 – ОУ К157УД3
2) Диоды:
VD1 – КД520
VD2-VD5 – КД514А
3) Конденсаторы
C1,C4,C5 – КМ-56-П33
С2,С3 - К50-24
4) Резисторы
R1,R2,R3,R4
5) Кварцевый резонатор
ZQ1 – 3МГц
Микросхемы DD1 – МП К1821ВМ85;DD2 – ПЗУ К1821РФ55;
DD3 – ОЗУ К1821РУ55 образуют микропроцессорную систему,
DA1 – ЦАП К572ПА1 преобразует выходной двоичный код процессора в аналоговый сигнал в виде тока, VD2-VD5; C2,C3,С4,С5; R3,R4; DA2, DA3 образует схему преобразования ток/напряжение, VD1;R1,R2; C1 образуют схему сброса, кварцевый резонатор задает тактовую частоту процессора.
На выходе схемы преобразователя ток/напряжения формируется напряжение от -1 до +1 В, это обеспечивается подачей опорного напряжения на ЦАП Uref=-1В.
Устройство использует питающие напряжения +5, -15 и +15 В, а также напряжение, для подачи опорного напряжения -1В.
7.Расчёт быстродействия устройства:
Быстродействие фильтра в рабочем режиме оценим как время, необходимое для обработки каждого прерывания процессора. Рабочая программа фильтра линейная (не содержит разветвлений), поэтому общее число машинных тактов, требуемых для выполнения программы, получим как сумму машинных тактов всех последовательно выполняемых команд, составляющих рабочий цикл процессора.
Сумма машинных тактов для рабочего цикла приведенной выше программы равна 445. Из этого следует вывод, что процессор не успеет выполнить подпрограмму обслуживания прерывания за интервал дискретизации TД. При частоте FCLK МП = 1,5 МГц TД = 353ТCLK МП (353 машинных тактов процессора). Поэтому тактовая частота процессора должна быть увеличена. Примем FCLK МП = 3 МГц, что для заданной БИС МП допустимо, тогда TД = 706ТCLK МП .
8. Расчет АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства:
Исходя из разностного уравнения фильтра, можно записать выражения для передаточной функции устройства.
- разностное уравнение, отсюда выражение для передаточной функции будет иметь вид:
, где. Подставляя значение и заменяя получим выражение для комплексного коэффициента передачи фильтра:
, модуль от этого выражения даст АЧХ, а аргумент- ФЧХ:
- АЧХ; - ФЧХ, в обоих этих
выражениях - период дискретизации. Полученные формулы для АЧХ и ФЧХ справедливы для заданных значений коэффициентов, в реальной ситуации, из-за погрешности в представлении коэффициентов в форме двоичного кода, в виду конечности размерности разрядной сетки МП, значения коэффициентов в выражениях для АЧХ и ФЧХ будут другими.
, перевод этих чисел обратно в десятичную систему счисления даст следующий результат:
,, подставив эти значения коэффициентов в разностное уравнение, можно получить выражения для реальных АЧХ и ФЧХ фильтра
; . Графики нормированной
АЧХ и ФЧХ для заданных и реальных коэффициентов изображены на рис.2 и рис.3 соответственно (пунктиром показаны реальные зависимости). По графикам видно, что реальные и заданные характеристики практически не отличаются.
рис.2
рис.3
Для того чтобы было видно различие между заданными и реальными зависимостями можно рассмотреть небольшие участки графиков АЧХ и ФЧХ
(рис.4 и рис.5)
рис.4
рис.5
Для того чтобы оценить устойчивость фильтра, нужно найти полюс передаточной функции
, , .
Полюс передаточной функции фильтра расположен внутри единичной окружности на комплексной z плоскости, следовательно фильтр устойчив.
9.Заключение:
В данном курсовом проекте спроектирован цифровой режекторный фильтр на основе МП-системы. Разработана программа на языке команд микропроцессора, которая обеспечивает выполнение МП-системой заданного алгоритма фильтрации. МП-система построена, согласно заданию на курсовой проект, на основе набора К1821 с минимальной конфигурацией. Аппаратная часть фильтра также включает в себя ЦАП и аналоговое устройство – преобразователь ток/напряжение.
10.Список использованных источников:
1. Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ.-М.: Мир, 1988.
2. Токхайм Р. Микропроцессоры: Курс и упражнения / Пер. с англ., под ред. В. Н. Герасевича. М.: Энергоатомиздат, 1998.
3. Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы.- М.: Радио и связь, 1989.
4. Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП:
функционирование, параметры, применение.- М.: Энергоатомиздат, 1990.
5. Перельман Б. Л. Шевалов В. В. Отечественные микросхемы и их зарубежные аналоги: справочник. М: НТЦ: Микротех 1998.
6. Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга. Под ред. Ю.М.Казаринова.- М.: Высш. шк., 1990.
7. Шило В. Л. Популярные цифровые микросхемы: Справочник.–М.: Радио и связь, 1989.
8. Методические указания к курсовому проекту по дисциплине “Цифровые устройства и микропроцессоры” / Рязан. гос. радиотехн. акад.; Сост. Н.И.Сальников. Рязань, 2002.
Страницы: 1, 2