Последние темы
» Вити больше нет!автор bug19 Пн Фев 20 2023, 19:54
» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47
» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05
» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03
» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02
» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52
» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36
» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37
» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33
» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00
» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58
» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17
» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07
» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08
» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09
» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02
» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47
» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11
» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33
» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38
» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12
» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01
» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22
» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08
» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08
Самые активные пользователи за месяц
Нет пользователей |
Поиск
STM32L0. Статьи, заметки, очерки, разное...
Страница 1 из 1 • Поделиться
STM32L0. Статьи, заметки, очерки, разное...
1
.
____Микроконтроллеры семейства STM32L0 основаны на ядре Cortex-M0+ от компании STMicroelectronics. Новое семейство микроконтроллеров обладает отличным балансом производительности, ультранизкого потребления и надежности.
____Микроконтроллеры STM32L0 производятся по EEPROM технологии, что обеспечивает высокую надёжность продукта и самое главное — очень малую зависимость потребления от температуры. Помимо низкопотребляющего ядра Cortex-M0+ и технологии производства, уделено много внимания потреблению периферии микроконтроллера:
____На данный момент предлагаются микроконтроллеры с объемами FLASH памяти до 64 Кб.
____Для начала работы с микроконтроллерами STM32L0 компания STMicroelectronics предлагает отладочные платы STM32L0538-DISCO и NUCLEO-L053R8 с поддержкой Arduino и Mbed. В качестве ПО предлагается стандартная библиотека c генератором кода STM32CubeL0 и сниппеты.
Особенности семейства STM32L0:
12/16-бит АЦП, 12-бит ЦАП, 2 компаратора;
3 встроенных источника тактирования;
LCD драйвер 8х28 сегментов;
USB (crystallless, BCD), DMA, SPI, I2C, USART, LPUART;
До 9 таймеров, 1 таймер LPTIMER;
Генератор случайных чисел;
Напряжение питания 1.65…3.6 В;
Диапазон рабочих температур -40…105°С.
.
STM32L0 — новые микроконтроллеры с ультранизким потреблением.
____Микроконтроллеры семейства STM32L0 основаны на ядре Cortex-M0+ от компании STMicroelectronics. Новое семейство микроконтроллеров обладает отличным балансом производительности, ультранизкого потребления и надежности.
____Микроконтроллеры STM32L0 производятся по EEPROM технологии, что обеспечивает высокую надёжность продукта и самое главное — очень малую зависимость потребления от температуры. Помимо низкопотребляющего ядра Cortex-M0+ и технологии производства, уделено много внимания потреблению периферии микроконтроллера:
- потребление в активном режиме от 87 мкА/МГц;
- АЦП с потреблением 48 мкА при 12-бит разрешении;
- низкопотребляющий таймер LPTIMER работающий в режиме глубокого сна с потреблением менее 1 мкА;
- низкопотребляющий UART и USB, работающий без внешнего кварцевого генератора.
____На данный момент предлагаются микроконтроллеры с объемами FLASH памяти до 64 Кб.
____Для начала работы с микроконтроллерами STM32L0 компания STMicroelectronics предлагает отладочные платы STM32L0538-DISCO и NUCLEO-L053R8 с поддержкой Arduino и Mbed. В качестве ПО предлагается стандартная библиотека c генератором кода STM32CubeL0 и сниппеты.
Особенности семейства STM32L0:
- 32 МГц, ядро Cortex-M0+;
- FLASH-64 Кб, 8 Кб SRAM и 2 Кб EEPROM;
- Потребление:
- Динамический режим до 87 мкА/МГц;
- Режим Ultra-low-power + сохранность RAM + низкопотребляющий таймер — 440 нA (16 источников пробуждения);
- Режим Ultra-low-power + регистры резервирования (backup) — 250 нA (3 источника пробуждения);
- Время пробуждения: 3.5 мкс;
***
.
Re: STM32L0. Статьи, заметки, очерки, разное...
2
.
Новое семейство STM32L0 расширяет портфолио малопотребляющих микроконтроллеров от STMicroelectronics. Высокоэффективное ядро Cortex-M0+, особая Low Power-периферия, оптимизация системы питания и тактирования позволили существенно уменьшить потребляемую мощность по сравнению с семейством STM32F0, а появление USB-контроллера повысило функциональность.
____Портфолио малопотребляющих контроллеров компании STMicroelecronics было расширено за счёт нового семейства STM32L0. Этот контроллер является результатом сочетания новейших технологий и наиболее удачных решений, реализованных в STM8L и STM32L1. Все три семейства предназначены для работы в сегментах, для которых ранее было характерно использование только 8-/16-битных микроконтроллеров.
____Несмотря на схожесть таких характеристик как малое потребление и высокая производительность, STM8L, STM32L1 и STM32L0 не являются прямыми конкурентами (рисунок 1), так как предназначены для разных приложений. Микроконтроллеры STM8L наиболее актуальны для простых приложений, где не требуется сложных вычислений и большого количества периферии. Также STM8L обладают очень низкой ценой – младшие модели линейки стоят дешевле 1$.
Рис. 1. Семейства малопотребляющих микроконтроллеров производства компании STMicroelectronics.
____STM32L0 и STM32L1 наиболее схожи, но также имеют несколько отличий. Первое – это производительность. STM32L1 построены на ядре Cortex-M3 и в цифровом выражении производительность Cortex-M3 на 30…35% процентов выше, чем Cortex-M0+: 1,25 DMIPS/МГц против 0,9 DMIPS/МГц. Также, если посмотреть на рисунок 1, то станет видно, что STM32L0 занимает промежуточное значение между STM8L и STM32L1 как в отношении производительности, так и в отношении объёмов памяти, периферии и цены. И последнее, что осталось добавить: в STM32L0 инженеры компании STMicroelectronics особое внимание уделили периферии, снижению её потребления и нацеленности на новый рынок – рынок счётчиков электроэнергии и расходомеров.
____Существующие отличия позволяют семействам взаимно дополнять друг друга и использоваться в различных областях электроники:
____Семейство STM32L0 включает в себя более 20 наименований. Это позволяет выбирать оптимальный контроллер для каждого конкретного приложения. В ближайшие полгода компания STMicroelectronics обещает расширить линейку как за счёт простых изделий, так и за счёт увеличения объёмов памяти и периферии.
____Семейство STM32L0 построено на ядре Cortex-M0+ и включает три основных линейки микроконтроллеров: STM32L0x1, STM32L0x2, STM32L0x3 (рисунок 2, таблица 1).
Рис. 2. Обзор микроконтроллеров семейства STM32L0.
Таблица 1. Характеристики микроконтроллеров семейства STM32L0
____STM32L0x1 – базовая линейка семейства (Access line). Микроконтроллеры этой линейки выпускаются в миниатюрных 32-/48-/64-выводных корпусах, объем FLASH – до 64 кбайт, ОЗУ – до 8 кбайт, 2 кбайт EEPROM и базовым набором периферии. В базовом наборе периферии присутствуют 16-битные таймеры, сторожевые таймеры, часы реального времени, компараторы, 12-битный многоканальный АЦП с частотой выборок до 1,14 MSPS, последовательные интерфейсы (USART, I2C, SPI). В составе ядра реализовано четыре канала прямого доступа к памяти (DMA).
____Важно отметить появление особой малопотребляющей периферии (Low Power Peripheral) – таймера LPTIM и блока асинхронного приёмопередатчика LPUART, которые имеют целый ряд особенностей, позволяющих оптимизировать энергопотребление при их использовании.
____Кроме того, так же, как и в семействе STM32L, имеется дополнительный мультичастотный RC-генератор (Multi speed internal clock, MSI) с диапазоном частот 0,064…4,2 МГц. Его главное назначение – подстройка рабочей частоты микроконтроллера с учётом ограничений на уровень потребляемого тока.
____Эта линейка будет востребована для таких приложений как компьютерные мыши, клавиатуры, промышленные автономные датчики и другие системы, работающие в условиях жестких требований к потреблению.
____STM32L0x2, помимо базовой, имеет в своем составе дополнительную периферию: USB 2.0 (Full Speed) с блоками определения подключения зарядных устройств (BCD) и управления состояниями USB-устройства (LPM), 12-битный ЦАП, 16-канальный контроллер ёмкостных сенсорных кнопок (Touch sensing controller, TSC), генератор случайных чисел (True random number generator, TRNG). Количество каналов DMA увеличено до семи. Микроконтроллеры STM32L062 снабжены блоком криптографии AES.
____Имея богатую периферию, данная линейка идеально подойдет для промышленных блоков, например, для блоков управления исполнительными механизмами, электроавтоматики ЧПУ и другими.
____STM32L0x3 – линейка с наиболее развитой периферией. Главной отличительной чертой STM32L0x3 по сравнению с STM32L0x2 является наличие LCD-контроллера. LCD-контроллер способен управлять ЖК-экранами с числом линий до 8×28 для 64-выводных корпусов и 4×18 для 48-выводных корпусов.
____Микроконтроллеры STM32L063 снабжены блоком криптографии AES.
____Благодаря ЖК-контроллеру, STM32L0x3 могут быть использованы для медицинских измерительных приборов (глюкометры, тонометры), промышленных и бытовых счётчиков с индикацией (счётчики воды, газа).
____Стоит отметить и отличные эксплуатационные характеристики STM32L0. Уровень питающих напряжений для всех представителей составляет 1,65…3,6 В, а это делает возможной работу даже если батарея питания сильно разряжена. Кроме того, диапазон рабочих температур для некоторых представителей составляет -40…125°С при сохранении сверхнизкого потребления.
____Главной особенностью STM32L0 является снижение потребляемой мощности по сравнению с STM32F0. Это стало возможно благодаря целому комплексу мер.
____Потребление цифровых КМОП-микросхем складывается из статической и динамической составляющих.
____Статическая составляющая определяется величинами входного сопротивления затворов транзисторов и токов утечки. Она вносит значительный вклад в общее потребление только при низких рабочих частотах.
____Динамическая составляющая определяется величиной затворной ёмкости транзисторов, образующих логические ячейки. Чем чаще происходит переключение логических ячеек, тем чаще приходится перезаряжать эти ёмкости, и тем больше динамическое потребление. В общем случае динамическая мощность для КМОП-микросхем определяется по формуле:
где С – нагрузочная ёмкость всех переключаемых КМОП-транзисторов, V – напряжение питания, f – рабочая частота.
____Из формулы видно, что есть три способа для снижения потребления: уменьшение величины нагрузочной ёмкости, снижение напряжения питания, снижение частоты. К сожалению, простое уменьшение частоты и напряжения питания негативно сказываются на производительности. По этой причине основным способом сокращения потребления является динамическое управление мощностью.
____Суть этого метода можно пояснить на примере с использованием временной диаграммы потребления (рисунок 3). Рассмотрим некое обобщенное устройство, работающее от аккумуляторной батареи емкостью 1000 мА•ч. Если потребление прибора постоянно и составляет 1000 мА (рисунок 3, случай 1), то разряд батареи произойдет за час. Если же потребление прибора будет 500 мА – то время работы будет уже два часа (рисунок 3, случай 2). При любой форме кривой потребления площадь фигуры будет постоянна и равна 1000 мА•ч.
Рис. 3. Временная диаграмма работы от батареи питания при изменении потребления.
____В случае динамического управления мощностью осуществляется сокращение потребления без потери производительности (рисунок 3, случай 3). При необходимости выполнения интенсивных вычислений контроллер переходит в высокопроизводительный режим, потребляя большую мощность (Sa и Sc). Когда интенсивных вычислений нет – происходит переход в энергосберегающий режим (Sb и Sd).
____Динамическое управление мощностью в STM32L0 возможно благодаря ряду особенностей.
____Результатом всех предпринятых усилий стало сверхнизкое потребление. Например, при выполнении искусственных тестов при максимальной производительности величина потребляемого тока составляет менее 7 мА (таблица 2).
Таблица 2. Энергопотребление STM32L053x8 при выполнении искусственных тестов.
* – Значение тока указано при отключённой периферии.
____Важным преимуществом STM32L0 является возможность работы в широком диапазоне температур (до +125°С) без значительного роста питающих токов (рисунок 4).
Рис. 4. Потребление STM32L053x8 при различных значениях температуры (тактирование от HSI16, периферия отключена).
____Процессорное ядро ARM Cortex-M0 позволяло создавать микроконтроллеры, реализующие высокую плотность кода и лучший в своем классе уровень энергопотребления. За три года, прошедших со времени анонса ARM Cortex-M0, было продано более 50 лицензий на производство процессоров с этим ядром. После такого успеха компания ARM незамедлительно открыла проект “Flycatcher”, результатом которого стало новое ядро ARM Cortex-M0+.
____Разработка ARM Cortex-M0+ производилась с учётом требований ведущих производителей микроконтроллеров. Основными требованиями, как несложно догадаться, были снижение потребляемой мощности, увеличение энергоэффективности, сохранение максимальной совместимости с существующим набором инструкций и компиляторами.
____Ядро создавалось с использованием удачных решений, реализованных в ARM Cortex-M0, однако есть и целый ряд значительных новшеств: сокращение ступеней конвейера, изменение интерфейса с портами ввода/вывода, введение модуля защиты памяти (Memory Unit Protection, MPU).
____Сокращение длины конвейера. ARM Cortex-M0+ стал первым ARM процессором с двухуровневым конвейером. Снижение энергопотребления при испытаниях получилось более чем заметным. При выполнении тестов по методике Dhrystone статическая потребляемая мощность для Cortex-M0+ и Cortex-M0 оказалась примерно одинаковой – 0,95 мкВ и 0,96 мкВ соответственно. Однако динамическая потребляемая мощность сократилась примерно на 30% и составила 11,21 мкВ/МГц для Cortex-M0+, в то время как для Cortex-M0 она составляла 16,36 мкВ/МГц.
____Приведённое потребление относится непосредственно к ядру. Для микроконтроллеров, как для системы в целом, значительная часть потребления связана с циклами записи/чтения во FLASH. Чем меньше циклов доступа к FLASH – тем меньше потребление. Таким образом, уменьшение числа обращений к FLASH и соответствующее уменьшение числа ступеней конвейера автоматически приводят к дополнительному уменьшению потребления.
____Новый интерфейс взаимодействия с портами ввода/вывода. Еще одно изменение связано с появлением нового интерфейса портов ввода/вывода, интегрированного в ядро. Теперь доступ к портам осуществляется за один цикл. Взаимодействие с шиной AMBA AHB-Lite и интерфейсом I/O осуществляется конкурентно. Фактически, I/O интерфейс является частью ядра и общего адресного пространства. Регистры I/O доступны с помощью стандартных С-указателей и не требуют каких-ибо языковых расширений.
____С точки зрения повышения энергоэффективности, наличие I/O-интерфейса может быть полезно в двух случаях:
____Использование модулей и решений Cortex-M3. Cortex-M0+ имеет некоторые блоки и особенности, характерные для Cortex-M3, но недоступные для Cortex-M0. Например, поддерживаются привилегированный и непривилегированный уровни исполнения, и доступен модуль защиты памяти MPU.
____В дополнение ко всему, в Cortex-M0+ поддерживается изменение положения таблицы векторов прерывания, как было у Cortex-M3.
____Важно отметить, что наборы инструкций у Cortex-M0 и Cortex-M0+ полностью совпадают, поэтому код, разработанный для Cortex-M0, остаётся совместимым с Cortex-M0+.
____Система тактирования STM32L0 имеет несколько ключевых особенностей: большой выбор источников тактового сигнала, возможность управления рабочей частотой, независимое тактирование периферийных блоков. Важным нововведением является появление особых периферийных блоков, поддерживающих независимое асинхронное тактирование.
____Различные источники тактового сигнала. В распоряжении STM32L0 есть шесть источников:
____Благодаря большому количеству источников тактирования можно выбрать тот, который удовлетворяет требованиям и по уровню потребления, и по частоте (таблица 3).
Таблица 3. Характеристики источников тактирования STM32L0
____Возможность управления рабочей частотой. Система тактирования имеет встроенный ФАПЧ и развитую систему делителей. Фактически каждый периферийный блок может производить деление основной частоты. В итоге, управляя значениями рабочих частот отдельных блоков, можно управлять уровнем потребления.
____Независимое управление тактированием периферийных блоков. Тактирование каждого периферийного блока осуществляется независимо. В случае необходимости снижения потребления тактирование отдельных блоков может быть остановлено.
____Большая часть периферии использует системный тактовый сигнал (SYSCLK). Но некоторые блоки могут использовать независимое тактирование:
____Возможность работы ряда периферийных блоков независимо от системного тактового сигнала расширяет возможности по оптимизации потребления, особенно при использовании режимов пониженного потребления.
____Система питания STM32L0 использует следующие источники напряжения:
____Наиболее интересной с точки зрения минимизации потребления является возможность динамического управления напряжением VCORE. Как было отмечено выше, напряжение питания цифровой микросхемы значительно влияет на потребление и производительность. Повышение напряжения VCORE (overvolting) позволяет увеличить производительность, но проиграть в потреблении. Снижение напряжения VCORE (undervolting) дает противоположный результат. Меняя значение VCORE, можно управлять потреблением. Система питания STM32L0 имеет возможность работы в трёх диапазонах, отличающихся максимальной рабочей частотой и значением напряжения питания ядра (рисунок 5).
Рис. 5. Динамическое изменение потребления.
____Range 1 – высокопроизводительный режим. Напряжение VCORE составляет 1,8 В, входное напряжение VDD не должно быть ниже 1,71 В. Максимальная рабочая частота составляет 32 МГц.
____Range 2 – режим с компромиссным соотношением производительности и потребления. Напряжение VCORE составляет 1,5 В, при этом на входное напряжение VDD ограничений не накладывается (1,65…3,6 В). Максимальная рабочая частота составляет 16 МГц.
____Range 3 – режим с минимальным потреблением. Напряжение VCORE составляет 1,2 В. Максимальная рабочая частота – 4 МГц.
____Анализ уровней потребления в каждом режиме (таблица 4) показывает, что во время работы в Range 3 при минимальной частоте потребление составляет всего 165 мкА, во время работы в Range 1 при частоте 32 МГц потребление составит уже 6,3 мА. Таким образом, за счёт динамического изменения режимов работы можно достичь существенной экономии потребления.
Таблица 4. Потребление микроконтроллера в различных режимах работы.
* – Значение тока указано при отключённой периферии.
____Режимы пониженного потребления – ещё один способ динамически изменять уровень потребляемой мощности.
____Семейство STM32L0 имеет в своём распоряжении основной режим RUN и пять режимов пониженного потребления (таблица 5).
Таблица 5. Режимы пониженного потребления STM32L0.
____Режим Run. Основной рабочий режим с максимальной производительностью. Все компоненты контроллера могут находиться в рабочем состоянии. Потреблением в этом режиме можно управлять одним из описанных в предыдущих разделах способом.
____Режим Low power run. Регулятор напряжения переводится в режим пониженного потребления (RANGE 2 или RANGE 3), рабочая частота и перечень доступной периферии ограничен.
____Режим Sleep. Процессорное ядро в этом режиме отключено. Все остальные блоки продолжают функционировать по желанию пользователя. Режим, как правило, используется при активном накоплении данных. После того как объём данных собран, микроконтроллер возвращается в режим RUN и производит обработку.
____Режим Low power sleep. Ядро Cortex-M0+ остановлено. Регулятор напряжения переводится в режим пониженного потребления (RANGE 2 или RANGE 3), рабочая частота и перечень доступной периферии ограничен. FLASH-память отключена.
____Режим Stop. Все источники тактирования могут быть отключены. Регулятор находится в режиме пониженного потребления. Возможна работа RTC, в этом случае активируются LSE или LSI. Блоки, имеющие независимое тактирование, могут продолжать функционировать по желанию пользователя.
____Режим Standby. Блоки, питающиеся от VCORE, отключены. Потребление минимальное. Возможна работа RTC. В этом случае активируются LSE или LSI.
____Важно помнить, что каждый режим характеризуется временем входа и выхода из режима. На этот параметр следует обращать внимание, особенно это касается систем, в которых критично время отклика. Так, например, при реализации защитного отключения электропривода при КЗ схема должна успеть среагировать на возрастание тока и выключить силовые ключи до того, как они перегреются и выйдут из строя.
____Перечисленные режимы потребления были знакомы еще по STM32L1. Главным отличием является возможность работы части периферийных блоков даже в режиме STOP за счёт независимого от шины APB-(PCLK-)тактирования. К независимой периферии относятся следующие позиции:
____Рассмотрим более подробно новую периферию микроконтроллеров семейства STM32L0.
____В микроконтроллерах STM32L0 реализован 12-битный многоканальный АЦП последовательного приближения с частотой выборок до 1,14 MSPS. Максимальное число каналов для АЦП – 19 (STM32L0x3), при этом 16 каналов работают с внешними напряжениями, а три канала отведены для измерения показаний интегрированного датчика температуры (VSENSE), измерения напряжения интегрированного ИОН (VREFINT) и мониторинга напряжения питания ЖК-контроллера. АЦП обладает возможностью внутренней калибровки пользователем.
____Уровень потребления АЦП является вполне умеренным – даже при максимальной частоте выборки суммарное потребление не превышает 300 мкА (таблица 6).
Таблица 6. Потребление АЦП при различных частотах измерения.
____С точки зрения снижения потребления наиболее интересно рассмотреть возможность независимого тактирования, возможность аппаратной передискретизации без участия процессорного ядра и особые энергосберегающие режимы работы.
____Независимое тактирование. Благодаря асинхронному тактированию частота выборок АЦП не зависит от частоты основной периферийной шины APB (сигнал PCLK), если в качестве тактового сигнала выбран HSI16. В итоге частота PCLK может быть снижена для сокращения потребления, без уменьшения частоты измерений.
____Блок аппаратной передискретизации (Oversampler) позволяет получать округлённые данные без задействования вычислительных мощностей процессора. При этом само ядро и вовсе может быть отключено на время сбора и округления данных.
____Результат передискретизации и округления определяется по следующей формуле:
где N – число отсчётов (2…256); M – коэффициент сдвига, максимальный сдвиг – 8 бит; fn – текущий отсчёт.
____Энергосберегающие алгоритмы работы Wait или Auto Off. Режим Wait помогает защитить данные от перезаписи и согласовать быстродействующий АЦП и периферийную шину APB в случае её работы при низких частотах PCLK. До тех пор, пока предыдущие данные измерений не были вычитаны из регистров АЦП, новое преобразование не стартует.
____Находясь в режиме Auto-off, АЦП периодически включается, проводит измерения и отключается вновь. В итоге потребление АЦП значительно сокращается.
____В семействе STM32L0 реализована малопотребляющая Low Power-периферия: таймер LPTIM и приёмопередатчик LPUART. Они отличаются меньшим уровнем потребления по сравнению с аналогами и имеют возможность независимого от основной периферийной шины APB тактирования. Low Power-периферия может работать c максимальной производительностью даже при сниженной частоте шины APB. В результате общее потребление снижается при сохранении производительности LPTIM и LPUART.
____LPTIM – многофункциональный 16-битный таймер с функциональностью, аналогичной таймерам TIM1, знакомым нам по другим семейств STM32. LPTIM работает в режимах пониженного потребления, в том числе – в режиме Stop. Более того, даже при полностью остановленных источниках тактирования таймер способен функционировать как счётчик импульсов. Способность таймера пробуждать контроллер из режимов пониженного потребления – весьма полезная особенность именно для устройств с жёсткими ограничениями по потреблению.
____LPUART даже при тактировании от 32,768 кГц LSE способен вести обмен данными на скоростях до 9600 байт/с. Более высокие скорости потребуют более высокой частоты тактирования. С точки зрения функциональности LPUART не уступает обычным блокам USART семейств STM32.
____Сравнивая потребление LPTIM и TIM2, LPUART и USART, можно отметить преимущество Low Power-модулей (таблица 7). Типовое потребление LPTIM составляет 10/8,5/6,5/8 мкА/МГц при работе в режимах Run Range 1/Run Range 2/Run Range 3/Low power Run, соответственно. Аналогичные показатели для LPUART составляют 8/6,5/5,5/6 мкА/МГц.
Таблица 7. Потребление периферийных Low Power-блоков.
____Контроллер USB отсутствовал на микроконтроллерах STM32F0. Его наличие существенно расширяет область применения семейства STM32L0, поэтому о нём стоит сказать отдельно.
____USB-контроллер обеспечивает взаимодействие между USB 2.0 FS-шиной и периферийной шиной APB, как это было и в старших семействах STM32. Но есть несколько важных особенностей.
____Наличие встроенного генератора HSI48 и подтягивающих резисторов. Реализация USB возможна без использования внешнего кварцевого резонатора благодаря интегрированному RC-генератору HSI48. При этом USB-контроллер работает на частоте 48 МГц, в то время как максимальная частота ядра составляет 32 МГц.
____Еще одним преимуществом USB-контроллера является наличие интегрированного подтягивающего резистора на линии USB_DP. Это позволяет избавиться от необходимости использовать внешнюю подтяжку и тем самым сэкономить место на плате.
____Наличие блока обнаружения зарядных устройств (Battery charging detector, BCD). Данный BCD отвечает требованиям Battery Charging Specification Revision 1.2. Он способен обнаруживать не только подключение к стандартным USB-портам (Standard downstream port, SDP), но и к зарядным портам CDP (Charging downstream port) и DCP (Dedicated charging port).
____Порты SDP, CDP и DCP существенно отличаются нагрузочной способностью.
____Стандартный SDP-порт обеспечивает подключаемое устройство питающими токами 2,5 мА в режиме suspend, до 100 мА – в рабочем режиме по умолчанию и до 500 мА – при дополнительной конфигурации порта. Этот тип порта может быть распознан по подтяжке линий D+ и D- к земле резисторами 15 кОм.
____Зарядный порт CDP может обеспечить ток потребления подключаемого устройства не более 1,5 А до обнаружения USB-устройства. Распознавание порта происходит по особому алгоритму распознавания при обмене сигналами по линиям D+ и D- еще до определения устройства.
____Порт DCP выполняет исключительно функцию зарядки, цифровой обмен с таким портом не производится. DCP определяется по короткому замыканию линий D + и D-. Максимальный ток, предоставляемый портом, составляет 1,5 А.
____Наличие блока Link Power Management (LPM). USB-устройство может находиться в четырёх состояниях L0 (On), L1 (Sleep), L2 (Suspend), L3 (Off). LPM позволяет хосту согласовывать своё состояние с хабом для оптимизации потребления.
____Таким образом, USB-контроллер, реализованный в STM32L0, делает возможным создание современных USB-устройств при минимальном использовании внешних элементов.
____Одно из преимуществ использования микроконтроллеров STMicroelectronics заключается в наличии бесплатных программных библиотек, рекомендаций по применению и отладочных наборов.
____Программная поддержка STM32L0 со стороны компании-производителя обеспечивается с помощью бесплатных библиотеки сниппетов и программного комплекса STM32Cube.
____STM32Cube включает в себя привычную библиотеку аппаратных драйверов и примеры реализации устройств с использованием отладочных наборов STM32L053C8-Discovery и STM32L053R8-Nucleo.
____Библиотека сниппетов stm32snippetsl0 представляет собой примеры с использованием прямого доступа к регистрам периферии STM32L0. Готовые функции могут быть применены в пользовательском коде. Зачастую они более эффективны, чем примеры из стандартной библиотеки.
____Семейство STM32L0 расширило портфолио малопотребляющих микроконтроллеров производства компании STMicroelectronics.
____STM32L0 сочетает проверенные решения, использовавшиеся в семействах STM32L1 и STM32F0, а также новые разработки. Среди главных нововведений можно отметить высокоэффективное ядро Cortex-M0+, оптимизированные системы питания и тактирования, новую малопотребляющую периферию (LPTIM и LPUART). Всё это позволило добиться уникальных показателей потребления.
____Появление USB-контроллера с поддержкой BCD 1.2 и с блоком LPM значительно расширяет функционал и области применения STM32L0.
.
Продолжая снижать потребление: новая линейка контроллеров на ядре Cortex-M0+.
Статья от 2 декабря 2014г.
Новое семейство STM32L0 расширяет портфолио малопотребляющих микроконтроллеров от STMicroelectronics. Высокоэффективное ядро Cortex-M0+, особая Low Power-периферия, оптимизация системы питания и тактирования позволили существенно уменьшить потребляемую мощность по сравнению с семейством STM32F0, а появление USB-контроллера повысило функциональность.
____Портфолио малопотребляющих контроллеров компании STMicroelecronics было расширено за счёт нового семейства STM32L0. Этот контроллер является результатом сочетания новейших технологий и наиболее удачных решений, реализованных в STM8L и STM32L1. Все три семейства предназначены для работы в сегментах, для которых ранее было характерно использование только 8-/16-битных микроконтроллеров.
____Несмотря на схожесть таких характеристик как малое потребление и высокая производительность, STM8L, STM32L1 и STM32L0 не являются прямыми конкурентами (рисунок 1), так как предназначены для разных приложений. Микроконтроллеры STM8L наиболее актуальны для простых приложений, где не требуется сложных вычислений и большого количества периферии. Также STM8L обладают очень низкой ценой – младшие модели линейки стоят дешевле 1$.
Рис. 1. Семейства малопотребляющих микроконтроллеров производства компании STMicroelectronics.
____STM32L0 и STM32L1 наиболее схожи, но также имеют несколько отличий. Первое – это производительность. STM32L1 построены на ядре Cortex-M3 и в цифровом выражении производительность Cortex-M3 на 30…35% процентов выше, чем Cortex-M0+: 1,25 DMIPS/МГц против 0,9 DMIPS/МГц. Также, если посмотреть на рисунок 1, то станет видно, что STM32L0 занимает промежуточное значение между STM8L и STM32L1 как в отношении производительности, так и в отношении объёмов памяти, периферии и цены. И последнее, что осталось добавить: в STM32L0 инженеры компании STMicroelectronics особое внимание уделили периферии, снижению её потребления и нацеленности на новый рынок – рынок счётчиков электроэнергии и расходомеров.
____Существующие отличия позволяют семействам взаимно дополнять друг друга и использоваться в различных областях электроники:
- в промышленной электронике – датчики, счётчики газа/воды, модули управления автоматикой и другие;
- в медицинском оборудовании – спортивные тренажёры (беговые дорожки, велотренажёры), тонометры, глюкометры и другие;
- В потребительской электронике – игровые контроллеры, бытовая техника (стиральные машины, холодильники) и так далее.
____Семейство STM32L0 включает в себя более 20 наименований. Это позволяет выбирать оптимальный контроллер для каждого конкретного приложения. В ближайшие полгода компания STMicroelectronics обещает расширить линейку как за счёт простых изделий, так и за счёт увеличения объёмов памяти и периферии.
Общая характеристика семейства микроконтроллеров STM32L0.
____Семейство STM32L0 построено на ядре Cortex-M0+ и включает три основных линейки микроконтроллеров: STM32L0x1, STM32L0x2, STM32L0x3 (рисунок 2, таблица 1).
Рис. 2. Обзор микроконтроллеров семейства STM32L0.
Таблица 1. Характеристики микроконтроллеров семейства STM32L0
____STM32L0x1 – базовая линейка семейства (Access line). Микроконтроллеры этой линейки выпускаются в миниатюрных 32-/48-/64-выводных корпусах, объем FLASH – до 64 кбайт, ОЗУ – до 8 кбайт, 2 кбайт EEPROM и базовым набором периферии. В базовом наборе периферии присутствуют 16-битные таймеры, сторожевые таймеры, часы реального времени, компараторы, 12-битный многоканальный АЦП с частотой выборок до 1,14 MSPS, последовательные интерфейсы (USART, I2C, SPI). В составе ядра реализовано четыре канала прямого доступа к памяти (DMA).
____Важно отметить появление особой малопотребляющей периферии (Low Power Peripheral) – таймера LPTIM и блока асинхронного приёмопередатчика LPUART, которые имеют целый ряд особенностей, позволяющих оптимизировать энергопотребление при их использовании.
____Кроме того, так же, как и в семействе STM32L, имеется дополнительный мультичастотный RC-генератор (Multi speed internal clock, MSI) с диапазоном частот 0,064…4,2 МГц. Его главное назначение – подстройка рабочей частоты микроконтроллера с учётом ограничений на уровень потребляемого тока.
____Эта линейка будет востребована для таких приложений как компьютерные мыши, клавиатуры, промышленные автономные датчики и другие системы, работающие в условиях жестких требований к потреблению.
____STM32L0x2, помимо базовой, имеет в своем составе дополнительную периферию: USB 2.0 (Full Speed) с блоками определения подключения зарядных устройств (BCD) и управления состояниями USB-устройства (LPM), 12-битный ЦАП, 16-канальный контроллер ёмкостных сенсорных кнопок (Touch sensing controller, TSC), генератор случайных чисел (True random number generator, TRNG). Количество каналов DMA увеличено до семи. Микроконтроллеры STM32L062 снабжены блоком криптографии AES.
____Имея богатую периферию, данная линейка идеально подойдет для промышленных блоков, например, для блоков управления исполнительными механизмами, электроавтоматики ЧПУ и другими.
____STM32L0x3 – линейка с наиболее развитой периферией. Главной отличительной чертой STM32L0x3 по сравнению с STM32L0x2 является наличие LCD-контроллера. LCD-контроллер способен управлять ЖК-экранами с числом линий до 8×28 для 64-выводных корпусов и 4×18 для 48-выводных корпусов.
____Микроконтроллеры STM32L063 снабжены блоком криптографии AES.
____Благодаря ЖК-контроллеру, STM32L0x3 могут быть использованы для медицинских измерительных приборов (глюкометры, тонометры), промышленных и бытовых счётчиков с индикацией (счётчики воды, газа).
____Стоит отметить и отличные эксплуатационные характеристики STM32L0. Уровень питающих напряжений для всех представителей составляет 1,65…3,6 В, а это делает возможной работу даже если батарея питания сильно разряжена. Кроме того, диапазон рабочих температур для некоторых представителей составляет -40…125°С при сохранении сверхнизкого потребления.
____Главной особенностью STM32L0 является снижение потребляемой мощности по сравнению с STM32F0. Это стало возможно благодаря целому комплексу мер.
Способы снижения потребляемой мощности. Оптимизация потребления STM32L0.
____Потребление цифровых КМОП-микросхем складывается из статической и динамической составляющих.
____Статическая составляющая определяется величинами входного сопротивления затворов транзисторов и токов утечки. Она вносит значительный вклад в общее потребление только при низких рабочих частотах.
____Динамическая составляющая определяется величиной затворной ёмкости транзисторов, образующих логические ячейки. Чем чаще происходит переключение логических ячеек, тем чаще приходится перезаряжать эти ёмкости, и тем больше динамическое потребление. В общем случае динамическая мощность для КМОП-микросхем определяется по формуле:
Pd = C×V2×f
где С – нагрузочная ёмкость всех переключаемых КМОП-транзисторов, V – напряжение питания, f – рабочая частота.
____Из формулы видно, что есть три способа для снижения потребления: уменьшение величины нагрузочной ёмкости, снижение напряжения питания, снижение частоты. К сожалению, простое уменьшение частоты и напряжения питания негативно сказываются на производительности. По этой причине основным способом сокращения потребления является динамическое управление мощностью.
____Суть этого метода можно пояснить на примере с использованием временной диаграммы потребления (рисунок 3). Рассмотрим некое обобщенное устройство, работающее от аккумуляторной батареи емкостью 1000 мА•ч. Если потребление прибора постоянно и составляет 1000 мА (рисунок 3, случай 1), то разряд батареи произойдет за час. Если же потребление прибора будет 500 мА – то время работы будет уже два часа (рисунок 3, случай 2). При любой форме кривой потребления площадь фигуры будет постоянна и равна 1000 мА•ч.
Рис. 3. Временная диаграмма работы от батареи питания при изменении потребления.
____В случае динамического управления мощностью осуществляется сокращение потребления без потери производительности (рисунок 3, случай 3). При необходимости выполнения интенсивных вычислений контроллер переходит в высокопроизводительный режим, потребляя большую мощность (Sa и Sc). Когда интенсивных вычислений нет – происходит переход в энергосберегающий режим (Sb и Sd).
____Динамическое управление мощностью в STM32L0 возможно благодаря ряду особенностей.
- Наличие развитой системы тактирования позволяет изменять потребление за счёт независимого тактирования блоков и динамического изменения рабочей частоты ядра и периферии.
- Наличие оптимизированной системы питания. Микроконтроллеры STM32L0 снабжены интегрированным регулятором напряжения, который способен работать в различных режимах, гибко подстраиваясь под ограничения по потребляемому току.
- Применение режимов пониженного потребления. При их использовании пользователю открывается широкий простор для оптимизации потребления для каждого конкретного приложения.
- Снижение потребления в STM32L0 достигается архитектурными и технологическими способами.
- Использование новейшего высокоэффективного ядра Cortex-M0+. Данное ядро имеет несколько значительных архитектурных особенностей, позволивших значительно увеличить энергоэффективность по сравнению с Cortex-M0.
- Снижение минимального напряжения питания. Все микроконтроллеры семейства способны работать при напряжениях от 1,65 В в широком диапазоне рабочих температур.
____Результатом всех предпринятых усилий стало сверхнизкое потребление. Например, при выполнении искусственных тестов при максимальной производительности величина потребляемого тока составляет менее 7 мА (таблица 2).
Таблица 2. Энергопотребление STM32L053x8 при выполнении искусственных тестов.
* – Значение тока указано при отключённой периферии.
____Важным преимуществом STM32L0 является возможность работы в широком диапазоне температур (до +125°С) без значительного роста питающих токов (рисунок 4).
Рис. 4. Потребление STM32L053x8 при различных значениях температуры (тактирование от HSI16, периферия отключена).
Микропроцессорное ядро Cortex-M0+.
____Процессорное ядро ARM Cortex-M0 позволяло создавать микроконтроллеры, реализующие высокую плотность кода и лучший в своем классе уровень энергопотребления. За три года, прошедших со времени анонса ARM Cortex-M0, было продано более 50 лицензий на производство процессоров с этим ядром. После такого успеха компания ARM незамедлительно открыла проект “Flycatcher”, результатом которого стало новое ядро ARM Cortex-M0+.
____Разработка ARM Cortex-M0+ производилась с учётом требований ведущих производителей микроконтроллеров. Основными требованиями, как несложно догадаться, были снижение потребляемой мощности, увеличение энергоэффективности, сохранение максимальной совместимости с существующим набором инструкций и компиляторами.
____Ядро создавалось с использованием удачных решений, реализованных в ARM Cortex-M0, однако есть и целый ряд значительных новшеств: сокращение ступеней конвейера, изменение интерфейса с портами ввода/вывода, введение модуля защиты памяти (Memory Unit Protection, MPU).
____Сокращение длины конвейера. ARM Cortex-M0+ стал первым ARM процессором с двухуровневым конвейером. Снижение энергопотребления при испытаниях получилось более чем заметным. При выполнении тестов по методике Dhrystone статическая потребляемая мощность для Cortex-M0+ и Cortex-M0 оказалась примерно одинаковой – 0,95 мкВ и 0,96 мкВ соответственно. Однако динамическая потребляемая мощность сократилась примерно на 30% и составила 11,21 мкВ/МГц для Cortex-M0+, в то время как для Cortex-M0 она составляла 16,36 мкВ/МГц.
____Приведённое потребление относится непосредственно к ядру. Для микроконтроллеров, как для системы в целом, значительная часть потребления связана с циклами записи/чтения во FLASH. Чем меньше циклов доступа к FLASH – тем меньше потребление. Таким образом, уменьшение числа обращений к FLASH и соответствующее уменьшение числа ступеней конвейера автоматически приводят к дополнительному уменьшению потребления.
____Новый интерфейс взаимодействия с портами ввода/вывода. Еще одно изменение связано с появлением нового интерфейса портов ввода/вывода, интегрированного в ядро. Теперь доступ к портам осуществляется за один цикл. Взаимодействие с шиной AMBA AHB-Lite и интерфейсом I/O осуществляется конкурентно. Фактически, I/O интерфейс является частью ядра и общего адресного пространства. Регистры I/O доступны с помощью стандартных С-указателей и не требуют каких-ибо языковых расширений.
____С точки зрения повышения энергоэффективности, наличие I/O-интерфейса может быть полезно в двух случаях:
- если требуется высокая скорость переключения состояний выводов микроконтроллера при относительно невысокой тактовой частоте;
- если требуется быстро произвести взаимодействие со внешними микросхемами и перейти в спящий режим.
____Использование модулей и решений Cortex-M3. Cortex-M0+ имеет некоторые блоки и особенности, характерные для Cortex-M3, но недоступные для Cortex-M0. Например, поддерживаются привилегированный и непривилегированный уровни исполнения, и доступен модуль защиты памяти MPU.
____В дополнение ко всему, в Cortex-M0+ поддерживается изменение положения таблицы векторов прерывания, как было у Cortex-M3.
____Важно отметить, что наборы инструкций у Cortex-M0 и Cortex-M0+ полностью совпадают, поэтому код, разработанный для Cortex-M0, остаётся совместимым с Cortex-M0+.
Система тактирования STM32L0.
____Система тактирования STM32L0 имеет несколько ключевых особенностей: большой выбор источников тактового сигнала, возможность управления рабочей частотой, независимое тактирование периферийных блоков. Важным нововведением является появление особых периферийных блоков, поддерживающих независимое асинхронное тактирование.
____Различные источники тактового сигнала. В распоряжении STM32L0 есть шесть источников:
- внешний высокочастотный кварцевый резонатор или генератор (High Speed External Clock, HSE) с частотой 4…24 МГц наиболее часто используется для получения тактового сигнала ядра (ФАПЧ до 32 МГц) и рабочей частоты USB-контроллера (48 МГц);
- внешний низкочастотный кварцевый резонатор или генератор (Low Speed External Clock, LSE) (обычно его частота – 32,768 кГц) используется в основном для часов реального времени RTC и для тактирования интегрированного ЖК-контроллера;
- внутренний высокоскоростной RC-генератор 16 МГц (High Speed Internal Clock, HSI16). Интегрированный генератор является альтернативой HSE, имеет меньшее значение потребления, но и меньшую точность;
- внутренний низкочастотный RC-генератор 37 кГц (Low Speed Internal Clock, LSI). Является альтернативой LSE, имеет меньшее значение потребления и худшую точность;
- внутренний высокоскоростной RC-генератор 48 МГц (High Speed Internal Clock, HSI48). Интегрированный генератор является альтернативой HSE для тактирования USB-контроллера и генератора случайных чисел;
- многочастотный интегрированный RC-генератор (Multi Speed Internal Clock, MSI). Этот новый генератор имеет возможность подстройки частоты 0,064…4,2 МГц. Изменяя значение частоты, можно пропорционально менять потребление.
____Благодаря большому количеству источников тактирования можно выбрать тот, который удовлетворяет требованиям и по уровню потребления, и по частоте (таблица 3).
Таблица 3. Характеристики источников тактирования STM32L0
____Возможность управления рабочей частотой. Система тактирования имеет встроенный ФАПЧ и развитую систему делителей. Фактически каждый периферийный блок может производить деление основной частоты. В итоге, управляя значениями рабочих частот отдельных блоков, можно управлять уровнем потребления.
____Независимое управление тактированием периферийных блоков. Тактирование каждого периферийного блока осуществляется независимо. В случае необходимости снижения потребления тактирование отдельных блоков может быть остановлено.
____Большая часть периферии использует системный тактовый сигнал (SYSCLK). Но некоторые блоки могут использовать независимое тактирование:
- USB-контроллер: ФАПЧ, HSI48;
- АЦП: тактовый сигнал шины APB (PCLK), HSI16;
- приёмопередатчики LPUART и USART: SYSCLK, HSI16, LSE, PCLK;
- таймер LPTIMER: HSI16, LSE, LSI, PCLK;
- блоки RTC/LCD: LSE, LSI, HSE;
- независимый оконный сторожевой таймер IWDG: LSI.
____Возможность работы ряда периферийных блоков независимо от системного тактового сигнала расширяет возможности по оптимизации потребления, особенно при использовании режимов пониженного потребления.
Система питания STM32L0.
____Система питания STM32L0 использует следующие источники напряжения:
- напряжение VDD может лежать в диапазоне 1,65…3,6 В. Используется для питания портов ввода/вывода и внутреннего регулятора напряжения;
- внутренний регулятор обеспечивает формирование напряжения VCORE для питания ядра, цифровой периферии, ОЗУ, FLASH. Значение VCORE может меняться программно в диапазоне 1,2…1,8 В.;
- VDDA – индивидуальное питание для АЦП. Может находиться в диапазоне 1,65…3,6 В, однако минимальное напряжение для активного функционирования АЦП должно быть не менее 1,8 В;
- источник опорного напряжения для АЦП VREF. Доступен только в корпусах TFBGA64, в остальных случаях в качестве опорного используется VDDA;
- VLCD – источник питания ЖК-контроллера, диапазон напряжений для него составляет 2,5…3,6 В;
- VDD_USB – источник питания USB-контроллера, диапазон напряжений для него равен 3,0…3,6 В.
____Наиболее интересной с точки зрения минимизации потребления является возможность динамического управления напряжением VCORE. Как было отмечено выше, напряжение питания цифровой микросхемы значительно влияет на потребление и производительность. Повышение напряжения VCORE (overvolting) позволяет увеличить производительность, но проиграть в потреблении. Снижение напряжения VCORE (undervolting) дает противоположный результат. Меняя значение VCORE, можно управлять потреблением. Система питания STM32L0 имеет возможность работы в трёх диапазонах, отличающихся максимальной рабочей частотой и значением напряжения питания ядра (рисунок 5).
Рис. 5. Динамическое изменение потребления.
____Range 1 – высокопроизводительный режим. Напряжение VCORE составляет 1,8 В, входное напряжение VDD не должно быть ниже 1,71 В. Максимальная рабочая частота составляет 32 МГц.
____Range 2 – режим с компромиссным соотношением производительности и потребления. Напряжение VCORE составляет 1,5 В, при этом на входное напряжение VDD ограничений не накладывается (1,65…3,6 В). Максимальная рабочая частота составляет 16 МГц.
____Range 3 – режим с минимальным потреблением. Напряжение VCORE составляет 1,2 В. Максимальная рабочая частота – 4 МГц.
____Анализ уровней потребления в каждом режиме (таблица 4) показывает, что во время работы в Range 3 при минимальной частоте потребление составляет всего 165 мкА, во время работы в Range 1 при частоте 32 МГц потребление составит уже 6,3 мА. Таким образом, за счёт динамического изменения режимов работы можно достичь существенной экономии потребления.
Таблица 4. Потребление микроконтроллера в различных режимах работы.
* – Значение тока указано при отключённой периферии.
Режимы низкого потребления.
____Режимы пониженного потребления – ещё один способ динамически изменять уровень потребляемой мощности.
____Семейство STM32L0 имеет в своём распоряжении основной режим RUN и пять режимов пониженного потребления (таблица 5).
Таблица 5. Режимы пониженного потребления STM32L0.
____Режим Run. Основной рабочий режим с максимальной производительностью. Все компоненты контроллера могут находиться в рабочем состоянии. Потреблением в этом режиме можно управлять одним из описанных в предыдущих разделах способом.
____Режим Low power run. Регулятор напряжения переводится в режим пониженного потребления (RANGE 2 или RANGE 3), рабочая частота и перечень доступной периферии ограничен.
____Режим Sleep. Процессорное ядро в этом режиме отключено. Все остальные блоки продолжают функционировать по желанию пользователя. Режим, как правило, используется при активном накоплении данных. После того как объём данных собран, микроконтроллер возвращается в режим RUN и производит обработку.
____Режим Low power sleep. Ядро Cortex-M0+ остановлено. Регулятор напряжения переводится в режим пониженного потребления (RANGE 2 или RANGE 3), рабочая частота и перечень доступной периферии ограничен. FLASH-память отключена.
____Режим Stop. Все источники тактирования могут быть отключены. Регулятор находится в режиме пониженного потребления. Возможна работа RTC, в этом случае активируются LSE или LSI. Блоки, имеющие независимое тактирование, могут продолжать функционировать по желанию пользователя.
____Режим Standby. Блоки, питающиеся от VCORE, отключены. Потребление минимальное. Возможна работа RTC. В этом случае активируются LSE или LSI.
____Важно помнить, что каждый режим характеризуется временем входа и выхода из режима. На этот параметр следует обращать внимание, особенно это касается систем, в которых критично время отклика. Так, например, при реализации защитного отключения электропривода при КЗ схема должна успеть среагировать на возрастание тока и выключить силовые ключи до того, как они перегреются и выйдут из строя.
____Перечисленные режимы потребления были знакомы еще по STM32L1. Главным отличием является возможность работы части периферийных блоков даже в режиме STOP за счёт независимого от шины APB-(PCLK-)тактирования. К независимой периферии относятся следующие позиции:
- пара малопотребляющих компараторов, которые могут контролировать аналоговые напряжения и «будить» контроллер при достижении напряжением заданного уровня;
- часы реального времени – единственный периферийный блок, который может функционировать даже в режиме Standby и периодически «будить» контроллер;
- ЖК-контроллер, имеющий независимое тактирование и потребляющий до 5 мкА;
- малопотребляющий таймер (LPTIM) – 16-битный таймер, имеющий возможность индивидуального тактирования от LSI, LSE, HSI. Даже когда ни один из источников тактирования не работает, таймер может работать как счётчик импульсов;
- малопотребляющий асинхронный приёмопередатчик (LPUART), который в режимах пониженного потребления работает только от LSE 32,768 кГц, поддерживая скорости обмена до 9600 байт/с. Более того, даже в режиме Stop LPUART может принимать входящие сообщения;
- интерфейс I2C, способный работать и «будить» контроллер даже в режиме Stop, но для этого необходимо включение HSI16. В режиме Stop HSI16 отключен. При получении стоп-бита I2C-контроллер включает HSI16. Если при приёме кадр был отброшен, например, при несовпадении адреса, генератор вновь выключается;
- USART также способен производить пробуждение контроллера из режима Stop по трём прерываниям – при совпадении адреса, при обнаружении старт-бита или при пробуждении по RXNE. Для работы нужно активное состояние HSI16 или LSE.
____Рассмотрим более подробно новую периферию микроконтроллеров семейства STM32L0.
АЦП микроконтроллеров STM32L0.
____В микроконтроллерах STM32L0 реализован 12-битный многоканальный АЦП последовательного приближения с частотой выборок до 1,14 MSPS. Максимальное число каналов для АЦП – 19 (STM32L0x3), при этом 16 каналов работают с внешними напряжениями, а три канала отведены для измерения показаний интегрированного датчика температуры (VSENSE), измерения напряжения интегрированного ИОН (VREFINT) и мониторинга напряжения питания ЖК-контроллера. АЦП обладает возможностью внутренней калибровки пользователем.
____Уровень потребления АЦП является вполне умеренным – даже при максимальной частоте выборки суммарное потребление не превышает 300 мкА (таблица 6).
Таблица 6. Потребление АЦП при различных частотах измерения.
____С точки зрения снижения потребления наиболее интересно рассмотреть возможность независимого тактирования, возможность аппаратной передискретизации без участия процессорного ядра и особые энергосберегающие режимы работы.
____Независимое тактирование. Благодаря асинхронному тактированию частота выборок АЦП не зависит от частоты основной периферийной шины APB (сигнал PCLK), если в качестве тактового сигнала выбран HSI16. В итоге частота PCLK может быть снижена для сокращения потребления, без уменьшения частоты измерений.
____Блок аппаратной передискретизации (Oversampler) позволяет получать округлённые данные без задействования вычислительных мощностей процессора. При этом само ядро и вовсе может быть отключено на время сбора и округления данных.
____Результат передискретизации и округления определяется по следующей формуле:
где N – число отсчётов (2…256); M – коэффициент сдвига, максимальный сдвиг – 8 бит; fn – текущий отсчёт.
____Энергосберегающие алгоритмы работы Wait или Auto Off. Режим Wait помогает защитить данные от перезаписи и согласовать быстродействующий АЦП и периферийную шину APB в случае её работы при низких частотах PCLK. До тех пор, пока предыдущие данные измерений не были вычитаны из регистров АЦП, новое преобразование не стартует.
____Находясь в режиме Auto-off, АЦП периодически включается, проводит измерения и отключается вновь. В итоге потребление АЦП значительно сокращается.
Новая Low Power-периферия: LPTIM и LPUART.
____В семействе STM32L0 реализована малопотребляющая Low Power-периферия: таймер LPTIM и приёмопередатчик LPUART. Они отличаются меньшим уровнем потребления по сравнению с аналогами и имеют возможность независимого от основной периферийной шины APB тактирования. Low Power-периферия может работать c максимальной производительностью даже при сниженной частоте шины APB. В результате общее потребление снижается при сохранении производительности LPTIM и LPUART.
____LPTIM – многофункциональный 16-битный таймер с функциональностью, аналогичной таймерам TIM1, знакомым нам по другим семейств STM32. LPTIM работает в режимах пониженного потребления, в том числе – в режиме Stop. Более того, даже при полностью остановленных источниках тактирования таймер способен функционировать как счётчик импульсов. Способность таймера пробуждать контроллер из режимов пониженного потребления – весьма полезная особенность именно для устройств с жёсткими ограничениями по потреблению.
____LPUART даже при тактировании от 32,768 кГц LSE способен вести обмен данными на скоростях до 9600 байт/с. Более высокие скорости потребуют более высокой частоты тактирования. С точки зрения функциональности LPUART не уступает обычным блокам USART семейств STM32.
____Сравнивая потребление LPTIM и TIM2, LPUART и USART, можно отметить преимущество Low Power-модулей (таблица 7). Типовое потребление LPTIM составляет 10/8,5/6,5/8 мкА/МГц при работе в режимах Run Range 1/Run Range 2/Run Range 3/Low power Run, соответственно. Аналогичные показатели для LPUART составляют 8/6,5/5,5/6 мкА/МГц.
Таблица 7. Потребление периферийных Low Power-блоков.
USB.
____Контроллер USB отсутствовал на микроконтроллерах STM32F0. Его наличие существенно расширяет область применения семейства STM32L0, поэтому о нём стоит сказать отдельно.
____USB-контроллер обеспечивает взаимодействие между USB 2.0 FS-шиной и периферийной шиной APB, как это было и в старших семействах STM32. Но есть несколько важных особенностей.
____Наличие встроенного генератора HSI48 и подтягивающих резисторов. Реализация USB возможна без использования внешнего кварцевого резонатора благодаря интегрированному RC-генератору HSI48. При этом USB-контроллер работает на частоте 48 МГц, в то время как максимальная частота ядра составляет 32 МГц.
____Еще одним преимуществом USB-контроллера является наличие интегрированного подтягивающего резистора на линии USB_DP. Это позволяет избавиться от необходимости использовать внешнюю подтяжку и тем самым сэкономить место на плате.
____Наличие блока обнаружения зарядных устройств (Battery charging detector, BCD). Данный BCD отвечает требованиям Battery Charging Specification Revision 1.2. Он способен обнаруживать не только подключение к стандартным USB-портам (Standard downstream port, SDP), но и к зарядным портам CDP (Charging downstream port) и DCP (Dedicated charging port).
____Порты SDP, CDP и DCP существенно отличаются нагрузочной способностью.
____Стандартный SDP-порт обеспечивает подключаемое устройство питающими токами 2,5 мА в режиме suspend, до 100 мА – в рабочем режиме по умолчанию и до 500 мА – при дополнительной конфигурации порта. Этот тип порта может быть распознан по подтяжке линий D+ и D- к земле резисторами 15 кОм.
____Зарядный порт CDP может обеспечить ток потребления подключаемого устройства не более 1,5 А до обнаружения USB-устройства. Распознавание порта происходит по особому алгоритму распознавания при обмене сигналами по линиям D+ и D- еще до определения устройства.
____Порт DCP выполняет исключительно функцию зарядки, цифровой обмен с таким портом не производится. DCP определяется по короткому замыканию линий D + и D-. Максимальный ток, предоставляемый портом, составляет 1,5 А.
____Наличие блока Link Power Management (LPM). USB-устройство может находиться в четырёх состояниях L0 (On), L1 (Sleep), L2 (Suspend), L3 (Off). LPM позволяет хосту согласовывать своё состояние с хабом для оптимизации потребления.
____Таким образом, USB-контроллер, реализованный в STM32L0, делает возможным создание современных USB-устройств при минимальном использовании внешних элементов.
Сниппеты и STM32Cube.
____Одно из преимуществ использования микроконтроллеров STMicroelectronics заключается в наличии бесплатных программных библиотек, рекомендаций по применению и отладочных наборов.
____Программная поддержка STM32L0 со стороны компании-производителя обеспечивается с помощью бесплатных библиотеки сниппетов и программного комплекса STM32Cube.
____STM32Cube включает в себя привычную библиотеку аппаратных драйверов и примеры реализации устройств с использованием отладочных наборов STM32L053C8-Discovery и STM32L053R8-Nucleo.
____Библиотека сниппетов stm32snippetsl0 представляет собой примеры с использованием прямого доступа к регистрам периферии STM32L0. Готовые функции могут быть применены в пользовательском коде. Зачастую они более эффективны, чем примеры из стандартной библиотеки.
Заключение.
____Семейство STM32L0 расширило портфолио малопотребляющих микроконтроллеров производства компании STMicroelectronics.
____STM32L0 сочетает проверенные решения, использовавшиеся в семействах STM32L1 и STM32F0, а также новые разработки. Среди главных нововведений можно отметить высокоэффективное ядро Cortex-M0+, оптимизированные системы питания и тактирования, новую малопотребляющую периферию (LPTIM и LPUART). Всё это позволило добиться уникальных показателей потребления.
____Появление USB-контроллера с поддержкой BCD 1.2 и с блоком LPM значительно расширяет функционал и области применения STM32L0.
Литература.
- RM0367. Reference manual Ultra-low-power STM32L0x3 advanced ARM-based 32-bit MCUs. Rev.2. STMicroelectronics, 2014.
- RM0376. Reference manual Ultra-low-power STM32L0x2 advanced ARM-based 32-bit MCUs. Rev.1. STMicroelectronics, 2014.
- RM0377. Reference manual Ultra-low-power STM32L0x1 advanced ARM-based 32-bit MCUs. Rev.1. STMicroelectronics, 2014.
- AN4445. Application note STM32L0xx ultra-low power features overview. Rev.1. STMicroelectronics, 2014.
- AN4467. Application note Getting started with STM32L0xx hardware development. Rev.1. STMicroelectronics, 2014.
- Introducing the Cortex-M0+ processor The Ultimate in Low Power – ARM.
- Battery Charging Specification Revision. Revision 1.2. – USB Implementers forum, 2010.
- http://www.st.com/
***
.
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Похожие темы
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
» Статьи, заметки, очерки, разное...
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|