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

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














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

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

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

Оборудование: ПК, макетная плата, микроконтроллер, переменный резистор 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

РазрядНазваниеОписание6ADSCЗапуск преобразования (1 - начать преобразование)4ADIFФлаг прерывания3ADIEРазрешение прерыванияТаблица 2. Управление предделителем АЦП

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

Для работы с АЦП необходимо еще установить его тактовую частоту. Это делается тремя младшими битами регистра 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. Выбор опорного источника АЦП

REFS1REFS0Источник опорного напряжения00Внешний ИОН, подключенный к выводу AREF, внутренний ИОН отключен01Напряжение питания AVcc*10Зарезервировано11Внутренний ИОН напряжением 2,56V, подключенный к ввыводу AREF**Если к выводу AREF подключен источник напряжения, данные варианты использоваться не могут

Ход работы: открываем 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?

Похожие работы

 

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