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

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/Q5Cortex-M4, до 120 МГц512 КБ – 1 МБ320 КБLQFP48, LQFP64, LQFP100, LQFP144, UFBGA132, UFBGA169, UFQFPN48, WLCSP100USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC
STM32L4R5/S5Cortex-M4, до 120 МГц1 МБ – 2 МБ640 КБLQFP100, LQFP144, UFBGA132, UFBGA169, WLCSP144USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC
STM32L4R7/S7Cortex-M4, до 120 МГц2 МБ640 КБLQFP100, LQFP144, UFBGA169USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC
STM32L4R9/S9Cortex-M4, до 120 МГц1 МБ – 2 МБ640 КБLQFP100, LQFP144, UFBGA144, UFBGA169, WLCSP144USB OTG FS, CAN, FMC, DAC, COMP, SAI, DFSDM, DCMI, LTDC, DSI, DMA2D, AES, HASH, RNG, LPTIM, LPUART, TSC

По RM0432 и данным ST:

ЛинейкаОЗУГрафикаОсобенности
STM32L4P5/Q5320 КБ: SRAM1 128, SRAM2 64, SRAM3 128 КБLTDC, DMA2Dдва контроллера SD-карт SDMMC1 и SDMMC2
STM32L4R5/S5640 КБ: SRAM1 192, SRAM2 64, SRAM3 384 КБDMA2D, GFXMMU—
STM32L4R7/S7640 КБLTDC, DMA2D, GFXMMU—
STM32L4R9/S9640 КБ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 boostRange 1 normalRange 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, STM32L4P5AEUFBGA1691 МБ / 512 КБ320 КБ136
STM32L4P5AGUFBGA1691 МБ320 КБ134
STM32L4P5CG, STM32L4P5CELQFP481 МБ / 512 КБ320 КБ38
STM32L4P5CGLQFP481 МБ320 КБ36
STM32L4P5CG, STM32L4P5CEUFQFPN481 МБ / 512 КБ320 КБ38
STM32L4P5CGUFQFPN481 МБ320 КБ36
STM32L4P5QG, STM32L4P5QEUFBGA1321 МБ / 512 КБ320 КБ110
STM32L4P5QGIxPUFBGA1321 МБ320 КБ108
STM32L4P5QGIxSUFBGA1321 МБ320 КБ108
STM32L4P5RG, STM32L4P5RELQFP641 МБ / 512 КБ320 КБ52
STM32L4P5RGLQFP641 МБ320 КБ50
STM32L4P5VG, STM32L4P5VELQFP1001 МБ / 512 КБ320 КБ83
STM32L4P5VGLQFP1001 МБ320 КБ81
STM32L4P5VG, STM32L4P5VEWLCSP1001 МБ / 512 КБ320 КБ81
STM32L4P5VGWLCSP1001 МБ320 КБ80
STM32L4P5ZG, STM32L4P5ZELQFP1441 МБ / 512 КБ320 КБ115
STM32L4P5ZGLQFP1441 МБ320 КБ113
STM32L4Q5AGIxUFBGA1691 МБ320 КБ136
STM32L4Q5AGIxPUFBGA1691 МБ320 КБ134
STM32L4Q5CGTxLQFP481 МБ320 КБ38
STM32L4Q5CGTxPLQFP481 МБ320 КБ36
STM32L4Q5CGUxUFQFPN481 МБ320 КБ38
STM32L4Q5CGUxPUFQFPN481 МБ320 КБ36
STM32L4Q5QGIxUFBGA1321 МБ320 КБ110
STM32L4Q5QGIxPUFBGA1321 МБ320 КБ108
STM32L4Q5RGTxLQFP641 МБ320 КБ52
STM32L4Q5RGTxPLQFP641 МБ320 КБ50
STM32L4Q5VGTxLQFP1001 МБ320 КБ83
STM32L4Q5VGTxPLQFP1001 МБ320 КБ81
STM32L4Q5VGYxWLCSP1001 МБ320 КБ81
STM32L4Q5VGYxPWLCSP1001 МБ320 КБ80
STM32L4Q5ZGTxLQFP1441 МБ320 КБ115
STM32L4Q5ZGTxPLQFP1441 МБ320 КБ113

STM32L4R5/S5 — Cortex-M4, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L4R5AG, STM32L4R5AIUFBGA1691 МБ / 2 МБ640 КБ136
STM32L4R5AIUFBGA1692 МБ640 КБ136
STM32L4R5QG, STM32L4R5QIUFBGA1321 МБ / 2 МБ640 КБ110
STM32L4R5QGUFBGA1321 МБ640 КБ110
STM32L4R5QIUFBGA1322 МБ640 КБ110
STM32L4R5VG, STM32L4R5VILQFP1001 МБ / 2 МБ640 КБ83
STM32L4R5ZG, STM32L4R5ZILQFP1441 МБ / 2 МБ640 КБ115
STM32L4R5ZG, STM32L4R5ZIWLCSP1441 МБ / 2 МБ640 КБ110
STM32L4R5ZILQFP1442 МБ640 КБ113
STM32L4S5AIUFBGA1692 МБ640 КБ136
STM32L4S5QIUFBGA1322 МБ640 КБ110
STM32L4S5VILQFP1002 МБ640 КБ83
STM32L4S5ZILQFP1442 МБ640 КБ115
STM32L4S5ZIWLCSP1442 МБ640 КБ110

STM32L4R7/S7 — Cortex-M4, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L4R7AIUFBGA1692 МБ640 КБ136
STM32L4R7VILQFP1002 МБ640 КБ83
STM32L4R7ZILQFP1442 МБ640 КБ115
STM32L4S7AIUFBGA1692 МБ640 КБ136
STM32L4S7VILQFP1002 МБ640 КБ83
STM32L4S7ZILQFP1442 МБ640 КБ115

STM32L4R9/S9 — Cortex-M4, до 120 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32L4R9AG, STM32L4R9AIUFBGA1691 МБ / 2 МБ640 КБ131
STM32L4R9VG, STM32L4R9VILQFP1001 МБ / 2 МБ640 КБ77
STM32L4R9ZG, STM32L4R9ZIUFBGA1441 МБ / 2 МБ640 КБ112
STM32L4R9ZG, STM32L4R9ZILQFP1441 МБ / 2 МБ640 КБ110
STM32L4R9ZG, STM32L4R9ZIWLCSP1441 МБ / 2 МБ640 КБ110
STM32L4R9ZIWLCSP1442 МБ640 КБ108
STM32L4S9AIUFBGA1692 МБ640 КБ131
STM32L4S9VILQFP1002 МБ640 КБ77
STM32L4S9ZIUFBGA1442 МБ640 КБ112
STM32L4S9ZILQFP1442 МБ640 КБ110
STM32L4S9ZIWLCSP1442 МБ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 МГц с двумя тактами.