Устройство цифровой фильтрации на основе микроконтроллера фирмы AVR Atmega

Создание и разработка многоканальной микропроцессорной системы цифровой фильтрации входного сигнала на микроконтроллере фирмы AVR ATmega8, фильтре Баттерворта и ЦАП DACMAX504. Проработка программной реализации, процедур, инициализаций и прерываний.

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ЖИТОМИРСКИЙ ГОССУДАРСТВЕНЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра РТ и Т

группа РТ-14

КУРСОВОЙ ПРОЕКТ

по дисциплине:

“ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ”

на тему:

«Устройство цифровой фильтрации на основе микроконтроллера фирмы AVR Atmega8»

Выполнил: Борисевич В.Я.

Проверил: Ципоренко В.Г.

Житомир 2013г.

Содержание

Введение

Техническое задание

1.Анализ существующих решений

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

2.1 Расчет фильтра низкой частоты Баттерворта 4-го порядка

2.2 Аналитический обзор микроконтроллера Atmega

2.3 АЦП

2.4 Встроенный интерфейс передачи данных SPI

2.5 ЦАП

3.Проектирование принципиальной схемы устройства

3.1 Схема включения микроконтроллера и его быстродействие

3.2 Формирование тактовых импульсов

3.3 Организация сброса

4.Программная реализация

4.1 Разработка алгоритма программы

4.2 Проектирование процедуры чтения данных с АЦП

4.3 Проектирование инициализации порта D

4.4 Процедура передачи ЦАП

4.5 Вызов прерывания

4.6 Процедура main

4.7 Энергопотребление

Заключение

Используемая литература

Введение

В настоящее время большинство радиотехнических систем строится на микропроцессорах либо на микроконтроллерах, которые облегчают управление множественными технологическими процессами и операциями в связи с этим достигается универсальность и гибкость при подходе решения различных технологических задач при производстве и прикладных приложениях. В Данных системах возможно использовать как встроенное ППЗУ так и доступ к внешним носителям информации к примеру ч-з встроенный интерфейс SPI , пример работы с которым и будет приведен на страничках данной работы. Основное место в структуре микропроцессорного устройства занимает микропроцессор, который выполняет арифметические и логические операции над данными, программное управление процессором обработки информации, организует взаимодействие всех устройств, входящих в систему. Микропроцессор представляет собой функционально законченное устройство, состоящее из одной или нескольких программно-управляемых БИС и предназначенное для выполнения операций по обработке информации и управления вычислительным процессом

В курсовой работе разрабатывается устройство на базе микроконтроллера фирмы AVR семейства Mega.

Почему Atmega ?

Потому, что в Atmega 8, больше портов(ножек) и внутрених АЦП и это есть главный аргумент (Atmega 8 имеет 6 Ацп, в ту очередь Atiny 85 только 2). Если бы я использовал микроконтроллер серии Atiny 85, то мне бы пришлось на каждый канал ставить свой МП и писать под каждый программу. Даже если смотреть с экономической стороны Atmega дороже чем Atiny но нам пришлось бы покупать их аж 4, а это скажется по нашему карману. Одним из не мало важных плюсов на стороне Atiny есть его габаритные размеры. Но в основном все остальные характеристики аналогичны у этих 2-ух Мп.

Эти распространенные на данный момент контроллеры характеризуются наиболее развитой периферией, наибольшими среди всех микроконтроллеров AVR объемами памяти программ и данных, поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний, сторожевой таймер и допускают программирование непосредственно в готовом устройстве и к тому же имеют не высокие стоимостные показатели, что не мало важно при построении микропроцессорных систем ориентированные на экономические показатели. Микроконтроллеры получили широкое распространение и повсеместно используются практически во всех бытовых устройствах а в частности в мобильных телефонах, компьютерная техника (принтеры, сканеры, современные дисковые накопители, приводы CD-ROM / DVD-ROM и т. п.), сложной офисной технике, бытовая электроника (стиральные машины, холодильники, хлебопечки и т. д. )

Мы выбрали микроконтроллер АТmega8 выбран на основании того, что он удовлетворяет требованиям для реализации технического задания курсовой работы, доступную цену, хорошо описан имеет в свободном доступе полное техническое описание и широко распространен.

Техническое задание

Разработать 4-ох канальную микропроцессорную систему цифровой фильтрации входного сигнала с частотой дискретизации 300Гц при уровне входного сигнала не более 3мВ, применяя 8ми разрядные АЦП и ЦАП с уровнем выходного сигнала не более 1.2В.

Применяя алгоритм обработки сигнала:

, где

,,,- входные значения с АЦП,

- выходные значения для ЦАП.

Дано:

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

4

Частота дискретизации, kГЦ

0.3

Разрядность АЦП

8

Максимальный уровень входного сигнала, мВ

3

Разрядность ЦАП

8

Максимальный уровень выходного сигнала, В

1.2

1.Анализ существующих решений

В данном контексте входящий сигнал необходимо предварительно усилить до необходимого уровня для обработки ЦАП, с этой задачей справится фильтр Баттерворта 4го порядка построенный на базе ОУ с заданным коэффициентом усиления. В дальнейшем сигнал усиленный и отфильтрованный от высокочастотных составляющих подается на встроенный АЦП МП ATmega8, где оцифрованное значение входного сигнала обрабатывается по алгоритму согласно ТЗ и в дальнейшем водится на ЦАП, где сигнал обрабатывается в аналоговый вид выводится на последующие устройства.

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

Приведем ниже структурную схему работы устройства

На вход МК подается аналоговый сигнал с ФНЧ. Сигнал подается на четыре вывода порта С (PC0-PC3), так как АЦП подключен к этим выводам которые мультиплексируются программным алгоритмом работы МП Данные с микроконтроллера подаются на ЦАП и соответственно выбирается нужный нам ЦАП управляемый ч-з порт D.

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

При разработке структурной схемы и обосновании условий к компонентной базе применим последовательный подход, начиная разработку с фильтра построенного на базе широко распространенного сдвоенного ОУ LM358 со структурной схемой, показанной на Рисунок 1.

2.1 Расчет фильтра низкой частоты Баттерворта 4-го порядка

Т.к. частота дискретизации равна 300Гц то исследуемый сигнал согласно теоремы Котельникова будет на более 150Гц т.е 2 раза меньшей частотой. Согласно ТЗ мы можем применить фильтр с частотой среза около fc =150гц что обеспечит необходимую полосу пропускания сигнала и коэффициентом передачи 100, где входящий сигнал в 3мВ увеличится до 0.3В что достаточно для обработки АЦП с ИОП 2.5В

Порядок фильтра

Порядок фильтра определялся исходя из требуемых условий по графику для затухания в полосе задерживания в книге Г.Лэм «Аналоговые и цифровые фильтры» гл.8.1 стр.215.

Понятно, что для необходимого затухания достаточно фильтра 4 порядка. График приведён для случая, когда wс=1 рад/с, а соответственно частота, на которой нужно необходимое затухание - 2 рад/с. Общий график для передаточной функции фильтра Баттерворта:

Определяем схемную реализацию фильтра:

Выбираем 1/2 (первое звено) активного фильтра нижних частот четвёртого порядка со сложной отрицательной обратной связью:

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

Определение передаточной функции

Записываем табличные значения коэффициентов для фильтра Баттерворта четвёртого порядка:

a1=1.8478 b1=1

(см. У. Титце, К. Шенк «Полупроводниковая схемотехника» табл.13.6 стр. 195)

Общее выражение передаточной функции для ФНЧ четвёртого порядка:

(см. У. Титце, К. Шенк «Полупроводниковая схемотехника» табл.13.2 стр. 190 и форм. 13.4 стр. 186).

Далее используются формулы из У. Титце, К. Шенк «Полупроводниковая схемотехника» п.13.4.2 стр.204:

Передаточная функция первого звена имеет вид:

где wс - круговая частота среза фильтра, wс=2pfc.

Расчёт номиналов деталей

Приравняв коэффициенты выражений (2) коэффициентам выражения (1) получим:

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

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

Далее мы задаёмся коэффициентами передачи первого каскада.

Исходя из этих условий выбирается С1=1 нФ, С2=150 нФ

Рассчитываем значения сопротивлений для первого каскада:

523000=520КОм

5200=5.2КОм

15000= 15КОм

2.2 Аналитический обзор микроконтроллера AТmega8

AТmega8 представляет собой 8-разрядные микроконтроллеры с 8 Кбайтами внутрисистемной программируемой Flash памяти. Он обладает следующими характеристиками:

8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

Прогрессивная RISC архитектура

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

2.32 8-разрядных рабочих регистра общего назначения

Полностью статическая работа

3.Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)

4.Встроенный 2-цикловый перемножитель

Энергонезависимая память программ и данных

1.8 Кбайт внутри системно программируемой Flash памяти (In-System Self-Programmable Flash) :

-обеспечивает 1000 циклов стирания/записи

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

-Внутрисистемное программирование встроенной программой загрузки

-Обеспечен режим одновременного чтения/записи (Read-While-Write)

2.512 байт EEPROM:

-Обеспечивает 100000 циклов стирания/записи

3.1 Кбайт встроенной SRAM

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

Интерфейс JTAG (совместимый с IEEE 1149.1)

1.Возможность сканирования периферии, соответствующая стандарту JTAG

2 Расширенная поддержка встроенной отладки

3.Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

Встроенная периферия

1.Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения

2.Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения

3.Счетчик реального времени с отдельным генератором

4.Четыре канала PWM

5.8-канальный 10-разрядный АЦП

6.Байт-ориентированный 2-проводный последовательный интерфейс

7.Программируемый последовательный USART

8.Последовательный интерфейс SPI (ведущий/ведомый)

9.Программируемый сторожевой таймер с отдельным встроенным генератором

10.Встроенный аналоговый компаратор

Специальные микроконтроллерные функции

1.Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания

2.Встроенный калиброванный RC-генератор

3.Внутренние и внешние источники прерываний

4.Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC

Выводы I/O и корпуса

23 программируемые линии ввода/вывода

28-выводной корпус PDIP и 32-выводной корпус TQFP

Рабочие напряжения 2.7 - 5,5 В

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

2.2.1. Архитектура и назначение выводов МК

Расположение выводов контролера ATmega8

Архитектура модели AVR ATmega8

2.3 АЦП

Микроконтроллер ATmega8 оснащен 10-разрядным АЦП, который имеет следующие характеристики:

-АЦП последовательного приближения;

-работает с тактовой частотой в диапазоне от 50 до 200 кГц;

-Интегральная нелинейность 0,5LSB;

-Абсолютная ошибка ±2LSB;

-Время преобразования 65-250 мкс;

-Максимальная разрешающая способность 15 преобразований в секунду;

-8 мультиплексированных каналов;

-2 дифференциальных канала с встроенным усилителем, который имеет 3 фиксированных коэффициента усиления: 1, 10, 200;

-Диапазон входного сигнала: 0 … Uп;

-2 режима работы:

Режим однократного преобразования,

Режим циклического преобразования;

-Режим преобразования по автопереключению;

-Прерывание - на завершение преобразования;

-Режим сохранения энергии для обеспечения понижения шумов.

АЦП присоединен к 8-канальному аналоговому мультиплексору, позволяющему использовать любой вывод порта А в качестве входа АЦП. Ниже приведена блок схема АЦП

Блок-схема АЦП

Данного АЦП вполне достаточно для преобразования входного аналогового сигнала в цифровой. Т.к. верхняя граница частотного диапазона, в котором изменяется сигнал, поступающий с выхода аналогового фильтра, составляет 300 Гц. При этом частота дискретизации должна быть не меньше 2fв, а АЦП может обрабатывать сигнал с fт до 200 кГц. При максимальной тактовой частоте АЦП мы получаем высокую точность обработки сигнала, которая достаточна для данных целей.

Точность АЦП оценивается относительной погрешностью д АЦП

где N- число двоичных разрядов

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

Где это максимально е значение сигнала на аналоговом входе, а - шкала АЦП.

Используя один источник опорного напряжения (ИОН) как на АЦП ЦАП мы опускаем поправочные коэффициенты.

Для инициализации встроенного АЦП необходимо установить регистр ADCSRA, ADMUX и SFIOR согласно требованиям задачи

Ниже приведены табличные значения регистров МП

Инициализация регистра ADCSRA:

Бит 7 ADEN =”1” включение АЦП.

Бит 6 ADSC =”1” запуск первого преобразования в режиме непрерывного преобразования.

Бит 5 ADFR позволяет выбрать режим работы АЦП

Бит 4 ADIF флаг прерывания, устанавливается при завершении преобразования

Бит 3 ADIE=”1” разрешение прерывания по завершению преобразования

Биты 2…0 ADPS2..0=”010” выбран делитель частоты на 16, тогда при тактовой частоте контроллера 2 МГц, частота тактов АЦП будет составлять 125 кГц, использование такой частоты позволяет увеличить точность преобразования.

Инициализация регистра ADMUX:

Биты 7,6 REFS1:REFS0= “11” при этом в качестве опорного напряжения используется внутренний источник с Uоп = 2,56 В.

Бит 5 ADLAR результат преобразования выравнивается по левой границе 16-ти разрядного слова

Биты 3..0 MUX4..0 управляют входным мультиплексором, а так как у нас используются входы ADC1, то эти разряды могут принимать значение “00001” .

Инициализация регистра SFIOR:

Биты 7..5 ADTS2..0=”000” определяют режим непрерывного преобразования. В процессе выполнения которого есть возможность изменять содержимое разрядов MUX2..0, что позволяет осуществлять последовательное преобразование сигналов нескольких каналов.

Бит 4 ADHSM=”0” при “1” увеличивает скорость работы АЦП, однако в этом мы не нуждаемся. фильтр входной сигнал микроконтроллер

Процесс инициализации АЦП выглядит сл.образом

//инициализация АЦП

void init_ADC(void){

DDRC = 0x00; //конфигурируем порт С на вход

ADCSRA = (1 << ADEN) // разрешение АЦП

|(1 << ADSC) // запуск преобразования

|(1 << ADFR) // непрерывный режим работы АЦП

|(1 << ADIE) // разрешение прерывания

|(1 << ADPS2)|(0 << ADPS1)|(0 << ADPS0); // предделитель на 16

ADMUX = (1 << REFS1)|(1 << REFS0); // вн (ИОН)Источник Опорного Напряжения 2.5V

|(0<<ADLAR) //выравнивание значения преобразов. АЦП вправо (ADCH - 2bit ADCL - 8bit)

|(0 << MUX3)|(0 << MUX2)|(0 << MUX1)|(0 << MUX0); // мультиплексор выбирает ADC0 по умолчанию - ADC_1 активен

}

где

2.4 Встроенный интерфейс передачи данных SPI

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

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

При любом обмене данными по SPI одно из устройств является ведущим (Master'ом), а другое ведомым (Slave'ом). Обычно (но не всегда) в роли ведущего выступает микроконтроллер. Ведущий переводит периферийное устройство в активное состояние и формирует тактовый сигнал и данные. В ответ ведомое устройство передает ведущему свои данные. Передача данных в обе стороны происходит синхронно с тактовым сигналом.

Физически SPI реализуется на основе сдвигового регистра, который выполняет и функцию передатчика, и функцию приемника.

Принцип обмена данными по SPI проиллюстрирован на следующих картинках.

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

MOSI -- Master Output / Slave Input. Выход ведущего / вход ведомого. Служит для передачи данных от ведущего устройства к ведомому.

MISO - Master Input / Slave Output. Вход ведущего / выход ведомого.

Служит для передачи данных от ведомого устройства к ведущему.

SLK -- Serial Clock. Сигнал синхронизации. Служит для передачи тактового сигнала всем ведомым устройствам.

SS -- Slave Select. Выбор ведомого. Служит для выбора ведомого устройства.

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

MOSI - DO, SDO, DOUT.

MISO - DI, SDI, DIN.

SCK - CLK, SCLK.

SS - CS, SYNC.

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

где Slave1-2-3-4 подключение ЦАП к МП обмен данными может происходить только с одним из них, остальные должны находиться в неактивном состоянии, выбор Slave устройства происходит подачей лог.0 на SS вход ЦАП

Протокол обмена по SPI аналогичен логике работы сдвигового регистра и заключается в последовательном побитном выводе/вводе данных по определенным фронтам тактового сигнала. Установка данных и выборка осуществляется по противоположным фронтам тактового сигнала.

Применяемы в проекте элементы требуют инициализации одного из 4ех протоколов работы интерфейса в частности:

SPI mode 0: CPOL = 0, CPHA=0. Тактовый сигнал начинается с уровня логического нуля. Защелкивание данных выполняется по нарастающему фронту. Смена данных происходит по падающему фронту. Моменты защелкивание данных показаны на рисунках стрелочками

Для инициализации встроенного SPI интерфейса необходимо установить регистр SPRC согласно требованиям задачи

и будет выглядеть следующим образом

//инициализация SPI интерфейса передачи данных

void init_SPI(void){

DDRB = (1 << MOSI)|(1 << CLK); //порт В выходы MOSI,CLK конфигурируем как выходы

SPCR = (1<<SPIE) //прерывания по окончанию передачи разрешены

|(1<<SPE) //интерфейс SPI вкл

|(1<<MSTR) //master - ведущий

|(1<<DORD) //DORD - направление передачи данных. Если установлен, то передача идёт с младшего бита, если сброшен - со старшего.

/****//CPOL = 0, CPHA = 0 настройки под max504***/

|(0<<CPOL)|(0<<CPHA) //CLK=0, CPHA - если установлен, передача и приём бита производится по обратному фронту, если сброшен - по прямому.

|(0<<SPR1)|(1<<SPR0); //предделитель F_OSC/16

}

где

2.5 ЦАП

АП выбран фирмы MAXIM. Это микросхема МАХ504, которая представляет собой последовательный 10-разряднай ЦАП напряжения. Он имеет следующее характеристики:

-Униполярное питание +5В;

-Буферизованные выходы напряжения;

-Встроенный источник опорного напряжения 2.048 В;

-Относительная погрешность ±0.5 LSB (макс)

-Гарантированная погрешность в диапазоне рабочих температур

-Гибкий диапазон вывода: 0 … Uп;

-Инициализация при подаче питания;

-Время преобразования 25мкс;

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

Функциональная схема MAX504 приведена ниже

Функциональная схема ЦАП MAX504

Расположение выводов ИМС

Типовая обвязка ИМС

Типовое подключение к SPI интерфейсу

3.ПРОЕКТИРОВАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА

3.1 Схема включения микроконтроллера и его быстродействие

В микроконтроллере AT mega8 используется напряжение 5 В, подаваемое на вход VCC. Для питания АЦП используются вход AVCC, подключаемый к напряжению питания через фильтр низких частот. Вход AREF используется для подключения внешнего фильтрующего конденсатора для повышения помехозащищенности.

Схема подключения питания микроконтроллера

3.2 Формирование тактовых импульсов

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

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

Внутренний RC-генератора микроконтроллеров семейства мега может работать на нескольких фиксированных частотах.

Частота работы внутреннего RC-генератора определяется значениями битов CKSEL3-0 согласно табл.1.

Табл.2 Режимы работы внутреннего RC-генератора.

В разрабатываемом устройстве применяется мулитиплексирование 4х каналов АЦП поэтому выбираем высокая скорость работы МП устанавливая частоту тактирования равную 8.0 МГц.

3.3 Организация сброса

В данном случае нет смысла использовать отдельную кнопку сброса, сброс будет осуществляться по включению питания. При включении устройства подаётся питание на контроллер и автоматически осуществляется сброс, при выключении устройства, просто снимается питание с контроллера.

Для предотвращения сбоев работы контролера и выполнения программы при скачке напряжения, используем встроенную схему сброса при снижении питания BOD, которая отслеживает напряжение питания. Если работа этой схемы разрешена, то при снижении питания ниже некоторого уровня она переводит контроллер в состояние сброса. Когда напряжение вновь увеличится до порогового значения, запускается таймер задержки сброса. После формирования задержки tTOUT внутренний сигнал сброса снимается и происходит запуск микроконтроллера. Временные диаграммы соответствующие сбросу от схемы BOD, показаны на рис.7.

Временные диаграммы формирования сброса по снижению питания

Включением/выключением схемы BOD управляет конфигурационная ячейка BODEN. Для разрешения работы схемы эта ячейка должна быть запрограммирована в «0». Порог срабатывания VBOT определяется состоянием конфигурационной ячейки BODLEVEL, при «1» порог срабатывания 2.7 В, при «0» порог 4 В.

Для уменьшения вероятности ложных срабатываний порог напряжения переключения схемы имеет гистерезис, равный 50 мВ. Кроме того, срабатывание схемы BOD происходит только в том случае, если период провала больше 2 мкс.

Задание длительности задержки сброса tTOUT определяется значением конфигурационных ячеек, и включает в себя две составляющих: ts - выход на рабочий режим и стабилизация частоты тактового генератора, tr - для установки напряжения питания. При использовании встроенного RC-генератора с внутренней RC-цепочкой при включённой схеме BOD, биты конфигурации SUT1-0 установлены в значение «00», при этом ts= 6 тактов, tr -соответственно не используется.

4.ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

7.1. Разработка алгоритма программы

Алгоритм работы устройства

4.2 Проектирование процедуры чтения данных с АЦП

Сигнал со входа АЦП преобразовывается по установке бита ADSC в 1. Затем ожидается выставления флага конца преобразования ADIF в 1. После того, как ADIF = 1 данные сохраняются во временной переменной adc_data.

Результат преобразования будет определяться выражением:

//получение и обработка значения АЦП

unsigned int adc_my(void)

{

unsigned char AdcBuf[4], i;

volatile unsigned int adc_data;

for (i=0; i<4; i++) {

AdcBuf[i] = ADCL;//т.к. значение 0.3В при ИОН 2.5В занимает только 1байт то считываем //только младший регистр АЦП

//т.к. 0.3В при ИОН 2.56В это будет ADC=1024*Vin/Vref =1024*0.3/2.54=121

// что достаточно в 8битном представлении результата 0-255

adc_data = AdcBuf[3]+6*(AdcBuf[2]+(AdcBuf[1]/2-2*AdcBuf[0]));//условие согласно ТЗ!!!!!!

}

//если фильтр Батерворта Кпер.=100 и необходимо ув.сигнала в 4е раза с 0.3В до 1.2В т.е коэф. 4

adc_data = adc_data * 4;

return adc_data; //возвращаем результат преобразования

}

4.3 Проектирование инициализации порта D

//инициализация порта D для работы с ЦАП МАХ504

void init_MAX(void){

//DDRD = 0xFF; //конфигурируем порт D весь на вывод

DDRD = 0b00011111; //конфигурируем PD0-PD3 на вывод

PORTD = 0b00011111; //уст. 1 на выводах MAX1-4? 1 - CLR

//PORTD = (1<<MAX1)|(1<<MAX2)|(1<<MAX3)|(1<<MAX4);//уст. 1 на выводах MAX1-4

}

4.4 Процедура передачи данных ЦАП

Так как ЦАП имеет последовательный вход, то данные необходимо передавать посылками. Для этого используется интерфейс SPI (Serial Peripheral Interface) - полнодуплексный скоростной синхронный трёхпроводной интерфейс.

Структура SPI

При написании процедуры используем:

Регистр SPSR - регистр состояния

Регистр SPDR - регистр данных

//отправка данных по шине SPI

void send_SPI (unsigned char data){

SPDR = data; //отправляем данные в рег.хран.данных

while(!(SPSR & (1<<SPIF))){} //ждем установки флага SPIF регистра SPSR в 0 = ждем конца передачи

}

4.5. Вызов прерывания

Прерывания обслуживаемые МП позволяют выполнять дополнительные действия МП в независимости от хода выполнения основной программы, таким образом позволяя выполнять дополнительные параллельные задачи в проекте, в нашем случае мы будем использовать прерывание которое возникает по окончанию преобразования аналогового результата ADC_vect и записи его цифрового значения в регистр ADC в теле нижеприведенной инструкции вставлена обработка значения его математическим усреднением, т.е. в дальнейшем сумма значений adc_vol делится на кол-во значений adc_counter++

/***Прерывание по окончанию преобразования АЦП***/

ISR (ADC_vect)

{

adc_vol= adc_vol + adc_my();

//т.к. АЦП МП и ЦАП МАХ используют один ИОН 2.048В или 2.54В то поправочный коэф. не понадобится

adc_counter++;

}

4.6. Процедура main( )

/***Главная функция***/

int main (void)

{

unsigned char i;

init_ADC(); //инициализация АЦП

init_SPI(); //инициализация SPI

init_MAX(); //инициулизация порта управления ЦАП

sei(); //глобально разрешаем прерывания

while(1){

if (adc_counter > 1) {

for(i=0; i<4; i++){

ADMUX = chADC[i];//мультиплексирует входы 1-4АЦП ADC_1,ADC_2,ADC_3,ADC_4

PORTD = (0<<chMAX[i]); //активируем соотв. ЦАП МАХ 1-4 (!!!ЦАП активируется лог.0)

value = adc_vol/adc_counter; //вычисляем среднее значение за adc_counter циклов

send_SPI(value); //отправка на ЦАП МАХ504

PORTD = (0<<ClrMAX); //обнуление ЦАП

PORTD = (1<<chMAX[i])|(1<<ClrMAX); //откл ЦАП МАХ с1го по4й и отбой сброса

adc_counter = 0; //уст.в 0 переменных

adc_vol = 0;

}

}

}

return 0;

}

Вышеописанная программа справляется с условием согласно ТЗ обрабатывая считанные значения АЦП и отправляя их на выбранные ЦАП имея возможность обрабатывать сигналы до 2кГц, занимая менее 8% ОЗУ МП и 1% ППЗУ.

4.7 Энергопотребление

Согласно приведенной принципиальной схемы максимальное энергопотребление согласно тех.описания составит в активном режиме

МП = 3.6mA

LM358 4*0.7mA = 2.8мА

MAX504 4*140mkA = 0.54мА

Что в общей сложности составляет 7мА и отвечает требованиям низкой энергоемкости уст-ва.

Заключение

В курсовой работе разработано устройство цифровой фильтрации на основе микроконтроллера фирмы AVR ATmega8. Разработанный фильтр пропускает сигнал в диапазоне от 0 до 300 Гц. Данное устройство обладает высокой точностью преобразования. Также имеет малые габариты, вес, и обладает низким энергопотреблением. Кроме того доступность и низкая стоимость компонентов делают его приоритетно экономическим выбором при разработке радиоэлектронных устройств.

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

Используемая литература

1. У. Титце, К. Шенк «Полупроводниковая схемотехника»

2. Tех.описание ATMega8

3. Tех.описание LM358

4. Tех.описание DAC MAX504

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

...

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

  • Описание интегратора первого порядка. Обзор микроконтроллера AТmega16. Доопределение набора аппаратных средств. Схема включения микроконтроллера. Формирование тактовых импульсов. Организация сброса. Алгоритм работы и проектирование модулей устройства.

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

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

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

  • Алгоритмы цифровой обработки данных. Схема устройства светомузыкальной установки на примере микроконтроллера ATmega8. Подача, приём и обработка звукового сигнала. Разработка гальванической развязки. Копия сигнала, который подается на высоковольтную часть.

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

  • Жесткий и гибкий пороги фильтрации речевого сигнала. Графики вейвлет-разложения речевого сигнала. Блок схема алгоритма фильтрации с гибким порогом. Статистический метод фильтрации речевого сигнала. Оценка качества восстановленного речевого сигнала.

    реферат [440,2 K], добавлен 01.12.2008

  • Исследование цифровой обработки сигналов и её применения в различных сферах деятельности. Изучение достоинств и недостатков медианной фильтрации. Анализ принципов работы медианных фильтров. Реализация медианной фильтрации при помощи MatLab712 R2011a.

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

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

    контрольная работа [1,8 M], добавлен 12.03.2014

  • Расчет параметров цифровой системы передачи, спектра АИМ-сигнала. Квантование отсчетов по уровню и их кодирование. Расчет погрешностей квантования. Формирование линейного сигнала. Разработка структурной схемы многоканальной системы передачи с ИКМ.

    курсовая работа [4,9 M], добавлен 08.10.2012

  • Самолетные и вертолетные доплеровские измерители скорости и угла сноса (ДИСС). Разработка цифрового фильтра для системы ДИСС. Требования к разрабатываемому устройству. Теоретические основы реализации цифровой фильтрации. Экономическое обоснование проекта.

    дипломная работа [1,7 M], добавлен 11.02.2013

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

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

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

    дипломная работа [1,1 M], добавлен 20.05.2017

  • Принцип работы цифрового частотомера, собранного на отечественном микроконтроллере КР1878ВЕ1. Входная формирующая цепь. Внешний генератор тактовых импульсов и устройство индикации. Стабилизатор напряжения питания для входной цепи и устройства индикации.

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

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

    дипломная работа [635,4 K], добавлен 23.03.2013

  • Изучение сущности цифровой фильтрации - выделения в определенном частотном диапазоне с помощью цифровых методов полезного сигнала на фоне мешающих помех. Особенности КИХ-фильтров. Расчет цифрового фильтра. Моделирование работы цифрового фильтра в MatLab.

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

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

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

  • Порядок описания и разработки структурной и функциональной схемы микропроцессорной системы на основе микроконтроллера К1816ВЕ31. Обоснование выбора элементов, разработка принципиальной схемы данной системы, программы инициализации основных компонентов.

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

  • Функциональная схема и основные элементы цифровой системы. Каналы связи, их характеристики. Обнаружение сигнала в гауссовом шуме. Алгоритмы цифрового кодирования. Полосовая модуляция и демодуляция. Оптимальный прием ДС сигнала. Методы синхронизации в ЦСС.

    курс лекций [3,6 M], добавлен 02.02.2011

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

    курсовая работа [923,5 K], добавлен 24.12.2012

  • Разработка структурной и функциональной схем устройства преобразования аналоговых сигналов на микропроцессоре PIC. Входное буферное устройство, аналого-цифровой преобразователь. Устройство цифровой обработки сигнала, широтно-импульсный модулятор.

    контрольная работа [612,9 K], добавлен 11.04.2014

  • Проектирование цифровой системы передачи на основе технологии PDH. Частота дискретизации телефонных сигналов. Структура временных циклов первичного цифрового сигнала и расчет тактовой частоты агрегатного цифрового сигнала. Длина регенерационного участка.

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

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

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

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