STM32

Микроконтроллер серии 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 состоит из 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 платформы (группы):

Платформы STM32
Платформа микроконтроллеров Названия серий, входящих в группу
Высокопроизводительные[2] F2, F4, F7, H7
Широкого применения[3] F0, G0, F1, F3, G4
Сверхнизкого потребления[4] L0, L1, L4, L4+, L5
Беспроводные[5] WB, WL
Высокопроизводительные микроконтроллеры STM32
Название серии Ядро 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) 550
Микроконтроллеры STM32 широкого применения
Название серии Ядро 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 Серия микроконтроллеров для смешанных сигналов, содержит на кристалле богатый набор компараторов, операционных усилителей, дельта-сигма АЦП, АЦП последовательного приближения и т. д.
Микроконтроллеры STM32 сверхнизкого потребления
Название серии Ядро 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
Беспроводные микроконтроллеры STM32
Название серии Ядро 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

В серию H7 входят высокопроизводительные микроконтроллеры, основанные на ядре ARM Cortex-M7F с поддержкой чисел с плавающей запятой двойной точности и тактовой частотой до 550 МГц. У микроконтроллеров STM32H747/757 и STM32H745/755 дополнительно имеется ядро Cortex-M4F частотой до 240 МГц. Ядро M7F в таком случае работает на частоте до 480 МГц. Ядра при этом могут работать как совместно, так и независимо[9].

Серия F7 представлена микроконтроллерами на базе ядра ARM Cortex-M7F частотой до 216 МГц. По расположению портов ввода/вывода большинство микроконтроллеров серии взаимозаменяемы с контроллерами серии STM32 F4[8].

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 вольт.

В серии F3 представлены контроллеры на базе ядра M4F с тактовой частотой до 72 МГц. Все контроллеры данной серии совместимы с контроллерами серии F1.

  • 16 / 24 / 32 / 40 КБ SRAM, 0 / 8 КБ (CCM), 64 / 128 байта NVRAM.
  • Flash-память разделяется на блоки 64 / 128 / 256 для непосредственного использования и 8 КБ для загрузки.
  • В каждый чип запрограммирован 96-битный уникальный номер.
  • Каждый чип включает в себя разные интерфейсы для взаимодействия с периферией.
  • Рабочее напряжение находится в диапазоне от 2 до 3,6 вольта.

Примечания

[править | править код]
  1. STM32 32-bit Arm Cortex MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 7 июля 2020 года.
  2. STM32 High Performance MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  3. STM32 Mainstream MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  4. STM32 Ultra Low Power MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 15 июля 2020 года.
  5. STM32 Wireless MCUs (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 10 июля 2020 года.
  6. STM32F2 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  7. STM32F4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  8. 1 2 STM32F7 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  9. 1 2 STM32H7 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  10. STM32F0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  11. STM32G0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  12. STM32F1 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  13. STM32F3 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  14. STM32G4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 12 июля 2020 года.
  15. STM32L0 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  16. STM32L1 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  17. STM32L4 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  18. STM32L4+ Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  19. STM32L5 Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 8 июля 2020 года.
  20. STM32WB Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  21. STM32WL Series (англ.). STMicroelectronics. Дата обращения: 8 июля 2020. Архивировано 9 июля 2020 года.
  • Carmine Noviello. Электронная книга «Mastering STM32». Наиболее полное руководство по программированию под STM32. На английском языке. Примеры к книге доступны на GitHub.
  • Александр Алексеев. Серия статей об STM32. Использование SPI, I2C, RTC, ЦАП, АЦП, прерываний и таймеров, отладка при помощи OpenOCD. Примеры работы с внешними модулями и популярными библиотеками.