СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2015

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 38 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2015 в режим останова. Состояние регулято- ра напряжения зависит от бита LPDS. Единичное значение бита включает режим ожидания. Бит 0 LPDS управляет режимом регу- лятора напряжения. Он устанавливает- ся и очищается программно и работает совместно с битом PDDS. Нулевое зна- чение этого бита переключает регуля- тор напряжения в режим приостанов- ки, а единичное – включён регулятор напряжения в режим малого потре- бления. Регистр управления и статуса PWR_CSR с адресом смещения 0 × 004 не сбрасывается при пробуждении из режима ожидания. Для чтения этого регистра требуются дополнительные циклы шины APB. Биты 31…9 данного регистра зарезер- вированы и всегда читаются как нуле- вые данные. Бит 8 EWUP управляет выводом WKUP. Этот бит устанавливается и очи- щается программно. Нулевое значение этого бита настраивает вывод WKUP, как вывод общего назначения. Событие на этом выводе не пробуждает устрой- ство из режима ожидания. Единичное значение этого бита определяет, что вывод WKUP используется для пробуж- дения из режима ожидания и принуди- тельно устанавливается в режим вхо- да, притянутого к земле. Данный бит сбрасывается во время общего сброса микроконтроллера. Биты 7…3 зарезервированы и чита- ются как нулевые данные. Бит 2 PVDO : PVD output (Выход детектора PVD). Этот бит ставится и очищается программно. Он работа- ет только при разрешённом PVD битом PVDE. 0: Напряжение на V DD /V DDA выше, чем порог, выбранный битами PLS[2:0]. 1: Напряжение на V DD /V DDA ниже, чем порог, выбранный битами PLS[2:0]. Работа детектора PVD останавлива- ется в режиме ожидания. По этой при- чине этот бит равен 0 после выхода из режима ожидания или после сброса и остаётся в этом состоянии, пока не будет поставлен бит PVDE. Бит 1 SBF является флагом нахожде- ния микроконтроллера в режиме ожи- дания. Этот бит устанавливается аппа- ратно и очищается при сбросе микро- контроллера или установкой бита CSBF в регистре PWR_CR. Бит 0 WUF служит флагом события пробуждения. Этот бит устанавлива- ется аппаратно и очищается при сбро- се микроконтроллера или установкой бита CWUF в регистре PWR_CR. Нуле- вое состояние бита означает отсут- ствие события пробуждения, а единич- ное состояние означает факт события пробуждения на выводе WKUP или от сигнала тревоги RTC. Кроме того, флаг детектирует дополнительное событие пробуждения, если разрешён вывод WKUP с помощью установки бита EWUP, во время высокого уровня на этом выводе. П РОГРАММИРОВАНИЕ БЛОКА УПРАВЛЕНИЯ ПИТАНИЕМ Существует набор готовых функций для работы с блоком управления пита- нием микроконтроллера. Рассмотрим их синтаксис и назначение. Функция: void PWR_BackupAccessCmd (FunctionalState NewState). Назначение: включает или отключает доступ к резервным регистрам и реги- страм RTC. Вход: NewState – состояние разреше- ния доступа. Может принимать значе- ние ENABLE или DISABLE. Выход: значения не возвращает. Функция: void PWR_ClearFlag (uint32_t PWR_FLAG). Назначение: очищает указанный флаг PWR_FLAG. Вход: PWR_FLAG – флаг, который необходимо сбросить. Может прини- мать следующие значения: PWR_FLAG_ WU (Wake up Flag) и PWR_FLAG_SB (Standby Flag). Выход: значения не возвращает. Функция: void PWR_DeInit (void). Назначение: сбрасывает значения регистров PWR к их первоначальному значению. Вход: параметров нет. Выход: значения не возвращает. Функция: void PWR_EnterSTANDBY- Mode (void). Назначение: переводит микрокон- троллер в режим ожидания. Вход: параметров нет. Выход: значения не возвращает. Функция: void PWR_EnterSTOPMode (uint32_t PWR_Regulator, uint8_t PWR_ STOPEntry). Назначение: переводит микрокон- троллер в режим останова. Вход: PWR_Regulator – устанавли- вает состояние регулятора при вхо- де в режим останова. Принимает сле- дующие значения: PWR_Regulator_ON (регулятор включён) и PWR_Regulator_ LowPower (регулятор находится в режи- ме пониженного энергопотребления). PWR_STOPEntry – устанавливает тип инструкции (WFE или WFI), с которой должен быть осуществлён вход в режим останова. Принимает следующие зна- чения: PWR_STOPEntry_WFI и PPWR_ STOPEntry_WFE. Выход: значения не возвращает. Функция: FlagStatus PWR_GetFlag- Status (uint32_t PWR_FLAG). Назначение: возвращает состояние указанного флага (установлен или нет). Вход: PWR_FLAG – указывает флаг, состояние которого надо проверить. Принимает следующие значения: PWR_ FLAG_WU (Wake up Flag), PWR_FLAG_ SB (Standby Flag) и PWR_FLAG_PVDO (PVD Output). Выход: состояние флага. Варианты: SET или RESET. Функция: void PWR_PVDCmd (FunctionalState NewState). Назначение: включает или отключа- ет детектор напряжения. Вход: NewState – статус детекто- ра напряжения. Принимает следую- щие значения: ENABLE, DISABLE (Standby Flag) и PWR_FLAG_PVDO (PVD Output). Выход: значения не возвращает. Функция: void PWR_PVDLevelConfig (uint32_t PWR_PVDLevel). Назначение: устанавливает порог срабатывания детектора напряжения. Вход: PWR_PVDLevel – значение напряжения порога. Принимает следу- ющие значения: от PWR_PVDLevel_2V2 (2,2 В) до PWR_PVDLevel_2V9 (2,9 В) с шагом 0,1 В. Выход: значения не возвращает. Функция: void PWR_WakeUpPinCmd (FunctionalState NewState). Назначение: устанавливает возмож- ность пробуждения контроллера по сигналу на пробуждающем пине. Вход: NewState – состояние возмож- ности пробуждения. Принимает сле- дующие значения: ENABLE и DISABLE. Выход: значения не возвращает. Используя данные функции, можно изменять режим работы микрокон- троллера в соответствии с алгоритмом функционирования разрабатываемо- го устройства. Подробнее познакомиться с блоком управления питанием можно в перво- источнике [2]. Л ИТЕРАТУРА 1. www.st.com . 2. www.st.com/web/en/resource/tech- nical/document/reference_manual/ CD00246267.pdf.

RkJQdWJsaXNoZXIy MTQ4NjUy