Модуль АЦП
МОДУЛЬ АЦП
Модуль АЦП в микроконтроллерах РIС16FХХХ имеет от 5 до 8 каналов, преобразование в которых производится последовательно. Входной аналоговый сигнал заряжает конденсатор выборки и хранения, значение которого затем оцифровывается методом последовательного приближения.
Результатом преобразования является 10-битное число.
АЦП может работать в режиме пониженного энергопотребления микроконтроллера. В этом случае АЦП тактируется от внутреннего RС-генератора. По окончании преобразования в зависимости от того разрешена обработка прерывания от модуля АЦП или нет, может производиться пробуждение (переход из режима пониженного энергопотребления в рабочий режим) микроконтроллера.
Модуль АЦП управляется 4-мя регистрами: регистры результата преобразования – ADRESH, ADRESL и регистры конфигурации – ADCON0, ADCON1.
С помощью регистра ADCON0 осуществляется управление работой АЦП, а регистром ADCON1 - конфигурируется выводы, с целью выбора режима их работы (аналоговый вход, цифровой вход/выход, опорное напряжение для модуля АЦП)
Регистр ADCON0
ADCS1...ADCS0: Выбор частоты преобразования АЦП (00-FOSС/2, 01-FOSC/8, 10- FOSC/32, 11-FRC);
CHS2…CHS20: Выбор канала для преобразования (двоичный код соответствующий номеру канала);
GO/DONE: Установка бита запускает преобразование в выбранном канале, по завершению аппаратно сбрасывается.
ADONE: 1/0 - включение, выключен не модуля АЦП
Регистр ADCON1
ADFM | - | - | - | PCFG3 | PCFG2 | PCFG1 | PCFG0 |
Бит 7 | Бит 0 |
ADFM: Выбор форматирования результата преобразования.
1 - по правому краю - 6 старших бит регистра ADRESH нулевые;
0 - по левому краю - 6 младших бит регистра ADRESL нулевые.
PCFG3… PCFG0 - конфигурация выводов модуля АЦП
Конфигурация выводов модуля АЦП (РIС16F873/76)
Для выполнения преобразования аналогового напряжения с помощью модуля АЦП необходимо выполнить следующие операции:
• Сконфигурировать модуль АЦП.
• задать режим каналов АЦП, выбрать источники опорного напряжения;
• выбрать канал преобразования;
• задать частоту преобразования;
• включить модуль АЦП.
• Включить обработку прерывания от модуля АЦП по окончании преобразования (если требуется)
• сбросить флаг прерывания ADIF;
• установить бит разрешения прерывания ADIE;
• установить бит глобальной обработки прерываний GIE;
• Осуществить задержку на время подготовки выбранного канала TACQ;
• Запустить преобразование установкой бита GO/DONE;
• Ждать завершения преобразования, опрашивая бит GO/DONE или ожидая прерывания от модуля АЦП:
• Считать результат преобразования (регистры ADRESH: ADRESL), сбросить флаг ADIF, если используется обработка по прерыванию от АЦП.
• Для следующего преобразования перейти к шагу 1 или 2. Минимальный интервал преобразования для получения одного бита результата TAD определяется таблицей на следующем слайде. Минимальная задержка перед подготовкой следующего преобразования составляет 2TAD.
Зависимость времени преобразования для получения одного бита результата ТAD от частоты преобразования и тактовой частоты микроконтроллера.
Замечания:
1 - обычное время преобразования при тактировании от RС-генератора составляет 4 мкс; при тактовой частоте микроконтроллера превышающей 1 МГц, преобразование данного типа рекомендуется использовать только в режиме пониженного энергопотребления.
2 - данные значения не применимы в реальной работе, т.к. фирма-производитель не гарантирует правильность получаемых результатов;
Обратите внимание на лекцию "2.1. Деградация ксенобиотиков с помощью микроорганизмов".
3 - рекомендуется применение более высокочастотного кварцевого резонатора для уменьшения времени преобразования;
Время подготовки канала для зарядки конденсатора выборки - хранения перед выполнением преобразования при рекомендуемом сопротивлении источника сигнала 10 кОм составит порядка 14 мкс. На выполнение полного цикла преобразования для получения 10-битного результата требуется 12ТAD циклов.
Источник опорного напряжения
Структурная схема источника опорного напряжения
В регистре VRCON - биты управления источником.