|
OS и энергопотребление |
|
|
|
Oct 9 2016, 06:14
|
Знающий
   
Группа: Свой
Сообщений: 600
Регистрация: 27-05-05
Пользователь №: 5 482

|
QUOTE (inventor @ Oct 9 2016, 03:14)  Насколько применение OS и использования таймера ядра для переключения задач увеличит энергопотребление, кто нибудь проводил такие тесты и измерения? абсолютно не обязательно, что увеличит, может и уменьшить. например, за счет циклов ожидания. У меня есть устройство на STM32L152 ОС TNKernel, TNeo со средним потреблением примерно 300мкА, т.е. примерно 1мВт, причем основное потребление это не процессора. Вторая реализация подобного устройства планируется со средним потреблением 20-30мкА. Как правило, в ОС есть специальная задача idle, когда другим задачам выполнять нечего. в этой задаче и отправляешь мк в спячку. ну и собственно все считается. выход из спячки это включение генератора 6мкс*500мкА, + время обработки таск свича 10мкс*10мА и т.д. цифры свои подставьте, даташит +дока на ОС.
|
|
|
|
|
Oct 9 2016, 06:49
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(dac @ Oct 9 2016, 12:14)  Как правило, в ОС есть специальная задача idle, когда другим задачам выполнять нечего. в этой задаче и отправляешь мк в спячку. ну и собственно все считается. выход из спячки это включение генератора 6мкс*500мкА, + время обработки таск свича 10мкс*10мА и т.д. цифры свои подставьте, даташит +дока на ОС. Если ПО автора (которое без ОС) написано оптимально, то там и так есть фоновый процесс, в котором выполняется просто цикл с одной командой WFE/WFI, а вся полезная работа производится внутри ISR-ов на разных уровнях приоритета. Тогда внедрение ОС приведёт к незначительному увеличению загрузки CPU и соответственно - незначительному увеличению потребления. Если же там просто суперцикл, то тут совсем другое дело. Так что говорить стоит не о том "с ОС" или "без ОС" написано, а как построен алгоритм работы ПО.
|
|
|
|
|
Oct 10 2016, 10:48
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
у меня не работает CoreTimer или SysTimer по моему он много дает к потреблению Цитата(jcxz @ Oct 9 2016, 14:09)  С частотой сис. таймера около 1 кГц и десятком задач уложитесь в 1-2 % загрузки CPU при его частоте в десятки МГц. надо провести эксперимент на день-два с измерением потребления если так - то это будет идеально
|
|
|
|
|
Oct 14 2016, 08:25
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (AlexandrY @ Oct 14 2016, 10:22)  Чего его отключать, в смысле это Systick , он и так будет отключен когда ядро отключат. Да ладно? CODE The devices feature three low-power modes: • Sleep mode (Cortex®-M4 with FPU core stopped, peripherals kept running) • Stop mode (all clocks are stopped) • Standby mode (1.2 V domain powered off) Что-то не замечал, чтобы Systick отключался в Stop mode.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|