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 (см. раздел "Статические характеристики").
|