Устройство внутреннего АЦП микроконтроллеров PICmicro
Модуль аналого-цифрового преобразования микроконтроллеров PICmicro. Зарядка внутреннего конденсатора АЦП CHOLD аналоговым сигналом через коммутатор каналов. Последовательность действий для работы с АЦП, временные требования к подключению канала.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | реферат |
Язык | русский |
Дата добавления | 17.01.2011 |
Размер файла | 820,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Устройство внутреннего АЦП микроконтроллеров PICmicro
Введение
Модуль аналого-цифрового преобразования (АЦП) имеет до четырех входных каналов.
Входной аналоговый сигнал через коммутатор каналов заряжает внутренний конденсатор АЦП CHOLD. Модуль АЦП преобразует напряжение, удерживаемое на конденсаторе CHOLD в соответствующий 8 - разрядный цифровой код методом последовательного приближения. Источник опорного напряжения может быть программно выбран с вывода VDD или AN3/VREF. Допускается работа модуля АЦП в SLEEP режиме микроконтроллера, при этом в качестве источника тактовых импульсов для АЦП должен быть выбран RC генератор.
Для управления АЦП в микроконтроллере используется 3 регистра:
* Регистр результата ADRES;
* Регистр управления ADCON0;
* Регистр управления ADCON1.
Регистр ADCON0 используется для настройки работы модуля АЦП, а с помощью регистра ADCON1 устанавливается, какие входы микроконтроллера будут использоваться модулем АЦП и в каком режиме (аналоговый вход или цифровой порт ввода/вывода).
Структурная схема модуля АЦП показана на рисунке 1.
1. Управляющие регистры
Регистр ADCON0:
Примечание 1. Для PIC16C71 - бит 5 регистра ADCON0 является универсальным и доступен для записи и чтения. В микроконтроллерах PIC16C710/711/715 этот бит не реализован и читается как '0'.
Примечание 2. В микроконтроллерах PIC12CXXX этот бит сохранен, для других микроконтроллеров бит ADIF реализован в регистре PIR. Не рекомендуется использовать этот бит как бит общего назначения. Всегда поддерживайте этот бит сброшенным в '0'.
Примечание 1. Некоторые микроконтроллеры содержат дополнительный бит настройки портов ввода/вывода PCFG2. Этот бит особенно важен в 8 - выводных микроконтроллерах АЦП, в которых число портов ввода/вывода ограничено. В других микроконтроллерах этот бит не реализован и читается как '0'.
Примечание 2. При сбросе микроконтроллера все выводы мультиплицированные с модулем АЦП (ANx) настраиваются как аналоговые входы.
2. Работа модуля АЦП
В регистре ADRES сохраняется 8-разрядный результат аналого-цифрового преобразования. Когда преобразование завершено, результат преобразования записывается в регистр ADRES, после чего сбрасывается бит GO/-DONE (ADCON0<2>) и устанавливается флаг прерывания ADIF.
После включения и настройки АЦП необходимо выбрать рабочий аналоговый канал. Соответствующие биты TRIS аналоговых каналов должны настраивать канал порта ввода/вывода на вход.
Рекомендованная последовательность действий для работы с АЦП:
1. Настроить модуль АЦП:
* Настроить выводы как аналоговые входы, входы VREF или цифровые каналы ввода/вывода (ADCON1);
* Выбрать входной канал АЦП (ADCON0);
* Выбрать источник тактовых импульсов для АЦП (ADCON0);
* Включить модуль АЦП (ADCON0).
2. Настроить прерывание от модуля АЦП (если необходимо):
* Сбросить бит ADIF в '0';
* Установить бит ADIE в '1';
* Установить бит PEIE в '1';
* Установить бит GIE в '1'.
3. Выдержать паузу, необходимую для зарядки конденсатора CHOLD.
4. Начать аналого-цифровое преобразование:
* Установить GO/-DONE бит в '1' (ADCON0).
5. Ожидать, окончания преобразования:
* Ждать, пока бит GO/-DONE не будет сброшен в '0'; ИЛИ
* Ожидать прерывание по окончанию преобразования.
6. Считать результат преобразования из регистра ADRES, сбросить бит ADIF в '0', если это необходимо.
7. Для следующего преобразования необходимо выполнить шаги начиная с пункта 1 или 2. Время
преобразования одного бита определяется как время TAD. Минимальное время ожидания перед следующим преобразованием должно составлять не менее 2TAD.
На рисунке 2 показана последовательность преобразования аналогового сигнала. Время заряда CHOLD - интервал времени в течение которого на внутренний конденсатор АЦП подается внешний сигнал. Время преобразования равно 10 TAD, отсчет начинается с момента установки в '1' бита GO. Сумма этих двух временных интервалов является длительностью полного цикла преобразования АЦП. Существует минимальный интервал времени, в течение которого внешний сигнал подается на внутренний конденсатор CHOLD, чтобы гарантировать требуемую точность АЦП.
3. Временные требования к подключению канала АЦП
Для обеспечения необходимой точности преобразования, конденсатор CHOLD должен успевать полностью заряжаться до уровня входного напряжения. Схема аналогового входа АЦП показана на рисунке 3. Сопротивления RS и RSS непосредственно влияют на время зарядки конденсатора CHOLD. Величина сопротивления ключа выборки (RSS) зависит от напряжения питания VDD (см. рисунок 3). Максимальное рекомендуемое значение внутреннего сопротивления источника аналогового сигнала 10кОм. При меньших значениях сопротивления источника сигнала меньше суммарное время преобразования.
После того, как будет выбран один из нескольких аналоговых входных каналов, но прежде, чем будет производиться преобразование, должно пройти определенное время. Для нахождения данного времени воспользуетесь уравнением 1. Это уравнение дает результат с ошибкой в Ѕ LSb (512 шагов АЦП). Ошибка в Ѕ LSb, это максимальная погрешность, позволяющая функционировать модулю АЦП с необходимой точностью.
Уравнение 1 Вычисление временной задержки
TACQ = Время задержки усилителя + Время заряда конденсатора CHOLD + Температурный коэффициент = TAMP + TC + TCOFF
Уравнение 2 Минимальное время заряда конденсатора CHOLD
VHOLD = (VREF - (VREF/512))*(1 - e(-Tc/Chold(Ric + Rss + Rs)))
TC = - 51.2пФ (1кОм + RSS + RS) Ln(1/511)
В примере 1 показано вычисление минимального значения времени TACQ. Вычисления основываются на следующих исходных данных:
Rs = 10кОм
Ошибка преобразования ? 1/2 Lsb
VDD = 5В > Rss = 7 кОм (см. график на рисунке 3)
Температура = 50°С (максимально возможная)
VHOLD = 0В @ t = 0
Пример 1 Вычисление минимального значения времени TACQ
TACQ = TAMP + TC + TCOFF
TACQ = 5мкс + TC + [(Температура - 25°C)(0.05мкс/°C)]
TC = - CHOLD (RIC + RSS + RS) Ln(1/511) = - 51.2пФ (1кОм + 7кОм + 10кОм) Ln(0.0020) = - 51.2пФ (18кОм) Ln(0.0020) = -0.921мкс (-6.2146) = 5.724мкс
TACQ = 5мкс + 5.724мкс + [(50°C - 25°C)(0.05мкс/°C)] = 10.724мкс + 1.25мкс = 11.974мкс
Примечание 1. Напряжение источника опорного напряжения VREF не влияет на уравнение.
Примечание 2. Конденсатор CHOLD после преобразования не разряжается.
Примечание 3. Максимальное рекомендуемое значение внутреннего сопротивления источника аналогового сигнала10кОм. Это необходимо для компенсации внутреннего тока утечки.
Примечание 4. После того, как преобразование завершено, необходимо программно обеспечить задержку не менее 2.0TAD, прежде чем начнете следующее преобразование. В течение этого времени конденсатор CHOLD не подключен к выбранному входному каналу АЦП.
Обозначения:
CPIN - входная емкость;
VT - пороговое напряжение;
ILEAKAGE - ток утечки вывода;
RIC - сопротивление соединения;
SS - переключатель защелки;
CHOLD - конденсатор защелки.
4. Выбор источника тактовых импульсов для АЦП
Время получения одного бита результата равно TAD. Для 8-разрядного результата требуется как минимум 9.5TAD. Параметры тактового сигнала для АЦП определяются программно, TAD может принимать следующие значения:
* 2TOSC;
* 8TOSC;
* 32TOSC;
* Внутренний RC генератор модуля АЦП (2-6мкс).
Для получения корректного результата преобразования необходимо выбрать источник тактового сигнала АЦП, обеспечивающий время TAD не менее 1.6 мкс (для микроконтроллеров PIC16C71 не менее 2мкс) (см. параметр 130 в разделе "Электрические характеристики").
В таблицах 1 по 4 указано максимальное значение тактовой частоты микроконтроллера для каждого режима синхронизирующего сигнала АЦП.
Обозначение: Затененные ячейки - не рекомендованное значение.
Примечания:
1. Типовое значение времени TAD RC генератора АЦП равно 4мкс, может варьироваться от 2мкс до 6мкс.
2. Это значение выходит за пределы минимально допустимого времени TAD.
3. Для более точного преобразования рекомендуется выбрать другой источник тактовых импульсов.
4. Когда тактовая частота микроконтроллера больше 1МГц, рекомендуется использовать RC генератор АЦП только для работы в SLEEP режиме.
Обозначение: Затененные ячейки - не рекомендованное значение.
Примечания:
1. Типовое значение времени TAD RC генератора АЦП равно 4мкс, может варьироваться от 2мкс до 6мкс.
2. Это значение выходит за пределы минимально допустимого времени TAD.
3. Для более точного преобразования рекомендуется выбрать другой источник тактовых импульсов.
4. Когда тактовая частота микроконтроллера больше 1МГц, рекомендуется использовать RC генератор АЦП только для работы в SLEEP режиме.
Обозначение: Затененные ячейки - не рекомендованное значение.
Примечания:
1. Типовое значение времени TAD RC генератора АЦП равно 4мкс, может варьироваться от 2мкс до 6мкс.
2. Это значение выходит за пределы минимально допустимого времени TAD.
3. Для более точного преобразования рекомендуется выбрать другой источник тактовых импульсов.
4. Когда тактовая частота микроконтроллера больше 1МГц, рекомендуется использовать RC генератор АЦП только для работы в SLEEP режиме.
Обозначение: Затененные ячейки - не рекомендованное значение.
Примечания:
1. Типовое значение времени TAD RC генератора АЦП равно 4мкс, может варьироваться от 2мкс до 6мкс.
2. Это значение выходит за пределы минимально допустимого времени TAD.
3. Для более точного преобразования рекомендуется выбрать другой источник тактовых импульсов.
4. Когда тактовая частота микроконтроллера больше 1МГц, рекомендуется использовать RC генератор АЦП только для работы в SLEEP режиме.
5. Настройка аналоговых входов
Регистры ADCON1 и TRIS отвечают за настройку выводов АЦП. Если выводы микросхемы настраиваются как аналоговые входы, то при этом должны быть установлены соответствующие биты в регистре TRIS. Если соответствующий бит сброшен в '0', вывод микросхемы настроен как цифровой выход, со значениями выходных напряжений VOH или VOL.
Модуль АЦП функционирует независимо от состояния битов CHS2:CHS0 и битов TRIS.
Примечание 1. При чтении содержимого регистра порта нули будут установлены в тех разрядах, которые были настроены как аналоговые входы. Настроенные на цифровой вход каналы будут преобразовывать входные аналоговые уровни в цифровые, что однако не окажет влияния на точность преобразования.
Примечание 2. Значения напряжений, подаваемых на выводы, настроены как аналоговые входы, включая выводы (AN3:AN0), могут влиять на ток потребления входного буфера, который может выйти за пределы значений, оговоренных в технической спецификации.
6. Аналого-цифровое преобразование
В примере 2 показана последовательность действий для работы с АЦП. Выводы настроены как аналоговые входы. Источник опорного напряжения - VDD. Разрешены прерывания от модуля АЦП. Источником импульсов преобразования является RC генератор АЦП. Аналоговое цифровое преобразование выполняется с вывода AN0.
Примечание. Бит GO/-DONE и бит включения АЦП должны устанавливаться разными командами.
Сброс бита GO/-DONE в '0' во время преобразования приведет к его прекращению. При этом регистр результата (ADRES) не изменит своего содержимого. После досрочного завершения преобразования необходимо обеспечить временную задержку 2TAD. Выдержав требуемую паузу, автоматически начинает заряжаться конденсатор CHOLD с выбранного аналогового канала.
На рисунке 4 показана последовательность получения результата после установки бита GO/-DONE в '1'.
Пример 2 Выполнение преобразования АЦП
BSF STATUS, RP0 ; Выбрать банк 1
CLRF ADCON1 ; Настроить входы АЦП
BSF PIE1, ADIE ; Разрешить прерывания от АЦП
BCF STATUS, RP0 ; Выбрать банк 0
MOVLW 0xC1 ; Тактовые импульсы от RC генератора АЦП,
MOVWF ADCON0 ; включить АЦП, выбрать канал 0
BCF PIR1, ADIF ; Сбросить pњ_№ЈЮ_узфлаг прерываний от АЦП
7. Быстрое преобразование взамен разрешающей способности
Иногда бывает необходимо быстрое по времени преобразование за счет снижения разрешающей способности АЦП. Эта особенность работы модуля АЦП может использоваться в программе пользователя. Независимо от используемой разрешающей способности интервал времени TACQ остается неизменным. Для ускорения преобразования генератор тактовых импульсов модуля АЦП может быть включен так, чтобы время TAD вышло за пределы минимально-допустимого значения (см. соответствующие параметры в разделе "Электрические характеристики"). При этом модуль АЦП будет выдавать некорректный результат. Источником импульсов преобразования АЦП может быть один из трех источников: 2TOSC, 8TOSC, 32TOSC (RC-генератор не может использоваться).
Время преобразования может быть вычислено по формуле:
Время преобразования = TAD + N * TAD + (10 - N)(2TOSC) ,
где N - разрядность АЦП.
Из-за того, что время TAD зависит от частоты кварцевого генератора микроконтроллера, пользователь должен использовать какой-нибудь иной методов (например, используя таймер, программный цикл и др.) для определения времени изменения. В примере 3 представлено длительность 4 - разрядного преобразования, против 8 - разрядного.
Например, для микроконтроллера с тактовой частотой 20МГц или 16МГц (тактовый сигнал АЦП 32TOSC). Через 5TAD, после старта преобразования, тактовый сигнал АЦП программно переключается на 2TOSC. При 2TOSC не выдержано минимальное требование к TAD, поэтому 4 младших бита будут иметь неверное значение.
Примечания:
1. Минимальное рекомендуемое значение TAD = 1.6мкс (для микроконтроллеров PIC16C71 минимальное время TAD = 2мкс).
2. Если требуется полное 8 - разрядное значение преобразования, источник тактовых импульсов для модуля АЦП не должен изменяться.
8. Работа модуля АЦП в SLEEP режиме микроконтроллера
Модуль АЦП может работать в SLEEP режиме микроконтроллера при условии, что источником импульсов преобразования АЦП будет внутренний RC генератор (ADCS1:ADCS0=11). При выборе RC генератора импульсов модуль АЦП сделает задержку в один машинный цикл перед началом преобразования. Это позволяет программе пользователя выполнить команду SLEEP, тем самым уменьшить “цифровой шум” во время преобразования. После завершения преобразования аппаратно сбрасывается бит GO/-DONE в '0', результат преобразования сохраняется в регистре ADRES. Если разрешено прерывание от АЦП, то микроконтроллер выйдет из режима SLEEP. Если же прерывание было запрещено, то после преобразования модуль АЦП будет выключен, хотя бит ADON останется установленным.
Если был выбран другой источник тактовых импульсов АЦП (не внутренний RC генератор), то выполнение программой инструкции SLEEP прервет процесс преобразования и выключит модуль АЦП, оставив установленным бит ADON. Выключение модуля АЦП уменьшит ток потребления микроконтроллера.
Примечание. Для работы модуля АЦП в SLEEP режиме необходимо выбрать внутренний RC генератор (ADCS1:ADCS0=11), инструкция SLEEP должна быть выполнена сразу после команды, устанавливающей бит GO/-DONE в '1'.
9. Точность преобразования АЦП
Абсолютная точность АЦП определяется суммарной ошибкой, исходя из ошибки дискретизации, интегральной ошибки, ошибки шкалы, ошибки смещения и монотонности. Суммарная ошибка определяется как максимальный разброс между текущим и идеальным результатом для любого значения. Абсолютная ошибка АЦП меньше ± 1 значащего бита при VDD=VREF, но она возрастает при отклонении VREF от VDD.
В некотором диапазоне напряжений на аналоговом входе цифровой результат будет один и тот же. Это возникает из-за дискретизации, которая неизбежна при преобразовании аналоговой величины в цифровую форму. Ошибка дискретизации составляет ± Ѕ значащего бита, и единственный способ уменьшить ее - увеличить разрядность АЦП. Ошибку смещения составляет разность между результатом первого преобразования и идеальным значением. Эта ошибка сдвигает всю передаточную функцию, и может быть учтена при помощи калибровки. Ошибка вносится в результате наложения токов утечки и выходного сопротивления источника сигнала. Ошибка усиления измеряется как максимальное отклонение результата, скорректированного с учетом ошибки смещения. Эта ошибка проявляется в виде изменения наклона передаточной функции. Ошибка усиления может быть откалибрована и учтена.
Ошибка линейности определяется как разница в приращении входного напряжения для получения одинакового приращения выходного кода и не поддается калибровке. Интегральная ошибка вычисляется как отклонение результата, скорректированного с учетом ошибки усиления.
Дифференциальная ошибка вычисляется как отклонение максимальной длины кода результат от идеальной длины кода без учета других ошибок.
Максимальный ток утечки вывода смотрите в разделе "Электрические характеристики" параметр D060. В системах с низкой тактовой частотой предпочтительно использование встроенного RC генератора. В системах с высокой рабочей частотой следует использовать тактовый сигнал от основного генератора. Предпочтительно использовать АЦП с TAD не больше 8 мкс, но не меньше рекомендованного нижнего предела. Использование тактового сигнала от основного генератора позволяет снизить влияние шумов от переключения внутренних вентилей, т.к. переключение логики АЦП происходит синхронно с другими устройствами, что невозможно при использовании встроенного RC генератора. Если каналы цифрового ввода вывода постоянно активны, потеря точности из-за шумов при переключении может быть значительной.
В случае использования АЦП в SLEEP режиме, источником тактового сигнала должен быть встроенный RC генератор. В этом режиме отсутствуют цифровые шумы, т.к. другие узлы микроконтроллера остановлены, поэтому точность преобразования получается высокой.
10. Подключение к модулю АЦП
конденсатор микроконтроллер
Если значение входного напряжения превышает на 0.2В величину порога питающих напряжений (VSS и VDD), то точность преобразования выйдет за пределы значений, оговоренных в спецификации.
Примечание. Требуется некоторая осторожность при использовании вывод RA0 из-за его непосредственной близости к выводу OSC1. Иногда, для сглаживания пульсаций входного сигнала, на вход АЦП добавляется внешняя RC цепочка. Значение сопротивления R должно выбираться так, чтобы общее сопротивление источника сигнала было в пределах рекомендованной величины 10кОм. Любой внешний электронный компонент, подключенный к аналоговому входу(конденсатор, стабилитрон и др.), должны иметь низкий ток утечки через вывод.
11. Передаточная функция модуля АЦП
Идеальная функция модуля АЦП работает по следующему правилу: первый бит значения измеряемой аналоговой величины будет установлен, если входное напряжение (VAIN) на аналоговом входе будет равно 1 Lsb (VREF/256) (см. рисунок 6).
Размещено на Allbest.ru
Подобные документы
Проектирование измерительных приборов. Параметры цифрового вольтметра. Принцип время-импульсного преобразования. Области применения микроконтроллеров. Алгоритм приложения для цифрового милливольтметра постоянного тока. Сборка элементов на печатной плате.
дипломная работа [891,7 K], добавлен 17.06.2013Семейство 16-разрядных микроконтроллеров Motorola 68HC12, их структура и функционирование. Модуль формирования ШИМ-сигналов. Средства отладки и программирования микроконтроллеров 68НС12. Особенности микроконтроллеров семейства MCS-196 фирмы INTEL.
курсовая работа [239,6 K], добавлен 04.01.2015Рассмотрение структуры и принципов работы таймеров/счетчиков (общего назначения, сторожевого, типов А, В, С, D, Е) микроконтроллеров и аналого-цифрового преобразователя семейства AVR с целью разработки обучающего компьютерного электронного пособия.
курсовая работа [1,0 M], добавлен 06.03.2010Адресное пространство микроконтроллеров MSP430F1xx. Байтовая и словная формы инструкций. Система команд MSP микроконтроллеров. Периферийные устройства микроконтроллеров MSP430F1xx. Аналого-цифровой преобразователь ADC12, его технические характеристики.
курсовая работа [278,1 K], добавлен 04.05.2014Система аналого-цифрового преобразования быстроизменяющегося аналогового сигнала в параллельный десятиразрядный код, преобразования параллельного цифрового кода в последовательный код. Устройство управления на логических элементах, счетчик импульсов.
курсовая работа [98,8 K], добавлен 29.07.2009Применение аналого-цифровых преобразователей (АЦП) для преобразования непрерывных сигналов в дискретные. Осуществление преобразования цифрового сигнала в аналоговый с помощью цифроаналоговых преобразователей (ЦАП). Анализ принципов работы АЦП и ЦАП.
лабораторная работа [264,7 K], добавлен 27.01.2013Структурная схема технических средств канала измерения системы. Расчет статической характеристики измерительного канала, погрешностей дискретизации, числа каналов коммутатора, числа разрядов аналого-цифрового преобразователя. Опрос коммутатором каналов.
контрольная работа [247,6 K], добавлен 16.01.2014Временные функции, частотные характеристики и энергия сигналов. Граничные частоты спектров сигналов. Технические характеристики аналого-цифрового преобразователя. Информационная характеристика канала и расчёт вероятности ошибки оптимального демодулятора.
курсовая работа [1,2 M], добавлен 06.11.2011Разработка системы адаптивного аналого-цифрового преобразования (АЦП) на базе однокристального микроконтроллера. Сравнение АЦП различных типов. Анализ способов реализации системы, описание ее структурной схемы, алгоритма работы, программного обеспечения.
дипломная работа [3,0 M], добавлен 29.06.2012Схема и процесс зарядки диэлектрического конденсатора. Схема движения электронов к пластинам диэлектрического конденсатора. Процесс разрядки диэлектрического конденсатора на сопротивление. Особенности зарядки и разрядки электролитического конденсатора.
реферат [210,2 K], добавлен 06.10.2010