Режимы работы: различия между версиями

Материал из MIK32 микроконтроллер
Нет описания правки
Строка 1: Строка 1:
{| class="wikitable"
|+Потребление в различных режимах
!Режим работы
!Условия
!Источник тактирования системы
!Частота ядра
!Потребление
!Единицы
|-
!Активный
|Тактирование периферий по умолчанию;
Делитель AHB = 0;
Делитель APB_M = 0;
Делитель APB_P = 0.
|OSC32M
|F<sub>CPU</sub> = 32 МГц
|12,54
|мА
|-
!Пониженного энергопотребления
|Тактирование включено только у WU, PM, CPU, EEPROM, RAM, TCB;
Источники OSC32M, OSC32K, HSI32M выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|LSI32K
|F<sub>CPU</sub> = 125 кГц
|1,50
|мА
|-
! rowspan="3" |Спящий
| rowspan="3" |Тактирование RAM, EEPROM, SPIFI выключено записью в PM.SLEEP_MODE = 0b1110;
Тактирование включено только у WU, PM, CPU, TCB;
Источники OSC32M, OSC32K, OSC32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|HSI32M
| rowspan="2" |F<sub>CPU</sub> = 125 кГц
|3,26
|мА
|-
|OCS32M
|3,25
|мА
|-
|LSI32K
|F<sub>CPU</sub> = 125 Гц
|1,50
|мА
|-
! rowspan="2" |Стоп
|Источники HSI32M, OSC32K, LSI32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255;
Загрузка из EEPROM.
|OCS32M
|F<sub>CPU</sub> = 125 кГц
Ядро в состоянии sleep
|2,03
|мА
|-
|Источники OSC32M, HSI32M, OSC32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255;
Загрузка из EEPROM.
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Ядро в состоянии sleep
|0,78
|мА
|-
! rowspan="2" |Ожидание
|Источники HSI32M, OSC32K выключены;
OSC32M включен;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Питание ядра выключено
|0,57
|мА
|-
|Источники OSC32M, HSI32M, OSC32K выключены;
<u>OSC32M не установлен, вывод XI заземлен;</u>
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Питание ядра выключено
|0,17
|мА
|-
| colspan="6" |Примечание: В главном цикле инкрементируется переменная, программа выполняется из EEPROM.
|}
== Описание режимов ==
== Описание режимов ==


Строка 309: Строка 187:


Для выхода из режима по RTC или выводу EXT_WU следует установить бит WU.SYS_MASK.SYS_UP_RTC или WU.SYS_MASK.SYS_UP_WU соответственно. При этом активный уровень, по которому происходит выход из режима, настраивается в WU.SYS_LEVEL.LVL_RTC и в WU.SYS_LEVEL.LVL_WU.
Для выхода из режима по RTC или выводу EXT_WU следует установить бит WU.SYS_MASK.SYS_UP_RTC или WU.SYS_MASK.SYS_UP_WU соответственно. При этом активный уровень, по которому происходит выход из режима, настраивается в WU.SYS_LEVEL.LVL_RTC и в WU.SYS_LEVEL.LVL_WU.
=== Потребление в различных режимах работы ===
{| class="wikitable"
!Режим работы
!Условия
!Источник тактирования системы
!Частота ядра
!Потребление
!Единицы
|-
!Активный
|Тактирование периферий по умолчанию;
Делитель AHB = 0;
Делитель APB_M = 0;
Делитель APB_P = 0.
|OSC32M
|F<sub>CPU</sub> = 32 МГц
|12,54
|мА
|-
!Пониженного энергопотребления
|Тактирование включено только у WU, PM, CPU, EEPROM, RAM, TCB;
Источники OSC32M, OSC32K, HSI32M выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|LSI32K
|F<sub>CPU</sub> = 125 кГц
|1,50
|мА
|-
! rowspan="3" |Спящий
| rowspan="3" |Тактирование RAM, EEPROM, SPIFI выключено записью в PM.SLEEP_MODE = 0b1110;
Тактирование включено только у WU, PM, CPU, TCB;
Источники OSC32M, OSC32K, OSC32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|HSI32M
| rowspan="2" |F<sub>CPU</sub> = 125 кГц
|3,26
|мА
|-
|OCS32M
|3,25
|мА
|-
|LSI32K
|F<sub>CPU</sub> = 125 Гц
|1,50
|мА
|-
! rowspan="2" |Стоп
|Источники HSI32M, OSC32K, LSI32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255;
Загрузка из EEPROM.
|OCS32M
|F<sub>CPU</sub> = 125 кГц
Ядро в состоянии sleep
|2,03
|мА
|-
|Источники OSC32M, HSI32M, OSC32K выключены;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255;
Загрузка из EEPROM.
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Ядро в состоянии sleep
|0,78
|мА
|-
! rowspan="2" |Ожидание
|Источники HSI32M, OSC32K выключены;
OSC32M включен;
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Питание ядра выключено
|0,57
|мА
|-
|Источники OSC32M, HSI32M, OSC32K выключены;
<u>OSC32M не установлен, вывод XI заземлен;</u>
Делитель AHB = 255;
Делитель APB_M = 255;
Делитель APB_P = 255.
|LSI32K
|F<sub>CPU</sub> = 125 Гц
Питание ядра выключено
|0,17
|мА
|-
| colspan="6" |Примечание: В главном цикле инкрементируется переменная, программа выполняется из EEPROM.
|}

Версия от 09:59, 30 июля 2024

Описание режимов

Активный

Состояние процессора Состояние памяти Состояние периферии Состояние системного и батарейного домена Тактирование Вход в режим Выход из режима
Процессор работает в нормальном режиме. ОЗУ, EEPROM, SPIFI работают в нормальном режиме. Периферия работает в нормальном режиме. Системный домен включен, батарейный домен включен. От внешнего осциллятора с частотой до 32 МГц OSC32M;

От встроенного осциллятора с частотой до 32 МГц HSI32M.

Режим после сброса/подачи питания. -

Режим «Активный» подразумевает режим с максимальной производительностью: максимальная системная частота, минимальные делители, тактирование всех задействованных устройств включено.

Пониженного энергопотребления

Состояние процессора Состояние памяти Состояние периферии Состояние системного и батарейного домена Тактирование Вход в режим Выход из режима
Процессор работает в нормальном режиме. ОЗУ, EEPROM, SPIFI работают в нормальном режиме.

Рекомендуется отключать тактирование неиспользуемых модулей памяти записью в регистры:

PM.CLK_AHB_CLEAR

Рекомендуется отключать тактирование неиспользуемых периферийных модулей программно (пользователем) записью в регистры:

PM.CLK_AHB_CLEAR;

PM.CLK_APB_M_CLEAR;

PM.CLK_APB_P_CLEAR.

Системный домен включен, батарейный домен включен. От внешнего часового осциллятора;

от встроенного часового осциллятора;


от внешнего осциллятора с частотой до 32 МГц с делителем системной шины.

Программно, переключившись на нужный источник тактирования или выставив необходимый делитель. Программно, переключившись на нужный источник тактирования или выставив необходимый делитель.

Режим «Пониженного потребления» предполагает уменьшение производительности и потребления за счет снижения рабочей частоты, временное отключение тактирования устройств, которые временно не используются. Режим «Активный» и режим «Пониженного потребления» достаточно условны, так как отличаются выбранными источником тактирования, установленными делителями частот, отключенным тактированием тех или иных устройств, что определяется конкретной задачей.

Показать пример входа в режим пониженного энергопотребления

Спящий

Состояние процессора Состояние памяти Состояние периферии Состояние системного и батарейного домена Тактирование Вход в режим Выход из режима
Ядро в состоянии sleep Тактирование Ядра, ОЗУ, EEPROM, SPIFI может быть выключено при записи в PM.SLEEP_MODE Рекомендуется отключать тактирование неиспользуемых периферийных модулей программно (пользователем) записью в регистры:

PM.CLK_AHB_CLEAR;

PM.CLK_APB_M_CLEAR;

PM.CLK_APB_P_CLEAR.

Системный домен включен,

батарейный домен включен.

От внешнего осциллятора с частотой до 32 МГц

От встроенного осциллятора с частотой до 32 МГц

Записью в регистр PM.SLEEP_MODE. По прерыванию.

«Спящий» режим подразумевает автоматическое отключение частоты ядра, некоторых модулей памяти. Переход осуществляется записью в регистр PM. SLEEP_MODE. При записи отключается тактирование ядра и в зависимости от записываемого значения отключается тактирование следующих модулей:

  • SLEEP_MODE[0] = 1 – отключение тактирования ядра;
  • SLEEP_MODE[1] = 1 – отключение тактирования EEPROM;
  • SLEEP_MODE[2] = 1 – отключение тактирования ОЗУ;
  • SLEEP_MODE[3] = 1 – отключение тактирования контроллера SPIFI.

Стоп

Состояние процессора Состояние памяти Состояние периферии Состояние системного и батарейного домена Тактирование Вход в режим Выход из режима
Ядро в состоянии sleep. Тактирование ОЗУ, EEPROM, SPIFI выключено. Тактированием периферия выключено Системный домен включен, батарейный домен включен. Тактирование системы выключено. Запись в регистр WAKEUP.STOP RTC/выводу EXT_WU.

В режиме “Стоп” автоматически отключается тактирование всех устройств за исключением батарейного домена. Переход осуществляется записью в регистр WAKEUP.STOP.  Выход из режима событию на выводе EXT_WU, будильника, или по сбросу.

Для выхода из режима по RTC или выводу EXT_WU следует установить бит WU.SYS_MASK.SYS_UP_RTC или WU.SYS_MASK.SYS_UP_WU соответственно. При этом активный уровень, по которому происходит выход из режима, настраивается в WU.SYS_LEVEL.LVL_RTC и в WU.SYS_LEVEL.LVL_WU.

Ожидание

Состояние процессора Состояние памяти Состояние периферии Состояние системного и батарейного домена Тактирование Вход в режим Выход из режима
Питание выключено Питание выключено Питание выключено Системный домен выключен, батарейный домен включен Тактирование системы выключено. Запись в регистр WAKEUP. SYS_POWEROFF. По сбросу/RTC/ выводу EXT_WU

Во всех режимах, кроме ожидания питание всех доменов включено. В режиме ожидания остается включенным только батарейный домен. Системный LDO выключен. Переход осуществляется записью в регистр SYS_POWEROFF. Выход из режима событию на выводе EXT_WU, будильника, или по сбросу.

Для выхода из режима по RTC или выводу EXT_WU следует установить бит WU.SYS_MASK.SYS_UP_RTC или WU.SYS_MASK.SYS_UP_WU соответственно. При этом активный уровень, по которому происходит выход из режима, настраивается в WU.SYS_LEVEL.LVL_RTC и в WU.SYS_LEVEL.LVL_WU.

Потребление в различных режимах работы

Режим работы Условия Источник тактирования системы Частота ядра Потребление Единицы
Активный Тактирование периферий по умолчанию;

Делитель AHB = 0;

Делитель APB_M = 0;

Делитель APB_P = 0.

OSC32M FCPU = 32 МГц 12,54 мА
Пониженного энергопотребления Тактирование включено только у WU, PM, CPU, EEPROM, RAM, TCB;

Источники OSC32M, OSC32K, HSI32M выключены;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255.

LSI32K FCPU = 125 кГц 1,50 мА
Спящий Тактирование RAM, EEPROM, SPIFI выключено записью в PM.SLEEP_MODE = 0b1110;

Тактирование включено только у WU, PM, CPU, TCB;

Источники OSC32M, OSC32K, OSC32K выключены;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255.

HSI32M FCPU = 125 кГц 3,26 мА
OCS32M 3,25 мА
LSI32K FCPU = 125 Гц 1,50 мА
Стоп Источники HSI32M, OSC32K, LSI32K выключены;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255;

Загрузка из EEPROM.

OCS32M FCPU = 125 кГц

Ядро в состоянии sleep

2,03 мА
Источники OSC32M, HSI32M, OSC32K выключены;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255;

Загрузка из EEPROM.

LSI32K FCPU = 125 Гц

Ядро в состоянии sleep

0,78 мА
Ожидание Источники HSI32M, OSC32K выключены;

OSC32M включен;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255

LSI32K FCPU = 125 Гц

Питание ядра выключено

0,57 мА
Источники OSC32M, HSI32M, OSC32K выключены;

OSC32M не установлен, вывод XI заземлен;

Делитель AHB = 255;

Делитель APB_M = 255;

Делитель APB_P = 255.

LSI32K FCPU = 125 Гц

Питание ядра выключено

0,17 мА
Примечание: В главном цикле инкрементируется переменная, программа выполняется из EEPROM.