Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2739
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Управление питанием

506

Микроконтроллер выходит из режима ожидания при возникновении внешнего сброса (вывод NRST), сброса от IWDG, нарастающего фронта на одном из разрешенных выводов WKUPx или от события RTC. Все регистры сбрасываются после выхода из режима

ожидания, за исключением регистра управления/состояния питания (PWR->CSR). После вы-

хода из режима ожидания выполнение программы возобновляется так же, как и после сброса (выборка вывода начальной загрузки, загрузка байтов конфигурации, выбор вектора сброса и т. д.). Используя макрос:

__HAL_PWR_GET_FLAG(PWR_FLAG_SB);

мы можем проверить, сбрасывается ли микроконтроллер при выходе из режима ожидания. Поскольку и HSE-генератор, и блок PLL отключаются перед переходом в режим ожидания, при выходе из этого режима источником тактового сигнала микроконтроллера установлен HSI-генератор. Это означает, что наш код должен переконфигурировать схему тактирования в соответствии с желаемым тактовым сигналом SYSCLK.

19.4.2.5. Режим выключенного состояния

Режим выключенного состояния (shutdown mode) – это режим с наименьшим энергопотреблением: всего лишь 30 нА при 1,8 В в микроконтроллерах STM32L4. Данный режим похож на режим ожидания, но без какого-либо контроля питания: в данном режиме BOR отключен, а переключение на VBAT не поддерживается. LSI-генератор недоступен, и, следовательно, независимый сторожевой таймер также недоступен. Когда устройство выходит из режима выключенного состояния, генерируется сброс Brown-Out Reset: все регистры, кроме тех, которые находятся в резервном домене, сбрасываются. В режиме выключенного состояния сохраняются 128-байтовые резервные регистры. При выходе из режима выключенного состояния тактовый сигнал от MSI-генератора составляет 4 МГц.

Для перехода в режим выключенного состояния HAL предоставляет функцию:

void HAL_PWREx_EnterSHUTDOWNMode(void);

Микроконтроллер выходит из режима выключенного состояния при возникновении внешнего сброса (вывод NRST), нарастающего фронта на одном из разрешенных выводов WKUPx или от события RTC. Все регистры сбрасываются после выхода из режима

выключенного состояния, включая регистр управления/состояния питания (PWR->CSR).

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

19.4.3. Переходы между режимами питания

Микроконтроллеры STM32L предлагают множество режимов питания. Тем не менее, важно отметить, что невозможно перейти в любой режим питания, начиная с текущего в данный момент, т.к. переходы между этими режимами питания ограничены.

На рисунке 9 показаны допустимые переходы между режимами питания в микроконтроллере STM32L4. Как видно из рисунка, из рабочего режима можно получить до-

ступ ко всем режимам пониженного энергопотребления, кроме спящего режима с пониженным энергопотреблением. Чтобы перейти в спящий режим с пониженным энергопотреблением, необходимо сначала перейти в рабочий режим с пониженным энергопотреблением,