Аналого-цифровой преобразователь микроконтроллера
Лабораторная № 5
Работа со встроенным АЦП микроконтроллера».
Содержание
Введение. 1
Цель работы.. 1
Задачи. 1
Теоретическая часть. 1
Аналого-цифровой преобразователь микроконтроллера. 1
Описание конфигурационных регистров. 3
Использование АЦП в режиме одиночного преобразования. 6
Задание. Методика выполнения задания. 7
Требование к содержанию и оформлению отчета. 7
Варианты заданий. 7
Контрольные вопросы.. 7
Литература. 8
Введение
Достаточно часто перед разработчиком встает задача приема информации от датчиков, имеющих аналоговый выходной сигнал. В этом случае, можно воспользоваться имеющимся на кристалле МК аналого-цифровым преобразователем. Несмотря на невысокую разрядность и не выдающуюся производительность, тем не менее, данный АЦП вполне пригоден для большинства типовых задач.
Цель работы
Целью данной работы является ознакомление с организацией АЦП МК AtMega16 и взаимодействия с ним в режиме одиночного преобразования.
Задачи
- Научиться конфигурировать АЦП для заданного режима преобразования.
- Разработать «каркас» приложения, позволяющий осуществлять периодическое преобразование данных на АЦП.
Теоретическая часть.
Аналого-цифровой преобразователь микроконтроллера.
Характеристики:
- Разрешение 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)