Читайте также: |
|
Микроконтроллер оснащен 10-разрядным АЦП последовательного приближения. Блок АЦП включает: 8-канальный аналоговый мультиплексор, позволяющий использовать любой вывод порта А в качестве входа АЦП во время преобразования. Основные характеристики встроенного блока АЦП:
· Разрешение 10 разрядов
· Точность ±2 единицы младшего разряда
· Время преобразования 70...280 мксек
· 8 мультиплексируемых входных каналов
· Режимы однократного и непрерывного преобразования
· Прерывание по завершению ADC преобразования
· Быстродействие 15000 выборок в секунду
· Режим подавления шумов в режиме Sleep.
В АЦП используется метод последовательных приближений. В состав АЦП входят основные блоки: регистр последовательных приближений, 10-разрядный цифроаналоговый преобразователь (ЦАП), аналоговый компаратор и устройство выборки/хранения (УВХ).
В устройстве выборки/хранения Рис.46 значение входного аналогового сигнала запоминается и сохраняется постоянным на время преобразования. При замыкании ключа S1 конденсатор заряжается до напряжения входного сигнала. После этого ключ размыкается и производится преобразование. После окончания преобразования замыкается ключ S2 и происходит разряд конденсатора. Далее процесс повторяется. Дискретные напряжения на конденсаторе называются выборками (дискретами или отсчетами) аналогового сигнала.
Рисунок 46
Работа АЦП в четырехразрядном варианте при величине входного напряжения 11,9 единиц (Рис.47) Первым тактовым импульсом в регистре последовательных приближений устанавливается код 1000. Он поступает на входы ЦАП, на выходе которого устанавливается образцовое напряжение 8 единиц. В компараторе производится сравнение входного напряженияUвх с 8. Так как Uвх>8, то на выходе компаратора уровень логического нуля и старший разряд регистра остается в предыдущем состоянии. В следующем такте в регистре устанавливается в единицу следующий разряд и его выходной код равен1100. На выходе ЦАП устанавливается напряжение 12 единиц.
Рисунок 47
Так как Uвх<12, то на выходе компаратора уровень логической единицы, которым сбрасывается установленный разряд регистра. В третьем такте устанавливается следующий разряд регистра, т.е. код в регистре будет 1010. На выходе ЦАП устанавливается напряжение равное 10. Так как Uвх>10, то на выходе компаратора уровень логического нуля и разряд регистра остается в установленном состоянии. В четвертом такте устанавливается в единицу последний разряд регистр. В регистре будет код 1011. Так как он меньше чем 11,9, то на выходе компаратора уровень нуля и разряд регистра остается в установленном состоянии. Таким образом, выходной код равен 1011,т.е. примерно 11,9 и он помещается в регистр результата ADC.
Абсолютная погрешность равна одной единице младшего разряда кода. Очевидно, что для уменьшения погрешности преобразования необходимо увеличить разрядность АЦП.
ЦАП представляет собой матрицу прецизионных резисторов (делитель напряжения) с ключами их коммутации. Функция ЦАП заключается в формировании эталонных напряжений, соответствующих весовым коэффициентам входного двоичного кода: 512,256,…2,1. Питание делителя производится от источника образцового напряжения (ИОН). В качестве ИОН может быть выбран либо встроенный источник напряжением 2,56В, либо внешний источник, подключенный к выводу AREF микроконтроллера, либо напряжение питания АЦП (вывод AVCC микроконтроллера). При использовании встроенного источника напряжение, соответствующее младшему разряду кода АЦП, равно 2,56В/1024=2,5мВ.
Входные аналоговые напряжения подаются на входы портаА (через PINы) микроконтроллера (Рис.48). К этим разрядам подключен аналоговый мультиплексор, с помощью которого производится подключение соответствующего внешнего напряжения непосредственно к АЦП. Возможна оцифровка как входных напряжений с каждого входа, которые поступают через аналоговый мультиплексор MUX(+) так и разности напряжений между одним из входов ADC0 – ADC2, выбранных мультиплексором MUX(-) и одним из входов ADC0 – ADC7, выбранных мультиплексором MUX(+). Напряжения с выбранных входов поступают на входы предварительного дифференциального усилителя с программированным коэффициентом усиления. Входное напряжение, либо разность напряжений подается на вход схемы выборки-хранения и компаратора АЦП.
АЦП имеет режимы: непрерывного и одиночного преобразования. Режим одиночного преобразования может быть произведен программно (установкой бита запуска АЦП), а также по прерыванию от некоторых устройств (со входа INT0, по переполнению Т0 и Т1 и др.). В режиме непрерывного преобразования новый цикл преобразования начинается после записи результата в регистр ADC.
Длительность цикла преобразования составляет 13-14 тактов. Выборка и запоминание аналогового сигнала производится за 1,5-2,5 тактов. После завершения преобразования устанавливается флаг “преобразование завершено” и может быть вызвана подпрограмма обработки соответствующего прерывания.
Для формирования тактовой частоты АЦП используется делитель тактовой частоты микроконтроллера. Наивысшая точность преобразования достигается, если тактовая частота АЦП находится в пределах 50 – 200 кГц. Если точность преобразования меньше чем 10 разрядов достаточна, то можно использовать более высокую частоту и отбрасывать младшие разряды кода результата.
Выходной код АЦП помещается в регистр результата ADC, физически размещенный в двух 8-разрядных регистрах ADCH и ADCL. Возможны два варианта размещения результата. При выравнивании вправо 8 младших разрядов кода помещаются в регистр ADCL, а два старших разряда кода помещаются в два младших разряда регистра ADCH. При выравнивании влево 8 старших разрядов кода помещаются в регистр ADCН, а два младших разряда кода помещаются в два старших разряда регистра ADCL. Должна соблюдаться
Рисунок 48
последовательность считывания результата: сначала должно считываться содержимое регистра ADCL, а затем ADCH.
В блоке АЦП для управления используются регистры ADCSRA,ADCSRB,ADMUX и четыре разряда регистра специальных функций SFIOR.
Формат регистра ADCSRA и описание его разрядов представлены на рис.49 и в таблицах 30 и 31.
Структурная схема модуля АЦП представлена на рис. 48.
Формат регистра ADCSRA и функции его разрядов представлены на рис.49 и в таблицах 30 и 31.
7 6 5 4 3 2 1 0
ADEN | ADSC | ADATE | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 |
Рисунок 49
Таблица 30
Разряд | Имя | Описание |
ADEN | Включение АЦП, 0- АЦП выключен | |
ADSC | Запуск преобразования одиночного или первого | |
ADATE | Режим работы, 0- одиночное преобразование, 1-непрер. | |
ADIF | Флаг прерывания по окончанию преобразования | |
ADIE | Разрешение прерывания по завершению преобразования. | |
2-0 | ADPS2-ADPS0 | Выбор частоты преобразования (тактовой) |
Таблица 31
ADPS2 – ADPS1 | Коэффициент деления делителя |
Формат регистра ADMUX и описание его разрядов представлены на рис.50 и в таблицах 32 - 35.
7 6 5 4 3 2 1 0
RES1 | REFS0 | ADLAR | MUX4 | MUX3 | MUX2 | MUX1 | MUX0 |
Рисунок 50
Таблица 32
Разряд | Имя разряда | Описание |
7,6 | REFS1- REFS0 | Выбор источника образцового напряжения |
ADLAR | Выравнивание результата преобразования | |
3 – 4 | MUX3 - 4 | Выбор входного канала |
2 - 0 | MUX2-0 | Выбор входного канала |
Таблица 33
REFS1- REFS2 | Источник образцового напряжения |
Внешний ИОН,внутрений ИОН 2.56В отключен | |
Напряжение питания AVCC | |
- | |
Внутрений ИОН 2,56В |
ADLAR = 0 – выравнивание результата влево.
Управление входными мультиплексорами производится разрядами MUX4 – MUX0. При указанных в таблице 34 комбинациях производится измерение напряжения с выбранного входа порта А. При комбинациях, указанных в таблице 35 производится измерение разности напряжений между входами, с соответствующим усилением разности напряжений.
Таблица 34
MUX4 – MUX0 | Подключение к АЦП напряжения с входа МК |
ADC0 | |
ADC1 | |
ADC2 | |
ADC3 | |
ADC4 | |
ADC5 | |
ADC6 | |
ADC7 | |
1,22Вольт от внутреннего источника | |
0 Вольт |
Если АЦП работает в режиме однократного преобразования, то каждое преобразование должно инициировано пользователем. Работа АЦП разрешается установкой бита ADEN в регистре ADCSR. Первому преобразованию после разрешения АЦП предшествует пустое стартовое преобразование. Для пользователя это означает, что первое преобразование будет занимать на 13 циклов больше, чем обычно.
Таблица 35
MUX4 – MUX0 | Дифференциальный вход | Предварительное усиление входного напряжения | |
Положительный + | Отрицательный | ||
ADC0 | ADC0 | ||
ADC1 | ADC0 | ||
ADC0 | ADC0 | ||
ADC1 | ADC0 | ||
ADC2 | ADC2 | ||
ADC3 | ADC2 | ||
ADC2 | ADC2 | ||
ADC3 | ADC2 | ||
ADC0 | ADC1 | ||
ADC1 | ADC1 | ||
ADC2 | ADC1 | ||
ADC3 | ADC1 | ||
ADC4 | ADC1 | ||
ADC5 | ADC1 | ||
ADC6 | ADC1 | ||
ADC7 | ADC1 | ||
ADC0 | ADC2 | ||
ADC1 | ADC2 | ||
ADC2 | ADC2 | ||
ADC3 | ADC2 | ||
ADC4 | ADC2 | ||
ADC5 | ADC2 |
Формат регистра SFIOR
ADTS2 | ADTS1 | ADTS0 | ADHSM | - | - | - | - |
Рисунок 51
Таблица 36
ADTS2-ADTS0 | Источник запуска АЦП |
Режим непрерывного преобразования | |
Прерывание от аналогового компаратора | |
Внешнее прерывание INT0 | |
Прерывание по совпадению Т0 | |
Прерывание по переполнению Т0 | |
Прерывание по совпадению в канале В таймера Т1 | |
Прерывание по переполнению Т1 | |
Прерывание по захвату Т1 |
Преобразование инициируется записью логической единицы в бит ADSC. Этот бит остается установленным все время преобразования и сбрасывается аппаратно, когда преобразование завершено. Если во время преобразования производится смена выбранного канала, АЦП завершит текущее преобразование перед переходом на новое преобразование.
Преобразование может быть запущено по любому событию, представленному в таблице 36. Событие задается разрядами регистра SFIOR.
При запуске АЦП установкой бита ADSC преобразование начинается по заднему фронту импульса синхросигнала АЦП. Один такт синхросигнала требуется на выборку-сохранение значения аналогового сигнала, после чего 13 тактов затрачивается на собственно преобразование и запись результата в регистры ADCL, ADCH. Далее перед новым преобразованием блоку АЦП необходим еще интервал в 2 такта, но если бит ADSC установлен, преобразование начнется немедленно.
Подавление шума АЦП. Блок АЦП включает схему подавления шума, которая разрешает преобразование в режиме Idle, что позволяет снизить шумы, создаваемые процессором.
Для реализации этой функции необходимо выполнить следующее:
1. Отключить АЦП очисткой бита ADEN.
2. Включить АЦП и одновременно запустить преобразование установкой битов ADEN и ADSC. Таким образом запускается пустое преобразование, за которым последует рабочее преобразование.
3. В течение 14 тактов АЦП-преобразования ввести Idle режим.
4. Если до завершения рабочего преобразования не произойдет другого прерывания, то прерывание АЦП активирует процессор и будет выполнена его процедура обслуживания.
Дата добавления: 2015-07-20; просмотров: 228 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Аналоговый компаратор | | | Энергонезависимая память данных |