Часто задаваемые вопросы по сопроцессору-ускорителю с низким энергопотреблением (LEA)

Данная статья даёт ответы на часто задаваемые вопросы, касающиеся модуля ускорителя с низким энергопотреблением (LEA), предназначенного для обработки сигналов в микроконтроллерах MSP430™ с ферроэлектрическим ОЗУ (FRAM). Здесь рассказывается, как начать работу с устройствами, которые поддерживают модуль LEA, и как его использовать для эффективной обработки сигналов, умножения матриц и выполнения других операций.

Что такое ускоритель с низким энергопотреблением (LEA) для обработки сигналов?

Модуль LEA — это 32-разрядный аппаратный ускоритель, который является новинкой для семейства микроконтроллеров MSP430 с FRAM-памятью. Ускоритель может выполнять обработку сигналов, умножение матриц и другие специфические операции, такие как расчёт КИ, БИ характеристик и БПФ, которые обычно требуют большого времени и энергии для расчёта во время выполнения приложения. Модуль LEA — это сопроцессор с низким энергопотреблением, который выполняет операции без помощи ЦП и генерирует прерывание, когда операция завершена. Семейство микроконтроллеров MSP430FR599x имеет общий объём статического ОЗУ 8 кбайт, из которых 4 кбайт используются совместно с модулем LEA для ввода/вывода данных и хранения параметров. Сопроцессор работает на основе команд, которые задаются при установке конфигурации. Эти команды являются указателями на буферы ввода или вывода запоминающего устройства и тип операции. Команды LEA используются в библиотеке цифровой обработки сигналов MSP для наиболее эффективного и простого выполнения операций. Подробнее смотрите вопрос «Где запускается модуль LEA?». Подробнее об аппаратном обеспечении LEA и семействе микроконтроллеров MSP430FR599x смотрите «Руководство пользователя по семействам микроконтроллеров MSP430FR58xx, MSP430FR59xx, MSP430FR68xx и MSP430FR69xx».

Поддерживает ли модуль LEA операции с числами с плавающей и с фиксированной запятой?

Модуль LEA поддерживает и 16-разрядные, и 32-разрядные операции с числами с фиксированной запятой — как с вещественными, так и с комплексными.

Какие устройства поддерживают модуль LEA?

В настоящее время модуль LEA поддерживается семейством микроконтроллеров MSP430FR599x, в будущем планируется распространить его поддержку и на другие устройства. Подробнее о семействе микроконтроллеров MSP430FR599x можно узнать, посетив страницу MSP430FR5994 в сети Интернет.

Какие преимущества с точки зрения рабочих характеристик даёт модуль LEA? Какие данные можно взять для сравнения?

Модуль LEA обладает преимуществами по сравнению с алгоритмами программной обработки сигналов на векторной основе, которые реализуются без ускорителя. Модуль LEA, с одной стороны, обладает более высокой энергоэффективностью, а с другой стороны, требует намного меньше тактов для выполнения разнообразных алгоритмов обработки сигналов. С результатами сопоставительного анализа можно ознакомиться в «Сопоставительном анализе возможностей обработки сигналов ускорителя с низким энергопотреблением в микроконтроллерах MSP430™. Установление нового андарта рабочих характеристик микроконтроллеров при минимизации энергопотребления», где на хорошем уровне исследуется вопрос, как преимущества в рабочих характеристиках модуля могут трансформироваться в улучшение рабочих характеристик всей системы в целом.

Как запускается модуль LEA?

Доступ к операциям, выполняемым модулем LEA, можно осуществить с помощью библиотеки цифровой обработки сигналов (DSP) для микроконтроллеров MSP, позволяющей выполнять их просто и эффективно. Следующие несколько вопросов касаются того, как начать работать с модулем LEA с помощью библиотеки цифровой обработки сигналов MSP.

Что такое библиотека цифровой обработки сигналов MSP?

Библиотека цифровой обработки сигналов (DSP), разработанная корпорацией Texas Instruments (TI), — это набор высоко оптимизированных функций для выполнения многих широко используемых операций обработки сигналов с числами с фиксированной запятой для микроконтроллеров MSP430. Этот набор функций обычно используется в приложениях, в которых преобразования, требующие большого объёма обработки, выполняются в реальном времени при минимальных затратах энергии и с очень высокой точностью. Оптимальное использование этой библиотеки аппаратным обеспечением устройств семейства MSP для выполнения математических операций с числами с фиксированной запятой позволяет получить значительный выигрыш в рабочих характеристиках.

Библиотека цифровой обработки сигналов для микроконтроллеров MSP (DSPLib), которая доступна для всех микроконтроллеров MSP, автоматически выбирает и использует модуль LEA для соответствующих функций. Эта библиотека также содержит макросы предпроцессора, помогающие использовать модуль LEA путём автоматического размещения структур данных DSPLib в памяти с правильным выравниванием. Подробнее о функциональных возможностях библиотеки DSP, таких как макросы предпроцессора и другие функции, смотрите Руководство по интерфейсу прикладных программ библиотеки цифровой обработки сигналов MSP.

Как установить DSPLib и графический интерфейс пользователя DSPLib?

Вы можете установить пакет DSPLib и графический интерфейс пользователя DSPLib различными способами. Зайдите на страницу библиотеки цифровой обработки сигналов MSP или воспользуйтесь последней версией программного обеспечения MSP430Ware™.

На домашней странице библиотеки цифровой обработки сигналов MSP выберите «Get Software», а затем выберите утилиту установки DSPLib для нужной операционной системы.

Другой способ получить доступ к библиотеке DSPLib для MSP — воспользоваться пакетом программного обеспечения MSP430Ware™. Загрузите MSP430Ware для рабочей панели с домашней страницы MSP430Ware и установите это программное обеспечение в директорию интегрированной среды разработки Code Composer Studio™ или загрузите это программное обеспечение из центра приложений (App Center) интегрированной среды разработки Code Composer Studio. Если у вас CCS версии 6.2 или более поздней, доступ к MSP430Ware осуществляется с помощью нового средства просмотра ресурсов «Resource Explorer», встроенного в CCS.

После того как установка завершена, выберите «View» вверху окна, затем «Resource Explorer» и найдите MSP430Ware. Далее выберите «Libraries» → «DSPLib» и ознакомьтесь с предлагаемыми возможностями. Среди типовых проектов в библиотеке DSPLib есть различные примеры, в которых используется модуль LEA при компиляции для определённого микроконтроллера семейства MSP430FR599x. Запустите графический интерфейс пользователя DSPLib, выбрав «DSPLib GUI», и приступайте к разработке и созданию структур фильтров с коэффициентами и их экспорту в виде кода на языке С для использования в приложении.

Где найти примеры, демонстрирующие возможности модуля LEA?

Такие примеры имеются в пакете библиотеки цифровой обработки сигналов MSP. Эта библиотека входит в программное обеспечение MSP430Ware начиная с версии 3.60. Примеры для библиотеки цифровой обработки сигналов MSP можно найти в директории «MSP430Ware>Libraries>DSPLib>Example Projects». Вы также можете получить доступ к примерам в режиме онлайн, воспользовавшись интернет-версией средства просмотра ресурсов TI — TI Resource Explorer. Так как библиотека цифровой обработки сигналов MSP использует модуль LEA всегда, когда он доступен в конкретном устройстве, пользователю не нужно вручную давать команду библиотеке DSP на использование модуля LEA. Библиотека DSP сделает это за вас, обеспечивая быструю и эффективную обработку сигналов.

Если привыкли использовать Python или Matlab для создания своих фильтров?

Библиотека цифровой обработки сигналов MSP содержит различные примеры, написанные на Python и Matlab, которые могут помочь вам получить различные коэффициенты фильтров. Войдите в директорию, где установлена ваша библиотека цифровой обработки сигналов MSP, и найдите папку «scripts». В этой папке содержатся скрипты как на Matlab, так и на Python, которые написаны, чтобы помочь вам создавать свои собственные фильтры. Узнать подробнее о том, какие пакеты для Matlab и Python необходимы для поддержки этих скриптов, можно в Руководстве по интерфейсу прикладных программ библиотеки цифровой обработки сигналов MSP.

Как использовать модуль LEA в своей программе?

По умолчанию библиотека цифровой обработки сигналов MSP проверяет файл заголовка устройства, с которым работает, и разрешает использовать модуль LEA интерфейсам прикладных программ, которые поддерживают модуль LEA. Если модуль LEA доступен, интерфейсы прикладных программ настраивают и включают возможность использования модуля LEA, а затем отключают его по окончании вызова функции. Чтобы определить, использует ли та или иная функция модуль LEA, см. Руководство по интерфейсу прикладных программ библиотеки цифровой обработки сигналов MSP. В обоих этих источниках указывается, используется или нет модуль LEA каждым из интерфейсов прикладных программ.

Перед использованием интерфейсов прикладных программ DSPLib выполните следующее:

  1. Укажите входной и выходной векторы и выровняйте векторы, размещённые в совместно используемой области статического ОЗУ модуля LEA объемом 4 кбайт.
  2. Задайте параметры для выбранной функции или функций.
  3. Вызовите нужную функцию для исполнения.

На первом этапе укажите точки входа и выхода в памяти, выделив массив, в котором они должны располагаться в пределах совместно используемой области статического ОЗУ модуля LEA объёмом 4 кбайт. Это можно сделать с помощью макроса DSPLIB_DATA, имеющегося в библиотеке DSPLib. Например, чтобы выделить память для 256-точечного комплексного БПФ, входной массив данных должен состоять из 256 вещественных чисел размером в одно слово и 256 комплексных чисел размером в одно слово, что в сумме даёт 512 слов (1024 байта). Поэтому следует использовать следующий фрагмент кода:

#define SAMPLES 256
DSPLIB_DATA (input, MSP_ALIGN_CMPLX_FFT_Q15 (SAMPLES)) _q15 input [SAMPLES*2];

Здесь MSP_ALIGN_CMPLX_FFT_Q15(SAMPLES) — это макрос, который помогает автоматически рассчитать выравнивание для 16-разрядного комплексного БПФ на основании количества отсчётов. Углублённые примеры, касающиеся правильного выравнивания данных для других функций в библиотеке цифровой обработки сигналов MSP, смотрите среди примеров, которые содержатся в библиотеке цифровой обработки сигналов MSP, а также в Руководстве по интерфейсу прикладных программ.

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

После того как соответствующие параметры заданы, вызовите выбранную функцию, а библиотека позаботится об остальном и вернёт результат.

Как получить свои собственные коэффициенты фильтра с помощью графического интерфейса пользователя DSPLib?

Чтобы получить коэффициенты фильтра, откройте графический интерфейс пользователя DSPLib, рассчитайте фильтр в панели «Design» в левой части экрана, после чего перейдите к пункту «File → Export Filter» в выпадающем меню сверху. Файлы с расширениями «.с» и «.h» создаются в указанном месте с именем, указанным в панели расчёта. Простой способ проектирования фильтра в графическом интерфейсе пользователя DSPLib заключается в том, что просто выбирается готовый фильтр в выпадающем меню примеров фильтров «Example Filters» (рисунок 1).

 Выбор готового БИХ-фильтра Баттерворта нижних частот

Рисунок 1. Выбор готового БИХ-фильтра Баттерворта нижних частот в графическом интерфейсе пользователя DSPLib

Как применить коэффициенты, которые были получены в графическом интерфейсе пользователя DSPLib, в моём коде?

Чтобы использовать коэффициенты фильтра в своём коде, экспортируйте фильтр из графического интерфейса пользователя DSPLib с помощью выпадающего меню «File → Export Filter» вверху, а затем откройте типовой проект из библиотеки DSPLib. Щёлкните на проекте правой кнопкой мыши, выберите «add files» (добавить файлы), добавьте созданные файлы вида «имя_фильтра.с» и «имя_фильтра.h», а затем добавьте строку #include «имя_фильтра.h» в свой исходный код (рисунок 2). После этого вы сможете ссылаться на созданные коэффициенты под именем «имя_фильтра».

 Включение созданного фильтра в примерный проект в среде CCS DSPLib

Рисунок 2. Включение созданного фильтра в примерный проект в среде CCS DSPLib

Что ещё может предложить Texas Instruments для повышения привлекательности использования модуля LEA, например базовые решения, подобные «TI Designs»?

Корпорация TI всегда предлагает набор примеров приложений под названием «TI Designs», чтобы проиллюстрировать разнообразие своих технологий. В случае семейства микроконтроллеров MSP430FR599x Texas Instruments в настоящее время предлагает следующие примерные разработки «TI Designs» и планирует расширить этот ряд.

Базовое решение для фильтрации и обработки сигналов с помощью микроконтроллера MSP430 с ферроэлектрическим ОЗУ от TI иллюстрирует рабочие характеристики ускорителя с низким энергопотреблением (LEA) в микроконтроллерах (MCU) MSP430 с FRAM при выполнении сложной фильтрации и обработке сигналов с поддержанием энергопотребления 16-разрядного микроконтроллера на сверхнизком уровне. Модуль LEA обеспечивает ускорение в 13,8 раза по сравнению с традиционной реализацией 256-точечного комплексного БПФ на языке С. Модуль LEA также обеспечивает КИХ-фильтрацию в реальном времени при высокой частоте дискретизации аудиосигналов, равной 20 кГц.

Базовое решение от TI «Моделирование ЭСППЗУ и считывание данных с помощью микроконтроллеров MSP430 с FRAM» описывает реализацию моделирования ЭСППЗУ с помощью технологии ферроэлектрического ОЗУ (FRAM) на микроконтроллерах (MCU) MSP430 в сочетании с дополнительными возможностями сбора данных от датчиков, которые могут быть применены при использовании микроконтроллера. Базовое решение поддерживает и интерфейс I2C, и интерфейс SPI главного процессора с адресацией нескольких подчинённых устройств.

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

Куда обратиться, если остались вопросы по модулю LEA?

Если у вас есть другие вопросы по модулю LEA, попробуйте поискать ответы на форумах сообщества инженеров TI E2E™. Существует специальный форум E2E по микроконтроллерам MSP, где обсуждаются вопросы, связанные с MSP. Помимо сообщества пользователей MSP, которые много знают и с удовольствием помогают в решении проблем, в корпорации TI имеется группа инженеров MSP, специально выделенная для поддержки таких устройств, в задачу которой входит предоставление вам оперативного и содержательного ответа на поставленный вопрос. Перейдите по ссылке e2e.ti.com/support/microcontrollers/msp430/.

Сколько энергии или тактов потребуется для выполнения функции с помощью модуля LEA?

В целом модуль LEA работает эффективнее и быстрее при выполнении различных алгоритмов обработки сигналов, чем программно реализованные алгоритмы как на 16-разрядных, так и на некоторых 32-разрядных платформах. В Сопоставительном анализе возможностей обработки сигналов ускорителя с низким энергопотреблением в микроконтроллерах MSP430™ перечислены интерфейсы прикладных программ, а также приведена формула для расчёта времени, которое занимает расчёт функции модулем LEA. Помните, что при каждом расчёте есть небольшой объём служебных операций, требующихся для включения и отключения модуля LEA.

Литература

Полная информация приведена в документе SLAA720