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

  • Вид работы:
    Практическое задание
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    180,49 Кб
  • Опубликовано:
    2015-10-18
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лабораторная работа

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


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

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

Словарь терминов:- предделитель

Теоретические сведения: аналого-цифровые преобразователи (АЦП) являются устройствами, которые принимают входные аналоговые сигналы и генерируют соответствующие им цифровые сигналы, пригодные для обработки микропроцессорами и другими цифровыми устройствами. АЦП представляет собой преобразователь последовательного приближения с устройством выборки-хранения и фиксированным числом тактов преобразования, равным 13 (или 14 для дифференциального входа; первое преобразование после включения потребует 25 тактов для инициализации АЦП). Тактовая частота формируется аналогично тому, как это делается для таймеров - с помощью специального предделителя тактовой частоты микроконтроллера, который может иметь коэффициенты деления от 1 до 128. Но в отличие от таймеров, выбор тактовой частоты АЦП не совсем произволен, т.к. быстродействие аналоговых компонентов ограничено. Поэтому коэффициент деления следует выбирать таким, чтобы при заданном "кварце" тактовая частота АЦП укладывалась в рекомендованный диапазон 50-200 кГц (т.е. максимум около 15 тыс. измерений в секунду).

Увеличение частоты выборки допустимо, если не требуется достижение наивысшей точности преобразования. На рисунке 1 показано описание регистра управления и статуса АЦП - ADCSRA.

Рисунок 1 - Регистра управления и статуса ADCSRA

Для разрешения работы АЦП необходимо записать логическую единицу в разряд ADEN регистра ADCSR, а для выключения - логический 0. Если АЦП будет выключено во время цикла преобразования, то преобразование завершено не будет (в регистре данных АЦП останется результат предыдущего преобразования). Режим непрерывных измерений активизируется установкой бита ADATE (бит 5) этого же регистра. Если выбран режим запуска не от внешнего источника, то преобразование запускается установкой бита ADSC (бит 6). При непрерывном режиме установка этого бита запустит первое преобразование, затем они будут автоматически повторяться. В режиме однократного преобразования, а также независимо от установленного режима при запуске через прерывания установка бита ADSC просто запускает одно преобразование. При наступлении прерывания, запускающего преобразование, бит ADSC устанавливается аппаратно. Отметим, что преобразование начинается по фронту первого тактового импульса (тактового сигнала АЦП, а не самого контроллера) после установки ADSC. По окончании любого преобразования (и в одиночном, и в непрерывном режиме) устанавливается бит ADIF (бит 4 - флаг прерывания). Разрешение прерывания АЦП осуществляется установкой бита ADIE (бит 3) все того же регистра ADCSRA. Краткое описание этих битов показано в таблице 1.

Таблица 1. Описание некоторых битов регистра ADCSRA

Разряд

Название

Описание

6

ADSC

Запуск преобразования (1 - начать преобразование)

4

ADIF

Флаг прерывания

3

ADIE

Разрешение прерывания

Таблица 2. Управление предделителем АЦП

ADPS2

ADPS1

ADPS0

Коэффициент деления

0

0

0

2

0

0

1

2

0

1

0

4

0

1

1

8

1

0

0

16

1

0

1

32

1

1

0

64

1

1

1

128


Для работы с АЦП необходимо еще установить его тактовую частоту. Это делается тремя младшими битами регистра ADCSRA под названием ADPS0..2. Коэффициент деления частоты тактового генератора микроконтроллера устанавливается по степеням двойки, все нули в этих трех битах соответствуют коэффициенту 2, все единицы - 128. Оптимальная частота преобразования лежит в диапазоне 50-200 кГц, так что, например, для тактовой частоты микроконтроллера, равной 4 МГц, коэффициент может иметь значение только 32 (состояние битов ADPS0..2 = 101, частота 125 кГц) или 64 (состояние битов ADPS0..2 = 110, частота 62,5 кГц). При тактовой частоте 16 МГц в допустимый диапазон укладывается только коэффициент 128. Выбор коэффициента деления представлен в таблице 2.

На рисунке 2 показано описание регистра управления мультиплексором АЦП ADMUX.

Рисунок 2 - Описание регистра управления мультиплексором ADMUX.

Выбор источника опорного напряжения производится битами REFS1..0 (см. таблицу 3) регистра ADMUX (старшие биты 7 и 6), причем их нулевое значение (по умолчанию) соответствует внешнему источнику. Напряжение этого внешнего источника может лежать в пределах от 2В до напряжения питания аналоговой части AVcc (а оно, в свою очередь, не должно отличаться от питания цифровой части более чем на 0,3В в большую или меньшую сторону). Можно выбрать в качестве опорного и питание самой аналоговой части, причем двояким способом: либо просто соединить выводы AREF и AVcc микросхемы, либо установить биты REFS1..0 в состояние 01 Предусмотрен и встроенный источник (задается REFS1..0 в состоянии 11, при этом к выводу AREF рекомендуется подключать фильтрующий конденсатор), имеющий номинальное напряжение 2,56В с большим разбросом от 2,4 до 2,7 В.

Таблица 3. Выбор опорного источника АЦП

REFS1

REFS0

Источник опорного напряжения

0

0

Внешний ИОН, подключенный к выводу AREF, внутренний ИОН отключен

1

Напряжение питания AVcc*

1

0

Зарезервировано

1

1

Внутренний ИОН напряжением 2,56V, подключенный к ввыводу AREF*

*Если к выводу AREF подключен источник напряжения, данные варианты использоваться не могут


Рабочее задание: собрать схему светодиодного индикатора напряжения в Proteus, написать программу для работы устройства в AVR Studio и собрать устройство на макетной плате.

Ход работы: открываем Proteus ISIS Professional. Добавляем на рабочее поле микроконтроллер ATmega32, а также 8 светодиодов, которые подключаем к PORTB микроконтроллера. К PIN AVCC нужно подключить питание POWER. Для этого нужно нажать кнопку "Inter - sheet - terminal" , выбрать POWER и соединить с AVCC. Собранная схема показана на рисунке 3.

Рисунок 3 - Схема устройства в программе Proteus.

преобразователь сигнал светодиодный индикатор

Далее открываем AVR Studio. Загружаем стандартные библиотеки avr/io и stdlib.h, а также библиотеку прерываний avr/interrupt.h. Для удобства включаем в программу сокращение в виде символа N. Затем в поле программы int main(void) выставляем для регистра направления передачи данных семь последних битов на выход. Далее нужно включить предделитель, выбрать регистр данных, включить функции прерывания в АЦП и поместить логическую единицу в бит ADEN регистра ADCSRA. Затем включить глобальные прерывания и ввести команду для старта первого преобразования.

Зацикливаем программу и пишем подпрограмму прерывания с помощью обработчика прерывания, где записываем N=ADCH/32, а также условия, при которых будут загораться светодиоды. Выполненная в AVR Studio программа показана на рисунке 4. Затем нажимаем Build и Compile. В программе Proteus дважды нажимаем на процессор.

В открывшемся окне указываем путь к HEX файлу скомпилированной прошивки в поле Program File и нажимаем ОК. Теперь нажимаем на клавишу Play в углу окна.

Прошиваем микроконтроллер в AutoProg и собираем устройство на макетной плате.

Рисунок 4 - Программа светодиодного индикатора напряжений в AVR Studio.

Содержание отчета:

. Схема устройства в Proteus ISIS Professional.

. Программа, написанная в AVR Studio.

. Собранное устройство на макетной плате.

Контрольные вопросы

. Что такое АЦП?

. В какой диапазон частот должна укладываться тактовая частота АЦП?

. Чем отличаются ADCH от ADCL?

. Для чего служит разряд ADLAR регистра ADMUX?

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!