Аналого-цифровой преобразователь (АЦП

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

AT90S8535

Методические указания к практическим занятиям

Самара 2013

Составитель Астапов В.Н.

УДК 681.3

Аналого-цифровой преобразователь микроконтроллераAT90S8535: Метод. указания/ Самарс.Гос. аэрокосмический университет. Сост.В.Н.Астапов. Самара. 2013.

Методические указания к практическим занятиям по курсу «Проектирование микропроцессорных систем и логических контроллеров» содержат общие сведения о принципах построения периферийных средств микроконтроллера AT90S8535.

Описывается схемные решения и даются рекомендации для программирования.

Методические указания рекомендуются для студентов специальности 220700.62, «Автоматизация технологических процессов и производств».

Методические указания разработаны на кафедре КТЭСиУ.

Печатается по решению редакционно-издательского совета Самарского государственного аэрокосмического университета имени С.П. Королева.

Рецензент: Иванов В.В.

Аналого-цифровой преобразователь (АЦП

Первое о чем нужно сказать — АЦП микроконтроллера умеет измерять только напряжение. Измеряемый диапазон разбивается на части: ноль минимальное значение, максимальному значению соответствует напряжение источника опорного напряжения (ИОН). То на сколько частей будет разбит измеряемый сигнал, называется разрешающей способностью. Для 8 битного АЦП это 28=256 значений, для 10 битного 210=1024 значения. Допустим, вы измеряете сигнал от 0 до 10В. Микроконтроллер используем Atmega8, с 10 битным АЦП. Это значит что диапазон 10В будет разделен на 1024 значений. 10В/1024=0,0097В — с таким шагом мы сможем измерять напряжение.

Достаточно точно, однако нужно учесть, что АЦП измеряет с определенной частотой, кратной основной частоте микроконтроллера. Чтобы добиться этой точности, производитель рекомендует измерять с частотой 50-200 кГц.

В качестве источника опорного напряжения можно использовать внутренний источник и внешний. Напряжение внутреннего источника (2,3-2,7В) не рекомендуется использовать, по причине низкой стабильности. Внешний источник подключается к ножке AVCC или Aref, в зависимости от настроек программы.

При использовании АЦП ножка AVCC должна быть подключена. Напряжение AVCC не должно отличаться, от напряжения питания микроконтроллера более чем на 0,3В. Как было сказано, максимальное измеряемое напряжение равно опорному напряжению (Vref), находится оно в диапазоне 2В-AVCC. Таким образом, микроконтроллер не может измерить более 5В.

Чтобы расширить диапазон измерения, нужно измерять сигнал через делитель напряжения. Например, максимальное измеряемое напряжение 10В, опорное напряжение 5В. Чтобы расширить диапазон измерения, нужно уменьшить измеряемый сигнал в 2 раза.

Формула для расчета делителя выглядит так:

Uвых = UвхR2/(R1 + R2)

Подставим наши значения в формулу:

5 = 10*R2/(R1+R2)

(R1+R2)=2*R2

R1=R2

т.е. можно взять любые два одинаковых резистора и подключить их по схеме

Аналого-цифровой преобразователь (АЦП - student2.ru

Рис. 3.1

Следовательно, когда мы измеряем напряжение через делитель, нужно полученное значение АЦП умножить на коэффициент = Uвых/Uвх.

Полная формула вычисления измеряемого напряжения будет выглядеть так:

U=(опорное напряжение*значение АЦП*коэффициент делителя)/число разрядов АЦП

Пример: опорное 5В, измеренное значение АЦП = 512, коэффициент делителя =2, АЦП 10разрядный.

(5*512*2)/1024=5В — реальное измеренное значение напряжения.

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

АЦП микроконтроллера разрядностью 10 бит работает по алгоритму по­следовательных приближений, погрешность преобразования - не более 2 единиц младшего значащего разряда, время преобразования 65 мкс - 260 мкс. АЦП совместно со встроенным аналоговым мультиплексором обеспечивает преобразование в 10-ти разрядный двоичный код сигналов по 8 аналоговым входам (альтернативная функция линий ввода-вывода порта А) в диапа­зоне напряжений от 0 (АGND) до опорного (АREF).

Для снижения уровня помех цепи питания (AGND, АREF) схем преобра­зования аналоговых сигналов подключаются отдельно (рис. 4), напряжение питания АVСС не должно отличаться от напряжения питания VСС более чем на ±0,3 В. Опорное напряжение должно лежать в диапазоне от 2 В до напря­жения питания АVСС. Код АЦП $000 соответствует нулевому входному сиг­налу, максимальный код $3FF соответствует сигналу, равному опорному, минус вес единицы младшего значащего разряда.

Номер входа мультиплексора, с которого поступает сигнал для преобразо­вания в АЦП, определяется тремя младшими битами MUX2, MUX1, MUX0управляющего регистра ADMUX. Любой из восьми входов может быть вы­бран через ADMUX записью в него соответствующего кода в любой момент времени, однако переключение входов фактически производится только по­сле завершения очередного цикла преобразования АЦП. В линиях ввода- вывода порта А, используемых для приема аналоговых сигналов, необходимо задавать режим ввода.

АЦП может работать в режиме однократного преобразования или цикли­чески с автоматическим повторным запуском после каждого преобразования. По окончании преобразования формируется флаг прерывания ADIF со стандартной процедурой вызова вектора прерывания ADC с адресом $00е и записью 10-разрядного кода в двухбайтовый регистр ADCL (младшие 8 бит результата), ADCH (старшие 2 бита результата). Чтение данных из реги­стра результата ADC должно начинаться обязательно с младшего байта. Точность АЦП зависит от тактовой частоты преобразо­вания, рекомендуется диапазон тактовых частот 50 - 200 кГц, при более вы­соких частотах точность преобразования снижается. Стандартный цикл пре­образования требует 13 тактов работы и при рекомендуемом значении такто­вой частоты 100 кГц определяет время преобразования 130 мкс.

Кроме регистров ADMUX, ADCH, ADCL, работа АЦП определяется регистром ADCSR, который также содержится в файле регистров ввода-вывода.

Наши рекомендации