Модуль аналогового компаратора
Модуль Comparator_A+ представляет собой аналоговый компаратор напряжения. Он обеспечивает выполнение точных аналого-цифровых преобразований методом прямого интегрирования, контроль напряжения питания и мониторинг внешних аналоговых сигналов.
Модуль Comparator_A+ имеет следующие особенности:
- мультиплексоры на обоих (инвертирующем и неинвертирующем) входах модуля;
- программно подключаемый RC-фильтр на выходе компаратора;
- возможность подключения выхода компаратора к входу захвата Таймера A;
- программное управление входным буфером порта;
- поддержка прерываний;
- конфигурируемый генератор опорного напряжения;
- возможность выключения компаратора и генератора опорного напряжения;
- входной мультиплексор компаратора.
Конфигурирование модуля Comparator_A+ осуществляется пользовательской программой.
Компаратор сравнивает аналоговые напряжения на неинвертирующем (+) и
инвертирующем (–) входах. Если напряжение на неинвертирующем входе больше, чем на инвертирующем, то на выходе компаратора CAOUT появляется сигнал ВЫСОКОГО уровня. Компаратор может быть включен или выключен посредством определенного управляющего бита. При выключенном компараторе на выходе CAOUT постоянно присутствует НИЗКИЙ уровень.
Входные аналоговые ключи используются для подключения или отключения входов модуля к/от соответствующих выводов микроконтроллера. Оба входа компаратора конфигурируются независимо друг от друга. Возможно:
- подавать внешние сигналы на неинвертирующий и инвертирующий входы компаратора;
- выводить напряжение от внутреннего генератора опорного напряжения на соответствующий вывод микроконтроллера.
Если необходимо, то к выходу компаратора может быть подключён внутренний фильтр. Если разница напряжений на входах компаратора достаточно мала, то на его выходе всегда начинают генерироваться колебания. Эта генерация (рис. 3.1) вызывается внутренними и внешними паразитными связями, а также перекрёстными помехами между сигнальными линиями, линиями питания и другими элементами системы. Колебания на выходе компаратора снижают точность и разрешающую способность результата сравнения. Использование фильтра может уменьшить ошибки, вызванные генерацией на выходе компаратора.
Рис. 3.1. Влияние RC-фильтра на выходной сигнал компаратора
На любой из входов компаратора может быть подан сигнал от генератора опорного напряжения. Величина выходного напряжения генератора задаётся программно. Также программируется вывод компаратора, на который поступает опорное напряжение от генератора. Если на оба входа компаратора подаются внешние сигналы, то внутренний генератор опорного напряжения следует выключать для уменьшения тока, потребляемого модулем. Генератор может формировать напряжение, равное четверти или половине напряжения питания VCC, или же фиксированное напряжение, равное пороговому напряжению транзистора (~0.55 В).
Модуль 10-битного АЦП.
Модуль 10-битного АЦП ADC10 представляет собой быстродействующий 10-битный аналого-цифровой преобразователь. Модуль ADC10 обеспечивает быстрое выполнение 10-битных аналого-цифровых преобразований. В составе модуля имеется 10-битное ядро с регистром последовательного приближения, блок управления выборкой, генератор опорного напряжения и контроллер пересылки данных (DTC).
Контроллер DTC позволяет модулю сохранять результаты преобразований в пределах всего адресного пространства без использования ЦПУ. Модуль может
конфигурироваться пользовательской программой в соответствии с требованиями различных приложений.
Модуль ADC10 имеет следующие особенности:
- максимальная скорость преобразования — более 200 тыс. выборок/с;
- 10-битный преобразователь с монотонной характеристикой без пропуска кодов;
- устройство выборки/хранения с программируемым временем выборки;
- запуск преобразования производится программно или по сигналу от Таймера B;
- программно конфигурируемый внутренний генератор опорного напряжения (1.5 В или 2.5 В);
- внешний или внутренний источник опорного напряжения (ИОН) - выбирается программно;
- восемь каналов преобразования внешних сигналов (12 в моделях MSP430x22x);
- каналы преобразования для внутреннего датчика температуры, напряжения VCC и внешних опорных напряжений;
- конфигурируемый источник тактового сигнала;
- четыре режима преобразования: одноканальный, многократный одноканальный, последовательный и многократный последовательный;
- ядро АЦП и ИОН могут выключаться независимо друг от друга;
- контроллер пересылки данных для автоматического сохранения результатов преобразований.
Конфигурирование модуля ADC10 осуществляется пользовательской программой.
Ядро АЦП преобразует аналоговый сигнал в 10-битный цифровой код и сохраняет результат в регистре ADC10MEM. Верхний и нижний пределы преобразования определяются двумя программируемыми уровнями напряжения (VR+ и VR–). Результат преобразования равен максимальному значению (03FFh), если уровень входного сигнала Vin больше или равен VR+, и нулю, если уровень входного сигнала меньше или равен VR–. Входной канал и уровни опорных напряжений (VR+ и VR–) задаются регистрами управления модуля. Результат преобразования может быть представлен в обычном виде или в дополнительном коде. При использовании обычного двоичного кода результат аналого-цифрового преобразования определяется выражением:
N = 1023 × (Vin – VR-)/(VR+ – VR-).
Конфигурирование ядра АЦП осуществляется двумя регистрами управления ADC10CTL0 и ADC10CTL1.
Входной аналоговый мультиплексор позволяет выбирать для преобразования один из 8 внешних и 4 внутренних аналоговых сигналов. Внешние входы модуля ADC10 мультиплексированы с линиями портов ввода/вывода, которые представляют собой цифровые схемы на КМОП-элементах. Модуль ADC10 разработан для использования в приложениях с низким энергопотреблением. Поэтому ядро автоматически отключается в те периоды времени, когда модуль не выполняет преобразований, и автоматически включается при необходимости.
Модуль ADC10 поддерживает четыре режима работы:
Однократный одноканальный режим преобразования. В этом режиме выполняется однократное преобразование выбранного канала. Результат преобразования заносится в регистр ADC10MEM.
Однократный последовательный режим преобразования. В этом режиме выполняется цикл преобразований нескольких последовательно расположенных каналов, по одному преобразованию на канал. Первый канал последовательности задаётся программно, а последним является канал A0. Результат каждого преобразования заносится в регистр ADC10MEM.
Циклический одноканальный режим преобразования. В этом режиме периодически выполняется преобразование выбранного канала. Результат преобразования заносится в регистр ADC10MEM.
Циклический последовательный режим преобразования. В этом режиме периодически выполняется цикл преобразований нескольких последовательно расположенных каналов, по одному преобразованию на канал. Первый канал последовательности задаётся программно, а последним является канал A0. Результат каждого преобразования заносится в регистр ADC10MEM. Цикл завершается преобразованием канала A0, а повторный запуск цикла производится по следующему сигналу запуска.
В составе модуля ADC10 имеется контроллер передачи данных (DTC), предназначенный для автоматической пересылки результатов преобразования из регистра ADC10MEM в другие ячейки внутренней памяти. Контроллер DTC включается при записи в регистр ADC10DTC1 ненулевого значения.
При включённом контроллере пересылка данных производится каждый раз, когда модуль завершает преобразование и загружает результат в регистр ADC10MEM. Со стороны программы не требуется никаких действий по управлению модулем до тех пор, пока не будет передано заданное число отсчётов.
Модуль 12-битного ЦАП.
Модуль 12-битного ЦАП DAC12 представляет собой цифро-аналоговый преобразователь с потенциальным выходом. Модуль DAC12 может работать в 8- или 12-битном режимах. Модуль DAC12 имеет следующие особенности:
- монотонная характеристика в пределах 12-битного диапазона;
- потенциальный выход с разрешением 8 или 12 бит;
- программируемое соотношение между временем установления и потреблением;
- внешний или внутренний источник опорного напряжения;
- использует данные в натуральном двоичном коде или в дополнительном коде;
- возможность самокалибровки для коррекции напряжения смещения;
- возможность синхронного обновления выходов нескольких модулей DAC12.
Конфигурирование модуля DAC12 осуществляется пользовательской программой.
Модуль DAC12 может быть сконфигурирован для работы в 8- или 12-битном режиме. Максимальный уровень выходного сигнала (однократное или трёхкратное значение выбранного опорного напряжения) программно устанавливается. Это позволяет пользователю управлять динамическим диапазоном ЦАП. Формат входных - натуральный двоичный код или дополнительный код - также устанавливается программно.
В 8_битном режиме наибольшее используемое значение регистра входного кода DAC12_xDAT составляет 0FFh, а в 12_битном режиме — 0FFFh. Значения, превышающие указанные величины, могут быть записаны в регистр, однако все неиспользуемые старшие биты будут проигнорированы.
Выходы модулей DAC12 мультиплексированы с выводами порта P6, аналоговыми входами модуля ADC12, а также с выводами внешнего опорного напряжения.
Модуль DAC12 поддерживает два формата представления данных: натуральный двоичный код и обратный код. При использовании данных, представленных в натуральном коде, максимальному выходному сигналу в 12-битном режиме соответствует значение 0FFFh (0FFh в 8-битном режиме), как показано на рис. 3.2.
Рис. 3.2. Зависимость выходного напряжения модуля DAC12 от входных данных, представленных в натуральном двоичном коде (12-битный режим).
При использовании данных, представленных в дополнительном коде, диапазон сдвигается таким образом, чтобы при значении 0800h регистра DAC12_xDAT (0080h в 8-битном режиме) выходное напряжение ЦАП было равно нулю, при 0000h — половине от максимального значения, а при 07FFh (007Fh в 8-битном режиме) — максимальному значению, как показано на рис. 3.3.
Рис. 3.3. Зависимость выходного напряжения модуля DAC12 от входных данных, представленных в дополнительном двоичном коде (12-битный режим).