Руководство пользователя MSP430 (1041606), страница 36
Текст из файла (страница 36)
18.2.2 Входы АЦП10 и мультиплексор
Восемь внешних и четыре внутренних аналоговых сигнала выбираются как канал для преобразования входным аналоговым мультиплексором. Входной мультиплексор имеет тип break-before-make (разрыв перед включением), что уменьшает инжекцию шумов от канала к каналу, возникающую при переключении каналов, как показано на рис.18-2. Входной мультиплексор также является Т-переключателем, минимизирующим взаимосвязь между каналами. Невыбранные каналы изолированы от АЦП, а промежуточный узел подключен к аналоговой земле (AVSS), поэтому паразитная емкость заземляется, что помогает устранить перекрестные помехи.
АЦП10 использует метод перераспределения заряда. Когда входы внутренне переключаются, переключение может привести к переходным процессам на входном сигнале. Эти переходные процессы затухают и устанавливаются до появления ошибочного преобразования.
Рис.18-2 Аналоговый мультиплексор
+
Выбор аналогового порта
Внешние входы АЦП10 c A0 по А4, VeREF+ и VeREF- мультиплексированы с ножками порта Р2, являющимися цифровые КМОП ячейками. Опциональные входы с А5 по А7 являются у некоторых устройств общими с портом Р3 (см. справочные данные конкретного устройства). Когда аналоговые сигналы прикладываются к цифровым КМОП-схемам, может течь паразитный ток от VCC к GND. Этот паразитный ток появляется, когда величина входного напряжения находится около переходного уровня ячейки. Отключение буфера ножки порта устраняет протекание паразитного тока и вследствие этого уменьшает общий потребляемый ток. Биты ADC10AEx дают возможность отключать входные буфера ножек порта.
; P2.3 конфигурируется как аналоговый вход
BIS.B #4h,&ADC10AE ; P2.3 включен как функция АЦП10
BIC.B #3h,&P6DIR ; P2.3 переведен на направление ввода
18.2.3 Генератор опорного напряжения
Модуль АЦП10 содержит встроенный генератор опорного напряжения с двумя выбираемыми уровнями напряжения: 1,5 В и 2,5 В. Любое из этих опорных напряжений может быть использовано внутренне или внешне на выводе VREF+.
Внутренний опорный источник включается при установке REFON=1. Когда REF2_5V=1, внутреннее опорное напряжение равно 2,5 В, при REF2_5V=0 опорное напряжение равно 1,5 В.
Внешние опорные источники могут быть задействованы для VR+ и VR- через выводы А4 и А3 соответственно.
Маломощные приложения
Внутренний генератор опорного напряжения АЦП10 разработан для маломощных приложений и имеет особые возможности для быстрого запуска. Для правильной работы не требуется внешнего накопительного конденсатора и связанного с ним времени смещения. Общее время включения опорного источника меньше 30 мкС. Для нормальной развязки источника питания требуется только комбинация параллельно включенных конденсаторов на 10 мкФ и 100 нФ.
-
Когда VCC и VSS используются как опорные напряжения, внутренний опорный источник должен быть полностью выключен установкой REFON=0.
-
Когда используется внешний опорный источник, внутренний источник должен быть полностью выключен. Внешние опорные источники могут быть задействованы для VR+ и VR- через выводы А4 и А3 соответственно.
-
Когда используется внутренний источник и максимальная скорость преобразования ниже 50 ksps, установка ADC10SR=1 уменьшает потребление тока внутренним опорным буфером примерно на 50%.
-
Когда оба бита REFOUT=1 и REFBURST=1, опорный источник представлен снаружи только во время периода выборки и преобразования. Когда REFOUT1=1, а REFBURST=0 очищен, опорное напряжение присутствует внешне постоянно.
18.2.4 Тактирование выборки и преобразования
Аналого-цифровое преобразование инициируется по нарастающему фронту входного сигнала выборки SHI. Источник для SHI выбирается с помощью битов SHSx и может быть таким:
-
Бит ADC10SC
-
Модуль вывода 1 таймера А
-
Модуль вывода 0 таймера А
-
Модуль вывода 2 таймера А
Полярность источника сигнала SHI может быть инвертирована битом ISSH. Биты SHTx выбирают период выборки tsample равным 4, 8, 16 или 64 цикла ADC10CLK. Таймер выборки устанавливает SAMPCON в высокий уровень для выбранного периода выборки после синхронизации с ADC10CLK. Общее время выборки составляет tsample плюс tsync. Переход SAMPCON с высокого уровня на низкий стартует аналого-цифровое преобразование, которому необходимо 13 циклов ADC10CLK, как показано на рис.18-3.
Рис.18-3 Тактирование выборки
Определение длительности выборки
Когда SAMPCON=0, все входы Ax имеют высокое входное сопротивление. Когда SAMPCON=1, выбранный вход Ax можно смоделировать в виде RC фильтра нижних частот в течение периода выборки tsample, как показано на рис.18-4. Внутреннее сопротивление RI (около 2 кОм) мультиплексированного входа последовательно с конденсатором СI (максимум 40 пФ) представляется источником. Конденсатор СI должен быть заряжен напряжением VC в пределах ? младшего бита источника напряжения VS для получения точного 10-разрядного преобразования.
Рис.18-4 Эквивалентная схема аналогового входа
Сопротивление источника RS и RI влияет на tsample. Следующее выражение может быть использовано для вычисления минимального времени выборки tsample при 10-разрядном преобразовании:
При подстановке значений RI и СI, указанных выше, уравнение приобретает следующий вид:
К примеру, если RS равно 10 кОм, tsample должно быть больше 1,83 мкС.
18.2.5 Режимы преобразования
ADC10 имеет четыре режима работы, выбираемые битами CONSEQx так, как описано в таблице 18-1.
Таблица 18-1. Сводный перечень режимов преобразования
CONSEQx | Режим | Операция |
00 | Одноканальный с одиночным преобразованием | Выполняется одно преобразование в одном канале. |
01 | Последовательность каналов | Выполняются однократные преобразования последовательности каналов. |
10 | Повторяющийся одноканальный | Выполняется повторяющееся преобразование в одном канале. |
11 | Повторяющаяся последовательность каналов | Выполняются повторяющиеся преобразования последовательности каналов. |
Одноканальный режим с одиночным преобразованием
В одном канале, выбранном INCHx, однократно выполняется выборка и преобразование. Результат АЦП записывается в регистр ADC10MEM. На рис.18-5 показан процесс одноканального режима с одиночным преобразованием. Если преобразование запускается ADC10SC, поочередные преобразования могут быть запущены битом ADC10SC. Когда используется другой источник запуска, ENC должен переключаться между каждым преобразованием.
Рис.18-5 Одноканальный режим одиночного преобразования
Режим последовательности каналов
В режиме последовательности каналов однократно выполняется выборка и преобразование. Последовательность запускается с выбранного INCHx каналом и декрементируется к каналу А0. Каждый результат АЦП записывается в ADC10MEM. Последовательность останавливается после преобразования в канале А0. На рис.18-6 показан режим последовательности каналов. Если последовательность запускается ADC10SC, поочередные преобразования могут запускаться битом ADC10SC. Когда используется любой другой источник запуска, ENC должен переключаться между каждой последовательностью.
Рис.18-6 Режим последовательности каналов
Повторяющийся одноканальный режим
В одном канале, выбранном INCHx, непрерывно выполняются выборка и преобразование. Каждый результат АЦП записывается в ADC10MEM. На рис.18-7 показан повторяющийся одноканальный режим.
Рис.18-7 Повторяющийся одноканальный режим
Режим повторяющейся последовательности каналов
Непрерывно выполняются выборка и преобразование последовательности каналов. Последовательность начинается с канала, выбранного INCHx и декрементируется к каналу А0. Каждый результат АЦП записывается в ADC10MEM. Последовательность останавливается после преобразования в канале А0, а следующий сигнал запуска стартует последовательность снова. На рис.18-8 показан режим повторяющейся последовательности каналов.
Рис.18-8 Режим повторяющейся последовательности каналов
Использование бита MSC
Для конфигурирования преобразователя на выполнение автоматических поочередных преобразований с максимальной быстротой можно воспользоваться функцией множественных выборок и преобразований. Если MSC=1 и CONSEQx>1, первый фронт сигнала SHI запустит первое преобразование. Поочередные преобразования запускаются автоматически после завершения предыдущего преобразования. Дополнительные фронты на SHI игнорируются, пока последовательность не закончена в режиме одиночной последовательности или пока бит ENC не будет переключен в повторяющийся одноканальный режим или повторяющийся режим последовательностей. Функция бита ENC не изменяется, пока используется бит MSC.
Останов преобразований
Прекращение активности АЦП10 зависит от режима работы. Рекомендуются следующие способы останова активного преобразования или последовательности преобразований:
-
Сброс ENC в одноканальном режиме одиночного преобразования немедленно останавливает преобразование, при этом результат оказывается непредсказуемым. Для получения правильного результата необходимо опрашивать бит занятости ADC10BUSY до сброса перед очисткой ENC.
-
Сброс ENC во время повторяющегося одноканального преобразования останавливает преобразователь в конце текущего преобразования.
-
Сброс ENC во время последовательного или повторно-последовательного режимов останавливает преобразователь в конце последовательности.
-
Любой режим преобразования может быть немедленно остановлен установкой CONSEQx=0 и сбросом бита ENC. Данные преобразования будут ненадежны.
18.2.6 Котроллер переноса данных АЦП10
АЦП10 имеет контроллер переноса данных (DTC) для автоматического переноса результатов преобразования из ADC10MEM в другое место памяти на кристалле. DTC включается установкой регистра ADC10DTC1 в ненулевое значение.
Когда DTC включен, каждый раз по завершении преобразования АЦП10 и загрузки результата в ADC10MEM, запускается перенос данных. Вмешательства программного обеспечения для управления АЦП10 не требуется до тех пор, пока заданное количество данных преобразования не будет перемещено. Для каждого DTC-переноса требуется один такт MCLK ЦПУ. Во избежание любой конфликтной ситуации на шине во время DTC-переноса ЦПУ приостанавливается, если было активно, на один MCLK, необходимый для переноса.
DTC-перенос не должен инициироваться, пока АЦП10 занят. Программное обеспечение должно гарантировать, что никакое активное преобразование или последовательность не выполняется, когда DTC конфигурируется:
; Проверка активности АЦП10
BIC.W #ENC,&ADC10CTL0 ;
busy_test BIT.W #BUSY,&ADC10CTL1 ;
JNZ busy_test ;
MOV.W #xxx,&ADC10SA ; Безопасность
MOV.B #xx,&ADC10DTC1 ;
; продолжение настройки
Режим одноблочного переноса
Одноблочный режим выбирается, если ADC10TB сброшен. Значение n в ADC10DTC1 определяет общее количество переносов для блока. Стартовый адрес блока задается где-либо в адресном диапазоне MSP430 с помощью 16-разрядного регистра ADC10SA. Блок заканчивается на адресе ADC10SA+2n-2. Режим одноблочного переноса показан на рис.18-9.
Внутренний указатель адреса первоначально равен ADC10SA, а внутренний счетчик перенос первоначально равен «n». Внутренний указатель и счетчик не видимы для программного обеспечения. DTC переносит значение слова ADC10MEM по адресу, находящемуся в адресном указателе ADC10SA. После каждого DTC-переноса внутренний адресный указатель инкрементируется на два, а внутренний счетчик переносов декрементируется на один.
DTC переносы продолжаются с каждой загрузкой ADC10MEM, пока внутренний счетчик переносов не станет равным нулю. Дополнительные DTC переносы происходить не будут до записи в ADC10SA. Когда DTC используется в одноблочном режиме, флаг ADC10IFG устанавливается только после завершения переноса полного блока. На рис.18-10 показана диаграмма состояний одноблочного режима.
Рис.18-10 Диаграмма состояний управления переносом данных в одноблочном режиме переноса