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

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

Работа со встроенным АЦП микроконтроллера».

 

Содержание

 

Введение. 1

Цель работы.. 1

Задачи. 1

Теоретическая часть. 1

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

Описание конфигурационных регистров. 3

Использование АЦП в режиме одиночного преобразования. 6

Задание. Методика выполнения задания. 7

Требование к содержанию и оформлению отчета. 7

Варианты заданий. 7

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

Литература. 8

 

Введение

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

Цель работы

Целью данной работы является ознакомление с организацией АЦП МК AtMega16 и взаимодействия с ним в режиме одиночного преобразования.

Задачи

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

Теоретическая часть.

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

Характеристики:

  • Разрешение 10 разрядов
  • Точность ±1/2 LSB
  • Время преобразования 13...260 мкс
  • 8 мультиплексируемых каналов входа
  • Режимы циклического и однократного преобразования
  • Прерывание по завершению ADC преобразования
  • Устройство подавления шумов

Микроконтроллеры ATmega16 оснащены 10-разрядным АЦП последовательного приближения. АЦП подсоединен к 8-канальному аналоговому мультиплексору, позволяющему использовать любой вывод порта А в качестве входа АЦП. В АЦП интегрирован усилитель выборки/хранения, удерживающий напряжение входа во время преобразования на неизменном уровне. Блок-схема преобразователя представлена на Рис. . Для питания АЦП используются два отдельных вывода: AVCC и AGND. Вывод AGND должен быть подсоединен к GND и напряжение AVCC не должно отличаться от напряжения VCC более чем на 0,4 В.

 

АЦП преобразует сигнал в диапазоне от 0 до опорного напряжения (код которого в данном случае будет представлен максимальным значением для АЦП) В качестве внутреннего опорного напряжения может выступать напряжение от внутреннего ИОН (Reference Voltage, Источник Опорного Напряжения) на 2.56В или напряжение AVCC.

Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и режиме циклического преобразования. В режиме однократного преобразования каждое преобразование инициируется пользователем. В режиме циклического преобразования АЦП осуществляет выборку и обновление содержимого регистра данных непрерывно или по выбранному событию. Выбор режима производится битом ADATE регистра ADCSRA.

Работа АЦП разрешается установкой в состояние 1 бита ADEN в регистре ADCSRA.

Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC. Этот бит находится в состоянии 1 в течение всего цикла преобразования и сбрасывается, по завершении преобразования, аппаратно. По завершении преобразования также устанавливается флаг запроса прерывания ADIF, что при разрешении прерывания (ADIE) вызывает соответствующий обработчик.

Поскольку АЦП формирует 10-разрядный результат, то по завершении преобразования результирующие данные размещаются в двух регистрах данных ADCH и ADCL. Для обеспечения соответствия результирующих данных считываемому уровню используется специальная логика защиты. Этот механизм работает следующим образом: при считывании данных первым должен быть считан регистр ADCL. Как только ADCL считан обращение ADC к регистрам данных блокируется. Таким образом, если после считывания состояния ADCL, но до считывания ADCH, будет завершено следующее преобразование, ни один из регистров не будет обновлен и записанный ранее результат не будет искажен. Обращение ADC к регистрам ADCH и ADCL разрешается по завершении считывания содержимого регистра ADCH.

 

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

  • включить АЦП (ADEN)
  • выбрать режим работы (одиночный старт или циклическое преобразование) (ADATE)
  • выбрать источник опорного напряжения (REFS1, REFS0)
  • выбрать входной канал и коэффициент усиления (MUX4 – MUX0)
  • установить делитель частоты тактирования АЦП так, чтобы частота работы АЦП была в пределах допустимых значений (50 – 200 кГц)
  • в случае циклического преобразования необходимо также выбрать источник синхронизации, который позволяет инициировать преобразования по внешним событиям (например, от таймера) (биты ADTS в регистре SFIOR).
  • Разрешить при необходимости прерывания от АЦП
  • выбрать режим представления данных (сдвинуты влево или вправо) (ADLAR)