Перейти к содержанию

Управление энергопотреблением

Грамотное управление энергопотреблением помогает превратить работающий прототип в носимое устройство, рассчитанное на работу от аккумулятора. В системах на SF32 на энергопотребление влияют настройка тактирования, режимы сна, работа дисплея, интервалы Bluetooth-соединения, прерывания от датчиков и архитектура приложения.

Не оптимизируйте энергопотребление по отдельным фрагментам кода. Измеряйте реальные сценарии продукта: запуск, простой, простой при активном соединении, включённый дисплей, активное аудио, пробуждение по прерыванию датчика, OTA и выключение.

Практический порядок работы

  1. Измерьте энергопотребление неизменённого примера из SDK.
  2. Включайте по одной подсистеме за раз.
  3. На начальном этапе измеряйте отдельно работу дисплея, Bluetooth, аудио, накопителя и датчиков.
  4. Используйте пробуждение по прерыванию вместо опроса.
  5. Записывайте потребляемый ток для каждого режима и сценария продукта.

С чего начать

  • Примеры энергосбережения из SDK.
  • Профилирование загрузки процессора.
  • Проверка состояния через оболочку RT-Thread.
  • Измерение тока на плате.

Что фиксировать при измерениях

Для каждого измерения записывайте:

  • Плату и её ревизию.
  • Источник питания и точку измерения.
  • Ветку и сборку прошивки.
  • Состояние дисплея.
  • Состояние Bluetooth.
  • Состояние датчиков.
  • Уровень журналирования.
  • Средний и пиковый ток, а также длительность измерения.

Распространённые проблемы энергопотребления

Таблица: распространённые проблемы энергопотребления
Симптом Вероятная причина
Слишком высокий ток в режиме простоя Цикл опроса, журналирование, питание дисплея или тактирование периферии оставлены включёнными.
Не удаётся перейти в режим сна Активный таймер, открытое устройство, ожидающая задача или необработанный источник пробуждения.
Скачки тока при работе Bluetooth Интервал соединения, окно сканирования, аудиотракт или повторные передачи.
Дисплей доминирует в энергопотреблении Подсветка LCD, отображаемое содержимое AMOLED, политика обновления или стратегия частичного обновления.
Результаты измерений сильно различаются Изменились условия тестирования, состояние аккумулятора, цепь питания USB или нагрузка от журналирования.

Последнее обновление: