Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lr3_msp430_analogov_i_vvod_v_vod.docx
Скачиваний:
18
Добавлен:
18.03.2015
Размер:
100.14 Кб
Скачать

3.1.4. Модуль 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-битный режим).

3.2. Программирование аналогового ввода-вывода

Среда разработки Energia и язык Arduino предоставляют следующие функции для программирования аналогового ввода и вывода.

Функция int analogRead().

Описание. Читает значение определенного аналогового вывода. Микроконтроллеры MSP430, входящие в комплект отладочного модуля LaunchPad, имеют 10-битный АЦП. Это означает, что входные напряжения в диапазоне между 0В и +5В переводятся в цифровые значения от 0 до 1023. Дискретность преобразования в таком случае составляет 5/1024 = 0,0049В. Выполнение преобразования занимает порядка 100мкс, т.е. максимальная скорость считывания составляет 10 000 раз в секунду.

Синтаксис: analogRead(pin).

Параметры: pin - номер контакта микроконтроллера, с которого следует прочесть значение входного аналогового сигнала (обычно от 0В до +5В). Доступные контакты для аналогового ввода показаны на рис. 1.9 и 1.10.

Возвращает: значение целого типа в диапазоне от 0 до 1023.

Примечание: если аналоговый вход ни к чему не подключен, то возвращаемое значение будет зависеть от различных факторов, в том числе от уровней напряжения на соседних выводах и заканчивая расстоянием от рук до вывода.

Функция analogWrite().

Описание: Пишет аналоговое значение (заполнение ШИМ) в порт. Может использоваться, например, для установки различной яркости свечения светодиодов, регулирования скорости двигателей. После вызова этой функции на выводе будет присутсвовать меандр с определенным коэффициентом заполнения импульсов до нового вызова этой или другой функции в применении к этому порту. Частота сигнала ШИМ состовляет примерно 490Гц.

Синтаксис: analogWrite(pin, value).

Параметры:

pin - номер контакта микроконтроллера, на который нужно выдать аналоговый сигнал. Доступные контакты для аналогового ввода показаны на рис. 1.9 и 1.10.;

value - коэффициент заполнения ШИМ-сигнала: между 0 (всегда низкий уровень) и 255 (всегда высокий уровень).

Примечание: функция analogWrite не имеет никакого отношения к портам АЦП и функции analogRead. Перед использованием функции analogWrite() не нужно вызывать pinMode() для установки вывода как выходного.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]