Управление энергопотреблением¶
Грамотное управление энергопотреблением помогает превратить работающий прототип в носимое устройство, рассчитанное на работу от аккумулятора. В системах на SF32 на энергопотребление влияют настройка тактирования, режимы сна, работа дисплея, интервалы Bluetooth-соединения, прерывания от датчиков и архитектура приложения.
Не оптимизируйте энергопотребление по отдельным фрагментам кода. Измеряйте реальные сценарии продукта: запуск, простой, простой при активном соединении, включённый дисплей, активное аудио, пробуждение по прерыванию датчика, OTA и выключение.
Практический порядок работы¶
- Измерьте энергопотребление неизменённого примера из SDK.
- Включайте по одной подсистеме за раз.
- На начальном этапе измеряйте отдельно работу дисплея, Bluetooth, аудио, накопителя и датчиков.
- Используйте пробуждение по прерыванию вместо опроса.
- Записывайте потребляемый ток для каждого режима и сценария продукта.
С чего начать¶
- Примеры энергосбережения из SDK.
- Профилирование загрузки процессора.
- Проверка состояния через оболочку RT-Thread.
- Измерение тока на плате.
Что фиксировать при измерениях¶
Для каждого измерения записывайте:
- Плату и её ревизию.
- Источник питания и точку измерения.
- Ветку и сборку прошивки.
- Состояние дисплея.
- Состояние Bluetooth.
- Состояние датчиков.
- Уровень журналирования.
- Средний и пиковый ток, а также длительность измерения.
Распространённые проблемы энергопотребления¶
Таблица: распространённые проблемы энергопотребления
| Симптом | Вероятная причина |
|---|---|
| Слишком высокий ток в режиме простоя | Цикл опроса, журналирование, питание дисплея или тактирование периферии оставлены включёнными. |
| Не удаётся перейти в режим сна | Активный таймер, открытое устройство, ожидающая задача или необработанный источник пробуждения. |
| Скачки тока при работе Bluetooth | Интервал соединения, окно сканирования, аудиотракт или повторные передачи. |
| Дисплей доминирует в энергопотреблении | Подсветка LCD, отображаемое содержимое AMOLED, политика обновления или стратегия частичного обновления. |
| Результаты измерений сильно различаются | Изменились условия тестирования, состояние аккумулятора, цепь питания USB или нагрузка от журналирования. |
Последнее обновление: