DMA цифро-аналоговое преобразование с микроконтроллером SAM4S: таймер / счетчик

STM32: CMSIS + FreeRTOS. Урок 11 - Цифро-аналоговый преобразователь (ЦАП или DAC) (June 2019).

$config[ads_text] not found
Anonim

DMA цифро-аналоговое преобразование с микроконтроллером SAM4S: таймер / счетчик


Часть первая в этой серии из трех статей посвящена использованию таймера / счетчика SAM4S для точного управления частотой дискретизации ЦАП.

Вспомогательная информация

  • Введение в разработку проекта с помощью Atmel SAM4S Xplained Pro
  • Введение в цифро-аналоговое преобразование

Требуемое оборудование / программное обеспечение

  • Комплект оценки SAM4S Xplained Pro
  • Студия Atmel

Реальный ЦАП

Если вы прочитали мою недавнюю статью, в которой я анализирую производительность цифрового аналого-цифрового преобразователя с широтно-импульсной модуляцией, вы знаете, что PWM ЦАП далеко не впечатляют. Тем не менее, PWM DAC живет, отчасти потому, что (как упоминалось в другой статье по той же теме) многие микроконтроллеры не включают специализированное аппаратное обеспечение ЦАП. Этот относительно распространенный «недостаток ЦАП» - наряду с моим общим нежеланием усложнять дизайн с внешними компонентами, которые были бы совершенно ненужны, если бы производители ИС были настолько добры, чтобы сделать микроконтроллеры именно так, как я их хочу, - объясняет мое большое удовлетворение, когда я найти себя с помощью микроконтроллера, который действительно имеет реальный ЦАП. Это удовлетворение достигает новых высот с помощью устройств серии SAM4S, которые обеспечивают не один, а два аналоговых выхода с цифровым управлением.

Целью этого проекта является генерация синусоидальной волны с использованием модуля ЦАП SAM4S. Эта задача сама по себе достаточно нетривиальна благодаря несколько лабиринтной взаимосвязи между данными SAM4S, Atmel Software Framework (ASF), документацией ASF и фактическим оборудованием микроконтроллера. Несмотря на эту нетривиальность, мы сделаем еще один шаг, подав данные на ЦАП через прямой доступ к памяти (DMA) вместо инструкций ЦП. Мы поговорим больше о DMA в части 3.

Хотя мне нравится смотреть на синусоидальные волны на моем осциллографе, этот проект на самом деле не является самоцелью. Скорее всего, это 1) транспортное средство для изучения важных возможностей SAM4S, а именно точное время / счет, DMA и интегрированное цифро-аналоговое преобразование; и 2) фундамент для других проектов, для которых требуется синхронное цифро-аналоговое преобразование с эффективным ЦП, такое как синтез аудиосигналов или генерация сигналов основной полосы частот для программного обеспечения, определенного радио.

Свободно-беглый или триггерный

Можно использовать ЦАП, просто записав значение в регистр данных преобразования ЦАП. Это называется свободным режимом работы. Аналоговое выходное напряжение обновляется, как только вы записываете данные (на самом деле, 25 часов ЦАП, когда вы записываете данные, больше о деталях аппаратного обеспечения ЦАП в Части 2). Это хорошо для некоторых приложений, но для точного синтеза периодических сигналов (например, синусоиды) нам необходимо убедиться, что все обновления выходного напряжения разделены одинаковыми интервалами. С этой целью мы будем использовать триггерный режим, в котором запись в регистр данных преобразования фактически не изменяет выходное напряжение до тех пор, пока аппаратура ЦАП не будет инициирована отдельным синхронизирующим сигналом. Спецификация SAM4S (стр. 1124) относится к этому триггеру как «внешняя», что несколько вводит в заблуждение. По моему опыту «внешний» обычно означает «внешний для чипа», тогда как в этом случае это означает «внешний для модуля ЦАП». Вот параметры триггерного сигнала:

Как указано на фотографии, эта клемма 1 подключена к выходу A15, а таблица SAM4S (стр. 52) сообщает нам, что мы можем управлять сигналом TIOA1 на PA15, подключив этот вывод к периферийному B:

Теперь, когда у нас есть сигнал с частотой дискретизации так, как мы этого хотим, мы готовы запустить ЦАП. В следующей статье мы рассмотрим периферийное устройство контроллера SAC4S (DACC), электрические характеристики самого ЦАП и модуль DACC ASF.

Следующая статья в серии: Понимание и использование цифрового преобразователя SAM4S

Попробуйте этот проект сами! Получить спецификацию.