Разработка и реализация цифрового фильтра на микроконтроллере AVR

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 31.10.2012
Размер файла 2,7 M

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

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

9

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

Федеральное государственное образовательное учреждение

высшего профессионального образования

Курсовая работа

по курсу: "Электронные устройства и системы"

"Разработка и реализация цифрового фильтра на микроконтроллере AVR"

Содержание

Аннотация

Введение

Синтез передаточной функции и параметров фильтра

Границы устойчивости фильтра

Выбор структурной схемы реализации фильтра

Анализ ошибок квантования

Выбор микроконтроллера

Цифро-аналоговый преобразователь

Программа реализации фильтра

Принципиальная схема и печатная плата фильтра

Выводы

Список литературы

Аннотация

В данной курсовой работе производится разработка цифрового рекурсивного заграждающего фильтра четвертого порядка. Произведен расчет АЧХ, ФЧХ и границ устойчивости фильтра. Выбрана оптимальная для наших условий структурная схема реализации. Проанализированы ошибки квантования и частотные характеристики. Произведен выбор АЦП, МК и ЦАП. Разработана принципиальная схема и разводка печатной платы цифрового фильтра.

Введение

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

Аналоговым сигналом называется сигнал, определенный для каждого момента времени.

Дискретным сигналом называется сигнал, определенный только в дискретные моменты времени.

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

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

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

Аналоговый сигнал с ограниченным спектром можно преобразовать в дискретный посредством дискретизации. Полученный таким образом дискретный сигнал можно на основании теоремы отсчетов снова превратить в исходный аналоговый сигнал посредством интерполяции. Поэтому для решения задач фильтрации в реальном времени можно использовать цифровые фильтры, выполненные с помощью специальной аппаратуры (в недавнем прошлом эти задачи решались исключительно с помощью аналоговых фильтров). Преимущества, получаемые при этом, связаны с традиционными преимуществами цифровых систем вообще и заключаются в следующем: 1) некритичности к вариациям параметров компонентов; 2) нечувствительности к уходу параметров компонентов и внутренним помехам; 3) высокой точности; 4) малых физических размерах; 5) высокой надежности.

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

Синтез передаточной функции и параметров фильтра

Исходные данные для расчета:

· нижняя полоса пропускания (0 - 50) Гц

· верхняя полоса пропускания (450 - 500) Гц

· полоса подавления (200 - 300) Гц

· уровень пульсаций в полосе пропускания 3 дБ

· уровень затухания в полосе подавления 20 дБ

· частота дискретизации 4 кГц

При синтезе частотно-избирательных рекурсивных фильтров удобнее всего воспользоваться методами преобразования АФ в ЦФ.

Такой синтез включает в себя:

· выбор метода отображения p- плоскости в z - область;

· расчет АФ по требованиям, заданным к ЦФ;

· применение к АФ выбранного метода отображения p- плоскости в z - область.

Рассчитываемый по требованиям, заданным к ЦФ, АФ называется фильтром - прототипом, или просто прототипом.

Основные ограничения для методов синтеза ЦФ по прототипу:

· сохранение существенных свойств АЧХ прототипа в АЧХ ЦФ, что означает необходимость отображения мнимой оси p- плоскости на единичную окружность z - области;

· устойчивый прототип должен быть преобразован в устойчивый ЦФ, что означает необходимость отображения полюсов устойчивого прототипа из левой p- полуплоскости внутрь единичного круга z - области.

С помощью системы MatLab синтезируем АФ - прототип. Применим фильтр Чебышева второго рода. По полученным с помощью функции chebу2 коэффициентам и запишем передаточную характеристику АФ:

[b,a] = cheby2(N,Rs,W0,'stop','s');

где N - порядок фильтра;

Rs - уровень затухания в полосе подавления;

W0 - двухэлементный вектор частот среза;

'stop' - тип фильтра (РФ);

's' - признак аналогового расчета;

Частотные характеристики (рис. 1)

Удовлетворение заданным требованиям можно увидеть на ЛАЧХ (рис.2):

В увеличенном виде:

Рис. 3.

Нули и полюсы АФ - прототипа:

Рис. 4. О - нули; Х - полюса;

Т.к. полюса лежат в левой р - полуплоскости, то АФ - прототип устойчивый.

Синтезируем ЦФ по АФ - прототипу методом билинейного z - преобразования с помощью стандартных средств MatLab. Обратимся к функции bilinear и получим коэффициенты числителя и знаменателя функции передачи синтезированного ЦФ:

[bz az]=bilinear(b,a,fd);

где bz и az - коэффициенты полиномов числителя и знаменателя функции передачи синтезированного ЦФ;

fd - частота дискретизации в герцах;

Запишем передаточную функцию ЦФ

Частотные характеристики ЦФ:

Рис. 5. АЧХ и ФЧХ ЦФ

На увеличенной ЛАЧХ ЦФ видно выполнение заданных требований:

Нули и полюсы ЦФ (рис. 6):

Рис. 6. О - нули; Х - полюса;

Видно, что полюса лежат внутри окружности единичного радиуса на z плоскости, значит ЦФ устойчивый.

Границы устойчивости фильтра

Разобьем передаточную функцию ЦФ на два биквадратных звена

Система будет устойчивой, если устойчиво каждое звено.

Рассмотрим характеристическое уравнение звена:

,

корни уравнения

.

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

- два одинаковых действительных корня;

- два комплексно - сопряженных корня.

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

На плоскости коэффициентов границы устойчивости будут выглядеть так:

9

Для получения коэффициентов числителей и знаменателей биквадратных звеньев обратимся к стандартной функции MatLab - tf2sos

[sos,g]=tf2sos(bz,az);

где sos - матрица, содержащая вещественные коэффициенты, вида:

;

g - параметр, позволяющий учесть в БЗ коэффициент передачи

g = 0,73938.

Тогда получим:

;

;

Видно, что лежат внутри треугольника, следовательно фильтр является устойчивым.

Выбор структурной схемы реализации фильтра

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

.

Разностное уравнение фильтра записывается в виде

.

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

Рис. 7. Прямая и каноническая схема биквадратного звена

Отметим, что хотя структурные схемы описываются одинаковой передаточной функцией, между ними существуют важные отличия. Например, в структуре реализованной в прямой форме, слагаемые прямой связи, содержащие коэффициенты b0, b1, b2, определяющие нули передаточной функции, предшествуют слагаемым обратных связей, содержащих a1 и a2 (относятся к полюсам). Для канонической структуры все наоборот. В результате, на практике полюса канонического звена имеют тенденцию к дальнейшему усилению шума, генерируемого при вычислениях. Реализация в прямой форме имеет один сумматор и одну точку квантования для сумм произведений. Каноническое звено имеет два сумматора и две точки квантования. Выход первого сумматора канонического звена приходится на внутренний узел. Следовательно, каноническое звено подвержено внутреннему самоподдерживающемуся переполнению. Реализация в прямой форме не содержит внутреннего узла, и переполнение является либо самоисправляющимся, либо его легко скорректировать извне. Более того, вход такого звена масштабируется на , в отличие от канонического звена, где вход никак не ограничивается.

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

.

Модель с учетом шума квантования имеет вид:

Здесь входные и выходные отсчеты представляются как B-битовые числа (включая бит знака), т.е. входной сигнал квантован с помощью АЦП. После умножения произведения квантуются до B бит путем округления или усечения. Выходные сигналы пяти сумматоров, где осуществляются квантования произведений, поступают на входы сумматора 1. Поэтому все источники шума квантования можно объединить и подать на вход сумматора 1.

Мощность шума округления произведений определяется так:

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

,

,,

где - мощность шума квантования входного сигнала АЦП.

Влияние шумов квантования при канонической форме реализации фильтра. Модель с учетом шума квантования имеет вид:

В схеме входные и выходные отсчеты представлены как B-битовые слова. Выходы сумматоров шумов квантования произведений 1, 2, 3 подаются на первый сумматор (1), а выходы сумматоров шумов квантования произведений 4, 5, 6 - на вход сумматора 2. Источники шума квантования можно объединить и . Предполагается, что источники шума квантования произведений не коррелируются. Тогда мощность шума квантования произведений определяется как сумма отдельных шумовых составляющих

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

.

Тогда общий шум квантования на выходе фильтра имеет вид

.

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

Следовательно будем придерживаться прямой формы реализации.

Определимся с положением звеньев. При каскадной реализации возникают три проблемы:

1) как образовывать пары “множитель числителя - множитель знаменателя”. Например, фильтр четвертого порядка можно факторизовать в два звена второго порядка, а затем упорядочить их одним из четырех различных способов:

1. ; 2. ;

3. ; 4. .

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

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

Как рассматривалось выше при каскадной структуре передаточная функция имеет вид:

;

;

g = 0,73938.

Избавимся от явного коэффициента g, для этого произведем следующие действия:

Шум квантования:

где - импульсная характеристика, связывающая источник шума и выход. Шумовые компоненты 2 и 3, проходят через одни звенья фильтра, т.е. через передаточные функции звеньев два и три, поэтому их объединим.

При параллельной реализации передаточная функция раскладывается в ряд элементарных дробей, где коэффициент b2 биквадратного звена при z-2 равен нулю. В параллельной структуре порядок соединения звеньев не важен. Более того, масштабирование выполняется легче и его можно провести независимо для каждого блока, а отношения сигнал-шум сравнимы с наилучшими значениями для каскадной реализации. В тоже время нули параллельных структур более чувствительны к ошибкам квантования коэффициентов, особенно когда длина коэффициентов уменьшается до 5 бит или меньше. Для длин коэффициентов от 12 бит отличие параллельной и каскадной структур для большинства фильтров менее значительно. По этим причинам каскадный метод в настоящее время более популярен.

Для разбиения передаточной функции на сумму простых дробей воспользуемся стандартной функцией MatLab

[r,p,k]=residuez(bz,az);

где p и r - векторы-столбцы полюсов и соответствующие им вычеты;

к - коэффициент целой части.

bz, az - коэффициенты полиномов числителя и знаменателя функции передачи.

; ; k = 1,3489.

Функция residuez выполняет разложение в виде

Для получения биквадратных звеньев обледеним дроби попарно, получим:

где

Подставив численные значения получаем:

Шум квантования:

где - импульсная характеристика i-ого источника шума.

Вывод: ЦФ реализуем каскадной структурой, а билинейное звено в прямой схеме.

Анализ ошибок квантования

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

Коэффициенты до квантования

Коэффициенты в двоичном виде, в доп. коде

в шестнадцатеричном виде, в доп. коде

Коэффициенты после квантования

b01=b02= b21= b22=

=0,859872

0011 0111 0000 1000

3708

0,85986328125

b11= -1,541836

1001 1101 0101 0011

9D53

-1,54180908203125

b12= -1,635476

1001 0111 0101 0101

9755

-1,63543701171875

a11= -1,3647

1010 1000 1010 1001

A8A9

-1,36468505859375

a21= 0,65341

0010 1001 1101 0001

29D1

0,65338134765625

a12= -1,787

1000 1101 1010 0010

8DA2

-1,7869873046875

a22= 0,8389

0011 0101 1011 0000

35B0

0,8388671875

Диаграмма полюсов и нулей квантованного фильтра:

Видно, что полюса в единичной окружности, следовательно фильтр устойчив.

Выбор микроконтроллера

Для аппаратной реализации фильтра выберем микроконтроллер из семейства Mega фирмы Atmel.

Как и все микроконтроллеры AVR фирмы Atmel, микроконтроллеры семейства Mega являются 8-битными микроконтроллерами, предназначенными для использования во встраиваемых приложениях. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения стоимость/быстродействие/энергопотребление. Микроконтроллеры описываемого семейства являются наиболее развитыми представителями микроконтроллеров AVR общего применения.

Отличительные способности

К особенностям микроконтроллеров AVR семейства Mega можно отнести:

* FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее 10 000);

* оперативная память (статическое ОЗУ) объемом от 512 байт до 8 Кбайт;

* память данных на основе ЭСППЗУ (EEPROM) объемом от 256 байт до 4 Кбайт (число циклов стирания/записи не менее 100 000);

* возможность защиты от чтения и модификации памяти программ и данных;

* возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;

* возможность самопрограммирования;

* возможность внутрисхемной отладки;

* разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;

* наличие нескольких режимов пониженного энергопотребления;

* наличие детектора пониженного напряжения питания (Brown-Out Detector--BOD);

* возможность программного снижения частоты тактового генератора.

Характеристики процессора

Основными характеристиками процессора микроконтроллеров AVR семейства Mega являются:

* полностью статическая архитектура, минимальная тактовая частота равна нулю;

* арифметико-логическое устройство (АЛУ) подключено непосредственно к регистрам общего назначения (32 регистра);

* большинство команд выполняются за один период тактового сигнала;

* векторная система прерываний, поддержка очереди прерываний;

* большое число источников прерываний (до 45 внутренних и до 32 внешних);

* наличие аппаратного умножителя.

Характеристики подсистемы ввода/вывода

Подсистема ввода/вывода микроконтроллеров AVR семейства Mega имеет следующие особенности:

* программное конфигурирование и выбор портов ввода/вывода;

* выводы могут быть запрограммированы как входные или как выходные независимо друг от друга;

* входные буферы с триггером Шмитта на всех выводах;

* имеется возможность полного отключения цифрового порта ввода/вывода от физического вывода микросхемы;

* на всех входах имеются индивидуально отключаемые внутренние подтягивающие резисторы сопротивлением 20...50 кОм.

Архитектура

Микроконтроллеры AVR семейства Mega являются 8-битными микроконтроллерами с RISC-архитектурой. Они имеют в своем составе электрически стираемую память программ (FLASH) и данных (EEPROM), а также разнообразные периферийные устройства. Следует отметить, что набор периферийных устройств в микроконтроллерах семейства Mega гораздо богаче, чем в микроконтроллерах семейства Tiny. Более того, состав этих устройств от модели к модели практически не меняется (меняется только количество однотипных модулей и их функциональные возможности). В любой модели имеется хотя бы по одному 8- и 16-битному таймеру/счетчику, хотя бы по одному интерфейсному модулю USART и SPI, аналоговый компаратор, сторожевой таймер и, конечно, порты ввода/вывода. К устройствам, присутствующим не во всех моделях семейства, относятся АЦП, модуль двухпроводного интерфейса TWI (Two Wire Interface, аналог шины I2С), а также модули интерфейсов JTAG и debugWire.

На рисунке приведена структурная схема микроконтроллера ATmega8x. Особенностями данной модели являются:

* 3 порта ввода/вывода (порты В, D -- 8-битные, порт С -- 7-битный);

* вход аппаратного сброса и выводы для подключения резонатора совмещены с линиями ввода/вывода;

* два 8-битных (ТО, Т2) и один 16-битный (Т1) таймер/счетчик;

* 3 канала ШИМ;

* по одному интерфейсному модулю USART, SPI и TWI;

* 6- или 8-канальный (в зависимости от корпуса) 10-битный АЦП.

Расположение выводов (вид сверху) моделей ATmega8x

Структурная схема микроконтроллеров ATmega8x

Организация памяти

В микроконтроллерах AVR семейства Mega реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним. Способы адресации и доступа к этим областям памяти также различны. Такая структура позволяет центральному процессору работать одновременно как с памятью программ, так и с памятью данных, что существенно увеличивает производительность. Каждая из областей памяти данных (ОЗУ и EEPROM) также расположена в своем адресном пространстве.

Обобщенная карта памяти микроконтроллеров AVR семейства Mega приведена на рисунке

Память программ

Память программ предназначена для хранения команд, управляющих работой микроконтроллера. Память программ также часто используется для хранения таблиц констант, не меняющихся во время работы программы. Память программ представляет собой электрически стираемое ППЗУ (FLASH-ПЗУ). В связи с тем, что длина всех команд кратна одному слову (16 бит), память программ имеет 16-битную организацию. Соответственно, объем памяти микроконтроллеров семейства составляет от 4К (4x1024) до 64К (64x1024) 16-битных слов. В подавляющем большинстве моделей микроконтроллеров семейства Mega память программ логически разделена на две неравные части: область прикладной программы и область загрузчика. В последней может располагаться специальная программа (загрузчик), позволяющая микроконтроллеру самостоятельно управлять загрузкой и выгрузкой прикладных программ. Если же возможность самопрограммирования микроконтроллера не используется, прикладная программа может располагаться и в области загрузчика. Для адресации памяти программ используется счетчик команд (Program Counter -- PC). Размер счетчика команд составляет от 11 до 17 бит, в зависимости от объема адресуемой памяти.

Память данных

Память данных микроконтроллеров семейства Mega разделена на три части: регистровая память, оперативная память (статическое ОЗУ) и энергонезависимое ЭСППЗУ (EEPROM).

Регистровая память включает 32 регистра общего назначения (РОН), и служебные регистры ввода/вывода (РВВ). В сложных моделях с развитой периферией имеется также область дополнительных (extended) регистров ввода/вывода (ДРВВ). Под РВВ в памяти микроконтроллера отводится 64 байта, а под ДРВВ -- 160 или 416 байт (в зависимости от модели).

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

Для хранения переменных помимо регистров общего назначения также используется статическое ОЗУ объемом от 512 байт до 8 Кбайт. Ряд микроконтроллеров семейства, кроме того, имеют возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт.

Для долговременного хранения различной информации, которая может изменяться в процессе функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.), в микроконтроллерах семейства может использоваться встроенная EEPROM-память. Ее объем составляет для различных моделей от 256 байт до 4 Кбайт. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных РВВ.

Аналого-цифровой преобразователь

Модуль 10-битного АЦП последовательного приближения входит в состав практически всех моделей семейства. Основные параметры этого АЦП следующие:

* абсолютная погрешность: ±2 LSB;

* интегральная нелинейность: ±0.5 LSB;

* быстродействие: до 15 тыс. выборок/с.

На входе модуля АЦП имеется 8-канальный (в моделях ATmega640x/1280x/2560x -- 16-канальный) аналоговый мультиплексор, предоставляющий в распоряжение пользователя 8 (16) каналов с несимметричными входами. Кроме того, в моделях ATmega8x, выпускаемых в корпусе DIP, доступно только 6 каналов из восьми.

В большинстве моделей входы АЦП могут объединяться попарно для формирования различного числа каналов с дифференциальным входом. При этом в некоторых каналах имеется возможность 10- и 200-кратного предварительного усиления входного сигнала. При коэффициентах усиления 1х и 10х действительная разрешающая способность АЦП по этим каналам составляет 8 бит, а при коэффициенте усиления 200х -- 7 бит.

В качестве источника опорного напряжения для АЦП может использоваться как напряжение питания микроконтроллера, так и внутренний либо внешний источник опорного напряжения.

Модуль АЦП может работать в двух режимах:

* режим одиночного преобразования, когда запуск каждого преобразования инициируется пользователем;

* режим непрерывного преобразования, когда запуск преобразований выполняется непрерывно через определенные интервалы времени.

Обобщенная структурная схема модуля АЦП приведена на рисунке. В моделях ATmega8x и ATmega48x/88x/168x элементы, выделенные на рисунке серым цветом, и связанные с ними сигналы отсутствуют, а неинвертирующий вход компаратора выборки-хранения подключен непосредственно к выходу мультиплексора (показано пунктиром).

Структурная схема модуля АЦП

Результат преобразования

После завершения преобразования (при установке в 1 флага ADIF регистра ADCSR) его результат сохраняется в регистре данных АЦП. Поскольку АЦП -- 10-битный, этот регистр физически размещен в двух регистрах ввода/вывода ADCH:ADCL, доступных только для чтения. Эти регистры расположены по адресам $05:$04 ($25:$24) в моделях ATmega8535x, ATmega8x/16x/32x/64x/128x и ($79:$78) в остальных моделях. При включении микроконтроллера в регистре данных АЦП содержится значение $0000.

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

где -- значение входного напряжения, a -- величина опорного напряжения.

Для каналов с дифференциальным входом результат преобразования определяется выражением

где -- величина напряжения на положительном входе, -- величина напряжения на отрицательном входе, а К -- коэффициент усиления. Результат преобразования представляется в этом случае в дополнительном коде, а его значение лежит в диапазоне от $200 (-512) до $ IFF (+512).

Выберем МК ATmega8:

· Энергонезависимая память программ и данных 8 Кбайт внутрисистемно программируемой Flash памяти

512 байт EEPROM 1 Кбайт встроенной SRAM Программируемая блокировка, обеспечивающая защиту программных средств пользователя

· Встроенная периферия Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения Счетчик реального времени с отдельным генератором Три канала ШИМ 6-канальный аналого-цифровой преобразователь (в корпусе PDIP) Байт-ориентированный 2-проводный последовательный интерфейс Программируемый последовательный USART Последовательный интерфейс SPI Программируемый сторожевой таймер с отдельным встроенным генератором Встроенный аналоговый компаратор

· Выводы I/O и корпуса 23 программируемые линии ввода/вывода

· Рабочие напряжения 4,5 - 5,5 В (ATmega8)

· Рабочая частота 0 - 16 МГц (ATmega8)

Цифро-аналоговый преобразователь

ЦАП предназначен для преобразования двоичного кода в пропорциональный ему напряжение и ток. Используется для согласования ЭВМ с аналоговыми устройствами, а так же в качестве внутренних узлов в АЦП. Схемотехника ЦАП весьма разнообразна в связи с этим схемы ЦАП можно классифицировать по разным признакам:

1) по способу преобразования входного кода: последовательные и паралельные;

2) по способу формирования выходного сигнала:

- последовательные: ШИМ, на переключаемых конденсаторах, сигма-дельта;

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

3) по роду выходного сигнала: ЦАП с токовым выходом и выходом по напряжению;

4) по типу цифрового интерфейса: с последовательным и параллельным выходом.

Дальнейшую классификацию схем ЦАП можно провести по ряду специфических признаков:

- по числу ЦАП на кристалле;

- по быстродействию;

- по разрядности;

- по разрядности выходного сигнала;

Выберем ЦАП фирмы Texas Instruments DAC900

Напряжение питания: +3 … +5В

Быстродействие: 165 MSPS

Время установки: 30 нс

Количество каналов: 1

Мощность потребления: 170 мВ

DAC900 - высокоскоростной высококачественный 10 - битный цифро-аналоговый преобразователь с токовым выходом от 2 до 20 мА, выполнен по КМОП - технологии. Выходной ток может быть отрегулирован внешним резистором.

Общий выходной ток ЦАП равен сумме прямого и инверсного тока

Выходное напряжение

Входной код D9-D0

11 1111 1111

20мА

0мА

10 0000 0000

10мА

10мА

00 0000 0000

0мА

20мА

Рекомендуемая схема включения DAC900

Программа реализации фильтра

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

где - задающее воздействие;

- выходной отчет первого биквадратного звена (входной для второго);

- выходной отчет второго звена (выход фильтра).

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

#include <mega8.h>

//запишем коэффициенты в энергонезависимую память EEPROM

eeprom float b01 = 0.859872,b11 = -1.541836,b21=0.859872,

a11 = -1.3647, a21 = 0.65341,

b02 = 0.859872,b12 = -1.635476,b22=0.85987,

a12 = -1.787, a22 = 0.8389;

double rn,rn1,rn2,y1n,y1n1,y1n2,y2n,y2n1,y2n2;

// Результат преобразования АЦП

unsigned int read_adc()

{

ADCSRA|=0x40; //Регистр управления состоянием АЦП, запуск АЦП

while ((ADCSRA & 0x10)==0); //Ждем завершения преобразования АЦП

ADCSRA|=0x10;

return ADCW;

}

out(double out_var)

{

int vix,i,a[10];

vix = (int)out_var;

for (i=0;i<10;i++) {a[10-i]= vix%10; vix = vix/10;};

PINB.2 = 1;

PIND.0 = a[10]; PIND.1 = a[9];

PIND.2 = a[8]; PIND.3 = a[7];

PIND.4 = a[6]; PIND.5 = a[5];

PIND.6 = a[4]; PIND.7 = a[3];

PINB.0 = a[2]; PINB.1 = a[1];

PINB.2 = 0;

}

void main(void)

{

PORTB=0x00; //Программируем порт В на вывод

DDRB=0xFF;

PORTC=0x00; //С на ввод

DDRC=0x00;

PORTD=0x00; //D на вывод

DDRD=0xFF;

MCUCR=0x00;// прерывания выключены

TIMSK=0x00;

ACSR=0x80; //компаратор выключен

SFIOR=0x00;

ADMUX=0x40; //вход АЦП - ADC0, опорное напряжение - AVcc

ADCSRA=0x85;// Разрешение работы АЦП, частота преобразования 375 кГц

rn = read_adc();

y1n = b01*rn;

y2n = b02*y1n;

out(y2n);

y1n1 = y1n; y2n1 = y2n;

rn1 = rn; rn = read_adc();

y1n = b01*rn+b11*rn1 - a11*y1n1;

y2n = b02*y1n + b12*y1n1 - a12*y2n1;

out(y2n);

while (1)

{

y1n2 = y1n1;

y1n1 = y1n;

rn2 = rn1;

rn1 = rn;

rn = read_adc();

y1n = b01*rn+b11*rn1+b21*rn2-a11*y1n1-a21*y1n2;

y2n2 = y2n1;

y2n1 = y2n;

y2n = b02*y1n+b12*y1n1+b22*y1n2-a12*y2n1-a22*y2n2;

out(y2n);

};

}

Принципиальная схема и печатная плата фильтра

Для разработки принципиальной схемы и печатной платы фильтра воспользуемся программой P-CAD. Принципиальная схема: D1 - ATmega8, D2 - DAC900

Печатная плата двусторонняя с шелкографией, размеры: 55х45 мм

Выводы

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

Список литературы

1) Антонью А. Цифровые фильтры. Анализ и проектирование.- М.: Радио и связь, 1983. - 264с.

2) Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов. - М.: Вильямс, 2004. - 992с.

3) Гольденберг Л.М., Матюшкин Б.Д., Поляк М.Н. Цифровая обработка сигналов. - М.: Радио и связь, 1990. - 256с.

4) Малинин Г.В., Лазарева Н.М. Синтез цифровых фильтров. Руководство к курсовой работе. Чуваш. ун-т. Чебоксары, 2006. - 68с.

5) Евстифеев А.В.Микроконтроллеры семейства Mega фирмы Atmel. - М.: Додэка XXI, 2007. - 592с.


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

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

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

  • Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.

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

  • Структурная схема и расчет устойчивости цифрового фильтра. Расчет X(jkw1) и H(jkw1) с помощью алгоритмов БПФ и ОБПФ. Определение мощности собственных шумов синтезируемого фильтра. Реализация заданной характеристики H(Z) на сигнальном процессоре 1813ВЕ1.

    контрольная работа [144,2 K], добавлен 28.10.2011

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

    курсовая работа [641,3 K], добавлен 15.10.2013

  • Проектирование схемы LC-фильтра. Определение передаточной функции фильтра и характеристики его ослабления. Моделирование фильтра на ПК. Составление программы и исчисление параметров элементов ARC-фильтра путем каскадно-развязанного соединения звеньев.

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

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

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

  • Аппроксимация частотной характеристики рабочего ослабления фильтра, по Баттерворту и Чебышеву. Реализация схемы ФНЧ-прототипа методом Дарлингтона, денормирование и расчет элементов схемы. Расчет и анализ частотных характеристик заданного фильтра.

    курсовая работа [2,1 M], добавлен 28.02.2015

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

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

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

    лабораторная работа [114,9 K], добавлен 15.11.2010

  • Формулировка требований к частотным характеристикам фильтра. Определение передаточной функции. Исходные данные для решения аппроксимационной задачи. Краткий обзор методов решения. Типы аналоговых фильтров. Структурная схема разработанного устройства.

    курсовая работа [346,3 K], добавлен 20.11.2013

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