Функционирование аналого-цифрового преобразователя

ADC преобразовывает аналоговое входное напряжение в 10-битовую цифровую величину методом последовательного приближения.

Минимальная величина представляет AGND, максимальная величина – напряжение на AREF-пине минус один LSB.

Аналоговый входной канал выбирается записью в биты MUX в ADMUX, тем самым подключается один из восьми входов аналогового мультиплексора ADC7..0 к входу ADC.

Аналого-цифровой преобразователь может работать в двух режимах: режиме однократного преобразования и режиме циклического преобразования. В режиме однократного преобразования каждое преобразование инициируется пользователем. В режиме циклического преобразования ADC осуществляет выборку и обновление содержимого регистра данных ADC непрерывно. Выбор режима производится битом ADFR регистра ADCSR.

Работа ADC разрешается установкой в состояние 1 бита ADEN в регистре ADCSR. Входные канальные выбора не вступят в работу, пока АДЕН установлен. ADC не поглощает мощность, когда АДЕН очищается, таким образом, рекомендуется выключать ADC прежде, чем ввести режим sleep.

Преобразование начинается с установки в состояние 1 бита начала преобразования ADSC. Этот бит находится в состоянии 1 в течение всего цикла преобразования и сбрасывается по завершении преобразования, аппаратно. Если в процессе выполнения преобразования выполняется смена канала данных, то ADC вначале закончит текущее преобразование и лишь потом выполнит переход к другому каналу.

Поскольку ADC формирует 10-разрядный результат, то по завершении преобразования результирующие данные размещаются в двух регистрах данных ADCH и ADCL. Для обеспечения соответствия результирующих данных считываемому уровню используется специальная логика защиты. Этот механизм работает следующим образом: при считывании данных первым должен быть считан регистр ADCL. Как только ADCL считан, обращение ADC к регистрам данных блокируется. Таким образом, если после считывания состояния ADCL, но до считывания ADCH, будет завершено следующее преобразование, ни один из регистров не будет обновлен и записанный ранее результат не будет искажен. Обращение ADC к регистрам ADCH и ADCL разрешается по завершении считывания содержимого регистра ADCH.

ADC имеет свое собственное прерывание, которое может быть активировано по завершении преобразования. Когда обращение ADC к регистрам запрещено, в процессе считывания регистров ADCL и ADCH прерывание будет активироваться, даже если результат будет потерян.

В режиме однократного преобразования по завершении процесса оцифровки происходит сброс флага ADSC. Вновь установленный программным способом флаг ADSC вызовет новое однократное преобразование.

В режиме циклического преобразования новое будет стартовать немедленно после завершения предыдущего преобразования, пока флаг ADSC остается установленным. Использование режима циклического преобразования и частоты оцифровки 200 kHz дает минимальное время преобразования с максимальным разрешением 65 мкс.

15.5. Регистр выбора мультиплексора ADC – ADMUX

На рис. 3.20 изображен регистр выбора канала мультиплексора.

$07(27)

биты 7 6 5 4 3 2 1 0

- - - - - MUX2 MUX1 MUX0

Доступ Чт Чт Чт Чт Чт Чт/Зп Чт/Зп Чт/Зп Н. С. 0 0 0 0 0 0 0 0

Рис. 3.20. Регистр выбора канала мультиплексора

Биты 7…3 – Res: – зарезервированные биты.

Эти биты в микроконтроллерах AT90S4434/8535 зарезервированы и при считывании всегда покажут состояние 0.

Биты 2…0 – MUX2...MUX0: – биты выбора аналогового канала.

Содержимое этих битов определяет, какой из восьми аналоговых каналов (0–7) будет подключен к ADC (табл. 3.14).

Таблица 3.14

Определение входа АЦП

MUX2.0   Вход
  ADC0
  ADC1
  ADC2
ADC3  
  ADC4
  ADC5
  ADC6
  ADC7

15.6. Регистр управления и состояния ADC – ADCSR

На рис. 3.21 изображен регистр управления и состояния ADC.

$06(26)

биты 7 6 5 4 3 2 1 0

ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

Доступ Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп Чт/Зп

Н. С. 0 0 0 0 0 0 0 0

Рис. 3.21. Регистр управления и состояния ADC

Бит 7 – ADEN: – разрешение ADC.

Установка данного бита в состояние 1 разрешает ADC. Очистка бита запрещает ADC. Запрещение ADC в процессе преобразования прекращает преобразование.

Бит 6 – ADSC: – запуск преобразования ADC.

В режиме однократного преобразования для запуска каждого цикла преобразования необходимо устанавливать бит ADSC в состояние 1. В циклическом режиме бит ADSC устанавливается в состояние 1 только при запуске первого цикла преобразования. Каждый раз после первой установки бита ADSC, выполненной после разрешения ADC или одновременно с разрешением ADC, будет выполняться пустое преобразование, предшествующее активируемому преобразованию. Это пустое преобразование активирует ADC. ADSC будет сохранять состояние 1 в течение всего цикла преобразования и сбрасывается по завершении преобразования. При выполнении пустого преобразования, предшествующего активируемому, бит ADSC остается установленным до завершения активируемого преобразования. Запись 0 в этот бит эффекта не оказывает.

Бит 5 – ADFR: – установка циклического режима работы ADC. При установленном в состояние 1 бите ADFR ADC будет работать в циклическом режиме. В этом режиме ADC производит выборки и обращения к регистрам непрерывно (одно за другим). Очистка бита приводит к прекращению циклического режима.

Бит 4 – ADIF: – флаг прерывания ADC.

Данный бит устанавливается в состояние 1 после завершения преобразования и обновления регистров данных. Прерывание по завершении преобразования ADC выполняется, если в состояние 1 установлены бит ADIE и I – бит регистра SREG. Бит ADIF сбрасывается аппаратно при выполнении подпрограммы обработки соответствующего вектора прерывания. Кроме того, бит ADIF может быть очищен записью во флаг логической 1. Бит 3 – ADIE: – разрешение прерывания ADC.

При установленных в состояние 1 бите ADIE и I – бите регистра SREG активируется прерывание по завершении преобразования ADC.

Биты 2…0 – ADPS2...ADPS0: – выбор коэффициента предварительного деления.

Выбор коэффициента предварительного деления

ADPS2 ADPS1 ADPS0 Коэффициент деления

Данные биты определяют коэффициент деления частоты XTAL для получения необходимой тактовой частоты ADC (табл. 3.15).

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