
Улучшение характеристик микроконтроллеров при минимизации энергопотребления
В большинстве случаев данные, регистрируемые в системах, необходимо отправлять на централизованный узел для обработки, анализа и принятия решений. Этот постоянный поток информации может потребовать как большой энергии, так и значительного времени обработки. При добавлении локальных интеллектуальных возможностей, чтобы превратить отдельные датчики в интеллектуальные узлы, можно использовать более сложную локализованную обработку (или периферийную обработку) для повышения быстродействия и эффективности всей системы.
На периферии системы допустимо также проводить ряд вычислений и передавать в центральный узел их результаты. Это сокращает количество необходимых передач по беспроводным каналам и позволяет принимать решения в реальном времени, когда в системах происходят критические события. Сегодня подобная интеллектуальность обычно реализуется либо на базе цифрового процессора сигналов (DSP) нижнего ценового диапазона, либо в виде высокоэффективного микроконтроллера (MCU). Каждый из вариантов имеет свои «за» и «против», и часто даже DSP с ограниченными возможностями намного превосходит требуемые для такого узла датчиков рабочие характеристики. Многим недорогим моделям DSP с их ограниченными возможностями нужен внешний аналого-цифровой преобразователь (АЦП) или внешнее запоминающее устройство для сбора и хранения данных. Наличие подобных дополнительных компонентов очень быстро увеличивает стоимость и энергопотребление системы в целом. Системы обеспечения безопасности жилищ служат хорошим примером таких комплексов, учитывая количество окон и дверей во многих зданиях. Несмотря на возможные выгоды, многие потребители не станут охотно оплачивать большое количество дорогих систем обнаружения разбития стекол. Эти системы, созданные на основе DSP, используют быстрое преобразование Фурье (БПФ) для анализа звуковых колебаний, чтобы определить, разбито ли стекло. Кроме того, они потребляют довольно большое количество энергии, поэтому, если каждый датчик не будет подключен на постоянной основе к источнику электропитания, понадобится регулярно заряжать аккумуляторы таких устройств.
С точки зрения микроконтроллеров периферийная обработка часто представляет собой проблему из-за их минимальных рабочих характеристик при проведении вычислений. Например, расчет БПФ, который реализован в виде кода на языке С, может занять в микроконтроллере намного больше времени, чем выполнение такого преобразования с помощью DSP, который имеет специализированные аппаратно реализованные периферийные устройства. Эта разница во времени не только приводит к неэффективности, поскольку микроконтроллер вынужден работать в активных режимах в течение длительных периодов, но, что еще хуже, может привести и к задержкам появления результатов в ситуациях, когда фактор времени играет важную роль. Безусловно, разница во времени снижает жизнеспособность «Интернета вещей» (IoT), потому что это направление имеет в своей основе две идеи:
- Центральные концентраторы могут поддерживать связь с и обрабатывать данные от миллиардов подключенных к ним устройств.
- Подключенные устройства достаточно интеллектуальны, чтобы от конечного пользователя требовались лишь простейшие навыки.
Рассмотрим другой пример.
Беспроводные акустические системы персонального электронного секретаря и мобильные телефоны способны обрабатывать родной язык пользователя, чтобы выбирать музыкальные записи или заказывать пиццу. Это представляет собой невероятно сложную задачу, поскольку люди говорят на множестве разных диалектов, с различными акцентами и в разной тональности. Конечно, можно было бы использовать цифровую обработку сигналов в конечных узлах для интерпретации огромного количества возможных фраз пользователя, но это потребовало бы дорогого и, скорее всего, физически громоздкого решения, которое отрицательно сказалось бы на портативности устройств. Время работы аккумулятора тоже очень важный фактор, поскольку зарядка чаще одного раза в день может привести к потере интереса к системе со стороны потребителей. Сегодня эта проблема решена таким образом, что переносные устройства просто реагируют на кодовое слово или фразу, заставляющую систему передавать данные на центральный сервер для проведения сложного анализа и отправки ответа назад на подключенное устройство. Это широко используемая технология для передовых систем обработки такого рода, но неэффективность расходования энергии побуждает нас задаться вопросом: какая периодичность зарядки аккумулятора была бы приемлемой для пользователей?
В зависимости от системы может быть допустима ежедневная зарядка, но очевидно, что потребители предпочтут решения, способные работать в течение недели или более на одной зарядке. Вернемся к извещателям разбития стекла и устройствам контроля двигателей. Даже недельный интервал между зарядками аккумулятора не стал бы решением, имеющим практический смысл, при тысячах электродвигателей на крупном производстве. По сути дела, объединение преимуществ низкого энергопотребления микроконтроллера с расширенными DSP-функциями позволило бы сделать значительный шаг вперед в направлении реализации интеллектуальности и возможностей обработки данных на уровне периферийных вычислений. Но здесь требуется более совершенное аппаратное обеспечение.
Новое решение старой проблемы
Представим, что микроконтроллеры могут взять на себя некоторые функции устройств цифровой обработки сигналов, используя специализированные аппаратные ускорители. Эти микроконтроллеры могли бы быстро включаться в работу, чтобы фильтровать данные или выполнять БПФ, а также применять свои компараторы и АЦП, даже находясь в режиме горячего резерва, чтобы понимать, когда нужно включаться в работу. Это позволило бы получать отличные результаты в реальном времени в различных системах как промышленного, так и бытового назначения, и снизить энергопотребление систем, разрешив им работать от аккумуляторов годы, а не дни.
Хотя сегодня некоторые микроконтроллеры предусматривают использование DSP-ускорителей, имеющаяся в них тенденция к тому, чтобы заставить работать центральное процессорное устройство (ЦПУ) на пределе его возможностей, вынуждает эти контроллеры потреблять значительное количество энергии. Новые сопроцессоры в микроконтроллерах, предполагающие наличие таких DSP, например ускоритель с низким энергопотреблением (LEA), появившийся в семействе микроконтроллеров MSP430 [1], решают проблему разницы в рабочих характеристиках между микроконтроллерами и недорогими DSP, добавляя новые возможности при разумном энергопотреблении и приемлемой стоимости. Микроконтроллер, имеющий модуль LEA, способен выполнять функции DSP на специализированном аппаратном обеспечении, что позволяет ему работать в режимах с низким энергопотреблением и снижать общее энергопотребление системы при возможности выполнения более сложных вычислений. Это могло бы позволить системе:
- дольше работать в режимах с низким энергопотреблением, существенно снижая общее энергопотребление системы;
- сосредоточиться на вычислениях, с увеличением рабочей частоты приложения;
- выполнять другие функции, такие как поддержание связи с главным узлом по беспроводным каналам (для приложений IoT).
Со временем все эти варианты станут критически важными для того, чтобы сделать возможным широкое распространение подключенных устройств, особенно ввиду того, что более интеллектуальные микроконтроллеры позволят подключенным устройствам быстро и легко предоставлять данные пользователям при низкой стоимости и высокой энергоэффективности.
Модуль LEA — это блок векторных математических операций, находящийся внутри некоторых моделей МК семейства MSP430. Модуль осуществляет обработку сигналов, умножение матриц и другие операции, которые обычно (при программной реализации) требуют большого времени и энергии при выполнении приложения. Действующий без всякой помощи со стороны ЦП, модуль LEA представляет собой сопроцессор с низким энергопотреблением, который выполняет DSP-операции и генерирует прерывание, когда операция завершена. Модуль LEA работает на основе команд, заложенных в него при конфигурировании, и эти команды служат указателями на тип операций и на буферы ввода и вывода в памяти. Использование подобных команд упрощено благодаря библиотеке, специально созданной и оптимизированной для микроконтроллеров MSP430, что позволяет выполнять приложения DSP по выбору программистов (рис. 1). Если модуль LEA предусмотрен в устройстве, компилятор будет автоматически применять его для улучшения работы помимо технологий оптимизации кода на языке С в MSP, которые уже реализованы.

Рис. 1. Графический интерфейс пользователя DSPLib
Приложениям, использующим цифровую обработку сигналов, требуется большое количество различных методик, чтобы получить целостное решение. Но процесс можно разбить на три основных этапа:
- Способ сбора данных. Это может быть АЦП, взаимодействующий с датчиком, или модуль связи, такой как SPI, I2C или UART.
- После сбора данных выполняется обработка сигналов различными методами, чтобы извлечь нужную информацию из массива данных. Это может быть фильтр с конечной импульсной характеристикой (КИХ) для очистки сигнала, БПФ для выделения различной частотной информации или какой-нибудь другой широко используемый процесс класса DSP.
- После того как информация выделена из массива данных, с ней нужно работать. Это действие может иметь форму принятия решения на основе результата БПФ или КИХ-фильтрации или просто отправки полученной информации по каналам проводного или беспроводного соединения, таким как Wi-Fi, сети с частотами до 1 ГГц, UART, I2C, SPI и т. д.
Ранее второй этап реализовывался с помощью встроенной программы на языке С, которая часто требует очень интенсивного использования ЦПУ и может занимать большую часть времени, отводимого в приложении на вычисления, из-за выполняемых математических операций — например, вычисления при КИХ-фильтрации, которые требуют больших вычислительных ресурсов.
Оптимизированный как по энергопотреблению, так и с точки зрения выполнения вычислений на основе векторов, модуль аппаратно реализованного ускорителя LEA быстро и эффективно осуществляет обременительные для ЦПУ функции, значительно улучшая общие рабочие характеристики всей системы в целом.
Практическую реализацию улучшения рабочих характеристик можно оценить, ознакомившись с базовым решением корпорации TI (TI Design) [2].
На рис. 2 видно, что выполнение функции БПФ занимает 9,64 мс, если обработка выполняется основным ЦПУ.
На рис. 3 показан значительный выигрыш, который дает модуль LEA, снижая время выполнения БПФ до 700 мкс.
Тестирование и работа приложений показали более чем 15‑кратное улучшение рабочих характеристик по сравнению с традиционными реализациями различных функций обработки сигналов на основе программы на языке С на 16‑разрядном микроконтроллере. Можно было наблюдать даже улучшение рабочих характеристик до 40 раз по сравнению с устройствами ARM Cortex-M0+, использующими библиотеку DSP CMSIS (таблица).
Микроконтроллер |
Тактовая частота |
Затраченная энергия, мкДж |
|||
128-точечное |
256-точечное |
512-точечное |
КИХ |
||
MSP430FR5994 с модулем LEA |
8 МГц |
1,228 |
2,219 |
4,424 |
4,378 |
MSP430FR5994 с модулем LEA |
16 МГц |
1,182 |
2,092 |
4,184 |
4,065 |
Микроконтроллер ARM Cortex-M0+ |
12 МГц с преобразователем постоянного тока |
10,722 |
24,777 |
52,806 |
32,295 |
Улучшение рабочих характеристик MSP |
в 9,07 раза |
в 11,84 раза |
в 12,6 раза |
в 7,94 раза |
Модуль LEA не только выполняет эти требующие больших вычислительных ресурсов операции обработки сигналов быстрее, чем оптимизированная программа на языке С. При наличии аппаратно реализованного ускорителя и благодаря тому, что модуль LEA позволяет микроконтроллеру MSP430 работать в режиме с низким энергопотреблением 0 (LPM0), этот модуль помогает улучшить показатели энергопотребления в девять раз по сравнению с аналогичными микроконтроллерами MSP430, использующими программы на языке С, и до 12 раз — по сравнению с микроконтроллерами ARM Cortex-M0+, применяющими библиотеку DSP CMSIS.
Преимущества модуля LEA с точки зрения рабочих характеристик могут быть разными, в зависимости от типа обработки сигналов, которую вы реализуете. Например, время выполнения операции БПФ способно меняться в зависимости от таких составляющих, как длина вектора, и от того, комплексное это БПФ или БПФ вещественных чисел.
При реализации КИХ-фильтра рабочие характеристики зависят от количества переменных, включая длину вектора, порядок, а также от того, выполняется КИХ-фильтрация с комплексными или вещественными числами. Однако важно отметить, что по всем математическим векторным операциям, которые может выполнять модуль LEA, очевидно общее улучшение рабочих характеристик по сравнению с традиционной обработкой сигналов программой на языке С.
Подробнее о выигрыше в рабочих характеристиках и сопоставительном анализе ускорителя с низким энергопотреблением можно узнать по ссылке [3].
Микроконтроллеры MSP430FR5994 с модулем LEA
Микроконтроллеры MSP430F599x — первые устройства, имеющие новый периферийный модуль LEA (рис. 4). Эти высокоэффективные 16‑разрядные микроконтроллеры сочетают хорошую архитектуру со сверхнизким энергопотреблением, встроенное ферроэлектрическое оперативное запоминающее устройство (FRAM) емкостью до 256 кбайт и ряд эффективных и в то же время гибких периферийных устройств, образуя линейку микроконтроллеров для множества приложений цифровой обработки сигналов.
Встроенное ферроэлектрическое ОЗУ емкостью 256 кбайт со сверхнизким энергопотреблением обеспечивает пользователю возможность настраиваемого разделения на память программ и память данных, разрешая создавать большие энергонезависимые буферы данных.
Начать разработку можно с помощью комплекта для разработки микроконтроллеров MSP430FR5994 LaunchPad [4] (рис. 5). В него входит все аппаратное обеспечение, необходимое для того, чтобы начать разработку и оценку этого мощного микроконтроллера.

Рис. 5. Комплект разработки микроконтроллеров MSP-EXP430FR5994 LaunchPad
Заключение
Существует множество приложений, в которых используются либо микроконтроллеры, либо недорогие DSP: вокодеры, системы обнаружения присутствия, системы подавления эхосигналов/помех, глюкометры, сети контроля качественного состояния строительных конструкций или параметров окружающей среды. Их можно классифицировать по различным функциям обработки сигналов, которые интерпретируют ситуацию по результатам сортировки и анализа данных, обнаруживая событие или ситуацию приближающегося события и предпринимая определенные действия, если это необходимо. В каждом случае ускоритель с низким энергопотреблением (LEA), разработанный корпорацией TI, может обеспечить определенные преимущества, позволяя быстрее и эффективнее анализировать данные, чтобы увеличить время работы от аккумулятора, повысить рабочие характеристики или расширить функциональные возможности.
- www.ti.com/microcontrollers/msp430‑ultra-low-power-mcus/overview.html?DCMP=MCU_other&HQS=msp430
- Фильтрация и обработка сигналов с помощью ускорителя с низким энергопотреблением (LEA) в микроконтроллере MSP с ферроэлектрическим ОЗУ.
- Сопоставительный анализ возможностей обработки сигналов ускорителя с низким энергопотреблением.
- www.ti.com/tool/msp-exp430fr5994