Главная Учебники - Разные Микроконтроллеры MSP430. Руководство пользователя
поиск по сайту правообладателям
|
|
|
содержание .. 5 6 7
Раздел 18АЦП10Модуль АЦП10 представляет собой высокоэффективный 10-разрядный аналого-цифровой преобразователь. В этом разделе описывается АЦП10. АЦП10 реализован в устройствах MSP430x11x2 и MSP430x12x2. 18.1 Введение в АЦП10Модуль АЦП10 обеспечивает быстрые 10-разрядные аналого-цифровые преобразования. Модуль имеет 10-разрядное ядро с регистром последовательного приближения SAR, схему выборки, опорный генератор и контроллер переноса данных (DTC). DTC позволяет выборкам АЦП10 преобразовываться и сохраняться в любом месте памяти без вмешательства ЦПУ. Модуль может конфигурироваться программным обеспечением пользователя для поддержки разнообразных приложений. АЦП10 обладает следующими возможностями:
Блок-схема АЦП10 показана на рис.18-1.
18.2 Функционирование АЦП10Модуль АЦП10 конфигурируется программным обеспечением пользователя. Настройка и работа АЦП10 рассматриваются в следующих далее разделах. 18.2.1 10-разрядное ядро АЦП Ядро АЦП преобразует аналоговый входной сигнал в 10-разрядное цифровое представление и сохраняет результат в регистре ADC10MEM. Ядро использует два программно выбираемых уровня напряжений (VR+ и VR-) для задания верхнего и нижнего пределов преобразования. Цифровой выход (NADC) составляет полную шкалу (03FFh), когда входной сигнал равен или выше VR+, и равен нулю, когда входной сигнал равен или ниже VR-. Входной канал и опорные уровни напряжений (VR+ и VR-) задаются в памяти управления преобразованиями. Результаты преобразования могут быть представлены в натуральном двоичном формате или формате с дополнением до двух. Формула преобразования для результата АЦП NADC с использованием натурального двоичного формата выглядит следующим образом:
Ядро АЦП12 конфигурируется двумя управляющими регистрами: ADC10CTL0 и ADC10CTL1. Ядро включается битом ADC10ON. За некоторыми исключениями биты управления АЦП10 могут быть модифицированы только когда ENC=0. ENC должен быть установлен в 1 перед выполнением любого преобразования. Выбор тактирования преобразования ADC10CLK используется как для тактирования преобразования, так и для генерации периода выборки. Для выбора источника тактирования АЦП10 используются биты ADC10SSELx, а частота этого источника может быть поделена на 1-8 с помощью битов ADC10DIVx. Возможны следующие источники ADC10CLK: SMCLK, MCLK, ACLK и внутренний осциллятор ADC10OSC. Внутренне генерируемая частота ADC10OSC лежит в диапазоне 5 МГц, на варьируется в зависимости от конкретного устройства, напряжения питания и температуры. См. справочное руководство конкретного устройства для уточнения значения ADC10OSC. Пользователь должен гарантировать, что выбранный источник тактирования для ADC10CLK останется активным до конца преобразования. Если тактовые сигналы будут сняты во время преобразования, операция не будет завершена и любой результат будет неверным. 18.2.2 Входы АЦП10 и мультиплексор Восемь внешних и четыре внутренних аналоговых сигнала выбираются как канал для преобразования входным аналоговым мультиплексором. Входной мультиплексор имеет тип break-before-make (разрыв перед включением), что уменьшает инжекцию шумов от канала к каналу, возникающую при переключении каналов, как показано на рис.18-2. Входной мультиплексор также является Т-переключателем, минимизирующим взаимосвязь между каналами. Невыбранные каналы изолированы от АЦП, а промежуточный узел подключен к аналоговой земле (AVSS), поэтому паразитная емкость заземляется, что помогает устранить перекрестные помехи. АЦП10 использует метод перераспределения заряда. Когда входы внутренне переключаются, переключение может привести к переходным процессам на входном сигнале. Эти переходные процессы затухают и устанавливаются до появления ошибочного преобразования.
Выбор аналогового порта Внешние входы АЦП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 нФ.
18.2.4 Тактирование выборки и преобразования Аналого-цифровое преобразование инициируется по нарастающему фронту входного сигнала выборки SHI. Источник для SHI выбирается с помощью битов SHSx и может быть таким:
Полярность источника сигнала SHI может быть инвертирована битом ISSH. Биты SHTx выбирают период выборки tsample равным 4, 8, 16 или 64 цикла ADC10CLK. Таймер выборки устанавливает SAMPCON в высокий уровень для выбранного периода выборки после синхронизации с ADC10CLK. Общее время выборки составляет tsample плюс tsync. Переход SAMPCON с высокого уровня на низкий стартует аналого-цифровое преобразование, которому необходимо 13 циклов ADC10CLK, как показано на рис.18-3.
Определение длительности выборки Когда SAMPCON=0, все входы Ax имеют высокое входное сопротивление. Когда SAMPCON=1, выбранный вход Ax можно смоделировать в виде RC фильтра нижних частот в течение периода выборки tsample, как показано на рис.18-4. Внутреннее сопротивление RI (около 2 кОм) мультиплексированного входа последовательно с конденсатором СI (максимум 40 пФ) представляется источником. Конденсатор СI должен быть заряжен напряжением VC в пределах ? младшего бита источника напряжения VS для получения точного 10-разрядного преобразования.
Сопротивление источника RS и RI влияет на tsample. Следующее выражение может быть использовано для вычисления минимального времени выборки tsample при 10-разрядном преобразовании:
При подстановке значений RI и СI, указанных выше, уравнение приобретает следующий вид:
К примеру, если RS равно 10 кОм, tsample должно быть больше 1,83 мкС. 18.2.5 Режимы преобразования ADC10 имеет четыре режима работы, выбираемые битами CONSEQx так, как описано в таблице 18-1. Таблица 18-1. Сводный перечень режимов преобразования
Одноканальный режим с одиночным преобразованием В одном канале, выбранном INCHx, однократно выполняется выборка и преобразование. Результат АЦП записывается в регистр ADC10MEM. На рис.18-5 показан процесс одноканального режима с одиночным преобразованием. Если преобразование запускается ADC10SC, поочередные преобразования могут быть запущены битом ADC10SC. Когда используется другой источник запуска, ENC должен переключаться между каждым преобразованием.
Режим последовательности каналов В режиме последовательности каналов однократно выполняется выборка и преобразование. Последовательность запускается с выбранного INCHx каналом и декрементируется к каналу А0. Каждый результат АЦП записывается в ADC10MEM. Последовательность останавливается после преобразования в канале А0. На рис.18-6 показан режим последовательности каналов. Если последовательность запускается ADC10SC, поочередные преобразования могут запускаться битом ADC10SC. Когда используется любой другой источник запуска, ENC должен переключаться между каждой последовательностью.
Повторяющийся одноканальный режим В одном канале, выбранном INCHx, непрерывно выполняются выборка и преобразование. Каждый результат АЦП записывается в ADC10MEM. На рис.18-7 показан повторяющийся одноканальный режим.
Режим повторяющейся последовательности каналов Непрерывно выполняются выборка и преобразование последовательности каналов. Последовательность начинается с канала, выбранного INCHx и декрементируется к каналу А0. Каждый результат АЦП записывается в ADC10MEM. Последовательность останавливается после преобразования в канале А0, а следующий сигнал запуска стартует последовательность снова. На рис.18-8 показан режим повторяющейся последовательности каналов.
Использование бита MSC Для конфигурирования преобразователя на выполнение автоматических поочередных преобразований с максимальной быстротой можно воспользоваться функцией множественных выборок и преобразований. Если MSC=1 и CONSEQx>1, первый фронт сигнала SHI запустит первое преобразование. Поочередные преобразования запускаются автоматически после завершения предыдущего преобразования. Дополнительные фронты на SHI игнорируются, пока последовательность не закончена в режиме одиночной последовательности или пока бит ENC не будет переключен в повторяющийся одноканальный режим или повторяющийся режим последовательностей. Функция бита ENC не изменяется, пока используется бит MSC. Останов преобразований Прекращение активности АЦП10 зависит от режима работы. Рекомендуются следующие способы останова активного преобразования или последовательности преобразований:
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 показана диаграмма состояний одноблочного режима.
Режим двухблочного переноса Двухблочный режим выбирается, если бит ADC10TB установлен. Значение n в ADC10DTC1 определяет количество переносов для одного блока. Адресный диапазон первого блока задается в любом месте диапазона адресов MSP430 с помощью 16-разрядного регистра ADC10SA. Первый блок заканчивается на адресе ADC10SA+2n-2. Адресный диапазон для второго блока задается с SA+2n по SA+4n-2. Режим двухблочного переноса показан на рис.18-11.
Внутренний указатель адреса первоначально равен ADC10SA, а внутренний счетчик переносов первоначально равен «n». Внутренний указатель и счетчик являются невидимыми для программного обеспечения. DTC переносит значение слова ADC10MEM по адресу, находящемуся в адресном указателе ADC10SA. После каждого DTC-переноса внутренний адресный указатель инкрементируется на два, а внутренний счетчик переносов декрементируется на один. DTC переносы продолжаются с каждой загрузкой ADC10MEM, пока внутренний счетчик переносов не станет равным нулю. К этому моменту блок один полон и оба бита ADC10IFG и ADC10B1 установлены. Пользователь может проверить бит ADC10B1 для определения, что блок один полон. DTC продолжает с блока два. Во внутренний счетчик переносов автоматически перезагружается значение «n». При следующей загрузке ADC10MEM контроллер DTC начинает перенос результатов преобразований в блок два. После завершения n переносов блок два полон. Флаг ADC10IFG устанавливается, а бит ADC10B1 очищается. Программное обеспечение пользователя может проверить очистку бита ADC10B1 для определения, что блок два полон. На рис. 18-12 показана диаграмма состояний двухблочного режима.
Непрерывный перенос Режим непрерывного переноса выбирается, если установлен бит ADC10CT. DTС не будет останавливаться после завершения переноса блока один (в одноблочном режиме) или блока два (в двухблочном режиме). Внутренний адресный указатель и счетчик переносов устанавливаются на значения ADC10SA и n соответственно. Переносы продолжаются, начиная с блока один. Если бит ADC10CT сброшен, DTC прекращает переносы после завершения текущих переносов в блоке один (в одноблочном режиме) или блоке два (в двухблочном режиме). Длительность цикла DTC переноса Для каждого переноса ADC10MEM контроллеру DTC требуется один или два тактовых цикла MCLK для синхронизации, один для выполнения собственно переноса (пока ЦПУ приостановлено) и один цикл времени ожидания. Поскольку DTC использует MCLK, длительность цикла DTC определяется рабочим режимом MSP430 и настройками системы тактирования. Если источник MCLK активен, но ЦПУ выключено, DTC использует источник MCLK для каждого переноса без включения ЦПУ. Если источник MCLK выключен, DTC временно рестартует MCLK, с использованием в качестве источника тактирования для MCLK частоту DCOCLK, но только во время переноса. ЦПУ остается выключенным и после DTC переноса, MCLK снова выключается. Максимальная длительность цикла DTC для всех рабочих режимах показана в таблице 18-2. Таблица 18-2. Максимальная длительность цикла DTC
* Дополнительные 6 мкС необходимы для запуска DCOCLK. Этот параметр в справочном руководстве называется t(LPMx). 18.2.7 Использование интегрированного температурного датчика При использовании имеющегося на кристалле температурного датчика пользователь выбирает входной аналоговый канал INCHx=1010. Любая другая конфигурация рассматривается как выбор внешнего канала, включая выбор опорного источника, выбор памяти преобразований и т.д. Типичная передаточная функция температурного датчика показана на рис.18-13. При использовании температурного датчика, период выборки должен быть больше 30 мкС. Ошибка смещения температурного датчика может быть большой и для большинства приложений может потребоваться калибровка. См. справочные данные конкретного устройства для выяснения подробностей. При выборе температурного датчика автоматически запускается расположенный на кристалле опорный генератор в качестве источника напряжения для температурного датчика. Однако это не включает выход VREF+ и не влияет на выбор опорного источника для преобразования. Процедура выбора источника для преобразования информации с температурного датчика подобна процедуре выбора любого другого канала.
18.2.8 Заземление АЦП и рассмотрение влияния помех Как в любом АЦП с высоким разрешением, для устранения нежелательных паразитных эффектов и шумов, а также предотвращения возникновения паразитных контуров с замыканием на землю, необходима особая разводка печатной платы и методы заземления. Паразитные общие петли формируются, когда ток возврата от АЦП проходит совместно с токами других аналоговых и цифровых схем. Если не принимать специальных мер, этот ток может генерировать небольшие нежелательные напряжения смещения, которые могут прибавляться или вычитаться из опорного или входного напряжений аналого-цифрового преобразователя. Способ подключения, показанный на рис.18-14 позволяет этого избежать. В дополнение к заземлению, пульсации и шумовые выбросы на линиях источника питания, вызванные переключениями цифровых схем или переключениями в источнике питания могут повредить результат преобразования. Для получения высокой точности рекомендуется создавать разработки, свободные от шумов.
18.2.9 Прерывания АЦП10 Одно прерывание и один вектор прерываний связаны с АЦП10, как показано на рис.18-15. Когда DTC не используется (ADC10DTC1=0), флаг ADC10IFG устанавливается, когда результаты преобразования загружаются в ADC10MEM. Когда DTC используется (ADC10DTC1>0), флаг ADC10IFG устанавливается, когда завершается перенос блока и внутренний счетчик переносов «n»=0. Если оба бита ADC10IE и GIE установлены, флаг ADC10IFG генерирует запрос прерывания. Флаг ADC10IFG автоматически сбрасывается, когда запрос прерывания обработан, кроме того, он может быть сброшен программно.
18.3 Регистры АЦП10Регистры АЦП10 приведены в таблице 18-3. Таблица 18-3. Регистры АЦП10
ADC10CTL0, управляющий регистр 0 АЦП10
Модифицируется, только когда ENC=0
ADC10CTL1, управляющий регистр 1 АЦП10
Модифицируется, только когда ENC=0
ADC10AE, управляющий регистр включения аналогового входа
ADC10MEM, регистр памяти преобразования, двоичный формат
ADC10MEM, регистр памяти преобразования, формат с дополнением до двух
ADC10DTC0, регистр 0 управления переносом данных
ADC10DTC1, регистр 1 управления переносом данных
ADC10SA, регистр стартового адреса для переноса данных
Раздел 19ЦАП12Модуль ЦАП12 представляет собой 12-разрядный цифро-аналоговый преобразователь. В этом разделе описывается ЦАП12. В устройствах MSP430x15x и MSP430x16x реализовано два модуля ЦАП12. 19.1 Введение в ЦАП12Модуль АЦП12 представляет собой 12-разрядный ЦАП на основе матрицы резисторов R-2R. ЦАП12 может быть сконфигурирован в 8-ми или 12-разрядном режиме и может использоваться совместно с контроллером DMA. Когда в устройстве представлено несколько модулей ЦАП12, они могут быть сгруппированы вместе для синхронного обновления. ЦАП12 обладает следующими возможностями:
Блок-схема двух модулей ЦАП12 в устройствах MSP430F15x/16x показана на рис.19-1.
19.2 Функционирование ЦАП12Модуль ЦАП12 конфигурируется программным обеспечением пользователя. Настройка и функционирование ЦАП12 обсуждаются в нижеследующих разделах. 19.2.1 Ядро ЦАП12 ЦАП12 может быть сконфигурирован на работу в 8-ми или 12-разрядном режиме с помощью бита DASC12RES. Кроме того, полный диапазон вывода программируется через бит DAC12IR и может быть 1х или 3х-кратен выбранному опорному напряжению. Эта возможность позволяет пользователю управлять динамическим диапазоном ЦАП12. Когда используется внутренний опорный источник, полный диапазон вывода всегда равен 1х опорного напряжения. Бит DAC12DF позволяет пользователю выбирать для ЦАП натуральные двоичные данные или данные с дополнением до двух. Когда используется натуральный двоичный формат данных, справедлива формула для выходного напряжения, представленная в таблице 19-1. Таблица 19-1. Полный диапазон ЦАП12 (Vref = VeREF+ или VREF+)
В 8-разрядном режиме максимальное используемое значение для DAC12_xDAT равно 0FFh, а в 12-разрядном режиме максимальное используемое значение для DAC12_xDAT равно 0FFFh. Значения, превышающие указанные величины могут быть записаны в регистр, но все первые биты будут проигнорированы. Выбор порта ЦАП12 Выходы ЦАП12 мультиплексированы с ножками порта Р6 и аналоговыми входами АЦП12. Когда DAC12AMPx>0, для ножек автоматически выбирается функция ЦАП12, независимо от состояния связанных с ними битов P6SELx и P6DIRx. 19.2.2 Опорный источник ЦАП12 Опорный источник для ЦАП12 конфигурируется для использования либо двух внешних опорных напряжений, либо внутреннего опорного источника 1.5В/2.5В от модуля АЦП12 с помощью битов DAC12SREFx. Когда DAC12SREFx={0,1}, как опорный используется сигнал VREF+, а когда DAC12SREFx={2,3}, в качестве опорного используется сигнал VeREF+. При использовании внутреннего опорного источника АЦП12, он должен быть включен и сконфигурирован через соответствующие управляющие биты АЦП12 (см. раздел «АЦП12»). Как только опорный источник АЦП12 сконфигурирован, опорное напряжение подается на VREF+. Буферы входного опорного сигнала и выходного напряжения ЦАП12 Буферы входного опорного сигнала и выходного напряжения ЦАП12 могут быть сконфигурированы для оптимизации времени установки1 в зависимости от потребляемой мощности. Восемь возможных комбинаций выбираются с помощью битов DAC12AMPx. При низкой/низкой установке время установки наибольшее, а потребляемый обеими буферами ток наименьший. Средние и высокие настройки позволяют получить быстрое время установки, однако потребляемый ток возрастет. См. справочное руководство конкретного устройства для выяснения подробных параметров. 19.2.3 Обновление выходного напряжения ЦАП12 Регистр DAC12_xDAT может быть напрямую подключен к ядру ЦАП12 или дважды буферизирован. Источник запуска для обновления выходного напряжения ЦАП12 выбирается с помощью битов DAC12LSELx. Когда DAC12LSELx=0, защелка данных открыта, и регистр DAC12_xDAT напрямую подключен к ядру ЦАП12. Выход ЦАП12 обновляется немедленно, как только новые данные ЦАП12 записаны в регистр DAC12_xDAT, независимо от состояния бита DAC12ENC. Когда DAC12LSELx=1, данные ЦАП12 защелкнуты и поступают к ядру ЦАП12 после записи новых данных в DAC12_хDAT. Когда DAC12LSELx=2 или 3, данные защелкиваются по фронту сигнала с выхода таймера А CCR1 или с выхода таймера В CCR2 соответственно. DAC12ENC должен быть установлен, чтобы новые данные защелкивались, когда DAC12LSELx>0.
19.2.4 Формат данных DAC12_xDAT ЦАП12 поддерживает два формата данных: натуральный двоичный и формат с дополнением до двух. Когда используется натуральный формат данных, полный диапазон вывода равен 0FFFh в 12-разрядном режиме (0FFh в 8-разрядном режиме), как показано на рис.19-2.
Когда используется формат данных с дополнением до двух, диапазон сдвигается так, что при значении DAC12_xDAT равному 0800h (0080h в 8-разрядном режиме), выходное напряжение будет равно нулю, при 0000h – выходное напряжение составит половину шкалы, а при 07FFh (007Fh для 8-разрядного режима) выходное напряжение достигнет полного диапазона, как показано на рис.19-3.
19.2.5 Калибровка смещения выходного усилителя ЦАП12 Напряжение смещения выходного усилителя ЦАП12 может быть положительным или отрицательным. Когда смещение отрицательное, выходной усилитель пытается управлять отрицательным напряжением, но не может этого сделать. Выходное напряжение остается равным нулю, пока цифровой вход ЦАП12 не обеспечит достаточного для преодоления отрицательного напряжения смещения положительного выходного напряжения. Получающаяся передаточная функция показана на рис.19-4.
Когда выходной усилитель имеет положительное смещение, ноль на цифровом входе не позволяет получить нулевое выходное напряжение. Выходное напряжение ЦАП12 достигает максимального выходного сигнала до того момента, когда данные на входе ЦАП12 достигнут максимального кода. Это показано на рис.19-5.
ЦАП12 имеет возможность калибровки напряжения смещения выходного усилителя. Установка бита DAC12CALON инициирует калибровку смещения. Калибровка должна быть завершена до использования ЦАП12. Когда калибровка выполнена, бит DAC12CALON автоматически сбрасывается. Биты DAC12AMPx должны быть сконфигурированы до калибровки. 19.2.6 Группировка нескольких модулей ЦАП12 Несколько ЦАП12 могут быть сгруппированы вместе битом DAC12GRP для синхронного обновления каждого выхода ЦАП12. Аппаратно гарантируется, что все модули ЦАП12 в группе обновляются одновременно, независимо от любого прерывания или NMI-события. В устройствах MSP430x15x и MSP430x16x модули DAC12_0 и DAC12_1 группируются установкой бита DAC12GRP модуля DAC12_0. Бит DAC12GRP модуля DAC12_1 не используется. Когда DAC12_0 и DAC12_1 группируются, необходимо:
Когда DAS12_0 и DAC12_1 сгруппированы, оба регистра DAC12_xDAT должны быть записаны перед обновлением выходов – даже если данные для одного или обоих ЦАП не изменились. На рис.19-6 показан пример тактирования защелкивания-обновления для сгруппированных модулей DAC12_0 и DAC12_1. Когда бит DAC12GRP=1 модуля DAC12_0 и оба бита DAC12LSELx>0 модулей DAC12_x и любой DAC12ENC=0, никакой ЦАП12 не обновляется.
19.2.7 Использование ЦАП12 с контроллером DMA Устройства MSP430 с интегрированным контроллером DMA могут автоматически перемещать данные в регистр DAC12_xDAT. DMA-переносы выполняются без вмешательства ЦПУ и независимо от любого режима пониженного энергопотребления. Контроллер DMA увеличивает пропускную способность модуля ЦАП12 и расширяет область приложений с малым потреблением, поскольку ЦПУ во время выполнения переноса данных остается выключенным. Приложения, нуждающиеся в генерации периодических колебаний, могут получить преимущества от использования контроллера DMA с ЦАП12. К примеру, приложение, вырабатывающее синусоидальное колебание может сохранит значения синуса в таблице. Контроллер DMA может непрерывно автоматически переносить эти значения в ЦАП12 через заданные интервалы, создавая синусоиду без участия ЦПУ. См раздел «Контроллер DMA» для получения большей информации о контроллере DMA.
19.2.8 Прерывания ЦАП12 Вектор прерываний ЦАП12 является общим с контроллером DMA. Программное обеспечение должно проверять флаги DAC12IFG и DMAIFG для определения источника прерывания. Бит DAC12IFG устанавливается, когда DAC12xLSELx>0 и данные ЦАП12 защелкнуты от регистра DAC12_xDAT в защелке данных. Когда DAC12xLSELx=0, флаг DAC12IFG не устанавливается. Установленный бит DAC12IFG показывает, что ЦАП12 готов для приема новых данных. Если установлены оба бита DAC12IE и GIE, DAC12IFG генерирует запрос прерывания. Флаг DAC12IFG не сбрасывается автоматически. Его должно сбрасывать программное обеспечение.
19.3 Регистры ЦАП12Регистры ЦАП12 приведены в таблице 19-2. Таблица 19-2. Регистры ЦАП12
DAC12_xCTL, управляющий регистр ЦАП12
Модифицируется, только когда DAC12ENC=0 * Не используется в устройствах MSP430x15x и MSP430x16x
DAC12_xDAT, регистр данных ЦАП12
Замечания по ошибкам в оригинале MSP430
содержание .. 5 6 7
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||