STM32L1: малопотребляющие микроконтроллеры на Cortex-M3
STM32L1 — первое малопотребляющее семейство STM32: ядро Cortex-M3 с частотой до 32 МГц, data EEPROM, у L100, L152 и L162 — контроллер ЖКИ. Здесь — сравнение линеек и категорий и страницы с распиновкой и номерами альтернативных функций каждого микроконтроллера в каждом корпусе.
STM32L1 — семейство 32-битных малопотребляющих микроконтроллеров STMicroelectronics на ядре Arm Cortex-M3 с частотой до 32 МГц. Как и у STM32L0, напряжение ядра переключается между тремя диапазонами, а рядом с флеш-памятью есть отдельная data EEPROM; у большинства линеек — контроллер ЖКИ со своим повышающим преобразователем. В разделе 90 страниц для 132 исполнений в 11 корпусах, 3 линейки: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.
Линейки STM32L1
Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.
| Линейка | Ядро, частота | Флеш-память | ОЗУ | Корпуса | Чем выделяется |
|---|---|---|---|---|---|
| STM32L100 Value Line | Cortex-M3, до 32 МГц | 32 КБ – 256 КБ | 4 КБ – 16 КБ | LQFP64, UFQFPN48 | USB, DAC, COMP, I²S |
| STM32L151/152 | Cortex-M3, до 32 МГц | 32 КБ – 512 КБ | 10 КБ – 80 КБ | LQFP48, LQFP64, LQFP100, LQFP144, TFBGA64, UFBGA100, UFBGA132, UFQFPN48, WLCSP63, WLCSP64, WLCSP104 | USB, SDIO, FSMC, DAC, COMP, I²S |
| STM32L162 | Cortex-M3, до 32 МГц | 256 КБ – 512 КБ | 32 КБ – 80 КБ | LQFP64, LQFP100, LQFP144, UFBGA100, UFBGA132, WLCSP64, WLCSP104 | USB, SDIO, FSMC, DAC, COMP, I²S, AES |
Всё семейство описывает RM0038. По данным ST линейки различаются так: STM32L151 — без контроллера ЖКИ, STM32L152 — с ним, STM32L162 — с ЖКИ и аппаратным шифрованием AES, STM32L100 — Value line с ЖКИ. Контроллер ЖКИ управляет пассивными монохромными индикаторами: до 8 общих и до 44 сегментных выводов, то есть до 176 (44 × 4) или 320 (40 × 8) элементов изображения; питать индикатор можно снаружи через вывод VLCD или от встроенного повышающего преобразователя (RM0038, раздел о LCD).
Категории. RM0038 делит микроконтроллеры на шесть категорий (табл. 1–4): категории 1 и 2 — 32–128 КБ флеш-памяти, 3 — 256 КБ, 4 и 6 — 384 КБ, 5 — 512 КБ. Категорию часто выдаёт только буква в конце обозначения: STM32L151C8T6 — категория 1, STM32L151C8T6A — категория 2, исполнения с буквой X — категория 6. Data EEPROM у категорий 1 и 2 — 4 КБ, у категории 3 — 8 КБ (RM0038, табл. 8 и 9).
Тактирование и питание
Частоту ограничивает диапазон напряжения ядра (RM0038, табл. 13):
| Диапазон | Напряжение ядра | Питание VDD | С одним тактом ожидания | Без тактов ожидания |
|---|---|---|---|---|
| Range 1 | 1,8 В | 1,71–3,6 В | 32 МГц | 16 МГц |
| Range 2 | 1,5 В | 1,71–3,6 В | 16 МГц | 8 МГц |
| Range 3 | 1,2 В | 1,65–3,6 В | 8 МГц | 4,2 МГц |
Для категории 1 в Range 3 пределы вдвое ниже: 4,2 и 2,1 МГц. После сброса ядро работает от генератора MSI на 2 МГц без тактов ожидания. Время работы от батареи по токам в разных режимах оценивает калькулятор времени работы от батареи.
Выводы STM32L1: альтернативные функции и загрузка
В отличие от STM32F1 того же ядра, у STM32L1 на каждой линии порта стоит мультиплексор альтернативных функций, как у STM32F4: режим задаёт GPIOx_MODER, номер функции AF0–AF15 — регистры GPIOx_AFRL и GPIOx_AFRH (RM0038, раздел GPIO); в данных ST у STM32L1 встречаются номера до AF14.
Режим загрузки задают выводы BOOT0 и BOOT1: BOOT0 = 0 — флеш-память, BOOT0 = 1 и BOOT1 = 0 — системная память с загрузчиком, BOOT0 = 1 и BOOT1 = 1 — ОЗУ (RM0038, табл. 6).
Все STM32L1 по корпусам
STM32L100 Value Line — Cortex-M3, до 32 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L100C6Ux | UFQFPN48 | 32 КБ | 4 КБ | 37 |
| STM32L100C6UxA | UFQFPN48 | 32 КБ | 10 КБ | 37 |
| STM32L100R8Tx, STM32L100RBTx | LQFP64 | 64 КБ / 128 КБ | 8 КБ / 10 КБ | 51 |
| STM32L100R8TxA, STM32L100RBTxA | LQFP64 | 64 КБ / 128 КБ | 10 КБ | 51 |
| STM32L100RC | LQFP64 | 256 КБ | 16 КБ | 51 |
STM32L151/152 — Cortex-M3, до 32 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L151C6Tx, STM32L151C8Tx, STM32L151CBTx | LQFP48 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 37 |
| STM32L151C6TxA, STM32L151C8TxA, STM32L151CBTxA | LQFP48 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 37 |
| STM32L151C6Ux, STM32L151C8Ux, STM32L151CBUx | UFQFPN48 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 37 |
| STM32L151C6UxA, STM32L151C8UxA, STM32L151CBUxA | UFQFPN48 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 37 |
| STM32L151CC | LQFP48 | 256 КБ | 32 КБ | 37 |
| STM32L151CC | UFQFPN48 | 256 КБ | 32 КБ | 37 |
| STM32L151QC | UFBGA132 | 256 КБ | 32 КБ | 112 |
| STM32L151QD | UFBGA132 | 384 КБ | 48 КБ | 112 |
| STM32L151QE | UFBGA132 | 512 КБ | 80 КБ | 111 |
| STM32L151R6Hx, STM32L151R8Hx, STM32L151RBHx | TFBGA64 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 50 |
| STM32L151R6HxA, STM32L151R8HxA, STM32L151RBHxA | TFBGA64 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 50 |
| STM32L151R6Tx, STM32L151R8Tx, STM32L151RBTx | LQFP64 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 51 |
| STM32L151R6TxA, STM32L151R8TxA, STM32L151RBTxA | LQFP64 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 51 |
| STM32L151RCTx | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L151RCTxA | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L151RC | WLCSP64 | 256 КБ | 32 КБ | 51 |
| STM32L151RD | LQFP64 | 384 КБ | 48 КБ | 51 |
| STM32L151RD | WLCSP64 | 384 КБ | 48 КБ | 51 |
| STM32L151RE | LQFP64 | 512 КБ | 80 КБ | 51 |
| STM32L151UC | WLCSP63 | 256 КБ | 32 КБ | 51 |
| STM32L151V8Hx, STM32L151VBHx | UFBGA100 | 64 КБ / 128 КБ | 10 КБ / 16 КБ | 83 |
| STM32L151V8HxA, STM32L151VBHxA | UFBGA100 | 64 КБ / 128 КБ | 32 КБ | 83 |
| STM32L151V8Tx, STM32L151VBTx | LQFP100 | 64 КБ / 128 КБ | 10 КБ / 16 КБ | 83 |
| STM32L151V8TxA, STM32L151VBTxA | LQFP100 | 64 КБ / 128 КБ | 32 КБ | 83 |
| STM32L151VC | UFBGA100 | 256 КБ | 32 КБ | 83 |
| STM32L151VCTx | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L151VCTxA | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L151VDTx | LQFP100 | 384 КБ | 48 КБ | 83 |
| STM32L151VDTxX | LQFP100 | 384 КБ | 80 КБ | 83 |
| STM32L151VD | WLCSP104 | 384 КБ | 80 КБ | 83 |
| STM32L151VE | LQFP100 | 512 КБ | 80 КБ | 83 |
| STM32L151VE | WLCSP104 | 512 КБ | 80 КБ | 83 |
| STM32L151ZC | LQFP144 | 256 КБ | 32 КБ | 115 |
| STM32L151ZD | LQFP144 | 384 КБ | 48 КБ | 115 |
| STM32L151ZE | LQFP144 | 512 КБ | 80 КБ | 115 |
| STM32L152C6Tx, STM32L152C8Tx, STM32L152CBTx | LQFP48 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 37 |
| STM32L152C6TxA, STM32L152C8TxA, STM32L152CBTxA | LQFP48 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 37 |
| STM32L152C6Ux, STM32L152C8Ux, STM32L152CBUx | UFQFPN48 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 37 |
| STM32L152C6UxA, STM32L152C8UxA, STM32L152CBUxA | UFQFPN48 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 37 |
| STM32L152CC | LQFP48 | 256 КБ | 32 КБ | 37 |
| STM32L152CC | UFQFPN48 | 256 КБ | 32 КБ | 37 |
| STM32L152QC | UFBGA132 | 256 КБ | 32 КБ | 112 |
| STM32L152QD | UFBGA132 | 384 КБ | 48 КБ | 112 |
| STM32L152QE | UFBGA132 | 512 КБ | 80 КБ | 111 |
| STM32L152R6Hx, STM32L152R8Hx, STM32L152RBHx | TFBGA64 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 50 |
| STM32L152R6HxA, STM32L152R8HxA, STM32L152RBHxA | TFBGA64 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 50 |
| STM32L152R6Tx, STM32L152R8Tx, STM32L152RBTx | LQFP64 | 32 КБ / 64 КБ / 128 КБ | 10 КБ / 16 КБ | 51 |
| STM32L152R6TxA, STM32L152R8TxA, STM32L152RBTxA | LQFP64 | 32 КБ / 64 КБ / 128 КБ | 16 КБ / 32 КБ | 51 |
| STM32L152RCTx | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L152RCTxA | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L152RD | LQFP64 | 384 КБ | 48 КБ | 51 |
| STM32L152RD | WLCSP64 | 384 КБ | 48 КБ | 51 |
| STM32L152RE | LQFP64 | 512 КБ | 80 КБ | 51 |
| STM32L152UC | WLCSP63 | 256 КБ | 32 КБ | 51 |
| STM32L152V8Hx, STM32L152VBHx | UFBGA100 | 64 КБ / 128 КБ | 10 КБ / 16 КБ | 83 |
| STM32L152V8HxA, STM32L152VBHxA | UFBGA100 | 64 КБ / 128 КБ | 32 КБ | 83 |
| STM32L152V8Tx, STM32L152VBTx | LQFP100 | 64 КБ / 128 КБ | 10 КБ / 16 КБ | 83 |
| STM32L152V8TxA, STM32L152VBTxA | LQFP100 | 64 КБ / 128 КБ | 32 КБ | 83 |
| STM32L152VC | UFBGA100 | 256 КБ | 32 КБ | 83 |
| STM32L152VCTx | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L152VCTxA | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L152VDTx | LQFP100 | 384 КБ | 48 КБ | 83 |
| STM32L152VDTxX | LQFP100 | 384 КБ | 80 КБ | 83 |
| STM32L152VE | LQFP100 | 512 КБ | 80 КБ | 83 |
| STM32L152VE | WLCSP104 | 512 КБ | 80 КБ | 83 |
| STM32L152ZC | LQFP144 | 256 КБ | 32 КБ | 115 |
| STM32L152ZD | LQFP144 | 384 КБ | 48 КБ | 115 |
| STM32L152ZE | LQFP144 | 512 КБ | 80 КБ | 115 |
STM32L162 — Cortex-M3, до 32 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L162QC | UFBGA132 | 256 КБ | 32 КБ | 112 |
| STM32L162QD | UFBGA132 | 384 КБ | 48 КБ | 112 |
| STM32L162RCTx | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L162RCTxA | LQFP64 | 256 КБ | 32 КБ | 51 |
| STM32L162RD | LQFP64 | 384 КБ | 48 КБ | 51 |
| STM32L162RD | WLCSP64 | 384 КБ | 48 КБ | 51 |
| STM32L162RE | LQFP64 | 512 КБ | 80 КБ | 51 |
| STM32L162VC | UFBGA100 | 256 КБ | 32 КБ | 83 |
| STM32L162VCTx | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L162VCTxA | LQFP100 | 256 КБ | 32 КБ | 83 |
| STM32L162VD | LQFP100 | 384 КБ | 48 КБ | 83 |
| STM32L162VD | WLCSP104 | 384 КБ | 80 КБ | 83 |
| STM32L162VE | LQFP100 | 512 КБ | 80 КБ | 83 |
| STM32L162VE | WLCSP104 | 512 КБ | 80 КБ | 83 |
| STM32L162ZC | LQFP144 | 256 КБ | 32 КБ | 115 |
| STM32L162ZD | LQFP144 | 384 КБ | 48 КБ | 115 |
| STM32L162ZE | LQFP144 | 512 КБ | 80 КБ | 115 |
Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах (толерантные к 5 В помечены FT), токи и номиналы внешних компонентов.
Частые вопросы
Чем STM32L151 отличается от STM32L152?
По данным ST у STM32L152 есть контроллер ЖКИ, а у STM32L151 его нет; в базе ST они объединены в одну линейку STM32L151/152, а различия выводов в одинаковых корпусах видны в разделе «Похожие по выводам» на страницах микроконтроллеров. STM32L162 — это STM32L152 с аппаратным шифрованием AES, STM32L100 — линейка Value line с ЖКИ.
Что значат буквы A и X в конце обозначения STM32L1?
Это другая категория кристалла (RM0038, табл. 2–4). Например, STM32L151C8T6 относится к категории 1, а STM32L151C8T6A — к категории 2; STM32L151VDY6XTR с буквой X — к категории 6. Объём флеш-памяти у них одинаковый, но часть таблиц RM0038 — организация памяти, векторы прерываний, такты ожидания — приводится по категориям, поэтому категорию своего исполнения стоит знать.
На какой частоте работает STM32L1?
Частоту ограничивает диапазон напряжения ядра (RM0038, табл. 13): в Range 1 (1,8 В, питание 1,71–3,6 В) — до 32 МГц с одним тактом ожидания флеш-памяти и до 16 МГц без него, в Range 2 (1,5 В) — до 16 и 8 МГц, в Range 3 (1,2 В, питание от 1,65 В) — до 8 и 4,2 МГц у категорий 2–6. После сброса ядро работает от генератора MSI на 2 МГц.
Как запустить загрузчик STM32L1?
Режим загрузки задают выводы BOOT0 и BOOT1: при BOOT0 = 0 запускается флеш-память, при BOOT0 = 1 и BOOT1 = 0 — системная память с загрузчиком, при BOOT0 = 1 и BOOT1 = 1 — ОЗУ (RM0038, табл. 6). У категорий 4–6 есть ещё бит nBFB2 в байте опций: он включает загрузку со второго банка флеш-памяти через системную память.
Смотрите также
- STM32Распиновки по корпусам, альтернативные функции, похожие по выводам МК
- STM32L0Cortex-M0+, до 32 МГц, малое потребление: L010, L0x1, L0x2 с USB, L0x3 с ЖКИ — линейки и распиновки
- STM32F1Cortex-M3: F100, F101, F102, F103, F105/107 — линейки и распиновки
- Cortex-M3Регистры, карта памяти, bit-banding, NVIC, SysTick, MPU, старт, пример
- Время работы от батареимА·ч, средний ток, сон МК, Вт·ч
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту