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

STM32L0: малопотребляющие микроконтроллеры на Cortex-M0+

STM32L0 — малопотребляющее семейство STM32 на ядре Cortex-M0+ с частотой до 32 МГц, от 14-выводных STM32L011D и L021D до 100-выводных STM32L071–L083. Здесь — сравнение линеек и категорий и страницы с распиновкой и номерами альтернативных функций каждого микроконтроллера в каждом корпусе.

STM32L0 — семейство 32-битных малопотребляющих микроконтроллеров STMicroelectronics на ядре Arm Cortex-M0+ с частотой до 32 МГц. Рядом с флеш-памятью у них есть отдельная data EEPROM для настроек и журналов, а напряжение ядра переключается между тремя диапазонами, чтобы снижать потребление на малых частотах. В разделе 113 страниц для 179 исполнений в 17 корпусах, 16 линеек: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.

Линейки STM32L0

Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.

ЛинейкаЯдро, частотаФлеш-памятьОЗУКорпусаЧем выделяется
STM32L010 Value LineCortex-M0+, до 32 МГц16 КБ – 128 КБ2 КБ – 20 КБLQFP32, LQFP48, LQFP64, TSSOP20LPTIM, LPUART
STM32L011Cortex-M0+, до 32 МГц8 КБ – 16 КБ2 КБLQFP32, TSSOP14, TSSOP20, UFQFPN20, UFQFPN28, UFQFPN32, WLCSP25COMP, LPTIM, LPUART
STM32L021Cortex-M0+, до 32 МГц16 КБ2 КБLQFP32, TSSOP14, TSSOP20, UFQFPN20, UFQFPN28, UFQFPN32COMP, AES, LPTIM, LPUART
STM32L031Cortex-M0+, до 32 МГц16 КБ – 32 КБ8 КБLQFP32, LQFP48, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP25COMP, LPTIM, LPUART
STM32L041Cortex-M0+, до 32 МГц16 КБ – 32 КБ8 КБLQFP32, LQFP48, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP25COMP, AES, LPTIM, LPUART
STM32L051Cortex-M0+, до 32 МГц32 КБ – 64 КБ8 КБLQFP32, LQFP48, LQFP64, TFBGA64, UFQFPN32, UFQFPN48, WLCSP36COMP, I²S, LPTIM, LPUART
STM32L052Cortex-M0+, до 32 МГц32 КБ – 64 КБ8 КБLQFP32, LQFP48, LQFP64, TFBGA64, UFQFPN32, UFQFPN48, WLCSP36USB, DAC, COMP, I²S, RNG, LPTIM, LPUART, TSC
STM32L053Cortex-M0+, до 32 МГц32 КБ – 64 КБ8 КБLQFP48, LQFP64, TFBGA64, UFQFPN48USB, DAC, COMP, I²S, RNG, LPTIM, LPUART, TSC
STM32L062Cortex-M0+, до 32 МГц64 КБ8 КБLQFP32, UFQFPN32, UFQFPN48USB, DAC, COMP, I²S, AES, RNG, LPTIM, LPUART, TSC
STM32L063Cortex-M0+, до 32 МГц64 КБ8 КБLQFP48, LQFP64, UFQFPN48USB, DAC, COMP, I²S, AES, RNG, LPTIM, LPUART, TSC
STM32L071Cortex-M0+, до 32 МГц64 КБ – 192 КБ20 КБLQFP32, LQFP48, LQFP64, LQFP100, TFBGA64, UFBGA100, UFQFPN32, UFQFPN48, WLCSP49COMP, I²S, LPTIM, LPUART
STM32L072Cortex-M0+, до 32 МГц64 КБ – 192 КБ20 КБEWLCSP49, LQFP32, LQFP48, LQFP64, LQFP100, TFBGA64, UFBGA64, UFBGA100, UFQFPN32, UFQFPN48, WLCSP49USB, DAC, COMP, I²S, RNG, LPTIM, LPUART, TSC
STM32L073Cortex-M0+, до 32 МГц64 КБ – 192 КБ20 КБLQFP48, LQFP64, LQFP100, TFBGA64, UFBGA64, UFBGA100, UFQFPN48, WLCSP49USB, DAC, COMP, I²S, RNG, LPTIM, LPUART, TSC
STM32L081Cortex-M0+, до 32 МГц128 КБ – 192 КБ20 КБLQFP32, LQFP48, UFQFPN32, UFQFPN48COMP, I²S, AES, LPTIM, LPUART
STM32L082Cortex-M0+, до 32 МГц128 КБ – 192 КБ20 КБLQFP32, UFQFPN32, UFQFPN48, WLCSP49USB, DAC, COMP, I²S, AES, RNG, LPTIM, LPUART, TSC
STM32L083Cortex-M0+, до 32 МГц64 КБ – 192 КБ20 КБLQFP48, LQFP64, LQFP100, TFBGA64, UFBGA100, UFQFPN48USB, DAC, COMP, I²S, AES, RNG, LPTIM, LPUART, TSC

Семейство описывают четыре reference manual: RM0377 — базовую линейку STM32L0x1 (L011–L081), RM0376 — STM32L0x2 (L052–L082), RM0367 — STM32L0x3 (L053–L083), RM0451 — Value line STM32L0x0 (STM32L010). По данным ST линейки отличаются так:

  • STM32L0x1 — без USB и ЦАП; исполнения L021, L041 и L081 — с аппаратным шифрованием AES.
  • STM32L0x2 — плюс USB-устройство, ЦАП, контроллер сенсорных кнопок TSC и генератор случайных чисел; для USB есть генератор HSI48 с блоком подстройки CRS (RM0376, разд. 8).
  • STM32L0x3 — то же, что L0x2, плюс контроллер ЖКИ: до 8 общих и до 52 сегментных выводов, то есть до 208 (4 × 52) или 384 (8 × 48) элементов изображения (RM0367).

Внутри линеек микроконтроллеры делятся на категории по объёму памяти (RM0377, табл. 1 и 2): категория 1 — STM32L011 и L021, категория 2 — L031 и L041, категория 3 — L051, категория 5 — L071 и L081. Чем выше категория, тем больше периферии: у категории 3 появляются блок защиты памяти MPU, USART1, I2C2 и SPI2, у категории 5 — таймеры TIM3 и TIM7, I2C3, USART4 и USART5 и порт E.

Тактирование и питание

Частоту ограничивает диапазон напряжения ядра (RM0377, табл. 14):

ДиапазонНапряжение ядраС одним тактом ожиданияБез тактов ожидания
Range 11,65–1,95 В32 МГц16 МГц
Range 21,35–1,65 В16 МГц8 МГц
Range 31,05–1,35 В4,2 МГц4,2 МГц

После сброса ядро работает от генератора MSI на 2,1 МГц без тактов ожидания. Минимальное напряжение питания — 1,65 В (RM0377). Время работы устройства от батареи по токам в активном и спящем режимах оценивает калькулятор времени работы от батареи.

Выводы STM32L0: альтернативные функции и загрузка

На каждой линии порта стоит мультиплексор альтернативных функций: режим задаёт GPIOx_MODER, номер функции — GPIOx_AFRL и GPIOx_AFRH. В данных ST у STM32L0 используются номера AF0–AF7.

Режим загрузки задают вывод BOOT0 и биты nBOOT1, nBOOT_SEL и nBOOT0 в байте опций (RM0377, табл. 4) — как у STM32G0. У категории 1 (STM32L011, L021) вывод BOOT0 совмещён с линией PB9 (RM0377, табл. 2).

Все STM32L0 по корпусам

STM32L010 Value Line — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L010C6LQFP4832 КБ8 КБ38
STM32L010F4TSSOP2016 КБ2 КБ16
STM32L010K4LQFP3216 КБ2 КБ26
STM32L010K8LQFP3264 КБ8 КБ25
STM32L010R8LQFP6464 КБ8 КБ51
STM32L010RBLQFP64128 КБ20 КБ51

STM32L011 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L011D3, STM32L011D4TSSOP148 КБ / 16 КБ2 КБ11
STM32L011E3, STM32L011E4WLCSP258 КБ / 16 КБ2 КБ21
STM32L011F3, STM32L011F4TSSOP208 КБ / 16 КБ2 КБ16
STM32L011F3, STM32L011F4UFQFPN208 КБ / 16 КБ2 КБ16
STM32L011G3, STM32L011G4UFQFPN288 КБ / 16 КБ2 КБ24
STM32L011K3, STM32L011K4LQFP328 КБ / 16 КБ2 КБ26
STM32L011K3, STM32L011K4UFQFPN328 КБ / 16 КБ2 КБ28

STM32L021 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L021D4TSSOP1416 КБ2 КБ11
STM32L021F4TSSOP2016 КБ2 КБ16
STM32L021F4UFQFPN2016 КБ2 КБ16
STM32L021G4UFQFPN2816 КБ2 КБ24
STM32L021K4LQFP3216 КБ2 КБ26
STM32L021K4UFQFPN3216 КБ2 КБ28

STM32L031 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L031C4, STM32L031C6LQFP4816 КБ / 32 КБ8 КБ38
STM32L031C4, STM32L031C6UFQFPN4816 КБ / 32 КБ8 КБ38
STM32L031E4, STM32L031E6WLCSP2516 КБ / 32 КБ8 КБ20
STM32L031F4, STM32L031F6TSSOP2016 КБ / 32 КБ8 КБ15
STM32L031G4, STM32L031G6UFQFPN2816 КБ / 32 КБ8 КБ21
STM32L031G6UFQFPN2832 КБ8 КБ23
STM32L031K4, STM32L031K6LQFP3216 КБ / 32 КБ8 КБ25
STM32L031K4, STM32L031K6UFQFPN3216 КБ / 32 КБ8 КБ27

STM32L041 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L041C4, STM32L041C6LQFP4816 КБ / 32 КБ8 КБ38
STM32L041C6UFQFPN4832 КБ8 КБ38
STM32L041E6WLCSP2532 КБ8 КБ20
STM32L041F6TSSOP2032 КБ8 КБ15
STM32L041G6UxUFQFPN2832 КБ8 КБ21
STM32L041G6UxSUFQFPN2832 КБ8 КБ23
STM32L041K6LQFP3232 КБ8 КБ25
STM32L041K6UFQFPN3232 КБ8 КБ27

STM32L051 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L051C6, STM32L051C8LQFP4832 КБ / 64 КБ8 КБ37
STM32L051C6, STM32L051C8UFQFPN4832 КБ / 64 КБ8 КБ37
STM32L051K6, STM32L051K8LQFP3232 КБ / 64 КБ8 КБ25
STM32L051K6, STM32L051K8UFQFPN3232 КБ / 64 КБ8 КБ27
STM32L051R6, STM32L051R8TFBGA6432 КБ / 64 КБ8 КБ50
STM32L051R6, STM32L051R8LQFP6432 КБ / 64 КБ8 КБ51
STM32L051T6, STM32L051T8WLCSP3632 КБ / 64 КБ8 КБ29

STM32L052 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L052C6, STM32L052C8LQFP4832 КБ / 64 КБ8 КБ37
STM32L052C6, STM32L052C8UFQFPN4832 КБ / 64 КБ8 КБ37
STM32L052K6, STM32L052K8LQFP3232 КБ / 64 КБ8 КБ25
STM32L052K6, STM32L052K8UFQFPN3232 КБ / 64 КБ8 КБ27
STM32L052R6, STM32L052R8TFBGA6432 КБ / 64 КБ8 КБ50
STM32L052R6, STM32L052R8LQFP6432 КБ / 64 КБ8 КБ51
STM32L052T6, STM32L052T8WLCSP3632 КБ / 64 КБ8 КБ29
STM32L052T8WLCSP3664 КБ8 КБ29

STM32L053 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L053C6, STM32L053C8LQFP4832 КБ / 64 КБ8 КБ37
STM32L053C6, STM32L053C8UFQFPN4832 КБ / 64 КБ8 КБ37
STM32L053R6, STM32L053R8TFBGA6432 КБ / 64 КБ8 КБ50
STM32L053R6, STM32L053R8LQFP6432 КБ / 64 КБ8 КБ51

STM32L062 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L062C8UFQFPN4864 КБ8 КБ37
STM32L062K8LQFP3264 КБ8 КБ25
STM32L062K8UFQFPN3264 КБ8 КБ27

STM32L063 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L063C8LQFP4864 КБ8 КБ37
STM32L063C8UFQFPN4864 КБ8 КБ37
STM32L063R8LQFP6464 КБ8 КБ51

STM32L071 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L071C8LQFP4864 КБ20 КБ37
STM32L071C8UFQFPN4864 КБ20 КБ37
STM32L071CB, STM32L071CZLQFP48128 КБ / 192 КБ20 КБ37
STM32L071CB, STM32L071CZUFQFPN48128 КБ / 192 КБ20 КБ37
STM32L071CB, STM32L071CZWLCSP49128 КБ / 192 КБ20 КБ40
STM32L071K8UFQFPN3264 КБ20 КБ23
STM32L071KB, STM32L071KZLQFP32128 КБ / 192 КБ20 КБ25
STM32L071KB, STM32L071KZUFQFPN32128 КБ / 192 КБ20 КБ23
STM32L071RB, STM32L071RZTFBGA64128 КБ / 192 КБ20 КБ50
STM32L071RB, STM32L071RZLQFP64128 КБ / 192 КБ20 КБ51
STM32L071V8UFBGA10064 КБ20 КБ84
STM32L071V8LQFP10064 КБ20 КБ84
STM32L071VB, STM32L071VZUFBGA100128 КБ / 192 КБ20 КБ84
STM32L071VB, STM32L071VZLQFP100128 КБ / 192 КБ20 КБ84

STM32L072 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L072CB, STM32L072CZLQFP48128 КБ / 192 КБ20 КБ37
STM32L072CB, STM32L072CZUFQFPN48128 КБ / 192 КБ20 КБ37
STM32L072CB, STM32L072CZWLCSP49128 КБ / 192 КБ20 КБ40
STM32L072CZEWLCSP49192 КБ20 КБ40
STM32L072KB, STM32L072KZLQFP32128 КБ / 192 КБ20 КБ25
STM32L072KB, STM32L072KZUFQFPN32128 КБ / 192 КБ20 КБ23
STM32L072RB, STM32L072RZTFBGA64128 КБ / 192 КБ20 КБ50
STM32L072RB, STM32L072RZUFBGA64128 КБ / 192 КБ20 КБ50
STM32L072RB, STM32L072RZLQFP64128 КБ / 192 КБ20 КБ51
STM32L072V8UFBGA10064 КБ20 КБ84
STM32L072V8LQFP10064 КБ20 КБ84
STM32L072VB, STM32L072VZUFBGA100128 КБ / 192 КБ20 КБ84
STM32L072VB, STM32L072VZLQFP100128 КБ / 192 КБ20 КБ84

STM32L073 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L073CB, STM32L073CZLQFP48128 КБ / 192 КБ20 КБ37
STM32L073CB, STM32L073CZUFQFPN48128 КБ / 192 КБ20 КБ37
STM32L073CZWLCSP49192 КБ20 КБ40
STM32L073RB, STM32L073RZTFBGA64128 КБ / 192 КБ20 КБ50
STM32L073RB, STM32L073RZLQFP64128 КБ / 192 КБ20 КБ51
STM32L073RZUFBGA64192 КБ20 КБ50
STM32L073V8UFBGA10064 КБ20 КБ84
STM32L073V8LQFP10064 КБ20 КБ84
STM32L073VB, STM32L073VZUFBGA100128 КБ / 192 КБ20 КБ84
STM32L073VB, STM32L073VZLQFP100128 КБ / 192 КБ20 КБ84

STM32L081 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L081CB, STM32L081CZLQFP48128 КБ / 192 КБ20 КБ37
STM32L081CZUFQFPN48192 КБ20 КБ37
STM32L081KZLQFP32192 КБ20 КБ25
STM32L081KZUFQFPN32192 КБ20 КБ23

STM32L082 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L082CZUFQFPN48192 КБ20 КБ37
STM32L082CZWLCSP49192 КБ20 КБ40
STM32L082KB, STM32L082KZLQFP32128 КБ / 192 КБ20 КБ25
STM32L082KB, STM32L082KZUFQFPN32128 КБ / 192 КБ20 КБ23

STM32L083 — Cortex-M0+, до 32 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L083CB, STM32L083CZLQFP48128 КБ / 192 КБ20 КБ37
STM32L083CZUFQFPN48192 КБ20 КБ37
STM32L083RB, STM32L083RZTFBGA64128 КБ / 192 КБ20 КБ50
STM32L083RB, STM32L083RZLQFP64128 КБ / 192 КБ20 КБ51
STM32L083V8UFBGA10064 КБ20 КБ84
STM32L083V8LQFP10064 КБ20 КБ84
STM32L083VB, STM32L083VZUFBGA100128 КБ / 192 КБ20 КБ84
STM32L083VB, STM32L083VZLQFP100128 КБ / 192 КБ20 КБ84

Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах (толерантные к 5 В помечены FT), токи и номиналы внешних компонентов.

Частые вопросы

Чем отличаются STM32L0x1, L0x2 и L0x3?

У каждой линейки свой reference manual: RM0377, RM0376 и RM0367. По данным ST STM32L0x1 (L011–L081) — базовая линейка без USB; у STM32L0x2 (L052–L082) добавляются USB-устройство, ЦАП, контроллер сенсорных кнопок TSC и генератор случайных чисел; у STM32L0x3 (L053–L083) — всё это и контроллер ЖКИ. Исполнения L021, L041, L062, L063, L081, L082 и L083 дополнительно имеют аппаратное шифрование AES.

Чем STM32L011 отличается от STM32L031, L051 и L071?

Это категории 1, 2, 3 и 5 из RM0377 (табл. 1 и 2). STM32L011 и L021 (категория 1) — 8 или 16 КБ флеш-памяти, генератор HSE только в режиме внешнего тактового сигнала, вывод BOOT0 совмещён с PB9. У категории 3 (L051) появляются блок защиты памяти MPU, USART1, I2C2 и SPI2, у категории 5 (L071, L081) — ещё TIM3, TIM7, I2C3, USART4, USART5 и порт E.

На какой частоте работает STM32L0?

Частоту ограничивает диапазон напряжения ядра (RM0377, табл. 14): в Range 1 (1,65–1,95 В) — до 32 МГц с одним тактом ожидания флеш-памяти и до 16 МГц без него, в Range 2 — до 16 и 8 МГц, в Range 3 — до 4,2 МГц. После сброса ядро работает от генератора MSI на 2,1 МГц.

Сколько data EEPROM у STM32L0?

Кроме флеш-памяти программ, у STM32L0 есть отдельная память данных EEPROM: 512 байт у категории 1 (STM32L011, L021) и до 6 КБ в двух банках у категории 5 (STM32L071–L083) (RM0377, раздел о NVM).