STM32
STM32 — семейство 32-битных микроконтроллеров производства STMicroelectronics. Чипы STM32 группируются в серии, в рамках каждой из которых используется одно и то же 32-битное ядро ARM, например, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ или Cortex-M0. Каждый микроконтроллер состоит из ядра процессора, статической RAM-памяти, флеш-памяти, отладочного и различных периферийных интерфейсов.
Обзор
STM32 — семейство микроконтроллеров, основанных на 32-битных ядрах ARM Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ или Cortex-M0 с сокращённым набором инструкций. STMicroelectronics (ST) имеет лицензию на IP-процессоры ARM от ARM Holdings. Дизайн ядра ARM имеет множество настраиваемых опций, и ST выбирает индивидуальную конфигурацию для каждого микроконтроллера, при этом добавляя свои собственные периферийные устройства к ядру микроконтроллера перед преобразованием дизайна в полупроводниковую пластину. В следующей таблице представлены основные серии микроконтроллеров семейства STM32.
Серия STM32 | Ядро ARM CPU |
---|---|
L5 | Cortex-M33 |
F7, H7 | Cortex-M7F |
F4, F3, L4, J | Cortex-M4F |
F2, F1, L1, W, J | Cortex-M3 |
L0, J | Cortex-M0+ |
F0, J | Cortex-M0 |
Серии STM32
Семейство микроконтроллеров STM32 состоит из 16 серий микроконтроллеров: F0, F1, F2, F3, F4, F7, L0, L1, L4, L4+, L5, G0, G4, H7, WB, WL[1]. Каждая из серий базируется на одном из ядер ARM: Cortex-M33, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+, Cortex-M0.
Производитель делит все серии микроконтроллеров STM32 на 4 платформы (группы):
Платформа микроконтроллеров | Названия серий, входящих в группу |
---|---|
Высокопроизводительные[2] | F2, F4, F7, H7 |
Широкого применения[3] | F0, G0, F1, F3, G4 |
Сверхнизкого потребления[4] | L0, L1, L4, L4+, L5 |
Беспроводные[5] | WB, WL |
Название серии | Ядро ARM | Максимальная частота ядра, МГц | CoreMark | Объем Flash памяти (кБайт) | Объем RAM (кБайт) | Особенности |
---|---|---|---|---|---|---|
F2[6] | Cortex-M3 | 120 | 398 | 128-1024 | до 128 | ART ускоритель, Ethernet MAC, USB 2.0 HS OTG, camera interface, hardware encryption support and external memory interface |
F4[7] | Cortex-M4F | 180 | 608 | 64-2056 | до 384 | Chrom-ART Accelerator™, dual Quad-SPI, SDRAM interface, Ethernet MAC, camera interface |
F7[8] | Cortex-M7F | 216 | 1082 | 64-2056 | 256-512 | AXI and multi-AHB шины, L1 кэш, Double precision FPU (в некоторых моделях), Chrom-ART ускоритель (в некоторых моделях). Серия F7 pin-to-pin совместима с серий F4. |
H7[9] | Cortex-M7F, Cortex-M4F (Dual-core line) | 480, 240 | 3224 | 128 — 2048 | до 1,4 МБайт | TFT-LCD, JPEG codec, Ethernet, Chrom-GRC™, optional embedded SMPS, dual Octo-SPI with on-the-fly decryption |
Cortex-M7F(Single-core line) | 480 |
Название серии | Ядро ARM | Максимальная частота ядра, МГц | CoreMark | Объем Flash памяти (кБайт) | Объем RAM (кБайт) | Особенности |
---|---|---|---|---|---|---|
F0[10] | Cortex-M0 | 48 | 106 | 16 — 256 | 4 — 32 | Для приложений, чувствительных к цене микроконтроллера |
G0[11] | Cortex-M0+ | 64 | 142 | 16 — 512 | до 128 | Для приложений, чувствительных к цене микроконтроллера |
F1[12] | Cortex-M3 | 72 | 117 | 16 — 1024 | 4 — 96 | Ethernet MAC, CAN and USB 2.0 OTG, motor control |
F3[13] | Cortex-M4F | 72 | 245 | 16 — 512 | 16 — 80 | Серия микроконтроллеров для смешанных сигналов, содержит на кристалле богатый набор компараторов, операционных усилителей, дельта-сигма АЦП, АЦП последовательного приближения и т. д. |
G4[14] | Cortex-M4F | 170 | 550 | 32 — 512 | до 32 | Серия микроконтроллеров для смешанных сигналов, содержит на кристалле богатый набор компараторов, операционных усилителей, дельта-сигма АЦП, АЦП последовательного приближения и т. д. |
Название серии | Ядро ARM | Максимальная частота ядра, МГц | CoreMark | Объем Flash памяти (кБайт) | Объем RAM (кБайт) | Особенности |
---|---|---|---|---|---|---|
L0[15] | Cortex-M0+ | 32 | 75 | до 192 | до 20 | Динамическое потребление тока (минимальное): 49 µA/MHz (при использовании внешнего DC/DC конвертера) и 76 µA/MHz (при использовании LDO) |
L1[16] | Cortex-M3 | 32 | 93 | 32 — 512 | 4 — 80 | Динамическое потребление тока (минимальное): 177 μA/MHz |
L4[17] | Cortex-M4F | 80 | 273 | 64 — 1024 | 40 — 320 | Динамическое потребление тока (минимальное): 28 μA/MHz |
L4+[18] | Cortex-M4F | 120 | 409 | 512 — 2048 | 320 — 640 | Динамическое потребление тока (минимальное): 41 μA/MHz |
L5[19] | Cortex-M33 | 110 | 442 | 256 — 512 | 256 | Динамическое потребление тока (минимальное): 62 µA/MHz |
Название серии | Ядро ARM | Максимальная частота ядра, МГц | CoreMark | Объем Flash памяти (кБайт) | Объем RAM (кБайт) | Особенности |
---|---|---|---|---|---|---|
WB[20] | Cortex-M4F, Cortex-M0+ | 64, 32 | 216 | 256 — 1024 | до 256 | Встроенный радиотрансивер, поддерживающий протоколы Bluetooth® LE, Zigbee® and Thread® |
WL[21] | Cortex-M4 | 48 | 161 | до 256 | до 64 | Встроенный радиотрансивер, поддерживающий sub-GHz radio: модуляции — LoRa®, (G)FSK, (G)MSK, BPSK |
STM32 H7
В серию H7 входят высокопроизводительные микроконтроллеры, основанные на ядре ARM Cortex-M7F с поддержкой чисел с плавающей запятой двойной точности и тактовой частотой до 550 МГц. У микроконтроллеров STM32H747/757 и STM32H745/755 дополнительно имеется ядро Cortex-M4F частотой до 240 МГц. Ядро M7F в таком случае работает на частоте до 480 МГц. Ядра при этом могут работать как совместно, так и независимо[9].
STM32 F7
Серия F7 представлена микроконтроллерами на базе ядра ARM Cortex-M7F частотой до 216 МГц. По расположению портов ввода/вывода большинство микроконтроллеров серии взаимозаменяемы с контроллерами серии STM32 F4[8].
STM32 F4
STM32 F4 — первая серия, основанная на ядре ARM Cortex-M4F и имеющая поддержку DSP и чисел с плавающей запятой. Расположение портов ввода/вывода совместимо с серией F7, а сам чип отличается большей тактовой частотой (от 84 до 180 МГц), имеет 64 КБ встроенной памяти, поддержку протокола I²S, встроенные часы реального времени и более быстрый АЦП.
Память
- До 192 КБ SRAM, 64 КБ CCM, 4 КБ NVRAM, 80 байт NVRAM, стираемой при вмешательстве.
- Flash-память разделяется на блоки 512 / 1024 / 2048 для непосредственного использования, 30 КБ для загрузки, 512 байт одноразовой памяти (OTP), 16 байт для конфигурации.
- В каждый чип запрограммирован 96-битный уникальный номер.
Периферия
- USB 2.0 OTG две CAN-шины один интерфейс SPI + два SPI/I²S, 3 I²S, 4 USART, 2 UART, SDIO, двенадцать 16-битных, два 32-битных и два сторожевых таймера, датчик температуры, 16/24-канальный АЦП, два ЦАП, от 51 до 140 пинов GPIO, 16 DMA, часы реального времени, а также аппаратный генератор случайных чисел,
- В моделях STM32F4x7 присутствует Ethernet, MAC и интерфейс для подключения камеры.
- В моделях STM32F41x/43x присутствует криптопроцессор, поддерживающий методы DES, TDES и AES, а также SHA-1 и MD5.
- В моделях STM32F4x9 присутствует LCD-TFT контроллер.
- Рабочее напряжение находится в диапазоне от 1,8 до 3,6 вольт.
STM32 F3
В серии F3 представлены контроллеры на базе ядра M4F с тактовой частотой до 72 МГц. Все контроллеры данной серии совместимы с контроллерами серии F1.
Память
- 16 / 24 / 32 / 40 КБ SRAM, 0 / 8 КБ (CCM), 64 / 128 байта NVRAM.
- Flash-память разделяется на блоки 64 / 128 / 256 для непосредственного использования и 8 КБ для загрузки.
- В каждый чип запрограммирован 96-битный уникальный номер.
Периферия
- Каждый чип включает в себя разные интерфейсы для взаимодействия с периферией.
- Рабочее напряжение находится в диапазоне от 2 до 3,6 вольт.
Примечания
- STM32 32-bit Arm Cortex MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32 High Performance MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32 Mainstream MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32 Ultra Low Power MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32 Wireless MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F2 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F7 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32H7 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32G0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F1 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32F3 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32G4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32L0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32L1 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32L4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32L4+ Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32L5 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32WB Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
- STM32WL Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020.
Ссылки
- Carmine Noviello. Электронная книга «Mastering STM32». Наиболее полное руководство по программированию под STM32. На английском языке. Примеры к книге доступны на GitHub.
- Александр Алексеев. Серия статей об STM32. Использование SPI, I2C, RTC, ЦАП, АЦП, прерываний и таймеров, отладка при помощи OpenOCD. Примеры работы с внешними модулями и популярными библиотеками.