Скачиваний:
179
Добавлен:
13.06.2014
Размер:
6.55 Mб
Скачать

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

36.1 Обзор

АЦП выполнен по принципу последовательных приближений и обладает 10-разрядной разрешающей способностью. Он также интегрирует 8-входовой мультиплексор, который позволяет выполнить преобразование одного из 8 входов. Диапазон преобразования АЦП составляет 0В…ADVREF.

АЦП поддерживает два режима преобразования: 8-разрядный и 10-разрядный, а результат преобразования размещается в общем регистре для всех каналов, а также в отдельном для каждого канала регистре. Предусмотрена возможность выбора источников запуска преобразования: программный запуск, внешний запуск по нарастающему фронту на выводе ADTRG или внутренний перезапуск выходными сигналами таймера-счетчика.

АЦП также поддерживает режим сна, содержит блок упорядочивания преобразований и связан с каналом PDC. Данные особенности позволяют снизить потребляемую мощность и загрузку процессора.

Наконец, пользователь может настраивать временные характеристики АЦП, в т.ч. время запуска и время выборки-хранения.

36.2 Структурная схема

Рисунок 36.1. Структурная схема аналогово-цифрового преобразователя

Таблица 36.1. Назначение выводов АЦП

Наименование выводов

Описание

VDDIN

Напряжение питания аналоговых блоков

ADVREF

Опорное напряжение

AD0 - AD7

Аналоговые входные каналы

ADTRG

Вход внешнего запуска преобразования

36.4 Различия в реализации АЦП в семействе AT91SAM7S

36.4.1 Управление потреблением

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

36.4.2 Источники прерываний

Линия прерывания АЦП подключена к одному из внутренних источников расширенного контроллера прерываний. Для использования прерывания АЦП необходимо вначале настроить контроллер прерываний.

36.4.3 Аналоговые входы

Входы AD0-AD7 могут мультиплексироваться с линиями ввода-вывода. В этом случае присвоение функции входа АЦП выполняется автоматически сразу после разрешения работы соответствующего канала путем записи в регистр ADC_CHER. По умолчанию, сразу после сброса, линии ввода-вывода настраиваются на ввод с включенными подтягивающими к плюсу питания резисторами, а вход АЦП подключается к GND.

36.4.4 Линии ввода-вывода

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

36.4.5 Запуск преобразования таймером

Таймеры-счетчики при необходимости могут выступать в качестве аппаратных источников запуска преобразования.

36.4.6 Характеристики преобразования

Характеристики модуля АЦП приведены в разделе 37.7 "Характеристики АЦП".

36.5 Функциональное описание

36.5.1 Аналогово-цифровое преобразование

Для выполнения преобразований АЦП тактируется собственным сигналом синхронизации АЦП. Для преобразования аналогового напряжения в 10-разрядный цифровой код требуется некоторое количество циклов на выборку-хранение, что задается в поле SHTIM "Регистра режима АЦП ", и 10 тактов синхронизации АЦП. Частота синхронизации АЦП выбирается в поле PRESCAL регистра режима (ADC_MR).

Диапазон частот синхронизации АЦП находится между MCK/2 (PRESCAL=0) и MCK/128 (PRESCAL=63 или 0x3F).

36.5.2 Диапазон преобразования

АЦП выполняет преобразование напряжений в диапазоне от 0В до уровня, заданного на входе опорного напряжения ADVREF. Аналоговые входы, напряжение на которых находится внутри указанных границ, преобразовываются в значения на основе линейного преобразования.

36.5.3 Разрешающая способность преобразования

АЦП поддерживает 8 или 10-разрядную разрешающую способность. Для выбора 8-разрядного разрешения необходимо установить бит LOWRES в регистре режима АЦП (ADC_MR). По умолчанию, сразу после сброса, выбирается максимальная разрешающая способность и поле DATA в регистре данных используется полностью. После установки бита LOWRES происходит переключение на минимальную разрешающую способность, после чего результат преобразования размещается в восьми младших разрядах регистра данных. Два старших разряда поля DATA в соответствующем регистре ADC_CDR и поле LDATA в регистре ADC_LCDR считываются с нулевыми значениями.

Кроме того, если канал PDC подключен к АЦП, то при использовании 10-разрядной разрешающей способности устанавливается 16-разрядный размер запроса передачи. После установки бита LOWRES происходит автоматическое переключение к 8-разрядной передаче данных. В этом случае, оптимизируются буферы назначения.

36.5.4 Результаты преобразования

После завершения преобразования 10-разрядный результат сохраняется в регистре данных канала (ADC_CDR) текущего канала и в регистре результата последнего преобразования (ADC_LCDR).

По завершении преобразования устанавливается бит канала EOC в регистре статуса (ADC_SR), а также устанавливается DRDY. В случае подключения канала PDC нарастающий фронт на DRDY запустит запрос на передачу данных. Любой из бит EOC и DRDY может служить источником запуска прерывания.

После считывания одного из регистров ADC_CDR сбрасывается соответствующий бит EOC. При считывании ADC_LCDR сбрасывается бит DRDY и бит EOC, соответствующий последнему преобразованному каналу.

Рисунок 36.2. Поведение флагов EOCx и DRDY

Если регистр ADC_CDR не будет считан до поступления новых данных после преобразования, то установится соответствующий флаг ошибки перезаполнения (OVRE) в регистре статуса (ADC_SR).

Аналогичным образом, при поступлении новых данных после преобразования, когда DRDY равен 1, устанавливается бит GOVRE (общая ошибка перезаполнения) в регистре ADC_SR.

Флаги OVRE и GOVRE автоматически сбрасываются после считывания ADC_SR.

Рисунок 36.3. Поведение флага GOVRE и OVREx

Предупреждение: если соответствующий канал отключается в ходе преобразования или если он был отключен, а затем активизирован в ходе преобразования, то связанные с ним данные и соответствующие флаги EOC и OVRE в регистре ADC_SR будут иметь непредсказуемые значения.

36.5.5 Запуск преобразования

Преобразование активных аналоговых каналов может инициироваться программно или аппаратно. Программный запуск выполняется путем записи регистра управления (ADC_CR) с установленным битом START.

Источником аппаратного запуска может выступать один из выходов TIOA каналов таймера-счетчика или вход внешнего запуска преобразования АЦП (ADTRG). Источник аппаратного запуска преобразования выбирается в поле TRGSEL в регистре режима (ADC_MR). Работа выбранного источника аппаратного перезапуска выбирается с помощью бита TRGEN в регистре режима (ADC_MR).

Если выбирается аппаратный способ запуска преобразования, то преобразование инициируется по каждому нарастающему фронту выбранного сигнала. Если выбирается один из выходов TIOA, то соответствующий канал таймера-счетчика должен быть запрограммирован на работу в режиме генератора.

Для инициации последовательности преобразования на всех каналах необходима только одна команда запуска. Аппаратная логика АЦП автоматически выполняет преобразования на активных каналах, а затем ожидает новый запрос. Регистры разрешения каналов (ADC_CHER) и отключения каналов (ADC_CHDR) позволяют раздельно включать или отключать аналоговые каналы.

Если АЦП используется с PDC, то данные передаются только из активных каналов. Поэтому, содержимое буферов данных необходимо интерпретировать соответствующим образом.

Предупреждение: включение аппаратных источников запуска преобразования не означает отключение программных способов запуска. Таким образом, если выбран аппаратный источник запуска преобразования, то оно может инициироваться аппаратно или программно.

36.5.6 Режим SLEEP и блок упорядочивания преобразований

Режим SLEEP позволяет существенно снизить потребляемый ток АЦП за счет отключения модуля АЦП на время, когда он не используется для преобразований. Режим сна выбирается путем установки бита SLEEP в регистре режима ADC_MR.

Управление режимом SLEEP автоматически выполняет блок упорядочивания преобразований, который может автоматически выполнить процесс преобразования всех каналов при минимальном уровне потребления. АЦП автоматически активизируется после поступления запроса на старт преобразования. Поскольку для возобновления работы аналогового модуля требуется определенное время, то первоначально вводится задержка, а затем инициируется преобразование на разрешенных каналах. По завершении преобразований АЦП отключается до следующего запуска. Запросы на запуск преобразования, которые возникают в ходе последовательности преобразования, игнорируются.

Блок упорядочивания преобразований позволяет автоматизировать процесс преобразования каналов при минимальной загрузке процессора и оптимизированном уровне потребления. Последовательности преобразований могут выполняться периодично с помощью выхода таймера-счетчика. Процессор может быть разгружен еще более, если использовать PDC для периодической передачи нескольких оцифровок.

Прим.: вход опорного напряжения остается всегда включенным, как в нормальном режиме, так и в режиме SLEEP.

36.5.7 Временные диаграммы АЦП

Каждый АЦП характеризуется собственным минимальным временем запуска, которое программируется в поле STARTUP в регистре режима ADC_MR.

Аналогичным образом, для достижения наилучших характеристик преобразования при переключении каналов вводится минимальная задержка выборки-хранения. Время выборки-хранения программируется в битовом поле SHTIM в регистре режима ADC_MR.

Предупреждение: в состав АЦП не входит входной буфер для изоляции АЦП от источника сигнала. Это необходимо принять во внимание для более точного выбора значения SHTIM (см. раздел "Статические характеристики").

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.