КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Аналого-цифровой преобразователь. Модуль 10-битного АЦП последовательного приближения входит в состав ATmega16x, но не входит в состав микроконтроллера ATmegal62x.Модуль 10-битного АЦП последовательного приближения входит в состав ATmega16x, но не входит в состав микроконтроллера ATmegal62x. Основные параметры АЦП следующие: · абсолютная погрешность: ±2 LSB1J; · интегральная нелинейность: ±0.5 LSВ; · быстродействие: до 15 тыс. выборок/с. На входе модуля АЦП имеется 8-канальный аналоговый мультиплексор, предоставляющий в распоряжение пользователя 8 каналов с несимметричными входами. В качестве источника опорного напряжения для АЦП может использоваться как напряжение питания микроконтроллера, так и внутренний либо внешний источник опорного напряжения. Модуль АЦП может работать в двух режимах: · режим одиночного преобразования, когда запуск каждого преобразования инициируется пользователем; · режим непрерывного преобразования, когда запуск преобразований выполняется непрерывно через определенные интервалы времени. [ 2, с.382 ] Регистры управления модулем АЦП
Рис. 8. Формат регистров ADCSRA.
Биты регистра ADCRA
Рис.9. Формат регистра ADMUX
Биты регистра ADCRA
Для разрешения работы АЦП необходимо записать лог. 1 в бит ADEN регистра ADCSRA, а для выключения — соответственно лог. 0. Если АЦП будет выключен во время цикла преобразования, то преобразование завершено не будет (в регистре данных АЦП останется результат предыдущего преобразован ия).
Рис.10. Формат регистра SFIOR
Запуск АЦП возможен не только по команде пользователя, но и по прерыванию от некоторых периферийных устройств, имеющихся в составе микроконтроллера. Для выбора режима работы используется бит ADATE регистра ADCSRA и биты ADTDS2:0 регистра SFIOR. Если бит ADATE сброшен в 0, АЦП работает в режиме одиночного преобразования. Если же бит ADTAE установлен в 1, функционирование АЦП определяется содержимым битов ADTS2:0.
Таблица 13. Источпик сигнала для запуска преобразования
Запуск каждого преобразования в режиме одиночного преобразования, а также запуск первого преобразования в режиме непрерывного преобразования осуществляется установкой в 1 бита ADSC регистра ADCSRA . Запуск преобразования по прерыванию осуществляется при установке в 1 флага выбранного прерывания. Бит ADSC регистра ADCSRA при этом аппаратно устанавливается в 1, Запуск преобразования в этих режимах также может быть осуществлен установкой бита ADSC регистра ADCSRA в 1. В режимах одиночного и непрерывного преобразований цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки бита ADSC. Если используется запуск по прерыванию, то цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки флага выбранного прерывания. Причем в момент установки этого флага осуществляется сброс предделителя модуля АЦП. Тем самым обеспечивается фиксированная задержка между генерацией запроса на прерывание и началом цикла преобразования. Обратите внимание, что преобразование запускается при установке соответствующего флага, т. е. даже если само прерывание запрещено. Длительность цикла составляет 13 тактов при использовании несимметричного входа и 13 либо 14 тактов при использовании дифференциального входа (разные значения связаны с работой схемы синхронизации); выборка и запоминание входного сигнала осуществляется в течение первых 1.5 и 2.5 тактов соответственно. Через 13 (14) тактов преобразование, бит ADSC аппаратно сбрасывается в 0 (в режиме одиночного преобразования), и результат преобразования сохраняется в регистре данных АЦП. Одновременно устанавливается флаг прерывания ADIF регистра ADCSRA и генерируется запрос на прерывание. Как и флаги остальных прерываний, флаг ADIF сбрасывается аппаратно при запуске подпрограммы обработки прерывания от АЦП или программно, записью в него лог. 1. Разрешение прерывания осуществляется установкой в 1 бита ADIE регистра ADCSRA при установленном флаге 1 регистра SREG. Если АЦП работает в режиме непрерывного преобразования, то новый цикл начнется сразу же после записи результата. В режиме одиночного преобразования новое преобразование может быть запущено сразу же после сброса бита ADSC (до сохранения результата текущего преобразования). Однако реально цикл преобразования начнется не ранее чем через один такт после окончания текущего преобразования. При первом запуске после включения АЦП для выполнения преобразования потребуется 25 тактов, т. е. на 12 тактов больше, чем обычно. В течение этих 12 тактов выполняется «холостое* преобразование, во время которого производится инициализация АЦП . Отдельно следует сказать об использовании режима запуска по прерыванию совместно с дифференциальными каналами. В этом случае АЦП необходимо выключать между преобразованиями, чтобы избежать некорректных измерений, связанных с неопределенностью момента сброса предделителя АЦП. В результате выключения и включения АЦП между преобразованиями будут выполняться только «длинные» преобразования, результаты которых всегда будут корректными. Для формирования тактовой частоты модуля АЦП в нем имеется отдельный предделитель. Коэффициент деления предделителя и соответственно длительность преобразования определяются состоянием битов ADPS2...ADPS0 регистра ADCSRA. Наибольшая точность преобразования достигается, если тактовая частота модуля АЦП находится в диапазоне 50...200 кГц. Соответственно, коэффициент деления предделителя рекомендуется выбирать таким, чтобы тактовая частота модуля АЦП находилась в указанном диапазоне. Если же точности преобразования меньше 10 битов достаточно, можно использовать более высокую частоту, увеличивая тем самым частоту выборки.
Таблица 14.Задание коэффициента деления предделителя частоты
Таблица 15.Управление входным мультиплексером
Таблица 16.Выбор источника опорного напряжения
|