Цифровой фильтр нижних частот

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 05.03.2011
Размер файла 323,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РЯЗАНСКИЙ ГОСУДАРСТВЕННЫЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА РАДИОТЕХНИЧЕСКИХ СИСТЕМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

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

«ЦИФРОВЫЕ УСТРОЙСТВА и МИКРОПРОЦЕССОРЫ»

на тему: Цифровой фильтр нижних частот

Рязань 2007 г

Содержание

Введение

Анализ, формализация и декомпозиция задачи

Разработка и описание общего алгоритма

Функционирования устройства

Разработка и обоснование структурной схемы устройства

Составление и описание принципиальной схемы устройства

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

Определение быстродействия, импульсной и переходной характеристик устройства

Заключение

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

Приложение

Введение

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

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

Анализ, формализация и декомпозиция задачи

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

Микросхема имеет встроенную память программ (ПЗУ), на корпусе имеется 40 выводов. Имеет 4 двунаправленных восьмиразрядных порта с именами Р0, Р1,Р2,Р3. В качестве порта ввода данных будем использовать порт Р3. Результаты будут выводиться на порт Р1. Порты Р0 и Р2 остаются свободными. К нулевому биту порта Р2 подключим линию запуска АЦП. К первому биту порта Р2 подключим линию ответа АЦП о готовности данных. МК содержит 4 банка данных: 0,1,2,3. Для основной программы возьмем 3 банк. Что бы установить номер нужного нам банка запишем в ячейку памяти D0 (PSW: регистр состояния процессора) число 18h (в шестнадцатиричной форме). Для рабочей программы возьмем 1 банк данных, что бы установить этот банк необходимо в ячейку D0 записать число 08h. В МК встроено 2 восьми разрядных таймера\счетчика. Нам требуется режим таймера. Он может работать в нескольких режимах. Нам наиболее всего подошел бы режим 2 с перезагрузкой, но возникает проблема. Заданная нам частота дискретизации 2000 Гц, следовательно, каждые 500 мкс от таймера должно поступать прерывание и начинать свою работу подпрограмма обработки отсчета. Если перевести число -500 в дополнительный код получим 16-ти разрядное число. Использовать 2 режим мы не можем, так как в этом режиме 8-ми разрядная сетка. Тогда берем 1 режим с 16-ти разрядной сеткой и перед каждым вычислением будем перезагружать таймер.

АЦП заданный в проекте AD7892. Он представляет собой 12-ти разрядный АЦП, работающий от одного источника питания +5 В и реализующий алгоритм последовательных приближений с временем преобразования 1,3 мкс. На кристалле расположены также устройство выборки-хранения (УВХ), источник опорного напряжения +2,5 В (ИОН) и многофункциональный цифровой интерфейс. Для запуска АЦП необходимо подать на логический вход CONVST 1. Переход из 0 в 1переводит УВХ в режим хранения и запускает преобразование. После окончания преобразования на логическом входе EOS 1 переходит в 0, код готов для чтения. Выходной код устройства дополнительный.

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

Сдвинем все коэффициенты на 6 разрядов влево, предварительно представив их в двоичном коде, в результате получим целочисленные значения.

Построим АЧХ фильтра при различных способах округления коэффициентов.

цифровой фильтр частота

Покажем более подробно верхнюю часть графиков.

Цвета выводимых графиков:

H1 - синий без округления;

H2 - зеленый fix отброшена дробная часть;

H3 - красный round округление до ближайшего целого;

H4 - голубой floorокругление до ближайшего меньшего целого;

H5 - сиреневый ceilокругление до ближайшего большего целого;

Нам более всего по форме характеристики подходит синий график.

Результаты преобразования коэффициентов выглядят следующим образом:

Сумма модулей исходных коэффициентов числителя B1:

0.58877671942898

Сумма модулей исходных коэффициентов знаменателя A1:

3.12474683199688

Массив коэффициентов числителя B:

0.07812500000000 0.21875000000000 0.21875000000000 0.07812500000000

Массив коэффициентов знаменателя A:

1.00000000000000 -0.96875000000000 0.85937500000000 -0.29687500000000

Массив коэффициентов числителя B:

5 14 14 5

Массив коэффициентов знаменателя A:

64 -62 55 -19

Сумма модулей коэффициентов числителя B:

0.59375000000000

Сумма модулей коэффициентов знаменателя A:

3.12500000000000

Внесем знак минус в целочисленные коэффициенты знаменателя A. Получим:

-64 62 -55 19

Переведем значения в шестнадцатиричный прямой код:

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

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

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

Работа фильтра начинается с подачи питания на схему сброса. Импульс, сформированный схемой сброса (аппаратный узел), обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП-системы в исходное состояние.

Таким образом запускается программа инициализации МП-системы, которая должна начинаться с нулевого адреса. При инициализации: разрешаются прерывания от таймера 0; в указатель стека SP записывается начальный адрес, с которого начинается стек; таймер настраивается на период переполнения, равный ТД в режиме 1; таймер запускается для формирования непрерывной последовательности импульсов с частотой дискретизации FД, которые используются далее для взятия отсчетов входного сигнала и запуска АЦП (аппаратного узла).

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

Рис.2

Разработка и обоснование структурной схемы устройства

Для реализации фильтра из аппаратных средств мы имеем: МК вида КР1830ВЕ51 и АЦП вида AD7892. Данный вид АЦП имеет несколько модификаций различающихся по диапазонам изменения напряжения на входе, по заданию на входе мы имеем аналоговый сигнал (-5..+5)В, следовательно, мы можем воспользоваться модификацией AD7892AN-1 входной диапазон, которой (-5…+5) В и непосредственно, без дополнительных согласований, подать сигнал на АЦП. Логический вход CONVST подключим к нулевому биту порта Р0 МК. Логический вход EOC подключим к нулевому биту порта Р2. Ввод отсчетов с АЦП будем осуществлять на порт Р3, вывод расчетных данных через порт Р1.

Схема представлена в файле Схема.spb.

Составление и описание принципиальной схемы устройства

Опираясь на выводы сделанные в пункте анализ, формализация и декомпозиция задачи, а так же при составлении структурной схемы устройства можем составить принципиальную схему.

Для обеспечения работы микропроцессора подключим его к кварцевому резонатору с частотой 12 МГц. Сигнал сброса МК сформируем с помощью RC- цепочки. В качестве источника питания схемы возьмем источник постоянного напряжения номиналом 5В.

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

После поступления импульса сброса МК находится в так называемом исходном состоянии, что бы привести МК в рабочее состояние необходимо провести инициализацию. В блоке инициализации нам нужно :

1. Задать режим таймера

2. Разрешить прерывания вообще и от таймера в частности

3. Записать в память значения коэффициентов

4. Очистить ячейки памяти для отсчетов

5. Установить PSW основной и рабочей программ

6. Установить начало стека

7. Запустить таймер

8. Перейти в основную программу

Когда от таймера придет прерывание свою работу начнет рабочая программа вычисления отсчета по разностному уравнению фильтра. Что бы вычислить отсчет нам необходимо:

1. Сохранить PSW основной программы и установить рабочей

2. Запустить АЦП

3. Перезагрузить таймер

4. Принять от АЦП сигнал о готовности отсчета

5. Считать значение отсчета из порта ввода

6. Произвести необходимые вычисления

7. Сдвинуть результат на 2 разряда влево, что бы компенсировать преобразование коэффициентов в целочисленные

8. Переслать результат в порт вывода

9. Сдвинуть отсчеты в памяти

10. Сохранить PSW рабочей программы и установить основной

11. Выйти из программы обслуживания прерываний

При вычислениях отсчета нам нужно сделать:

1. Очистить 2-х байтовый сумматор

2. Установить начальный адрес операндов

3. Установить счетчик циклов

4. Произвести умножение и сложение

5. Увеличить адрес операндов на 1

6. Уменьшить счетчик циклов на1

7. Если счетчик не равен 0, перейти к блоку умножения и сложения

8. Если счетчик равен 0, выйти из макроса

Для того чтобы произвести операции умножения и сложения необходимо:

1. Переслать множители в регистры А и В

2. Определить знак произведения

3. Преобразовать в беззнаковые числа

4. Умножить содержимое регистров А и В

5. Преобразовать произведение в дополнительный код

6. Сложить с содержимым 2-х байтового сумматора

На основании сделанных выводов можем составить блок-схему программы.

Основной Алгоритм рабочей

Алгоритм программы

Вычисление Умножение и сложение отсчета.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

*Цифровой фильтр*

*Курсовой проект по дисциплине "Цифровые устройства и микропроцессоры"*

*Код Ic1n3_24*

*Выполнил студентка группы 410 Цветкова Юлия Борисовна*

SPACES ON; Разрешить пробелы между операндами

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

************ ОПРЕДЕЛЕНИЕ КОНСТАНТ ************

Time0:EQUFE70h;установка 400 мкс (FE70h = -400 в дополнительном коде)

Time0L:EQU70h;Младший байт числа FE70 в ДК

Time0H:EQUFEh;Старший байт числа FE70 в ДК

DataA2:EQU3Eh;Значения коэффициентов

DataA3:EQUB7h

DataA4:EQU13h

DataB1:EQU05h

DataB2:EQU0Eh

DataB3:EQU0Eh

DataB4:EQU05h

Order:EQU07h;Число циклов суммирования (общее число слагаемых)

Shift:EQU02h;Число циклов сдвига

************ НЕПЕРЕМЕЩАЕМЫЕ РЕГИСТРЫ ************

SP:REG81h;Присвоить имя SP указателю стека (ячейка 81h)

IE:REG A8h;Присвоить имя IE регистру разрешения прерываний (ячейка A8h)

TCON:REG88h;Присвоить имя TCON регистру управления таймерами/счетчиками

TMOD:REG89h;Присвоить имя TMOD регистру режима таймеров/счетчиков

PSW:REGD0h;Присвить имя PSW регистру состояния МК

************ НЕПЕРЕМЕЩАЕМЫЕ БИТЫ ************

SignA:REGE0h.7;Присвоить имя SignA (знак регистра А) старшему биту аккумулятора

SignB:REGF0h.7;Присвоить имя SignB (знак регистра B) старшему биту регистра В

EA:REGIE.7;Присвоить имя EA биту 7 регистра IE

ITO:REGTCON.0;Присвоить имя IT0 биту 0 регистра TCON

IEO:REGTCON.1;Присвоить имя IE0 биту 1 регистра TCON

TR0:REGTCON.4;Присвоить имя TR0 биту 3 регистра TCON

START:REGP0.0;Присвоить имя START биту 0 порта P0

FIN:REGP2.0;Присвоить имя FIN биту 0 порта P2

P0.1:REGP0.1;Присвоить имя P0.1 биту 1 порта P0

************ ПЕРЕМЕЩАЕМЫЕ РЕГИСТРЫ ************

RSECT;Секция байт, располагается в DSEG

b1:DS1;Коэффициенты числителя

b2:DS1;

b3:DS1;

b4:DS1;

a2:DS1;Коэффициенты знаменателя

a3:DS1;

a4:DS1;

DS09h;Зазор

Xn1:DS1;

Xn2:DS1;

Xn3:DS1;

Xn4:DS1;

Yn2:DS1;

Yn3:DS1;

Yn4:DS1;

DS07h;Зазор

Yn1:DS1;

VarA:DS1;

VarB:DS1;

SumH:DS1;

SumL:DS1;

MPSW:DS1;

RPSW:DS1;

AddrSP:DS1;Начало стека

************ ПЕРЕМЕЩАЕМЫЕ БИТЫ ************

BSECT;

SignM:DS1;

VarBit:DS1;

************************* МАКРОСЫ *************************

;--------------------------------------------

;Определение знака произведения

;Определяет знак произведения двух множителей, представленных в прямом

;коде и расположенных в регистрах А и В

;Автор: библиотека

;--------------------------------------------

SignMUL:MACRO

MOVC, SignA

ANLC, /SignB

MOVSignM, C

MOVC, SignB

ANLC, /SignA

ORLC, SignM

MOVSignM, C

ENDM

;--------------------------------------------

;Преобразование произведения в дополнительный код

;[B,A](БезЗн)=>

;Автор: библиотека

;--------------------------------------------

PK_DK_MUL: MACRO

JNBSignM, M1#

CPLA

ADDA, #01h

MOVVarA, A

MOVA, B

CPLA

ADDCA, #00h

MOVB, A

MOVA, VarA

M1#:ENDM

;--------------------------------------------

;Накапливающий сумматор двухбайтовых чисел [B,A]+[SumH,SumL]=>[SumH,SumL]

;Автор: библиотека

;--------------------------------------------

Sum2Byte:MACRO

ADDA, SumL

MOVSumL, A

MOVA, B

ADDCA, SumH

MOVSumH, A

ENDM

;--------------------------------------------

;Умножение C накоплением двух чисел, адреса которых находятся в регистрах R0 и R1

;текущего регистрового банка

;Автор: библиотека

;--------------------------------------------

MAC:MACRO

MOVA, @R0

MOVB, @R1

SignMUL

ANLA,#7Fh

ANLB,#7Fh

MULAB

PK_DK_MUL

Sum2Byte

ENDM

;--------------------------------------------

;Очистка 2-байтового накопительного сумматора

;Автор: библиотека

;--------------------------------------------

ClearSum2Byte:MACRO

MOVSumH, #00h

MOVSumL, #00h

ENDM

;--------------------------------------------

;Вычисление отсчета

; Автор: библиотека

;--------------------------------------------

ComputeSample:MACRO

ClearSum2Byte

MOVR0, #b1

MOVR1, #Xn1

MOVR4, #Order

M3#MAC

INCR0

INCR1

DJNZR4, M3#

ENDM

;--------------------------------------------

;Подготовка цикла

; Автор: библиотека

;--------------------------------------------

PrepareCycl:MACRO

MOVXn4, Xn3

MOVXn3, Xn2

MOVXn2, Xn1

MOVXn1, P3

MOVYn4, Yn3

MOVYn3, Yn2

MOVYn2, Yn1

MOVYn1, SumH

ENDM

;--------------------------------------------

;Инициализация прерываний

;EA=1 - разрешить все прерывания

;ET0=1 - разрешить прерываний TC0

; Автор: Цветкова Ю.Б.

;--------------------------------------------

InitInt:MACRO

SETBEA

SETBET0

ENDM

;--------------------------------------------

;Инициализация таймера

;установка режима

; Автор: Цветкова Ю.Б.

;--------------------------------------------

InitTimer:MACRO

CLRTR0

ANLTMOD,#01h

MOVTL0, #Time0L

MOVTH0, #Time0H

SETBTR0

ENDM

;--------------------------------------------

;Инициализация стека; установка вершины стека

;Автор:библиотека

;--------------------------------------------

InitSteck:MACRO

MOVSP, #AddrSP

DECSP

ENDM

;--------------------------------------------

;Инициализация коэффициентов

;Автор: Цветкова Ю.Б.

;--------------------------------------------

InitCoeff:MACRO

MOVb1, #DataB1

MOV b2, #DataB2

MOVb3, #DataB3

MOVb4, #DataB4

MOVa2, #DataA2

MOVa3, #DataA3

MOVa4, #DataA4

ENDM

;--------------------------------------------

;Инициализация отсчетов

;Автор: библиотека

;--------------------------------------------

ClearXn:MACRO

MOVXn1, #00h

MOV Xn2, #00h

MOVXn3, #00h

MOVXn4, #00h

ENDM

;--------------------------------------------

;Инициализация псв

;Автор: Цветкова Ю.Б.

;--------------------------------------------

InitPSW:MACRO

MOVRPSW,#08h

MOVPSW,#18h

ENDM

;--------------------------------------------

;Основная программа

;Автор: библиотека

;--------------------------------------------

MainProgramm:MACRO

M2#:CPLP0.1

SJMPM2#

ENDM

;--------------------------------------------

;Перезагрузка таймера

;Автор: библиотека

;--------------------------------------------

ReloadTimer:MACRO

CLRTR0

MOVTL0, #Time0L

MOVTH0, #Time0H

SETBTR0

ENDM

;--------------------------------------------

;Преобразование данных из дополнительного в прямой код

; InByte(ДК)=> OutByte(ПК)

;Автор: библиотека

;--------------------------------------------

DK_PK:MACROInByte, OutByte

MOVA, InByte

JNBSignA, M4#

XRLA, #7Fh

INCA

M4#:MOVOutByte, A

ENDM

;--------------------------------------------

;Преобразование байта данных из прямого в дополнительный код

; InByte(ПК)=> OutByte (ДК)

;Автор: библиотека

;--------------------------------------------

PK_DK:MACROInByte, OutByte

MOVA, InByte

JNBSignA, M5#

XRLA, #7Fh

INCA

M5#:MOVOutByte, A

ENDM

;--------------------------------------------

;Ввод данных из P3 в Xn1

;Автор: библиотека

;--------------------------------------------

InputData:MACRO

DK_PK P3, Xn1

ENDM

;--------------------------------------------

;Вывод данных

;Автор: библиотека

;--------------------------------------------

OutputData:MACRO

DK_PKSumH, Yn1

MOVP1, Yn1

ENDM

;--------------------------------------------

;Запуск АЦП

;Автор: Цветкова Ю.Б.

;--------------------------------------------

StartAZP:MACRO

CLRSTART

SETBSTART

ENDM

;--------------------------------------------

;Сигнал готовности АЦП

;Автор: Цветкова Ю.Б.

;--------------------------------------------

GOTOV:MACRO

M9#JBFIN,M9#

ENDM

;--------------------------------------------

;Переход из главной программы

;Автор: Цветкова Ю.Б.

;--------------------------------------------

MPSW_RPSW:MACRO

MOVMPSW,PSW

MOVPSW,RPSW

ENDM

;--------------------------------------------

;Переход из прерывающей программа

;Автор: Цветкова Ю.Б.

;--------------------------------------------

RPSW_MPSW:MACRO

MOVRPSW,PSW

MOVPSW,MPSW

ENDM

;-------------------------------------------

; Сдвиг результата вычислений на 2 разрядов

;влево

;Автор: Цветкова Ю.Б.

;-------------------------------------------

LShift:MACRO

MOVR7,#Shift

M1#:CLRC

MOVA,SumL

RLCA

MOVSumL,A

MOVA,SumH

RLCA

MOVSumH,A

DJNZR7,M1#

ENDM

************************ ПРОГРАММА ************************

CODE;Секция кода, располагается в СSEG

;Таблица векторов прерываний

;Прерывание RESET - стартовый адрес при сбросе микроконтроллера

ORG0h

LJMPInit; инициализация программы

;Прерывание TIMER0 - Прерывание таймера/счетчика 0

ORG000Bh

LJMPRun

*************************************************************

;Программа инициализации

InitSect:SECTION; Секция инициализации

Init:InitSteck

InitInt

InitTimer

InitCoeff

ClearXn

InitPSW

ReloadTimer

MainProgramm

*************************************************************

RunSect:SECTION;Секция исполнения

Run:MPSW_RPSW

StartAZP

ReloadTimer

GOTOV

InputData

ComputeSample

LShift

OutputData

PrepareCycl

RPSW_MPSW

RETI

Оценка быстродействия, определение импульсной и переходной характеристик

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

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

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

Получаем:

При положительном - 306 мкс

При отрицательном - 316мкс

Так как запуск АЦП мы производим в самой программе прерывания, то время преобразования отсчета внутри АЦП можем не учитывать. В пункте анализ, формализация и декомпозиция задачи мы определили период дискретизации. Он равен 500 мкс. Время вычисления отсчета укладывается в этот промежуток, следовательно, программа составлена в этом плане правильно.

Импульсная характеристика построенная с помощью программы MatLab выглядит следующим образом:

Значения отсчетов импульсной характеристики определенные с помощью программы фильтра выглядят следующим образом:

g(t) MatLab

Отсчеты, h

Отсчеты, d

0.078

09EC

0.078

0.3100

2480

0.2874

0.4676

36EC

0.43245

0.2866

21F8

0.26747

-0.0369

8440

-0.03346

-0.15062

91CC

-0.14013

-0.03353

84C4

-0.03752

0.08656

098C

0.07517

0.07031

071C

0.05597

-0.0157

83DC

-0.030388

Они практически совпадают с результатами программы MatLab.

Переходная характеристика построенная с помощью программы MatLab выглядит следующим образом:

Значения отсчетов переходной характеристики определенные с помощью программы фильтра выглядят следующим образом:

h(t) MatLab

Отсчеты, h

Отсчеты, d

0.0781

04EC

0.07812

0.3881

1694

0.35838

0.8557

325C

0.79935

1.1424

4420

1.08134

1.1054

42D8

1.06101

0.9548

39C0

0.91666

0.9212

3818

0.89037

1.0078

3E44

0.98834

1.0781

4244

1.05183

1.0624

40B0

1.02678

Они практически совпадают с результатами программы MatLab.

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

Оценим устойчивость фильтра:

По карте нулей и полюсов полученной также в программе MatLab можно сказать, что фильтр является устойчивым, так как все полюса лежат в пределах единичной окружности.

Заключение

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

Список используемых источников

1. Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ. - М.: Мир, 1988.

2. Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы.- М.: Радио и связь,1989.

3. Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП: функционирование, параметры, применение.- М.: Энергоатомиздат, 1990.

4. Цифровые устройства: методические указания к курсовому проекту по дисциплине «Цифровые устройства и микропроцессоры» / РГРТА; составил Н. И. Сальников, Рязань 20002.

5. Перельман Б.П. Отечественные микросхемы и их зарубежные аналоги: справочник. М: 1998

6. Микропроцессорные комплекты интегральных схем: состав и структура. Справочник / Под ред. А.А. Васенкова, В.А. Шахнова. - М.: Радио и связь, 1982.

7. Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга/ Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов; Под ред. Ю.М. Казаринова.- М.: Высш. шк., 1990.

8. Балашов Е.П. и др. Микро- и мини-ЭВМ / Е.П. Балашов, В.Л. Григорьев, Г.А. Петров: Учебное пособие для вузов. - Л.: Энергоатомиздат. Ленингр. отд-ние, 1984

Размещено на Allbest.ru

Приложение

AD7892: АЦП с устройством выборки-хранения, генератором тактовых импульсов и многофункциональным интерфейсом

Микросхема типа AD7892 представляет собой 12-разрядный АЦП, работающий от одного источника питания +5 В и реализующий алгоритм последовательных приближений с временем преобразования 1,3 мкс. На кристалле расположены также устройство выборки-хранения (УВХ), источник опорного напряжения +2,5 В (ИОН) и многофункциональный цифровой интерфейс.

УВХ имеет время хранения, позволяющее правильно формировать цифровые коды с точностью 12 разрядов для входной синусоиды с максимальной амплитудой и частотой до 300 кГц.

Чтение цифрового кода (результата преобразования отсчета входного напряжения) из AD7892 можно осуществить двумя способами: использовать 12-разрядный параллельный интерфейс (чтение параллельного кода) или трехпроводный последовательный интерфейс (чтение последовательного кода).

Назначение выводов и настройки AD7892.

вывода

Описание

V IN1

4

Аналоговый вход 1. Подается напряжение, подлежащее преобразованию в код.

V IN2

3

Аналоговый вход 2. Предназначен для задания входного диапазона АЦП (диапазона изменения напряжения по входу V IN1).

REF OUT/

REF IN

5

Опорное напряжение (аналоговый выход) / Опорное напряжение (аналоговый вход).

24

Пуск преобразования (логический вход). Переключение входа из 0 в 1 переводит УВХ в режим хранения и запускает преобразование.

23

Конец преобразования (логический выход). Концу преобразования соответствует переход EOC в 0. Длительность импульса нулевого уровня равна 100 нс.

MODE

7

Управление режимом работы интерфейса (логический вход). MODE = 0 - режим последовательного интерфейса. MODE = 1 - режим параллельного интерфейса.

DB11/ LOW

8

Бит данных 11 (СЗР) в режиме параллельного интерфейса (выход) / Тестовый вывод. В режиме последовательного интерфейса на него должен быть подан 0.

DB10 / LOW

9

Бит данных 10 в режиме параллельного интерфейса (выход) / Тестовый вывод. В режиме последовательного интерфейса на него должен быть подан 0.

DB9 … DB6

10-13

Биты данных 9-6 в режиме параллельного интерфейса (выходы). В режиме последовательного интерфейса - должны оставаться свободными.

DB5 / SDATA

15

Бит данных 5 в режиме параллельного интерфейса (выход) / Последовательные данные в режиме последовательного интерфейса (выход). Последовательные данные выводятся по спаду 16 импульсов на входе DB4 / SCLK, поступающих после подачи 0 на вход DB3 / .

DB4 / SCLK

16

Бит данных 4 в режиме параллельного интерфейса (выход) / Тактовые импульсы в режиме последовательного интерфейса (вход) для “выталкивания” последовательного кода на вывод DB5 / SDATA.

DB3 /

17

Бит данных 3 в режиме параллельного интерфейса (выход) / Импульс нулевого уровня (с внешнего устройства) для задания интервала времени вывода последовательного кода на линию DB5 / SDATA в режиме последовательного интерфейса (вход).

DB2, DB1

18-19

Биты данных 2, 1 в режиме параллельного интерфейса (выходы). В режиме последовательного интерфейса - должны оставаться свободными.

DB0

20

Бит данных 0 (МЗР) в режиме параллельного интерфейса (выход). В режиме последовательного интерфейса должен оставаться свободным.

22

Выбор кристалла (логический вход). Сигнал нулевого уровня для включения БИС во взаимодействие с внешним устройством.

21

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

V DD

1

Напряжение питания +5 В ±5 %

AGND

6

Аналоговая “земля“ для аналоговой части БИС: УВХ, компаратора, ЦАП.

DGND

14

Цифровая “земля“ для цифровой части БИС.

2

Управление режимом энергопотребления (логический вход). = 1 - нормальный рабочий режим. = 0 - дежурный режим с пониженным энергопотреблением (потребляемая мощность - 5 мВт).

Зависимость выходного кода от входного напряжения..

AD7892хх-1. Диапазон V IN1 = ±5 В. Вход V IN2 должен быть соединен с входом V IN1, (V IN1 = V IN2), опорное напряжение REF IN = +2,5 В, полный перепад входного напряжения V FS = 10 В, шаг квантования входного сигнала по напряжению 1МЗР = V FS / 2 12 = 10 В / 4096 = 2,44 мВ.

Выходной код - дополнительный. Числовые значения кода соответствуют значениям знакопеременного входного напряжения.

МК КР1830ВЕ51

Микросхема КР1830ВЕ51имеет встроенную памяти программ (ПЗУ). Микроконтроллер выполнен по комплементарной МОП технологии (КМОП) и выпускается в корпусе, имеющем 40 внешних выводов.

Назначение выводов и сигналы МК КР1830ВЕ31

Обозначение

вывода

Описание

P0.0 … P0.7

32…39

8-разрядный двунаправленный порт P0.

При работе с внешней памятью используется как мультиплексированная шина адрес/данные.

P1.0 … P1.7

1…8

8-разрядный двунаправленный порт P1.

P2.0 … P2.7

21…28

8-разрядный двунаправленный порт P2.

При работе с внешней памятью используется для вывода старшего байта адреса A8 … A15.

P3.0 … P3.7

10…17

8-разрядный двунаправленный порт P3 с дополнительными функциями выводов.

RxD / P3.0

10

Вход приемника последовательных данных.

TxD / P3.1

11

Выход передатчика последовательных данных.

/ P3.2

12

Вход 0 для сигнала внешнего прерывания.

/ P3.3

13

Вход 1 для сигнала внешнего прерывания.

T0 / P3.4

14

Вход таймера/счетчика 0.

T1 / P3.5

15

Вход таймера/счетчика 1.

/ P3.6

16

Выход для управляющего строба при выполнении цикла записи во внешнюю память данных или цикла записи информации из порта во внешнее устройство.

/ P3.7

17

Выход для управляющего строба при выполнении цикла чтения из внешней памяти данных или цикла чтения информации в порт из внешнего устройства.

29

Выход для управляющего строба при выполнении цикла чтения из внешней памяти программ.

ALE

30

Выход для управляющего импульса, разрешающего фиксацию адреса, выставленного на мультиплексированной шине адрес/данные, во внешних устройствах хранения адреса.

31

Вход для сигнала запрета доступа к внутренней памяти программ.

XTAL1

19

Вход внутреннего задающего генератора для подключения одного из выводов внешнего кварцевого резонатора или для подачи внешних сигналов синхронизации.

XTAL2

18

Выход внутреннего задающего генератора для подключения одного из выводов внешнего кварцевого резонатора.

RST

9

Вход общего сброса.

VCC

40

Вывод для подключения источника питания (+5 В).

VSS

20

Общий вывод (“земля”).


Подобные документы

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

    курсовая работа [860,6 K], добавлен 28.11.2010

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

    курсовая работа [604,4 K], добавлен 24.10.2012

  • Испытание синтезированного нерекурсивного и рекурсивного цифрового фильтра стандартными и гармоническими сигналами. Расчет реакции фильтра на четырехточечный входной сигнал. Получение системной функции и частотных характеристик цифрового фильтра.

    курсовая работа [3,0 M], добавлен 19.05.2015

  • Разработка электрической принципиальной схемы цифрового фильтра и отладка рабочей программы на языке ассемблера, которая будет обеспечивать взаимодействие и работоспособность БИС входящих в состав фильтра, для реализации заданных свойств фильтра.

    курсовая работа [683,2 K], добавлен 21.03.2011

  • Способы решения задач синтеза. Этапы расчета элементов фильтра нижних частот. Определение схемы заданного типа фильтра с минимальным числом индуктивных элементов. Особенности расчета фильтр нижних частот Чебышева 5-го порядка с частотой среза 118 кГц.

    контрольная работа [525,0 K], добавлен 29.06.2014

  • Расчет цифрового фильтра нижних частот с конечной импульсной характеристикой. Синтез фильтра методом окна (параболического типа). Свойства фильтра: устойчивость, обеспечение совершенно линейной фазочастотной характеристики. Нахождение спектра сигнала.

    курсовая работа [28,6 K], добавлен 07.07.2009

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

    курсовая работа [3,3 M], добавлен 13.06.2016

  • Разработка алгоритма функционирования устройства. Разработка и отладка рабочей программы на языке команд микропроцессора. Составление и описание электрической принципиальной схемы. Расчет АЧХ устройства для заданных и реальных значений коэффициентов.

    курсовая работа [313,9 K], добавлен 28.11.2010

  • Общая характеристика и принцип действия фильтров нижних частот. Схема простейшего низкочастотного фильтра. Схематическое изображение пассивного RC-фильтра нижних частот и его амплитудно-частотная характеристика. Области применения данных фильтров.

    презентация [3,2 M], добавлен 16.12.2013

  • Построение схемы цифрового устройства и разработка программы, обеспечивающей работу устройства как цифрового сглаживающего фильтра. Отладка программы. Оценка быстродействия устройства. Преимущества и недостатки цифровых фильтров перед аналоговыми.

    курсовая работа [526,8 K], добавлен 03.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.