Руководство пользователя MSP430 (1041606), страница 34
Текст из файла (страница 34)
Рис.17-1 Блок-схема АЦП12
17.2 Функционирование АЦП12
Модуль АЦП12 конфигурируется программным обеспечением пользователя. Настройка и работа АЦП12 рассматриваются в следующих разделах.
17.2.1 12-разрядное ядро АЦП
Ядро АЦП преобразует аналоговый входной сигнал в 12-разрядное цифровое представление и сохраняет результат в памяти преобразований. Ядро использует два программируемых/выбираемых уровня напряжения (VR+ и VR-) для задания верхнего и нижнего пределов преобразования. На цифровом выходе (NADC) представлена полная шкала (0FFFh), когда входной сигнал равен или выше VR+, и ноль, когда входной сигнал равен или ниже VR-. Входной канал и опорные уровни напряжения (VR+ и VR-) задаются в памяти управления преобразованиями. Формула преобразования для результата АЦП NADC выглядит следующим образом:
Ядро АЦП12 конфигурируется двумя управляющими регистрами: ADC12CTL0 и ADC12CTL1. Ядро включается битом ADC12ON. Если ADC12 не используется, для сохранения энергии оно может быть выключено. За некоторыми исключениями биты управления АЦП12 могут быть модифицированы, только когда ENC=0. ENC должен быть установлен в 1 перед выполнением любого преобразования.
Рис.17-2 Аналоговый мультиплексор
Выбор тактирования преобразования
ADC12CLK используется как для тактирования преобразования, так и для генерации периода выборки, когда выбран импульсный режим выборки. Для выбора источника тактирования ADC12 используются биты ADC12SSELx, а частота выбранного источника может быть поделена на 1-8 с помощью битов ADC12DIVx. Возможно использование следующих источников ADC12CLK: SMCLK, MCLK, ACLK и внутреннего осциллятора ADC12OSC.
ADC12OSC, генерируемый внутренне, лежит в диапазоне 5 МГц, но варьируется в зависимости от конкретного устройства, напряжения питания и температуры. См. справочное руководство конкретного устройства для уточнения значения ADC12OSC.
Пользователь должен гарантировать, что выбранный источник тактирования для ADC12CLK останется активным до конца преобразования. Если тактовые сигналы будут сняты во время преобразования, операция не будет завершена и любой результат будет неверным.
17.2.2 Входы АЦП12 и мультиплексор
Восемь внешних и четыре внутренних аналоговых сигнала выбираются как канал для преобразования аналоговым входным мультиплексором. Входной мультиплексор имеет тип break-before-make (разрыв перед включением), что уменьшает инжекцию шумов от канала к каналу, возникающую при переключении каналов, как показано на рис.17-2. Входной мультиплексор также является Т-переключателем, минимизирующим взаимосвязь между каналами. Невыбранные каналы изолированы от АЦП, а промежуточный узел подключен к аналоговой земле (AVSS), поэтому паразитная емкость заземляется, что помогает устранять перекрестные помехи.
АЦП12 использует метод перераспределения заряда. Когда входы внутренне переключаются, переключение может привести к переходным процессам на входном сигнале. Эти переходные процессы затухают и устанавливаются до появления ошибочного преобразования.
Выбор аналогового порта
Входы АЦП12 мультиплексированы с ножками порта Р6, имеющими цифровые КМОП ячейки. Когда аналоговые сигналы прикладываются к цифровым КМОП-схемам, может течь паразитный ток от VCC к GND. Этот паразитный ток появляется, если величина входного напряжения находится около переходного уровня ячейки. Отключение буфера ножки порта устраняет протекание паразитного тока и вследствие этого уменьшает общий потребляемый ток. Биты P6SELx дают возможность отключать входные буферы ножки порта.
; P6.0 и P6.1 конфигурирются как аналоговые входы
BIS.B #3h,&P6SEL ; P6.1 и P6.0 – функция АЦП12
BIC.B #3h,&P6DIR ; P6.1 и P6.0 переключены на ввод
17.2.3 Генератор опорного напряжения
Модуль АЦП12 содержит встроенный генератор опорного напряжения с двумя выбираемыми уровнями напряжения: 1,5 В и 2,5 В. Любое из этих опорных напряжений может быть использовано внутренне или внешне на выводе VREF+.
Установкой REFON=1 включается внутренний опорный источник. Когда REF2_5V=1, внутреннее опорное напряжение равно 2,5 В, при REF2_5V=0 опорное напряжение равно 1,5 В. Если генератор опорного напряжения не используется, он может быть выключен для уменьшения потребления энергии.
Для правильной работы внутреннего генератора опорного напряжения необходимо использовать емкость временного хранения энергии, подключенную между VREF+ и AVSS. Рекомендуется в качестве такой емкости использовать комбинацию из включенных параллельно конденсаторов на 10 мкФ и 0,1 мкФ. После включения в течение максимум 17 мС необходимо дать возможность генератору опорного напряжения зарядить конденсаторы хранения энергии. Если внутренний опорный генератор не используется при преобразованиях, конденсаторы не требуются
Примечание: рекомендация по развязке |
Внешние опорные источники могут быть задействованы для VR+ и VR- через выводы VeREF+ и VRED-/VeREF- соответственно.
17.2.4 Синхронизация выборки и преобразования
Аналого-цифровое преобразование инициируется по нарастающему фронту входного сигнала выборки SHI. Источник для SHI выбирается с помощью битов SHSx и может быть таким:
-
Бит ADC12SC
-
Модуль вывода 1 таймера А
-
Модуль вывода 0 таймера В
-
Модуль вывода 1 таймера В
Полярность источника сигнала SHI может быть инвертирована битом ISSH. Сигнал SAMPCON управляет периодом выборки и началом преобразования. Когда SAMPCON имеет высокий уровень, выборка активна. Переход сигнала SAMPCON с высокого уровня на низкий стартует аналого-цифровое преобразование, которому необходимо 13 циклов ADC12CLK. Два различных метода выборки-синхронизации задаются управляющим битом SHP, расширяющим режим выборки и импульсный режим.
Расширенный режим выборки
Расширенный режим выборки выбирается, когда SHP=0. Сигнал SHI напрямую управляет SAMPCON и определяет длительность периода выборки tsample. Когда SAMPCON имеет высокий уровень, выборка активна. Переход сигнала SAMPCON с высокого уровня на низкий стартует преобразование после синхронизации с ADC12CLK. См. рис.17-3.
Рис.17-3 Расширенный режим выборки
Импульсный режим выборки
Импульсный режим выборки выбирается, когда SHP=0. Сигнал SHI используется для запуска таймера выборки. Биты SHT0x и SHT1x в ADC12CTL0 управляют интервалом таймера выборки, который задает период tsampe выборки SAMPCON. Таймер выборки оставляет высокий уровень SAMPCON после синхронизации с ADC12CLK для запрограммированного интервала tsampe. Общее время выборки равно tsampe плюс tsync. См. рис.17-4.
Биты SHTx устанавливают время выборки в 4 раза больше чем ADC12CLK. SHT0x устанавливает время выборки для ADC12MCTL0-7, а SHT1x устанавливает время выборки для ADC12MCTL8-15.
Рис.17-4 Импульсный режим выборки
Определение длительности выборки
Когда SAMPCON=0, все входы Ax имеют высокое входное сопротивление. Когда SAMPCON=1, выбранный вход Ax можно смоделировать в виде RC-фильтра нижних частот в течение периода квантования tsample, как показано на рис.17-5. Внутреннее сопротивление RI (около 2 кОм) мультиплексированного входа последовательно с конденсатором СI (максимум 40 пФ) представляется источником. Конденсатор СI должен быть заряжен напряжением VC в пределах ? младшего бита источника напряжения VS для получения точного 12-разрядного преобразования.
Рис.17-5 Эквивалентная схема аналогового входа
Сопротивление источника RS и RI влияет на tsample. Следующее выражение может быть использовано для вычисления минимального времени выборки tsample при 12-разрядном преобразовании:
tsample > (RS+RI)*ln(213)*CI
При подстановке значений RI и СI, указанных выше, уравнение приобретает следующий вид: tsample > (RS+2кОм)*9.011*40pF
К примеру, если RS равно 10 кОм, tsample должно быть больше 4,33 мкС.
17.2.5 Память преобразований
Результаты преобразований сохраняются в 16-ти регистрах памяти преобразований ADC12MEMx. Каждый регистр ADC12MEMx конфигурируется соответствующим управляющим регистром ADC12MCTLx. Биты SREFx устанавливают опорное напряжение, а биты INCHx задают входной канал. Бит EOS определяет конец последовательности, когда используется последовательный режим преобразования. Следующие друг за другом преобразования последовательно сохраняются в регистрах с ADC12MEM15 по ADC12MEM0, когда бит EOS в ADC12MCTL15 не установлен.
Биты CSTARTADDx определяют первый регистр ADC12MCTLx, используемый для любого преобразования. Если выбраны одноканальный или повторный одноканальный режимы преобразования, CSTARTADDx указывают на единственный ADC12MCTLx, который будет использован.
Если выбран режим преобразования «последовательность каналов» или «повторяющаяся последовательность каналов», CSTARTADDx указывают на расположение ADC12MCTLx, который будет использоваться в последовательности. Программно невидимый указатель автоматически инкрементируется до следующего ADC12MCTLx в последовательности после каждого завершения преобразования. Последовательность продолжается до обработки бита EOS в ADC12MCTLx – это будет обработка последнего управляющего байта.
Когда результат преобразования записывается в выбранный регистр ADC12MEMx, устанавливается соответствующий флаг в регистре ADC12IFGx.
17.2.6 Режимы преобразований АЦП12
АЦП12 имеет четыре режима работы, выбираемые битами CONSEQx так, как описано в таблице 17-1.
Таблица 17-1. Сводный перечень режимов преобразования
CONSEQx | Режим | Операция |
00 | Одноканальный с одиночным преобразованием | Выполняется одно преобразование в одном канале. |
01 | Последовательность каналов | Выполняются однократные преобразования последовательности каналов. |
10 | Повторяющийся одноканальный | Выполняется повторяющееся преобразование в одном канале. |
11 | Повторяющаяся последовательность каналов | Выполняются повторяющиеся преобразования последовательности каналов. |
Одноканальный режим с одиночным преобразованием
В одном канале однократно выполняется выборка и преобразование. Результат АЦП записывается в регистр ADC12MEMx, определенный битами CSTARTADDx. На рис.17-6 показан процесс одноканального режима с одиночным преобразованием. Если преобразования запускаются ADC12SC, поочередные преобразования могут быть запущены битом ADC12SC. Когда используется другой источник запуска, ENC должен переключаться между каждым преобразованием.
Рис.17-6 Одноканальный режим одиночного преобразования
Режим последовательности каналов
В режиме последовательности каналов однократно выполняется выборка и преобразование. Результат АЦП записывается в память преобразований, начиная с ADCMEMx, определенным битами CSTARTADDx. Последовательность останавливается после измерения в канале с установленным битом EOS. На рис.17-7 показан режим последовательности каналов. Если последовательность запускает ADC12SC, поочередные последовательности могут запускаться битом ADC12SC. Когда используется другой источник запуска, ENC должен переключаться между каждой последовательностью.
Рис.17-7 Режим последовательности каналов
Повторяющийся одноканальный режим
В одном канале непрерывно выполняются выборка и преобразование. Результат АЦП записывается в ADC12MEMx, определенный битами CSTARTADDx. Необходимо считывать результат после завершения преобразования, потому что используется только один регистр памяти ADC12MEMx, перезаписываемый с каждым новым преобразованием. На рис.17-8 показан повторяющийся одноканальный режим.
Рис.17-8 Повторяющийся одноканальный режим
Режим повторяющейся последовательности каналов
Непрерывно выполняются выборка и преобразование последовательности каналов. Результат АЦП записывается в память преобразований, начиная с ADC12MEMx, определенного битами CSTARTADDx. Последовательность останавливается после измерения в канале с установленным битом EOS и стартует снова по следующему сигналу запуска. На рис.17-9 показан режим повторяющейся последовательности каналов.
Рис.17-9 Режим повторяющейся последовательности каналов
Использование бита множественных выборок и преобразований (MSC)
Для конфигурирования преобразователя на выполнение автоматических поочередных преобразований с максимальной быстротой можно воспользоваться функцией множественных выборок и преобразований. Если MSC=1, CONSEQx>1 и используется таймер выборок, первый фронт сигнала SHI запустит первое преобразование. Очередные преобразования запускаются автоматически после завершения предыдущего преобразования. Дополнительные фронты на SHI игнорируются, пока последовательность не закончена или пока бит ENC не переключен в повторяющийся одноканальный режим или повторяющийся режим последовательностей. Функция бита ENC не изменяется, пока используется бит MSC.
Останов преобразований