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

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 36 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2015 них запоминающих устройств могут быть отключены в любой момент для снижения потребления тока микрокон- троллером. С ПЯЩИЙ РЕЖИМ Вход в спящий режим осуществляет- ся с помощью инструкцийWFI (Wait for Interrupt) илиWFE (Wait for Event). Есть возможность выбора механизма входа в спящий режим в зависимости от бита SLEEPONEXIT. Если бит SLEEPONEXIT сброшен, то устройство уходит в спящий режим, как только была вызвана инструкция WFI или WFE. Если бит SLEEPONEXIT установлен, то устройство входит в спящий режим, как только произойдёт выход из обработ- чика прерывания. В спящем режиме все цепи ввода- вывода микроконтроллера сохраня- ют своё состояние. Если для входа в спящий режим была задействована инструкция WFI, то выход контроллера из спящего режи- ма может быть осуществлён вызовом любого прерывания от периферии. Если для входа в спящий режим была задействована инструкция WFE, то выход контроллера из спящего режи- ма осуществляется, как только проис- ходит какое-либо событие. Это собы- тие может быть сгенерировано следу- ющим образом: ● включением прерывания в реги- стре управления периферией, но не в NVIC; ● установкой бита SEVONPEND в реги- стре управления ядром; ● конфигурированием внешнего или внутреннего прерывания EXTI в режиме событий. Р ЕЖИМ ОСТАНОВА Режим останова базируется на ре- жиме глубокой спячки ядра. В этом режиме останавливаются все генера- торы тактовой частоты в блоке 1,8 В, а также отключаются узлы PLL, HSI и HSE RC. В режиме останова все цепи ввода- вывода сохраняют своё состояние. Вход в режим останова может быть осуществлён вызовом инструкцийWFI или WFE, пока: ● установлен бит SLEEPDEEP; ● очищен бит PDDS в регистре PWR_CR; ● выбран режим регулятора напряже- ния битом LPDS в регистре PWR_CR. Если во время перехода устройства в спящий режим происходит програм- мирование флэш-памяти, то переход откладывается до завершения процес- са программирования. В режиме останова можно вклю- чить независимый сторожевой тай- мер IWDT, часы реального времени RTC, внутренний тактирующий гене- ратор LSI RC и внешний генератор LSE OSC, путём изменения соответствую- щих конфигурационных бит. Независимый сторожевой таймер IWDT может быть запущен с помощью своего регистра. После этого его оста- нов возможен только вводом контрол- лера в режим сброса. Часы реального времени RTC вклю- чаются с помощью бита RTCEC в своём регистре управления. Внутренний тактирующий генера- тор LSI RC запускается с помощью бита LSION. Внешний генератор LSE OSC на 32,768 кГц активируется с помощью бита LSEON. Выход из режима останова зависит от вхождения в этот режим. Если вход был инициирован с помощьюWFI, то выход возможен с помощью любой линии EXTI, сконфигурированной в режиме прерывания. Если вход был выполнен с помощью WFE, то выход производится с помощью любой линии EXTI, сконфигурированной в режиме события. Во время выхода из режи- ма останова генератор HSI RC выбран как основное системное тактирующее устройство. Р ЕЖИМ ОЖИДАНИЯ Режим ожидания является режимом с минимальным энергопотреблением. Он основан на режиме глубокого сна микроконтроллера вместе с отклю- чённым регулятором питания. В этом режиме блок 1,8 В отключается вместе с генераторами PLL, HSI и HSE. Содер- жимое памяти SRAM и всех регистров, за исключением резервных, теряется. Вход в режим ожидания возможен вызовом инструкций WFI или WFE, пока: ● установлен бит SLEEPDEEP; ● установлен бит PDDS в регистре PWR_CR; ● сброшен бит WUF в регистре PWR_CSR. В режиме ожидания можно вклю- чить независимый сторожевой тай- мер IWDT, часы реального времени RTC, внутренний тактирующий генератор LSI RC и внешний генератор LSE OSC, так же, как в режиме останова. Выход из режима ожидания может быть осуществлён с помощью: ● нарастающего фронта на выводе WKUP; ● нарастающего фронта будильника RTC; ● внешнего сигнала на выводе NRST; ● сброса от IWGT. О ТЛАДОЧНЫЙ РЕЖИМ По умолчанию отладочный режим отключается при переходе контрол- лера в режим останова или ожидания, так как ядро больше не получает такти- рующего сигнала. Однако с помощью битов регистра DBGMCU_CR можно включить воз- можность отладки микроконтролле- ра в режимах с низким потреблением энергии. А ВТОМАТИЧЕСКИЙ ВЫХОД ИЗ РЕЖИМА ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ Для пробуждения микроконтролле- ра из режима с низким потреблением можно использовать блок часов реаль- ного времени RTC, который позволя- ет программировать интервал време- ни для периодического пробуждения из режима останова или ожидания. С помощью битов RTCSEL[1:0] реги- стра RCC_BDCR, для этой цели можно выбрать любой из следующих источни- ков тактового сигнала для RTC: ● генератор LSE OSC от внешнего квар- ца на 32,768 кГц; ● внутренний RC генератор LSI RC. Чтобы вывести микроконтроллер из режима останова с помощью события от будильника RTC необходимо выпол- нить следующие операции: ● настроить линию 17 EXTI на возрас- тающий фронт; ● настроить RTC на генерацию сигна- ла тревоги (будильника). Для пробуждения микроконтроллера из режима ожидания конфигурировать линию 17 EXTI не требуется. О ПИСАНИЕ РЕГИСТРОВ Блок управления питанием включает в свой состав всего два регистра. Карта размещения данных регистров в про- странстве памяти и их значения после сброса представлены в таблице. На этой карте представлены относи- тельные адреса регистров. Рассмотрим подробнее назначение всех разрядов этих регистров. Регистр управления питанием PWR_CR имеет нулевое смещение адре-

RkJQdWJsaXNoZXIy MTQ4NjUy