Низкое энергопотребление — низкая цена!
Микроконтроллеры STMicroelectronics для устройств с батарейным питанием
Введение
Экономичность электроприборов — одно из основных потребительских качеств электроники. Говоря о малом потреблении, мы в первую очередь имеем в виду приборы с батарейным питанием. Но не стоит забывать, что экономичное потребление необходимо не только системам с батарейным питанием, но и любой современной технике, так как повышенное потребление в конечном итоге сказывается на цене эксплуатации. Рост тарифов вынуждает потребителей выбирать наиболее экономичные устройства.
В целом рынок электроники неоднороден по своим требованиям к производительности и экономичности. Так, например, для сотовых телефонов, планшетов и ноутбуков, помимо потребления, важна и высокая производительность процессора.
Однако между производительностью и потреблением есть противоречие. Современные контроллеры и процессоры представляют собой цифровые микросхемы, выполненные по КМОП-технологии. Для таких устройств можно выделить два типа потребляемой мощности: статическую и динамическую. Динамическая мощность вычисляется по формуле:
где С — нагрузочная емкость КМОП, V — напряжение питания, f — рабочая частота. Из этой формулы следует, что чем выше рабочая частота (выше производительность), тем больше динамическая потребляемая мощность. Таким образом, при выборе контроллера очень важно найти компромисс между производительностью и экономичностью.
Существует огромное количество областей, требующих в первую очередь высокой экономичности. Например:
- Медицина: глюкометры, инсулиновые помпы, мониторы давления/пульса/крови, измерители холестерина и др.
- Счетчики газа, давления, воды, температуры и др.
- Измерительные приборы: мультиметры, RLC-метры и др.
- Сигнализация: центральные модули, датчики задымления/движения/вскрытия, электронные клапаны водоснабжения, электронные замки, радиобрелоки сигнализации и др.
- Промышленная автоматизация: проводные и беспроводные датчики, приводы, драйверы и контроллеры исполнительных механизмов и др.
- Развлечения: радиоуправляемые модели, джойстики и манипуляторы, игрушки и др.
- Домашние приборы: часы, беспроводные телефоны, звонки и др.
Тщательно проанализировав рынок, фирма STMicroelectronics разработала стратегию развития микроконтроллеров с низким потреблением. В рамках этой стратегии созданы два семейства: 8-битное STM8L и 32-битное STM32L. Совместно они позволяют закрыть большую область приложений (рис. 1). Семейства практически не конкурируют друг с другом: STM8L применяется в наиболее требовательных к потреблению приборах, в то время как STM32L используется в приборах с более высокой производительностью. Широчайший выбор контроллеров с различной производительностью, периферией и потреблением позволяет найти контроллер с наилучшим сочетанием этих качеств.
При реализации обоих семейств использовались схожие принципы снижения потребляемой мощности:
- пониженное напряжение питания — от 1,8 до 3,6 В (в ряде случаев — от 1,65 В);
- гибкое и интеллектуальное управление интегрированными регуляторами напряжения;
- гибкая система тактирования, позволяющая использовать широкий выбор источников тактирования, производить деление частоты, индивидуально тактировать интегрированную периферию;
- наличие режимов пониженного потребления.
Обзор производительных и экономичных контроллеров семейства STM32L
Семейство STM32L объединяет в себе более 50 наименований 32-битных контроллеров с минимальным энергопотреблением, различным объемом памяти и в разных корпусах (рис. 2). Благодаря ядру ARM Cortex-M3, которое работает на частоте до 32 МГц с производительностью 33,3 DMIPS (Dhrystone 2.1), контроллеры этого семейства могут применяться в устройствах, производительность которых так же важна, как и потребление. Например: центральные модули сигнализации, медицинские измерительные приборы, драйверы и контроллеры промышленных механизмов.
В семействе можно выделить четыре линейки (рис. 3).
STM32L162 — имеет до 384 кбайт Flash, до 48 кбайт ОЗУ, до 12 кбайт EEPROM и наиболее развитую периферию:
- FSMC-контроллер для подключения внешней памяти, TFT-панелей и других устройств.
- До 116 быстрых входов/выходов общего назначения (из них 102 устойчивы к 5 В) с возможностью внешних прерываний.
- Драйвер ЖК-экранов (до 8×40 сегментов) с поддержкой яркости и интегрированным повышающим преобразователем.
- До трех ОУ.
- До 40 каналов 12-битного АЦП.
- Два 12-битных ЦАП.
- Два малопотребляющих компаратора.
- DMA на 12 каналов.
- Коммуникационные интерфейсы: USB2.0, до пяти USART, до трех SPI, до двух I2C, один SDIO.
- До 11 таймеров, в том числе один 32-битный, шесть 16-битных с возможностью захвата/сравнения/ШИМ, четыре 16-битных общего назначения, два сторожевых таймера (оконного типа и независимый).
- До 34 каналов сенсорных кнопок.
- Модуль вычисления CRC.
- 96-битный уникальный ID.
Особенностью STM32L162 является наличие 128-битного модуля криптографии AES с поддержкой DMA.
Линейка STM32L152 отличается от STM32L162 главным образом отсутствием AES. При этом разнообразие периферии сохраняется. В свою очередь, STM32L151 сохраняет функционал STM32L152, но не имеет контроллера ЖК-экрана.
Самой новой линейкой семейства является STM32L100 Value Line (табл. 1). Она призвана заменить вышеперечисленные линейки в тех приложениях, где цена играет главную роль. Контроллеры STM32L100 имеют уникально низкую стоимость, что стало возможным благодаря ряду причин. Это:
- Оптимизация процесса производства.
- Уменьшение затрат на тестирование, оптимизация и распараллеливание процессов тестирования.
- Ограничение наименований контроллеров, использование ограниченного набора корпусов (на 48 или 64 вывода).
- Выбор одного типа упаковки.
- Повторное использование фирменного ПО и документации (фактически использование библиотек на старшие модели).
- Ограничение используемой периферии.
Наименование | Корпус/размеры, мм | Flash, кбайт | ОЗУ, кбайт | EEPROM, байт | АЦП | ЦАП | Интерфейсы | ЖК-дисплей | Напряжение питания (min), В | Потребляемый ток (min), мкА | Потребляемый ток при 1 МГц (режим RUN) (тип.), мкА |
STM32L100C6 | UFQFPN 48/7×7×0,55 | 32 | 4 | 2048 | 16×12-бит | 2×12-бит | SPI, I2C, USART, USB 2.0 |
4×16 | 1,8-3,6 | 0,3 | 230 |
STM32L100R8 | LQFP 64/10×10×1,4 | 64 | 8 | 2048 | 20×12-бит | 4×32/8×28 | |||||
STM32L100RB | 128 | 10 | 2048 | 20×12-бит | |||||||
STM32L100RC | 256 | 16 | 8192 | 21×12-бит | 0,35 | 238 |
Изменение производства привело к незначительному ухудшению ряда параметров (табл. 2). Однако эта линейка сохраняет широкий набор периферии и производительность, поэтому ухудшение параметров может быть совершенно не критичным, особенно в приложениях с ограниченным бюджетом.
Параметры | STM32L15x | STM32L100 | ||||||
Объем Flash/RAM | 32K/10K | 64K/10K | 128K/16K | 256K/32K | 32K/4K | 64K/8K | 128K/10K | 256K/16K |
Flash | 10K циклов / сохранность 30 лет/+85 °C | 1K цикл / сохранность 20 лет/+85 °C | ||||||
Теневые регистры, байт | 80 | 2 | ||||||
Напряжение питания, В | 1,65-3,6 | 1,8-3,6 | ||||||
Рабочая температура, °C | -45…+85/+105 | -40…+85 | ||||||
Корпус (выводов) | 48 | 64 | 48 | 64 | ||||
EEPROM | 4K | 4K | 4K | 8K | 2K | 2K | 2K | 4K |
300K циклов | 100K циклов | |||||||
Точность встроенного генератора (HSI) | ±1% при T = +25 °C | ±10% при -40…+85 °C | ||||||
От -4 до 3% при -40…+85 °C | — | |||||||
Точность программируемого генератора (MSI) | ±3% при 0…+85 °C | ±10% при 0…+85 °C | ||||||
ЖК-дисплей | 4×16 | 8×28 | 4×16 | 8×28 | ||||
USART | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
SPI | 2 | 2 | 2 | 3 | 2 | 2 | 2 | 3 |
I2C | 2 | 2 | 2 | 2 | 22 | 2 | 2 | 2 |
Компаратор | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Поддержка сенсорных кнопок | 28 | 28 | 28 | 36 | Нет | |||
Уникальный ID | Да | Нет |
Особенности минимизации потребления в STM32L
Производство STM32L основано на той же технологии, которая отлично зарекомендовала себя еще при выпуске контроллеров STM32F10x. Как было сказано ранее, для заданного технологического процесса потребляемая мощность в активном режиме в значительной степени зависит от уровня напряжения питания и рабочей частоты. Рассмотрим особенности STM32L, позволяющие достичь низких параметров потребления.
Особенности питания STM32L
Микроконтроллеры имеют интегрированный регулятор напряжения с низким собственным падением, что позволяет им работать в составе устройств с батарейным питанием с уровнем напряжения от 1,65 В (для аналоговых цепей — 1,8 В).
Регулятор питает все цифровые модули за исключением модулей Standby. Выходное напряжение может принимать три значения: 1,2, 1,5 и 1,8 В. Производительность для каждого значения различна (рис. 4).
Регулятор имеет три состояния: основное, низкого потребления и выключенное. Основное состояние применяется при активном режиме работы контроллера (режим RUN). Переход в состояние с низким потреблением происходит в режимах пониженного потребления — Low-power run, Low-power sleep и Stop. В режиме Standby выход регулятора находится в высокоомном состоянии, питание ядра отключено, что практически до нуля снижает потребление, а содержимое регистров и ОЗУ теряется (за исключением схемы пробуждения, независимого сторожевого таймера, часов реального времени и низкочастотных резонаторов).
Особенности системы тактирования
Контроллер сброса и тактирования (RCC) позволяет работать с пятью возможными источниками тактового сигнала:
- Внешний резонатор с частотой 4-24 МГц (HSE crystal) используется, как правило, для PLL и формирования системной частоты до 32 и 48 МГц для USB.
- Внешний низкочастотный резонатор 32,768 кГц (LSE) используется для режимов пониженного потребления для тактирования часов реального времени, но может быть использован и для тактирования ЖК-контроллера.
- Внутренний низкочастотный 38 кГц RC-генератор (LSI) обладает наименьшим потреблением. Используется для тактирования часов реального времени (с ограниченной точностью), ЖК-контроллера и независимого интегрированного сторожевого таймера.
- Внутренний 16-МГц RC-генератор (HSI) используется для тех же целей, что и HSE.
- Внутренний перестраиваемый генератор (MSI).
- The MSI clock (от 64 кГц до 4 МГц) представляет собой генератор средней точности, но имеет низкое потребление и возможность подстройки. Он используется в режимах пониженного потребления и более экономичен, чем HIS.
Помимо разнообразия тактирующих сигналов, RCC позволяет использовать внутренние делители частоты и независимое тактирование различных блоков и периферии.
Все преимущества гибкой системы тактирования и системы питания проявляются в режимах пониженного потребления.
Режимы энергопотребления STM32L
Потребление STM32L можно в значительной степени снизить за счет одного из семи режимов пониженного потребления (табл. 3). По сравнению с семействами STM32F добавились два дополнительных режима: Low-power run и Low-power sleep.
Режим | Потребление | CPU | Flash / EEPROM | RAM | Периферия | Тактирование | LCD | RTC |
Sleep | 100 мкА/МГц (Range 1) | Выкл. | Вкл. | Вкл. | Активна | Любой источник | Доступен | |
82 мкА/МГц (Range 2) | ||||||||
65 мкА/МГц (Range 3) | ||||||||
Low power run | 10,4 мкА/МГц (Flash выкл., 32 кГц) | Вкл. | Вкл./выкл. | Вкл. | Активна | MSI | Доступен | |
Low power sleep | 5,1 мкА | Выкл. | Выкл. | Вкл. | Выкл. | MSI | Доступен | |
6,1 мкА | 1 таймер вкл. | |||||||
Stop with RTC | 1,3 мкА (1,8 В) | Выкл. | Выкл. | Вкл. | Ожидание | LSI, LSE |
Доступен |
|
1,6 мкА (3 В) | ||||||||
Stop | 500 нА | Выкл. | Выкл. | Вкл. | Ожидание | LSI, LSE | Выкл. | Выкл. |
Standby with RTC | 1,3 мкА (3 В) | Выкл. | Выкл. | Выкл. | Выкл. | LSI, LSE | Выкл. | Вкл. |
1 мкА (1,8 В) | ||||||||
Standby | 270 нА | Выкл. | Выкл. | Выкл. | Выкл. | LSI, LSE | Выкл. | Выкл. |
Перечислим особенности каждого из режимов:
- Sleep. В этом режиме ядро остановлено. Вся периферия продолжает работать. Ядро пробуждается при наступлении события или прерывания. Тактирование возможно от любого источника.
- Low-power run. В этом режиме код выполняется из ОЗУ или Flash, частота MSI снижена до 65 кГц, внутренний регулятор находится в режиме низкого потребления. Рабочая частота и перечень активной периферии ограничены.
- Low-power sleep. В этом режиме (в отличие от режима Sleep) Flash и EEPROM отключены, тактирование ведется только от MSI.
- Stop-режим с работающими часами реального времени (RTC). В этом режиме все источники тактирования отключены за исключением LSI и LSE. Содержимое регистров и ОЗУ сохраняется, Flash и EEPROM отключены. Пробуждение возможно в результате нескольких событий: это внешнее прерывание, прерывание от компараторов, RTC, от пробуждения через USB.
- Stop-режим с работающим RTC. Является аналогом предыдущего режима с неактивным RTC.
- Standby без RTC. Все источники тактирования, кроме LSI и LSE, отключены. ОЗУ, Flash, EEPROM отключены. Содержимое ОЗУ и регистров теряется. Сохраняется содержимое цепей схемы пробуждения, независимого сторожевого таймера, RTC. Выход из режима возможен по аппаратному сбросу, по сбросу от сторожевого таймера, по сигналу WKUP одного из трех внешних выводов WKUP или в результате прерывания от RTC.
- Standby без RTC. Аналогичен предыдущему режиму, за исключением работы RTC.
Oтладочные средства STM32L
К преимуществам работы с контроллерами STM32L следует отнести простоту освоения, широкий выбор сред программирования, наличие бесплатных библиотек, доступность отладочных комплектов.
Все основные среды разработки для контроллеров с ARM-ядром (табл. 4) поддерживают STM32L. Выбор конкретной среды определяется ее доступностью и зачастую делом вкуса. Каждая среда предоставляет возможность компиляции, отладки и симуляции. Отметим также наличие огромного количества готовых примеров и библиотек.
Производитель | Среда | C/C++ компилятор | Ограничения на бесплатную версию | Программатор-отладчик |
Keil | μVision | ARM RealView C/C++ | 32 кбайт по коду | ULINK-ME, ST-Link, J-LINK |
IAR | Embedded Workbench | IAR C/C++ | 32 кбайт по коду. Полная версия на 30 дней | ST-Link, J-LINK |
Atolic | TrueStudio | Eclipse GNU C/C++ | Ограничение по функционалу | ST-Link |
Raisonance | Ride7 RKIT-ARM | GNU C/C++ | 32 кбайт по коду | R-Link |
Hitex | HiTOP | Altium/Tasking VX C/C++, Hitex GNU C/C++ | Tantino JTAG |
Компания STMicroelectronics предоставляет бесплатное программное обеспечение, включающее множество библиотек: это библиотека стандартной периферии (общая для всех контроллеров семейства), библиотека GUI, библиотека для сенсорных приложений, библиотека USB и многие другие.
Для ускорения освоения контроллеров STMicroelectronics предлагает фирменные стартовые наборы STM32L Discovery (рис. 5а). Отладочная плата содержит встроенный программатор, позволяющий работать напрямую с различными системами (Keil, IAR, TrueStudio), контроллер STM32L152RBT6B, два светодиода, пользовательскую кнопку, сенсорную клавиатуру и ЖК-дисплей (24×4). На сайте производителя можно найти примеры непосредственно для этого комплекта.
Комплект STM32L152-EVAL (рис. 5б) можно использовать как готовый блок в составе различных устройств, что значительно снижает время разработки. На плате реализовано большое количество периферийных интерфейсов и модулей: микрофон, разъем для MicroSD, два RS-232, 240×320 TFT, джойстик на четыре направления, четыре пользовательских светодиода, 32х4-сегментный ЖК-дисплей, USB, две сенсорные кнопки, светочувствительный резистор и потенциометр.
Семейство 8-битных контроллеров STM8L
STM8L уступает по производительности STM32L, но гораздо экономичнее в потреблении. STM8L подходит как для простейших устройств (датчики, игрушки), так и для производительных (драйверы двигателей, медицинские приборы).
В состав семейства STM8L входят четыре линейки (рис. 6).
STM8L101 — базовая линейка контроллеров. Она отличается самым скромным набором периферии, ограниченным объемом Flash-памяти (до 8 кбайт) и ОЗУ (до 1,5 кбайт).
STM8L151/152 — производительная линейка с расширенным набором периферии:
- 12-битный АЦП 1 Msps до 28 каналов.
- Два 12-битных ЦАП с выходным буфером.
- Контроллер LCD на 8×40 или 4×44 сегментов.
- DMA на четыре канала для ЦАП, АЦП, SPI, I2C, USART, таймеров, один канал — для передачи данных из памяти в память.
- Два малопотребляющих компаратора.
- Три 16-битных двухканальных таймера с квадратурным энкодером.
- Один 16-битный таймер с комплементарными выходами для управления двигателями.
- Один 8-битный таймер с 7-битным делителем частоты.
- Один независимый сторожевой таймер.
- Блок генерации для внешних звуковых устройств (например, пьезоэлементов) на 1,2 и 4 кГц.
- Коммуникационные интерфейсы: SPI, I2C, USART.
- До 67 входов/выходов общего назначения.
- До 16 каналов подключения сенсорных кнопок.
- 96-битный уникальный номер.
STM8L162 — производительная линейка, имеющая интегрированный блок криптографии AES, позволяющий шифровать и расшифровывать данные по AES-алгоритму.
Недавней новинкой в семействе STM8L стала линейка STM8L05 Value Line Level. Ее назначение состоит в замене микроконтроллеров STM8L162 и STM8L151/152 в приложениях, где цена и энергопотребление являются определяющими факторами.
Для снижения стоимости инженеры STMicroelectronics пошли привычным путем: это снижение стоимости тестирования конечной продукции за счет оптимизации и распараллеливания процессов тестирования, ограничение типов корпусов и наименований, использование упаковки только одного типа и уже готовых программных библиотек, исключение части периферии (отсутствуют компараторы, ЦАП, уникальный номер). Сейчас в линейку входят только три устройства (табл. 5).
Наименование | Корпус/размер, мм | Flash, кбайт | ОЗУ, кбайт | EEPROM, байт | АЦП | Интерфейсы | ЖК-дисплей | Напряжение питания (min), В | Потребляемый ток (min), мкА | Потребляемый ток при 1 МГц (режим RUN), (тип.), мкА |
STM8L051F3 | TSSOP 20 | 8 | 1 | 256 | 10×12-бит | SPI, I2C, USART | — | 1,8-3,6 | 0,35 | 180 |
STM8L052C6 | LQFP 48/7×7×1,4 | 32 | 2 | 25×12-бит | 4×28 | 0,35 | 180 | |||
STM8L052R8 | LQFP 64/10×10×1,4 | 64 | 4 | 28×12-бит | 4×28/8×24 | 0,4 | 200 |
Говоря о STM8L, следует в первую очередь уделить внимание тем особенностям и решениям, которые позволили значительно снизить потребление этих микроконтроллеров.
Особенности минимизации потребления в STM8L
Организация питания
Как было сказано выше, потребление возрастает пропорционально квадрату напряжения питания. STM8L имеют широкий диапазон питающих напряжений — 1,65-3,6 В (STM8L005 — от 1,8 В), что позволяет при необходимости значительно снижать потребление.
Второй особенностью контроллеров можно назвать интегрированную схему питания (рис. 7), которая состоит из двух регуляторов: основного (Main Voltage Regulator, MVR) и дополнительного маломощного регулятора (Low Power Voltage Regulator, LPVR). В активном режиме MVR обеспечивает напряжение 1,8 В и ток до 25 мА для процессорного ядра и памяти. В ряде режимов пониженного потребления, когда работает только ограниченный набор периферии, можно использовать LPVR, обеспечивающий напряжение 1,55 В и ток 250 мкА. При этом MVR отключается, что дополнительно снижает потери мощности.
Система тактирования
Микроконтроллеры STM8L05, STM8L151/2 и STM8L162 могут использовать различные источники тактового сигнала:
- внешний резонатор с частотой 1-16 МГц (HSE crystal);
- внешний генератор с частотой до 16 МГц (HSE bypass);
- внутренний 16-МГц RC-генератор (HSI);
- внешний низкочастотный резонатор 32,768 кГц (LSE);
- внутренний низкочастотный 38-кГц RC-генератор (LSI).
Каждый из источников может быть независимо включен и выключен, что позволяет снижать потребляемую мощность. Следует учитывать, что источники тактового сигнала имеют собственное потребление, поэтому грамотный выбор источника поможет дополнительно снизить потери мощности.
Еще одной особенностью системы тактирования является то, что каждый периферийный модуль может быть отключен, что делает систему очень гибкой.
Дополнительно в случае необходимости системный тактовый сигнал может быть поделен при помощи внутреннего делителя.
Использование особенностей систем питания и тактирования позволяет реализовывать несколько режимов пониженного энергопотребления.
Режимы энергопотребления STM8L
Микроконтроллеры семейства STM8L (за исключением STM8L101xx) имеют пять режимов пониженного потребления (табл. 6). Выбор режима значительно влияет на их потребление.
Таблица 6. Режимы пониженного потребления в STM8L
Режим | CPU | Периферия | HSI / HSE | RTC | LSI / LSE | Flash | ОЗУ | Потребление (тип.) при температуре, мкА | |
+25 °С | +85 °С | ||||||||
Low-power run | Вкл. | Вкл. | Выкл. | Вкл. | Вкл. | Выкл. | Вкл. | 5,4 | 6,8 |
Low-power wait | Выкл. | Вкл. | Выкл. | Вкл. | Вкл. | Выкл. | Вкл. | 3,3 | 4,4 |
Active-halt w/full RTC | Выкл. | Выкл. | Выкл. | Вкл. | Вкл. | Выкл. | Вкл. | 1 | 1,4 |
Active-halt w/RTC on LSI | Выкл. | Выкл. | Выкл. | Выкл. | Вкл. | Выкл. | Вкл. | 0,8 | 1,2 |
Halt | Выкл. | Выкл. | Выкл. | Выкл. | Выкл. | Выкл. | Выкл. | 0,4 | 1 |
Режим Wait
В этом режиме ядро контроллера отключается, а периферия остается активна. Это удобно в том случае, когда микроконтроллер периодически находится в режиме ожидания сообщений от периферийных интерфейсов и ядро не используется.
Вход в режим происходит после выполнения ассемблерных команд WFI (режим ожидания прерывания) или WFE (ожидание события).
Выход из этого режима осуществляется при возникновении прерывания от периферийных модулей.
Режим Low-power run
В таком режиме программа выполняется из RAM, а для тактирования используется низкочастотный источник (LSI, LSE). Основной внутренний регулятор напряжения (MVR) отключается, и схема получает питание от маломощного регулятора (LPVR). АЦП в этом режиме не функционирует, так как для него необходима частота тактирования не менее 1 МГц. Прерывания не поддерживаются: вектор прерывания находится во Flash-памяти, которая отключена. (Этот режим не поддерживается в семействе STM8L101xx).
Режим Low-power wait
Вход в этот режим возможен из режима Low-power run при выполнении ассемблерной команды WFE. Выход из него происходит так же, как в режиме Low-power run: при наступлении внутреннего или внешнего события.
Режим Halt
В этом режиме тактирование отключено, это значит, что ядро и периферия не тактируются за рядом исключений: внешний высокочастотный резонатор HSE не останавливается, если используется SWIM; системное тактирование не отключается, если происходит запись Flash/EEPROM; внутренний низкочастотный RC-осциллятор LSI не останавливается при использовании SWIM и при особых настройках сторожевого таймера. В этом режиме ни периферия, ни ядро ничего не потребляют.
Вход в режим происходит после выполнения ассемблерной команды Halt. Выход из режима Halt осуществляется при наступлении внешнего прерывания от порта ввода/вывода общего назначения.
Режим Active-halt
В этом режиме основной тактовый генератор, ядро и практически вся периферия отключаются. Во включенном состоянии остаются внутренний низкочастотный RC-осциллятор (LSI), внешний низкочастотный резонатор (LSE) при использовании SWIM, периферийный блок BEEP, независимый сторожевой таймер (IWDG), часы реального времени (RTC) и контроллер ЖК (LCD). Вход происходит по ассемблерной команде Halt.
Следует отметить, что во всех режимах все входы/выходы — общего назначения (как цифровые, так и аналоговые выходы ЦАП).
Контроллер может выходить из режимов пониженного потребления при появлении определенных прерываний (от компараторов, SPI, I2C, USART и др.).
Большой набор режимов потребления и гибкая система тактирования позволяют выбрать необходимые настройки для конкретного приложения.
Средства разработки и отладки для STM8L
Для разработки программного обеспечения для STM8L есть несколько программных сред:
- ST Visual Develop (STVD) — бесплатная среда проектирования.
- ST Visual Programmer (STVP) — бесплатное ПО для программирования МК.
- Raisonance RIDE — бесплатная среда проектирования с RBuilder и RFlasher.
- Raisonance C-компилятор — 16-кбайт версия бесплатно.
- IAR Systems — cреда проектирования с С-компилятором.
- Cosmic C-компилятор, 16 кбайт бесплатно.
На сайте STMicroelectronics можно бесплатно скачать множество библиотек и примеров. Отметим, что бесплатно предоставляемая библиотека периферии поддерживает все контроллеры семейства.
Помимо программных средств, можно приобрести отладочные наборы, которые предлагаются по совершенно демократическим ценам, доступным даже студентам. Одним из таких наборов является стартовый комплект STM8L Discovery (рис. 8а). На этой плате расположен STM8L152C6T6, два пользовательских светодиода, кнопка, ЖК-дисплей и программатор, позволяющий работать с перечисленными средами. Таким образом, чтобы начать работать с STM8L, необходимы минимальные денежные затраты.
Кроме стартового набора, существуют разнообразные отладочные платы. С помощью STM8L1526-EVAL, STM8L15LPBOARD и STM8L101-EVAL (рис. 8) можно ознакомиться с периферией и производить отладку ПО. Их даже можно использовать в составе готовых изделий.
Заключение
Компания STMicroelectronics предлагает широчайший выбор микроконтроллеров с пониженным потреблением. Контроллеры 8-битного семейства STM8L имеют минимальное потребление при высокой производительности. Контроллеры 32-битного семейства STM32L обладают всеми преимуществами ядра ARM Cortex-M3 и низкого потребления и подходят для приложений, в которых еще недавно главенствовали 8-битные контроллеры. Бюджетные линейки STM8L05 и STM32L100 открывают новые возможности построения недорогих решений, сохраняя все преимущества низкого потребления и производительности.
- AN3147. Application note. Power management in STM8L and STM8AL. Rev. 3. 2013.
- AN3193. Application note. STM32L15x ultralow power features overview. Rev. 1. 2010.
- Presentation. STM8L and STM32 L1 series Ultra-low-power platform.
- www.st.com