32. Аналого-цифровые преобразователи. Работа с АЦП микроконтроллера ATmega 163
Аналого-цифровой преобразователь ADC (Analog Digital Converter) осуществляет преобразование напряжения в цифровой код. Он предназначен для оцифровки и ввода в микроконтроллер аналоговых сигналов с различных датчиков физических величин. Схемы преобразователей различны. В зависимости от типа построения меняются и свойства преобразователя.
Параллельный преобразователь
В параллельном преобразователе (рис. 1) входной сигнал подается сразу на множество компараторов, осуществляющих сравнение сигнала с опорным напряжением. Опорные напряжения формируются цепочкой резисторов, делящих эталонное напряжение U0 на равные части.
Рис. 1. Параллельный аналого-цифровой преобразователь
Такие схемы ADC работают очень быстро, но сложны и используются редко.
Преобразователь последовательного приближения
Основными элементами преобразователя (рис. 2) является регистр последовательных приближений, код из которого с помощью цифроаналогового преобразователя преобразуется в напряжение. Компаратор СМР сравнивает входное напряжение с выходным напряжением преобразователя и через устройство управления воздействует на регистр.
Рис. 2. Преобразователь последовательного приближения
Преобразование выполняется за несколько тактов. В первом такте в старший разряд регистра последовательных приближений записывается единица. Если в результате сравнения на выходе компаратора устанавливается единичный сигнал, единица в старшем разряде регистра сохраняется. В противном случае - сбрасывается. Далее, в том же порядке, формируется второй по старшинству разряд результата, потом - третий и т.д. Для получения результата необходимо n тактов, где число n равно разрядности преобразователя.
Интегрирующий преобразовательИнтегрирующий ADC для сравнения входного сигнала с эталонным использует заряд конденсатора. Сначала (рис. 3) конденсатор в течении фиксированного промежутка времени Т1 заряжается током, пропорциональным входному сигналу. После это он разряжается постоянным током с определенным значением. Время разряда конденсатора Т2 пропорционально значению входного напряжения. Оно фиксируется с помощью счетчика и поступает на выход схемы (рис. 4).
Рис. 3. Интегрирование сигнала в преобразователе
Интервал времени T1 задается включением ключа S1. По окончании T1 ключ S1 размыкается, a S2 - замыкается. Опорное напряжение U0 должно иметь знак противоположный знаку напряжения входного. Компаратор, устройство управления и счетчик определяют выходной код D, пропорциональный интервалу T2.
Рис. 10.4. Интегрирующий ADC
Интегрирующие схемы ADC имеют 8-16 разрядов и могут представлять результат в двоичном или двоично-десятичном коде.
Сигма-дельта преобразователь
Сигма-дельта преобразователи являются разновидностью интегрирующих ADC, в которых входной ток компенсируется коммутируемым зарядом от встроенного источника (рис. 5). Импульсы тока фиксированной длительности на каждом такте могут быть подключены к входу интегратора. В суммирующей точке интегратора поддерживается нулевой средний ток. Счетчик подсчитывает количество импульсов, поступающих в суммирующую точку за фиксированный период времени. Результат счета пропорционален входному напряжению. Рис. 5. Сигма-дельта преобразователь
Управление АЦП микроконтроллера
В состав микроконтроллеров обычно включают 8 - 16-битные многоканальные преобразователи с большим набором встроенных функций. При этом все функции преобразователя программируются и могут быть изменены в процессе работы.
Например, микроконтроллер ATmega163 оснащен 10-разрядным ADC последовательных приближений (рис. 10.6). ADC подсоединен к 10-канальному аналоговому мультиплексору (MUX), позволяющему подать на вход преобразователя любой из восьми входных сигналов со входов ADCO...ADC7, либо эталонное напряжение 1,22В. либо сигнал со входа AGND. Вывод AGND рекомендуется подсоединить к точке с нулевым потенциалом GND (Ground). ADC содержит схему выборки/хранения SHC (Sample&Hold Comparator),удерживающую напряжение входа во время преобразования на неизменном уровне.
Рис. 6. Структура аналого-цифрового преобразователя
Аналого-цифровой преобразователь преобразует напряжение аналогового входного сигнала в 10-разрядное цифровое значение методом последовательных приближений. Минимальное значение входного напряжения равно напряжению на контакте AGND. максимальное значение не должно превышать напряжение на контакте AREF. Результат в виде 10-битного двоичного числа D равен:
где U-входное напряжение, a U0- опорное напряжение преобразователя.
В качестве источника опорного напряжения преобразователя можно использовать внешний сигнал с вывода AREF, внутренний источник 2.56В, либо напряжение питания аналоговой части микроконтроллера с вывода AVCC. Напряжение на выводе AVCC не должно отличаться от напряжения питания Vcc более чем на ±0,3 В.
Например, если аналоговый мультиплексор подключает ко входу ADC эталонное напряжение U =1,22B, а в качестве опорного напряжения использовать источник U0=2,56В, то результат преобразования:D=1,22*1024/2,56=488=$1Е8=0b111101000.
0 комментариев