Xreferat.com » Рефераты по коммуникации и связи » Реализация цифрового фильтра нижних частот

Реализация цифрового фильтра нижних частот

Министерство образования и науки РФ

РГРТУ


Пояснительная записка

к курсовому проекту по дисциплине:

"Цифровые устройства и микропроцессоры"


Студент Дмитриев А.Ю.

Группа 415 Специальность 2015


2007


Содержание


1. Постановка задачи (введение)

2. Формализация задачи

3. Разработка и описание общего алгоритма функционирования устройства

4. Обоснование построения аппаратной части устройства

5. Разработка и отладка программы на языке команд микропроцессора

6. Составление и описание электрической принципиальной схемы устройства

7. Расчёт быстродействия устройства

8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства

Заключение

Список использованных источников


1. Постановка задачи (введение)


Цифровая обработка сигналов , т.е. обработка сигналов с помощью средств электронной вычислительной техники ,стала известна около 35 лет назад. Электронные вычислительные машины тогда были дороги и несовершенны и поэтому их применяли лишь в сложных радиокомплексах , например, при расчете координат и траекторий объектов в радионавигационных системах слежения за космическими объектами , при расчете координат цели в радиолокационных станциях.

В последующие годы благодаря широкому применению транзисторов а затем и развитию микроэлектроники ЭВМ стали совершеннее, дешевле, а главное, компактнее. Появилась возможность использования вычислительной техники в сравнительно простой аппаратуре, например, в специальных радиоприемниках, системах фазовой подстройки частоты, системах телеметрии и т.д. С помощью цифровых устройств можно реализовать очень сложные алгоритмы обработки сигналов, которые трудно, а часто даже невозможно реализовать, используя обычную аналоговую технику. Алгоритм обработки сигналов можно изменять в зависимости от характера входного сигнала. Следовательно, легко построить самонастраивающуюся (адаптивную) систему. Цифровые фильтры могут анализировать параметры сигнала и принимать те или иные решения , например, вырабатывать управляющие команды. С помощью цифровых методов можно реализовать любой алгоритм обработки сигнала , который может быть описан совокупностью арифметических и логических операций. Точность обработки сигнала цифровыми фильтрами определяется точностью выполняемых расчетов. Она может быть несоизмерима выше точности обработки сигнала в аналоговых фильтрах. Одним из источников погрешности аналоговых фильтров является нестабильность их параметров , вызываемая колебаниями температуры , старением , дрейфом нуля , изменением питающих напряжений и т.д. В цифровых фильтрах эти неприятные эффекты отсутствуют. При разработке цифровых фильтров не возникает задача согласования нагрузок. Недостатком цифровых фильтров является их большая сложность по сравнению с аналоговыми , более высокая стоимость и не очень высокое быстродействие. В последние годы в связи с появлением микропроцессоров цифровая обработка сигналов получила еще более широкое распространение. Для цифровых фильтров стало возможным построение разнообразных частотных характеристик, путем их аналитической задачи. При этом реализуемы и фильтры традиционных типов: нижних частот, верхних частот, полосовые и режекторные.

В данном курсовом проекте необходимо реализовать цифровой фильтр нижних частот, основой микропроцессорной системы которого служит микроконтроллер КР1830ВЕ31.


2. Формализация задачи


Минимальная конфигурация МП-системы на основе набора БИС КР1830ВЕ31, КР1821РФ55, КР1821РУ55,совместно с ЦАП AD9708 и вспомогательными элементами определяет функциональную схему фильтра нижних частот, которая представлена на рис. 1.


Реализация цифрового фильтра нижних частот

Рис. 1. Функциональная схема фильтра нижних частот.


Входное напряжение в виде кода поступает в порт РВ БИС РУ 55 с частотой дискретизации Реализация цифрового фильтра нижних частот. Для формирования импульсов с частотой дискретизации Реализация цифрового фильтра нижних частот будем использовать внутренний Т/С0 БИС КР1830ВЕ31, который должен работать в непрерывном режиме (без блокировки сигналом Реализация цифрового фильтра нижних частот). Поэтому выбираем режим 2 (с перезагрузкой после каждого цикла счета).

Примем частоту задающего кварцевого генератора Реализация цифрового фильтра нижних частот=12 МГц, тогда частота машинного цикла равна Реализация цифрового фильтра нижних частот= Реализация цифрового фильтра нижних частот/12=1 МГц. Частота дискретизации Реализация цифрового фильтра нижних частот=8,8 кГц, следовательно Т/С0 должен иметь в режиме с перезагрузкой коэффициент пересчета Реализация цифрового фильтра нижних частот. Так как максимальный коэффициент пересчета 8-разрядного счетчика равен Реализация цифрового фильтра нижних частот, для обеспечения требуемой частоты дискретизации в Т/С0 должно записываться число


Реализация цифрового фильтра нижних частот.


Байт Реализация цифрового фильтра нижних частот должен загружаться при инициализации МП системы.

Необходимость хранения данных определяется видом заданного разностного уравнения. Для каждого цикла вычисления текущих выходных отсчетов Реализация цифрового фильтра нижних частот требуется использовать выборку входных отсчетов Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот и выборку выходных отсчетов Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот. Также требуется сохранить в памяти два текущих произведения


Реализация цифрового фильтра нижних частот и Реализация цифрового фильтра нижних частот.


Следовательно, 7 ячеек ОЗУ БИС РУ 55 при составлении программы определим для хранения данных в текущем цикле обработки входного сигнала (в текущем интервале дискретизации).

После вычисления выходного отсчета Реализация цифрового фильтра нижних частоти записи его в ОЗУ, перед приемом нового входного отсчета необходимо сдвинуть отсчеты всех выборок в памяти:

n-1-й отсчет на место n-2-го, n-й на место n-1-го. Это требуется для подготовки следующего цикла вычислений.

В результате вычисления разностного уравнения может получится так, что при 8-разрядном формате представления данных может получится результат, выходящий за пределы +1, -1, т.е. возникает переполнение разрядной сетки.

Для исключения переполнения разрядной сетки, введем масштабирование

входных отсчетов, путем умножения на коэффициент масштабирования Реализация цифрового фильтра нижних частот.


Реализация цифрового фильтра нижних частот ;

Реализация цифрового фильтра нижних частот;

Реализация цифрового фильтра нижних частот;


Реальные значения коэффициентов разностного уравнения и коэффициента Реализация цифрового фильтра нижних частот отличаются от расчетных, в виду ограничения разрядной сетки:


Реализация цифрового фильтра нижних частот=Реализация цифрового фильтра нижних частот=Реализация цифрового фильтра нижних частот;

Реализация цифрового фильтра нижних частот;

Реализация цифрового фильтра нижних частот


Вывод выходного отсчета Реализация цифрового фильтра нижних частот осуществляется через порт РВ БИС РФ 55.

Согласование кода МК и кода ЦАП необходимо, так как ЦАП преобразует в ток смещенный входной код (положительные числа), а арифметический код МК – дополнительный. Для согласования – вычисленный отсчет Реализация цифрового фильтра нижних частот перед выводом на ЦАП суммируется с константой Реализация цифрового фильтра нижних частот.

При сбросе МК в указатель стека загружается адрес SP=70, - во внутренней памяти данных назначается стек (16 ячеек ОЗУ) с начальным адресом 70.

При включении питания в схеме МП – системы вырабатывается импульс сброса RST для МК. По сигналу RST =1 выполняются следующие действия:

Программный счетчик и все управляющие регистры МК, кроме PCON, IE, IP – устанавливаются в нулевое состояние;

В управляющих регистрах PCON, IE , IP – резервные биты принимают случайные значения, все остальные биты сбрасываются в 0;

В указателе стека устанавливается адрес SP=70 (вершина стека);

Запрещаются прерывания от всех источников, запрещается работа Т/С, запрещается работа последовательного порта;

Выбирается банк 0 РОН (текущий банк регистров);

Порты Р0, Р1, Р2, Р3 настраиваются на ввод для приема данных;

В БИС РФ 55 и РУ 55 исходное состояние после включения питания произвольное, так как импульс RST на их входы сброса не поступает.

Поэтому для перехода фильтра в рабочий режим, сначала необходима его настройка (инициализация).


3. Разработка и описание общего алгоритма функционирования устройства


Общий алгоритм функционирования фильтра представлен на рисунке 2. Работа фильтра начинается с подачи питания на дифференцирующую цепь RC, которая формирует импульс сброса RST, устанавливающий МК в исходное состояние и обнуляющий программный счетчик. Следовательно, программа инициализации должна начинаться с нулевого адреса. Программа инициализации включает в себя настройки аппаратных и программных модулей МК и МП -системы на заданные режимы функционирования и с определенными параметрами:

Настройка Т/С0 на частоту дискретизации Реализация цифрового фильтра нижних частот, в режиме 2

Настройка портов: РВ БИС РУ 55-на ввод данных, РВ БИС РФ 55-на вывод данных

Запуск Т/С0 для формирования непрерывной последовательности импульсов с частотой Реализация цифрового фильтра нижних частот

Настройка прерываний: разрешаются внутренние прерывания от Т/С0, которые используются для программного формирования импульса запуска внешнего источника входного кода, и внешние прерывания от входа Реализация цифрового фильтра нижних частот- для запуска выполнения рабочей программы фильтра.

Организовать стек.

Программа инициализации завершается остановом МП-системы. Из состояния останова МК выводится внутренним сигналом прерывания от Т/С0. По данному прерыванию выполняется программный модуль формирования импульса запуска внешнего источника данных, после чего МК снова переходит в состояние останова и находится в нем до следующего прерывания по входу Реализация цифрового фильтра нижних частот сигналом готовности входного кода. То есть выполнение рабочей программы фильтра, по сути, является реакцией на прерывания.


Реализация цифрового фильтра нижних частот

Рис. 2. Общий алгоритм функционирования фильтра.


4. Обоснование построения аппаратной части устройства


Основой аппаратной части устройства является набор БИС КР1830ВЕ31, КР1821РФ55, КР1821РУ55.

КР1830ВЕ31- микроконтроллер, выполненный по комплементарной МОП технологии (КМОП);

КР1821РФ55- ПЗУ с двумя портами ввода/вывода, работающими в режиме простого обмена;

КР1821РУ55- микросхема, в состав которой входят: ОЗУ, таймер, два 8-разрядных (РА и РВ) порта ввода/вывода и один 6-разрядный порт (РС).

Выходной сигнал должен иметь аналоговый вид, для преобразования цифрового кода в аналоговый сигнал, используя ЦАП типа AD9708. Микросхема AD9708 представляет собой 8-разрядный ЦАП, построенный по схеме на транзисторных источниках тока, весовые токи формируются с помощью матрицы R-2R. В качестве опорного источника напряжения может выбираться либо внутренний – с напряжением +1,2 В, либо – внешний. Для обеспечения требуемого размаха напряжения ±5 В, к токовым выходам ЦАП подключаем операционный усилитель.


5. Разработка и отладка программы на языке команд микропроцессора


Рабочая программа фильтра разрабатывается на основе алгоритма функционирования устройства. Для настройки таймера/счетчика Т/С0, в качестве таймера, на работу в непрерывном режиме 2 (без блокировки сигналом Реализация цифрового фильтра нижних частот и с перезагрузкой после каждого цикла счета) необходимо управляющие биты GATE0=0, C/Реализация цифрового фильтра нижних частот=0 и код режима 10 записать в состав управляющего слова (константа #02) для регистра TMOD при инициализации – команда MOV 89, #02.


Управляющее слово для регистра TMOD (прямой адрес 89)
TMOD.7 TMOD.6 TMOD.5 TMOD.4 TMOD.3 TMOD.2 TMOD.1 TMOD.0
GATE 1

C/Реализация цифрового фильтра нижних частот 1

M 1.1 M 0.1 GATE 0

C/Реализация цифрового фильтра нижних частот 0

M 1.0 M 0.0
X(0) X(0) X(0) X(0) 0 0 1 0

Для обеспечения требуемой частоты дискретизации Реализация цифрового фильтра нижних частот, при инициализации, константа #8Е должна быть записана в регистр TH0 – команда MOV 8C, #8Е. Пуск Т/С0 производится путем установке в управляющем регистре TCON бита TR0=1. Команда SETB 8C.

Для настройки порта РВ БИС РУ55 на ввод данных надо в состав регистра управляющего слова записать константу #00.


Управляющее слово для РУС БИС HE 55 (адрес 7000)
D7 D6 D5 D4 D3 D2 D1 D0
TM2 TM1 IE B IE A PC2 PC1 PB PA
x(0) x(0) x(0) x(0) x(0) x(0) 0 x(0)

При инициализации – команды MOV A, #00, MOV DPTR, #7000, MOVX @DPTR, A.

А для настройки порта РВ РФ 55 на вывод данных надо в регистр направления передачи порта РВ записать 1. При инициализации – команды MOV A, #01, MOV DPTR, #0803, MOVX @DPTR, A.

Формирование импульса запуска внешнего источника данных выполняется по прерывания от флага TF0, устанавливающегося при переполнении Т/С0. Подпрограмма обработки прерывания от флага TF0 имеет стартовый адрес 000В и содержит команды: CLR 90, SETB 90(сброс и установка бита по линии Р1.0).

Настройка прерываний необходима, так как в результате сброса МК все прерывания запрещены (управляющий регистр IE обнуляется). В первую очередь необходимо разрешить прерывания вообще (бит EA=1), также разрешить прерывания от Т/С0 (бит ET0=1) и по входу Реализация цифрового фильтра нижних частот (бит EXO=1).


Управляющее слово для регистра IE (прямой адрес А8)
IE 7 IE 6 IE 5 IE 4 IE 3 IE 2 IE 1 IE 0
EA ES ET1 EX1 ET0 EX0
1 0 0 0 0 0 1 1

При инициализации – команда MOV A8, #83.

Переопределять приоритеты прерываний не требуется, так как в результате задержки преобразования внешним устройством аналогового сигнала в цифровой код, запросы на прерывания от Т/С0 и по входу Реализация цифрового фильтра нижних частот по времени не совпадают (в результате сброса МК управляющий регистр IP – обнуляется).

Распределение памяти ОЗУ (КР1830ВЕ31).

70h-7Fh - стек;

30h, 31h, 32h – хранение отсчетов Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот;

40h, 41h – хранение выходных отсчетов Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот;

50h, 51h – хранение отсчетов Реализация цифрового фильтра нижних частот, Реализация цифрового фильтра нижних частот.

Распределение памяти ПЗУ (КР1821РФ55).

0000h – команда перехода к программе инициализации по сигналу RST

0003h – команда перехода к программе вычисления и вывода выходного отсчета по сигналу на входе Реализация цифрового фильтра нижних частот;

000Bh – команда перехода к программе формирования импульса внешнего источника данных по сигналу переполнения от Т/С0;

00A0h … 00СFh – программа инициализации;

00D0h … 00FFh – программа формирования импульса запуска внешнего источника данных;

0100h … 07FFh – программа вычисления и вывода выходного отсчета на ЦАП.

Текст программы


Программа "Цифровой фильтр (нижних частот)

Автор: Дмитриев Александр Юрьевич

Дата: 12 мая 2007 года

Разностное уравнение: Реализация цифрового фильтра нижних частот

Определение символических имен операндов

B0: .EQU 90h ;линия для вывода импульса запуска внешнего ;источника данных

PBRU: .EQU 7002h ;порт РВ РУ 55

RGRU: .EQU 7000h ;регистр управляющего слова РУ 55

SRU: .EQU 00h ;управляющее слово для настройки порта РВ РУ 55

PBRF: .EQU 0801h ;порт РВ РФ 55

RGRF: .EQU 0803h ;регистр направления передачи порта РВ РФ 55

SRF: .EQU 01h ;управляющее слово для регистра направления передачи порта РВ РФ 55

TMOD: .EQU 89h ;регистр управления Т/С

STMOD: .EQU 02h ;управляющее слово для настройки Т/С0

TH0: .EQU 8Ch ;старший байт Т/С0

STH0: .EQU 8Eh ;управляющее слово для задания частоты переполнения Т/С0

TR0: .EQU 8Ch ;управляющий бит пуска Т/С0

IE: .EQU A8h ;регистр управления прерываниями

SIE: .EQU 83h ;управляющее слово для настройки прерываний

B: .EQU F0h ;регистр В

k1: .EQU F8h ;коэффициент Реализация цифрового фильтра нижних частот=0,97

k2: .EQU D6h ;коэффициент Реализация цифрового фильтра нижних частот=0,8394

Km: .EQU 5Bh ;коэффициент масштабирования

X: .EQU 30h ;ячейка хранения отсчета Реализация цифрового фильтра нижних частот

X1: .EQU 31h ;ячейка хранения отсчета Реализация цифрового фильтра нижних частот

X2: .EQU 32h ;ячейка хранения отсчета Реализация цифрового фильтра нижних частот

Y: .EQU 40h ;ячейка хранения отсчета Реализация цифрового фильтра нижних частот

Y1: .EQU 41h ;ячейка хранения отсчета Реализация цифрового фильтра нижних частот

P1: .EQU 50h ;хранение отсчета Реализация цифрового фильтра нижних частот

P2: .EQU 51h ;хранение отсчета Реализация цифрового фильтра нижних частот

FILLCHAR 00h ;записать в пропуски между секциями 00

Инициализация по сигналу RST

S0: .SECTION

ORG 0000h ;переход к программе инициализации

LJMP INIT

S1: .SECTION

ORG 00A0h

INIT: MOV TMOD, #STMOD ;настройка режима Т/С0

MOV TH0, #STH0 ;задание частоты дискретизации

SETB TR0 ;пуск Т/С0

MOV A, #SRU ;настройка порта

MOV DPTR, #RGRU ;РВ РУ 55

MOVX @DPTR, A ;на ввод данных

MOV A, #SRF ;настройка порта

MOV DPTR, #RGRF ;РВ РФ 55

MOVX @DPTR, A ;на вывод данных

MOV IE, #SIE ;настройка прерываний

STOP: SJMP STOP ;останов МК

Формирование импульса по внутреннему прерыванию от Т/С0

S2: .SECTION

ORG 000Bh

LJMP START ;переход к п/п формирования импульса запуска внешнего источника данных

S3: .SECTION

ORG 00D0h

START: CLR B0 ;сброс бита В0

SETB B0 ;установка бита В0

RETI ;возврат из п/п обслуживания прерывания от Т/С0

Вычисление выходного отсчета по сигналу внешнего прерывания по входу Реализация цифрового фильтра нижних частот, рабочий цикл фильтра

S4: .SECTION

ORG 0003h

LJMP XYOUT

S5: .SECTION

ORG 0100h

XYOUT: MOV DPTR, #PBRU ;ввод данных через

MOVX A, @DPTR ;РВ РУ 55

Программный модуль масштабирования:

вычисление произведения Реализация цифрового фильтра нижних частот=Реализация цифрового фильтра нижних частот

входной отсчет - в аккумуляторе, масштабированный отсчет записать в ОЗУ

RLC A ;анализ знака Реализация цифрового фильтра нижних частот

JC M1 ;переход к программе умножения отрицательного отсчета Реализация цифрового фильтра нижних частот на Реализация цифрового фильтра нижних частот

RRC A ;восстановление положительного отсета Реализация цифрового фильтра нижних частот в аккумуляторе

MOV B, #Km ;вычисление произведения Реализация цифрового фильтра нижних частот

MUL AB ;

MOV X, B ;запоминание масштабированного отсчета Реализация цифрового фильтра нижних частот в памяти

SJMP M2 ;переход к продолжению

M1: RRC A ;восстановление отрицательного отсчета Реализация цифрового фильтра нижних частот в аккумуляторе

CPL A ;получение положительного

INC A ;отсчета Реализация цифрового фильтра нижних частот (смена знака)

MOV B, #Km ;вычисление произведе-

MUL AB ;ния Реализация цифрового фильтра нижних частот и пересылка

MOV A, B ;в аккумулятор

CPL A ;получение отрицательного

INC A ;произведения Реализация цифрового фильтра нижних частот (смена знака) MOV X, A ;запоминание масштабированного отсчета Реализация цифрового фильтра нижних частот в памяти программный модуль вычисления произведения Реализация цифрового фильтра нижних частот Реализация цифрового фильтра нижних частот

Реализация цифрового фильтра нижних частот хранится в ячейке ОЗУ с адресом X2

Реализация цифрового фильтра нижних частот записать в ячейку ОЗУ с адресом P1

M2: MOV A, X2 ;копирование Реализация цифрового фильтра нижних частот в аккуму-

RLC A ;лятор и анализ знака

JC M3 ;переход к программе умножения отрицательного отсчета Реализация цифрового фильтра нижних частот

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.
Подробнее

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: