Аналого-цифровой преобразователь
Аналого-цифровой преобразователь (АЦП) предназначен для преобразования аналогового напряжения в цифровую форму. На вход АЦП поступает обычное аналоговое напряжение. Преобразователь измеряет величину этого напряжения и выдает на выходе цифровой код, соответствующий этой величине.
АЦП применяются в микропроцессорных системах управления, которые должны управлять различными аналоговыми процессами. Например, микропроцессорный стабилизатор напряжения, цифровой вольтметр и т. п.
Встроенный АЦП имеют не все микроконтроллеры AVR. Это и понятно. Ввод аналоговой информации нужен далеко не всегда. В микроконтроллерах AVR применяется десятиразрядное АЦП последовательного приближения. Микросхемы, имеющие в своем составе встроенный АЦП, обязательно имеют раздельное питание для цифровой и для аналоговой частей схемы. Поэтому они имеют два вывода питания и два вывода общего провода.
Кроме того, один из выводов зарезервирован для подачи на микросхему внешнего опорного напряжения. Опорное напряжение используется в схеме АЦП для оценки уровня входного сигнала. От стабильности опорного напряжения зависит точность измерения.
Каждый АЦП снабжен многоканальным аналоговым коммутатором (мультиплексором), который позволяет измерять аналоговое напряжение с нескольких разных входов. Количество входов АЦП у разных микросхем различное. Существуют варианты в 4, 6, 8 и 11 входов. Количество входов аналого-цифрового преобразования для каждой из микросхем серии AVR можно узнать из табл. 3.1 (графа «Число Каналов АЦП»).
Обычно измеряемый сигнал прикладывается между соответствующим входом АЦП и аналоговым общим проводом. Такие входы называются несимметричными. В некоторых микроконтроллерах имеется режим, в котором входы АЦП объединяются попарно и образуют дифференциальные входы. Дифференциальные входы отличаются от обычных тем, что измеряемый сигнал прикладывается между двумя входами: прямым и инверсным. При этом наводимые помехи компенсируются, а полезный сигнал проходит без изменений. Такие входы называются симметричными.
Процесс преобразования напряжения в код занимает 13 или 14 тактов. За это время происходит подбор кода методом последовательных приближений. По окончании процесса преобразования вырабатывается запрос на прерывание. Результат преобразования записывается в пару регистров ADCH, ADCL. Из шестнадцати разрядов этой регистровой пары используются только 10. Остальные всегда равны нулю. Причем могут использоваться либо десять старших разрядов (ADCH7 –ADCH0, ADCL7, ADCL6), либо десять младших разрядов (ADCH1, ADCH0, ADCL7 –ADCL0). Это зависит от выбранного вами режима работы.
АЦП могут работать как в одиночном режиме, так и в непрерывном. В непрерывном режиме преобразования идут один за другим. В одиночном режиме процесс преобразования запускается однократно от одного из следующих событий:
прерывания от аналогового компаратора; внешнего прерывания INTO;
прерывания по событию «Совпадение» одного из таймеров;
прерывания по переполнению одного из таймеров;
прерывания по событию «Захват» одного из таймеров.
Управление всеми режимами работы АЦП производится при помощи двух специальных регистров ADMUX и ADCSR. Регистр ADMUX предназначен для управления входным аналоговым мультиплексором. Регистр ADCSR предназначен для выбора режима работы АЦП.
Процесс преобразования в АЦП синхронизируется от внутреннего генератора микроконтроллера. Тактовый сигнал от генератора поступает на АЦП через предварительный делитель с программируемым коэффициентом деления. Коэффициент деления зависит от значения разрядов ADPSO, ADPS1 и ADPS2 регистра ADCSR и может принимать значения 2, 4, 8,16, 32, 64 и 128.
Наибольшая точность преобразования достигается тогда, когда тактовая частота преобразования находится в диапазоне 50 –200 кГц. Поэтому рекомендуется выбирать такой коэффициент деления, чтобы тактовая частота модуля АЦП находилась в этом диапазоне.
Дата добавления: 2021-12-14; просмотров: 564;