PowerScale с технологией ACM. Минимизация энергопотребления при разработке программного обеспечения
При выполнении всех этих условий программное обеспечение позволит достичь оптимального баланса между производительностью и потреблением. Для достижения такого баланса компания Hitex выпустила прибор PowerScale (рис. 1), измеряющий токи и напряжения, который позволяет синхронизировать измерение потребления разрабатываемого устройства с выполнением кода программы в этом устройстве.
Рис. 1. Модуль PowerScale
PowerScale является идеальным решением для следующих задач:
- экономия энергии;
- увеличение срока службы батареи;
- снижение нагрева;
- уменьшение энергопотребления. Основные функции PowerScale:
- Измерение энергопотребления во время разработки программного обеспечения.
- Измерение одновременно до 4 устройств.
- Отображение данных об энергопотреблении в соответствии с рабочей программой.
- Технология оперативного измерения тока (Active Current Measurement, ACM).
Что такое PowerScale?
Модуль PowerScale с технологией ACM может выдавать подробную информацию по энергопотреблению при выполнении кода программы. Эта информация может помочь разработчику оптимизировать энергопотребление. До недавнего времени существовала возможность оптимизации только размера кода и скорости его выполнения. Сегодня все чаще требуется решать задачу пониженного энергопотребления. Соответственно, существует много аппаратных компонентов для снижения потребления, однако до появления PowerScale не существовало решения по снижению потребления для разработчика программного обеспечения для встраиваемых систем.
Функции PowerScale
При помощи PowerScale и соответствующих датчиков (табл. 1) есть возможность измерения одновременно до четырех устройств, при этом ток и напряжение измеряются параллельно. Датчики присоединяются к линии питания платы, также необходимо подключить «землю» (рис. 2). Датчики содержат необходимые шунтирующие резисторы. Падение напряжения составляет порядка 0,1 В даже при использовании датчика ACM, измеряющего ток в диапазоне от 200 нА до 500 мА. Таким образом, даже если происходит резкое увеличение тока, падение напряжения настолько мало, что микроконтроллер может продолжать работать. При помощи дополнительного триггера, подключаемого к микроконтроллеру, можно синхронизировать программное обеспечение и PowerScale и получать информацию об энергопотреблении при выполнении тех или иных задач.
Таблица 1. Датчики PowerScale
Датчик | Максимальный ток | Минимальный ток | Максимальное напряжение | использование |
Стандартный датчик | 1 А | 1 мА | 58 В | Измерение энергопотребления плат или целых систем. Питание через USB или Ethernet возможно через специальные адаптеры |
ACM-датчик | 500 мА | 200 нА | 12 В | Измерение энергопотребления микроконтроллеров с ультранизким потреблением |
Каждый из четырех датчиков может измерять параллельно напряжение или ток со скоростью до 100 тысяч измерений в секунду. Такой скорости измерений достаточно для того, чтобы уловить малейшие изменения в потреблении, вызванные выполнением программы.
Для того чтобы отслеживать, в каком состоянии находится устройство, необходимо программно предусмотреть специальные сигналы, изменение которых должно происходить перед тем, как будет изменен режим работы (например, изменение частоты, переключение в «спящий» режим, включение или выключение периферии и т. п.) и, следовательно, энергопотребление. Эти сигналы могут быть выведены на один из выводов I/O.
Для контроллеров на базе Cortex-M3 в качестве такого вывода может быть использован Serial Wire Viewer (SWV). При помощи SWV и PowerScale возможно отслеживать до 255 событий и то, как они влияют на потребление.
Использование PowerScale
PowerScale подключается к компьютеру через USB high speed (480 Mбит/с). К PowerScale возможно подключить до 4 различных датчиков для проведения разнообразных измерений (табл. 2). Настройки PowerScale, а также чтение данных производятся через API (рис. 2) — интерфейс программирования приложений (Application Programming Interface). Интерфейс программирования приложений — набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для ее использования во внешних программных продуктах. Это позволяет легко интегрировать PowerScale в различные отладчики или другое программное обеспечение.
Рис. 2. Подключение PowerScale и датчиков
Таблица 2. Устройства PowerScale
Название | Описание | Код заказа |
PowerScale | PowerScale, ПО, USB-драйвер и питание | POWERSCALE |
ACM-датчик | ACM-датчик с широким диапазоном измерения от 200 нА до 500 мА, 12 В | PS-ACMPROBE |
Стандартный датчик | Стандартный датчик с диапазоном измерения от 1 мА до 1 А | PS-STDPROBE |
USB-адаптер | USB-адаптер для подключения датчика к системам с питанием через USB | PS-USBADAPT |
Ethernet-адаптер | Ethernet-адаптер для подключения датчика к системам с питанием через Ethernet | PS-ETHADAPT |
Также разработан графический пользовательский интерфейс для отображения данных по энергопотреблению, который поставляется вместе с PowerScale.
PowerScale выдает общую статистику по энергопотреблению: суммарный, минимальный, средний, а также максимальный ток и напряжение для каждой из подключенных плат. С помощью PowerScale можно определить, какое время устройство находилось в заданном диапазоне по энергопотреблению. Это помогает ответить на следующий тип вопросов: как долго микроконтроллер находился в режиме глубокого сна (deep sleep mode), какой процент времени работал модуль WLAN и т. д.
По умолчанию PowerScale отображает информацию о токе, напряжении и мощности за определенный промежуток времени.
Компания Hitex за свою разработку PowerScale получила престижную премию embedded AWARD 2010.