Перейти к содержанию

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 LineCortex-M3, до 32 МГц32 КБ – 256 КБ4 КБ – 16 КБLQFP64, UFQFPN48USB, DAC, COMP, I²S
STM32L151/152Cortex-M3, до 32 МГц32 КБ – 512 КБ10 КБ – 80 КБLQFP48, LQFP64, LQFP100, LQFP144, TFBGA64, UFBGA100, UFBGA132, UFQFPN48, WLCSP63, WLCSP64, WLCSP104USB, SDIO, FSMC, DAC, COMP, I²S
STM32L162Cortex-M3, до 32 МГц256 КБ – 512 КБ32 КБ – 80 КБLQFP64, LQFP100, LQFP144, UFBGA100, UFBGA132, WLCSP64, WLCSP104USB, 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 11,8 В1,71–3,6 В32 МГц16 МГц
Range 21,5 В1,71–3,6 В16 МГц8 МГц
Range 31,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 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L100C6UxUFQFPN4832 КБ4 КБ37
STM32L100C6UxAUFQFPN4832 КБ10 КБ37
STM32L100R8Tx, STM32L100RBTxLQFP6464 КБ / 128 КБ8 КБ / 10 КБ51
STM32L100R8TxA, STM32L100RBTxALQFP6464 КБ / 128 КБ10 КБ51
STM32L100RCLQFP64256 КБ16 КБ51

STM32L151/152 — Cortex-M3, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L151C6Tx, STM32L151C8Tx, STM32L151CBTxLQFP4832 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ37
STM32L151C6TxA, STM32L151C8TxA, STM32L151CBTxALQFP4832 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ37
STM32L151C6Ux, STM32L151C8Ux, STM32L151CBUxUFQFPN4832 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ37
STM32L151C6UxA, STM32L151C8UxA, STM32L151CBUxAUFQFPN4832 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ37
STM32L151CCLQFP48256 КБ32 КБ37
STM32L151CCUFQFPN48256 КБ32 КБ37
STM32L151QCUFBGA132256 КБ32 КБ112
STM32L151QDUFBGA132384 КБ48 КБ112
STM32L151QEUFBGA132512 КБ80 КБ111
STM32L151R6Hx, STM32L151R8Hx, STM32L151RBHxTFBGA6432 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ50
STM32L151R6HxA, STM32L151R8HxA, STM32L151RBHxATFBGA6432 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ50
STM32L151R6Tx, STM32L151R8Tx, STM32L151RBTxLQFP6432 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ51
STM32L151R6TxA, STM32L151R8TxA, STM32L151RBTxALQFP6432 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ51
STM32L151RCTxLQFP64256 КБ32 КБ51
STM32L151RCTxALQFP64256 КБ32 КБ51
STM32L151RCWLCSP64256 КБ32 КБ51
STM32L151RDLQFP64384 КБ48 КБ51
STM32L151RDWLCSP64384 КБ48 КБ51
STM32L151RELQFP64512 КБ80 КБ51
STM32L151UCWLCSP63256 КБ32 КБ51
STM32L151V8Hx, STM32L151VBHxUFBGA10064 КБ / 128 КБ10 КБ / 16 КБ83
STM32L151V8HxA, STM32L151VBHxAUFBGA10064 КБ / 128 КБ32 КБ83
STM32L151V8Tx, STM32L151VBTxLQFP10064 КБ / 128 КБ10 КБ / 16 КБ83
STM32L151V8TxA, STM32L151VBTxALQFP10064 КБ / 128 КБ32 КБ83
STM32L151VCUFBGA100256 КБ32 КБ83
STM32L151VCTxLQFP100256 КБ32 КБ83
STM32L151VCTxALQFP100256 КБ32 КБ83
STM32L151VDTxLQFP100384 КБ48 КБ83
STM32L151VDTxXLQFP100384 КБ80 КБ83
STM32L151VDWLCSP104384 КБ80 КБ83
STM32L151VELQFP100512 КБ80 КБ83
STM32L151VEWLCSP104512 КБ80 КБ83
STM32L151ZCLQFP144256 КБ32 КБ115
STM32L151ZDLQFP144384 КБ48 КБ115
STM32L151ZELQFP144512 КБ80 КБ115
STM32L152C6Tx, STM32L152C8Tx, STM32L152CBTxLQFP4832 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ37
STM32L152C6TxA, STM32L152C8TxA, STM32L152CBTxALQFP4832 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ37
STM32L152C6Ux, STM32L152C8Ux, STM32L152CBUxUFQFPN4832 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ37
STM32L152C6UxA, STM32L152C8UxA, STM32L152CBUxAUFQFPN4832 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ37
STM32L152CCLQFP48256 КБ32 КБ37
STM32L152CCUFQFPN48256 КБ32 КБ37
STM32L152QCUFBGA132256 КБ32 КБ112
STM32L152QDUFBGA132384 КБ48 КБ112
STM32L152QEUFBGA132512 КБ80 КБ111
STM32L152R6Hx, STM32L152R8Hx, STM32L152RBHxTFBGA6432 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ50
STM32L152R6HxA, STM32L152R8HxA, STM32L152RBHxATFBGA6432 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ50
STM32L152R6Tx, STM32L152R8Tx, STM32L152RBTxLQFP6432 КБ / 64 КБ / 128 КБ10 КБ / 16 КБ51
STM32L152R6TxA, STM32L152R8TxA, STM32L152RBTxALQFP6432 КБ / 64 КБ / 128 КБ16 КБ / 32 КБ51
STM32L152RCTxLQFP64256 КБ32 КБ51
STM32L152RCTxALQFP64256 КБ32 КБ51
STM32L152RDLQFP64384 КБ48 КБ51
STM32L152RDWLCSP64384 КБ48 КБ51
STM32L152RELQFP64512 КБ80 КБ51
STM32L152UCWLCSP63256 КБ32 КБ51
STM32L152V8Hx, STM32L152VBHxUFBGA10064 КБ / 128 КБ10 КБ / 16 КБ83
STM32L152V8HxA, STM32L152VBHxAUFBGA10064 КБ / 128 КБ32 КБ83
STM32L152V8Tx, STM32L152VBTxLQFP10064 КБ / 128 КБ10 КБ / 16 КБ83
STM32L152V8TxA, STM32L152VBTxALQFP10064 КБ / 128 КБ32 КБ83
STM32L152VCUFBGA100256 КБ32 КБ83
STM32L152VCTxLQFP100256 КБ32 КБ83
STM32L152VCTxALQFP100256 КБ32 КБ83
STM32L152VDTxLQFP100384 КБ48 КБ83
STM32L152VDTxXLQFP100384 КБ80 КБ83
STM32L152VELQFP100512 КБ80 КБ83
STM32L152VEWLCSP104512 КБ80 КБ83
STM32L152ZCLQFP144256 КБ32 КБ115
STM32L152ZDLQFP144384 КБ48 КБ115
STM32L152ZELQFP144512 КБ80 КБ115

STM32L162 — Cortex-M3, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L162QCUFBGA132256 КБ32 КБ112
STM32L162QDUFBGA132384 КБ48 КБ112
STM32L162RCTxLQFP64256 КБ32 КБ51
STM32L162RCTxALQFP64256 КБ32 КБ51
STM32L162RDLQFP64384 КБ48 КБ51
STM32L162RDWLCSP64384 КБ48 КБ51
STM32L162RELQFP64512 КБ80 КБ51
STM32L162VCUFBGA100256 КБ32 КБ83
STM32L162VCTxLQFP100256 КБ32 КБ83
STM32L162VCTxALQFP100256 КБ32 КБ83
STM32L162VDLQFP100384 КБ48 КБ83
STM32L162VDWLCSP104384 КБ80 КБ83
STM32L162VELQFP100512 КБ80 КБ83
STM32L162VEWLCSP104512 КБ80 КБ83
STM32L162ZCLQFP144256 КБ32 КБ115
STM32L162ZDLQFP144384 КБ48 КБ115
STM32L162ZELQFP144512 КБ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 в байте опций: он включает загрузку со второго банка флеш-памяти через системную память.