STM32L4+: малопотребляющие Cortex-M4 на 120 МГц с графикой
STM32L4+ — продолжение STM32L4 с ядром Cortex-M4 на частоте до 120 МГц, ОЗУ до 640 КБ и графикой: контроллер TFT-дисплея LTDC, ускоритель DMA2D, у старших линеек — хост MIPI DSI. Режимы низкого потребления, MSI и схема загрузки у него те же, что у STM32L4. Здесь — сравнение линеек и страницы с распиновкой каждого микроконтроллера в каждом корпусе.
STM32L4+ — серия малопотребляющих микроконтроллеров STMicroelectronics на ядре Arm Cortex-M4 с блоком вычислений с плавающей точкой и частотой до 120 МГц, описанная в reference manual RM0432. От STM32L4 её отличают большая частота, ОЗУ до 640 КБ и графические блоки; режимы низкого потребления от Sleep до Shutdown, генератор MSI и схема загрузки с битами nBOOT1, nBOOT0 и nSWBOOT0 — те же. В разделе 64 страницы для 82 исполнений в 10 корпусах, 4 линейки: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.
Линейки STM32L4+
Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.
| Линейка | Ядро, частота | Флеш-память | ОЗУ | Корпуса | Чем выделяется |
|---|---|---|---|---|---|
| STM32L4P5/Q5 | Cortex-M4, до 120 МГц | 512 КБ – 1 МБ | 320 КБ | LQFP48, LQFP64, LQFP100, LQFP144, UFBGA132, UFBGA169, UFQFPN48, WLCSP100 | USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC |
| STM32L4R5/S5 | Cortex-M4, до 120 МГц | 1 МБ – 2 МБ | 640 КБ | LQFP100, LQFP144, UFBGA132, UFBGA169, WLCSP144 | USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC |
| STM32L4R7/S7 | Cortex-M4, до 120 МГц | 2 МБ | 640 КБ | LQFP100, LQFP144, UFBGA169 | USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC |
| STM32L4R9/S9 | Cortex-M4, до 120 МГц | 1 МБ – 2 МБ | 640 КБ | LQFP100, LQFP144, UFBGA144, UFBGA169, WLCSP144 | USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DSI, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC |
По RM0432 и данным ST:
| Линейка | ОЗУ | Графика | Особенности |
|---|---|---|---|
| STM32L4P5/Q5 | 320 КБ: SRAM1 128, SRAM2 64, SRAM3 128 КБ | LTDC, DMA2D | два контроллера SD-карт SDMMC1 и SDMMC2 |
| STM32L4R5/S5 | 640 КБ: SRAM1 192, SRAM2 64, SRAM3 384 КБ | DMA2D, GFXMMU | — |
| STM32L4R7/S7 | 640 КБ | LTDC, DMA2D, GFXMMU | — |
| STM32L4R9/S9 | 640 КБ | LTDC, DMA2D, GFXMMU, MIPI DSI | — |
Блок GFXMMU есть только у STM32L4R и L4S (RM0432, 2.1.9): для дисплея непрямоугольной формы, например круглого, он хранит в памяти только видимые точки, а программе показывает обычный прямоугольный виртуальный буфер (RM0432, 14.2). Внешнюю флеш-память и ОЗУ подключают через два интерфейса OCTOSPI или контроллер FMC.
Тактирование и режим Range 1 boost
Как у STM32L4, после сброса ядро работает от генератора MSI на 4 МГц без тактов ожидания (RM0432, раздел FLASH). Для частот выше 80 МГц стабилизатор переводят в режим Range 1 boost, сбросив бит R1MODE в регистре PWR_CR5: напряжение ядра поднимается примерно до 1,28 В, и частота может достигать 120 МГц (RM0432, табл. 24). Такты ожидания флеш-памяти (RM0432, табл. 12):
| Тактов ожидания | Range 1 boost | Range 1 normal | Range 2 |
|---|---|---|---|
| 0 | до 20 МГц | до 20 МГц | до 8 МГц |
| 1 | до 40 МГц | до 40 МГц | до 16 МГц |
| 2 | до 60 МГц | до 60 МГц | до 26 МГц |
| 3 | до 80 МГц | до 80 МГц | — |
| 4 | до 100 МГц | — | — |
| 5 | до 120 МГц | — | — |
В Standby можно сохранить всю SRAM2 (64 КБ) или только её верхние 4 КБ (RM0432, раздел PWR). Делители таймеров и скорость UART от выбранных частот считают калькулятор таймера и калькулятор UART.
Выводы STM32L4+: альтернативные функции и загрузка
У каждой линии порта мультиплексор на шестнадцать функций: номер AF0–AF15 записывают в регистры GPIOx_AFRL (линии 0–7) и GPIOx_AFRH (линии 8–15) (RM0432, раздел GPIO). В данных ST у STM32L4+ встречаются номера до AF14.
Загрузка выбирается так же, как у STM32L4 (RM0432, табл. 4): BOOT0 = 0 — флеш-память, BOOT0 = 1 и nBOOT1 = 1 — системная память с загрузчиком, BOOT0 = 1 и nBOOT1 = 0 — SRAM1. Значение BOOT0 берётся с вывода PH3-BOOT0 или, если бит nSWBOOT0 в байтах опций сброшен, из бита nBOOT0. Если первое слово флеш-памяти не запрограммировано, микроконтроллер сам стартует загрузчик. Загрузчик работает через USART1–USART3, I²C1–I²C3, SPI1 и SPI2, CAN1 и USB в режиме DFU (AN2606, табл. 174 и 176).
Все STM32L4+ по корпусам
STM32L4P5/Q5 — Cortex-M4, до 120 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L4P5AG, STM32L4P5AE | UFBGA169 | 1 МБ / 512 КБ | 320 КБ | 136 |
| STM32L4P5AG | UFBGA169 | 1 МБ | 320 КБ | 134 |
| STM32L4P5CG, STM32L4P5CE | LQFP48 | 1 МБ / 512 КБ | 320 КБ | 38 |
| STM32L4P5CG | LQFP48 | 1 МБ | 320 КБ | 36 |
| STM32L4P5CG, STM32L4P5CE | UFQFPN48 | 1 МБ / 512 КБ | 320 КБ | 38 |
| STM32L4P5CG | UFQFPN48 | 1 МБ | 320 КБ | 36 |
| STM32L4P5QG, STM32L4P5QE | UFBGA132 | 1 МБ / 512 КБ | 320 КБ | 110 |
| STM32L4P5QGIxP | UFBGA132 | 1 МБ | 320 КБ | 108 |
| STM32L4P5QGIxS | UFBGA132 | 1 МБ | 320 КБ | 108 |
| STM32L4P5RG, STM32L4P5RE | LQFP64 | 1 МБ / 512 КБ | 320 КБ | 52 |
| STM32L4P5RG | LQFP64 | 1 МБ | 320 КБ | 50 |
| STM32L4P5VG, STM32L4P5VE | LQFP100 | 1 МБ / 512 КБ | 320 КБ | 83 |
| STM32L4P5VG | LQFP100 | 1 МБ | 320 КБ | 81 |
| STM32L4P5VG, STM32L4P5VE | WLCSP100 | 1 МБ / 512 КБ | 320 КБ | 81 |
| STM32L4P5VG | WLCSP100 | 1 МБ | 320 КБ | 80 |
| STM32L4P5ZG, STM32L4P5ZE | LQFP144 | 1 МБ / 512 КБ | 320 КБ | 115 |
| STM32L4P5ZG | LQFP144 | 1 МБ | 320 КБ | 113 |
| STM32L4Q5AGIx | UFBGA169 | 1 МБ | 320 КБ | 136 |
| STM32L4Q5AGIxP | UFBGA169 | 1 МБ | 320 КБ | 134 |
| STM32L4Q5CGTx | LQFP48 | 1 МБ | 320 КБ | 38 |
| STM32L4Q5CGTxP | LQFP48 | 1 МБ | 320 КБ | 36 |
| STM32L4Q5CGUx | UFQFPN48 | 1 МБ | 320 КБ | 38 |
| STM32L4Q5CGUxP | UFQFPN48 | 1 МБ | 320 КБ | 36 |
| STM32L4Q5QGIx | UFBGA132 | 1 МБ | 320 КБ | 110 |
| STM32L4Q5QGIxP | UFBGA132 | 1 МБ | 320 КБ | 108 |
| STM32L4Q5RGTx | LQFP64 | 1 МБ | 320 КБ | 52 |
| STM32L4Q5RGTxP | LQFP64 | 1 МБ | 320 КБ | 50 |
| STM32L4Q5VGTx | LQFP100 | 1 МБ | 320 КБ | 83 |
| STM32L4Q5VGTxP | LQFP100 | 1 МБ | 320 КБ | 81 |
| STM32L4Q5VGYx | WLCSP100 | 1 МБ | 320 КБ | 81 |
| STM32L4Q5VGYxP | WLCSP100 | 1 МБ | 320 КБ | 80 |
| STM32L4Q5ZGTx | LQFP144 | 1 МБ | 320 КБ | 115 |
| STM32L4Q5ZGTxP | LQFP144 | 1 МБ | 320 КБ | 113 |
STM32L4R5/S5 — Cortex-M4, до 120 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L4R5AG, STM32L4R5AI | UFBGA169 | 1 МБ / 2 МБ | 640 КБ | 136 |
| STM32L4R5AI | UFBGA169 | 2 МБ | 640 КБ | 136 |
| STM32L4R5QG, STM32L4R5QI | UFBGA132 | 1 МБ / 2 МБ | 640 КБ | 110 |
| STM32L4R5QG | UFBGA132 | 1 МБ | 640 КБ | 110 |
| STM32L4R5QI | UFBGA132 | 2 МБ | 640 КБ | 110 |
| STM32L4R5VG, STM32L4R5VI | LQFP100 | 1 МБ / 2 МБ | 640 КБ | 83 |
| STM32L4R5ZG, STM32L4R5ZI | LQFP144 | 1 МБ / 2 МБ | 640 КБ | 115 |
| STM32L4R5ZG, STM32L4R5ZI | WLCSP144 | 1 МБ / 2 МБ | 640 КБ | 110 |
| STM32L4R5ZI | LQFP144 | 2 МБ | 640 КБ | 113 |
| STM32L4S5AI | UFBGA169 | 2 МБ | 640 КБ | 136 |
| STM32L4S5QI | UFBGA132 | 2 МБ | 640 КБ | 110 |
| STM32L4S5VI | LQFP100 | 2 МБ | 640 КБ | 83 |
| STM32L4S5ZI | LQFP144 | 2 МБ | 640 КБ | 115 |
| STM32L4S5ZI | WLCSP144 | 2 МБ | 640 КБ | 110 |
STM32L4R7/S7 — Cortex-M4, до 120 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L4R7AI | UFBGA169 | 2 МБ | 640 КБ | 136 |
| STM32L4R7VI | LQFP100 | 2 МБ | 640 КБ | 83 |
| STM32L4R7ZI | LQFP144 | 2 МБ | 640 КБ | 115 |
| STM32L4S7AI | UFBGA169 | 2 МБ | 640 КБ | 136 |
| STM32L4S7VI | LQFP100 | 2 МБ | 640 КБ | 83 |
| STM32L4S7ZI | LQFP144 | 2 МБ | 640 КБ | 115 |
STM32L4R9/S9 — Cortex-M4, до 120 МГц
| Микроконтроллер | Корпус | Флеш-память | ОЗУ | Линий ввода-вывода |
|---|---|---|---|---|
| STM32L4R9AG, STM32L4R9AI | UFBGA169 | 1 МБ / 2 МБ | 640 КБ | 131 |
| STM32L4R9VG, STM32L4R9VI | LQFP100 | 1 МБ / 2 МБ | 640 КБ | 77 |
| STM32L4R9ZG, STM32L4R9ZI | UFBGA144 | 1 МБ / 2 МБ | 640 КБ | 112 |
| STM32L4R9ZG, STM32L4R9ZI | LQFP144 | 1 МБ / 2 МБ | 640 КБ | 110 |
| STM32L4R9ZG, STM32L4R9ZI | WLCSP144 | 1 МБ / 2 МБ | 640 КБ | 110 |
| STM32L4R9ZI | WLCSP144 | 2 МБ | 640 КБ | 108 |
| STM32L4S9AI | UFBGA169 | 2 МБ | 640 КБ | 131 |
| STM32L4S9VI | LQFP100 | 2 МБ | 640 КБ | 77 |
| STM32L4S9ZI | UFBGA144 | 2 МБ | 640 КБ | 112 |
| STM32L4S9ZI | LQFP144 | 2 МБ | 640 КБ | 110 |
| STM32L4S9ZI | WLCSP144 | 2 МБ | 640 КБ | 110 |
Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах, токи и номиналы внешних компонентов. Записи с буквой P в конце, например STM32L4R5ZITxP, — исполнения с выводами VDD12 для питания ядра от внешнего понижающего преобразователя, и их распиновка отличается.
Частые вопросы
Чем STM32L4+ отличается от STM32L4?
Частотой и памятью: до 120 МГц вместо 80 МГц и до 640 КБ ОЗУ вместо 320 КБ. Добавлены графические блоки — контроллер TFT-дисплея LTDC, у L4R9/S9 — хост MIPI DSI, у L4R/L4S — блок GFXMMU для экономии кадрового буфера — и два интерфейса внешней памяти OCTOSPI. Режимы питания, генератор MSI и выбор загрузки устроены так же, как у STM32L4 (RM0432).
Что такое режим Range 1 boost у STM32L4+?
Режим стабилизатора ядра для частот выше 80 МГц: его включают, сбросив бит R1MODE в регистре PWR_CR5 (RM0432, табл. 24). Стабилизатор выдаёт около 1,28 В, и ядро может работать до 120 МГц; для частот от 26 до 80 МГц достаточно обычного Range 1 (R1MODE = 1).
Чем STM32L4R5 отличается от STM32L4R9 и STM32L4P5?
По данным ST у STM32L4R5/S5 нет контроллера TFT-дисплея LTDC, у L4R7/S7 он есть, у L4R9/S9 к нему добавляется хост MIPI DSI. STM32L4P5/Q5 — младшие линейки со 128 КБ SRAM1 и 128 КБ SRAM3 (у L4R/L4S — 192 и 384 КБ) и вторым контроллером SD-карт SDMMC2, зато без GFXMMU (RM0432, 2.1).
Сколько тактов ожидания флеш-памяти нужно STM32L4+ на 120 МГц?
Пять. По табл. 12 RM0432 в режимах Range 1 boost и normal без ожидания флеш-память работает до 20 МГц, далее каждый такт ожидания добавляет 20 МГц: 40, 60, 80 МГц. Четыре такта (до 100 МГц) и пять (до 120 МГц) доступны только в Range 1 boost. В Range 2 предел — 26 МГц с двумя тактами.
Смотрите также
- STM32Распиновки по корпусам, альтернативные функции, похожие по выводам МК
- STM32L4Cortex-M4 до 80 МГц с режимами низкого потребления: L4x1–L4x6 — линейки, MSI, загрузка и распиновки
- STM32L5Cortex-M33 до 110 МГц с TrustZone: STM32L552 и L562 — защита, загрузка, такты ожидания и распиновки
- STM32F7Cortex-M7 до 216 МГц: F72x/F73x, F74x/F75x, F76x/F77x — линейки, память, загрузка и распиновки
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту
- Скорость UARTUBRR, BRR, TH1 и ошибка скорости
- Время работы от батареимА·ч, средний ток, сон МК, Вт·ч