Начиная обзор плат серии STM32 Nucleo необходимо обозначить место и роль этой серии в линейке продукции компании STMicroelectronics  для полного понимания возможностей и раскрытия огромного потенциала использования этих устройств.

 

Компания STMicroelectronics является одним из мировых лидеров на рынке полупроводниковых устройств и по состоянию на 2019 год имеет:

годовую выручку 9,56 млрд долларов США.

46 000 сотрудников, из которых 7 800 в НИОКР.

Более 80 офисов продаж и маркетинга, обслуживающих более 100 000 клиентов по всему миру.

11 производственных площадок.

 

Располагая такой базой, компания ставит перед собой глобальные цели по максимальному присутствию на следующих перспективных рынках:

автотранспорта и сопутствующей инфраструктуры, в т.ч. систем управления электромобилями;

энергетическом, в т.ч. в плане повышения эффективности существующих технологий и развития возобновляемой энергетики;

коммуникаций и связи, в том числе IoT (интернет вещей) и 5G направлений.

 

 

STM32 является зарегистрированной торговой маркой STMicroelectronics для 32-битных микроконтроллеров (MCU, microcontroller unit) и микропроцессоров (MPU, microprocessor unit)  общего назначения, построенных на базе Arm® Cortex® Cores и включающих в себя более 1000 вариаций их применения для различных целей и назначений.

 

 

Общее назначение подразумевает, что системы на базе микроконтроллеров и микропроцессоров предоставляются разработчикам для применения в любых областях техники и автоматизации и не имеют узко специализированного назначения. Данный подход позволяет разработчикам исследовать различные предоставляемые вариации оборудования и находить конфигурации максимально подходящие для реализации их проектов, а также позволяет создавать максимально эффективные с экономической точки зрения устройства полностью задействуя потенциал элементной базы и не тратясь на “лишние” возможности и функционал, повышающие стоимость и не использующиеся в проекте.

 

Семейство 32-битных микроконтроллеров производства STMicroelectronics группируется в серии, в рамках каждой из которых используется одно и то же 32-битное ядро ARM, например, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+ или Cortex-M0. Каждый микроконтроллер состоит из ядра процессора (дизайн ядра ARM имеет множество настраиваемых опций, и компания обладая  лицензией на IP процессора ARM от ARM Holdings, выбирает индивидуальную конфигурацию для каждого микроконтроллера, при этом добавляя свои собственные периферийные устройства к ядру микроконтроллера), статической RAM-памяти, флеш-памяти, отладочного и различных периферийных интерфейсов.

 

Серия 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 Nucleo предназначена для прототипирования различного уровня сложности и разделена на 3 группы устройств по форм-фактору чипа и уровню производительности:

 


 

• Nucleo-32 -  семейство микроконтроллеров в пакетах LQPF (Low Profile Quad Flat Pack, семейство корпусов микросхем, предназначенных для поверхностного монтажа и имеющих планарные выводы, расположенные по всем четырём сторонам) или QFN (Quad Flat Package, семейство корпусов микросхем, имеющих планарные выводы, расположенные непосредственно под микросхемой по всем четырём сторонам);

LQFP-32

 

• Nucleo-64  — семейство микроконтроллеров в пакете LQPF-64;

LQFP-64

 

• Nucleo-128  — семейство микроконтроллеров в пакете LQPF-144

LQFP-144



 

Вся серия представлена на следующей схеме и на данный момент состоит из 59 плат:

 



 

Унифицированный кодификатор позволяет быстро разобраться в названиях и определить принадлежность плат и их возможности:

NUCLEO-XXYY*T-Р(-Q)

 

Код

Описание

XX

Серия микроконтроллера в STM32 Arm Cortex

YY

Линейка микроконтроллера в серии

*

Тип пакета:

К — для 32 pins LQFP-32

R — для 64 pins LQFP-64

Z — для 128 pins LQFP-128

Т

Объём памяти STM32 Flash:

• 4 для 16 Kbytes

• 6 для 32 Kbytes

• 8 для 64 Kbytes

• B для 128 Kbytes

• C для 256 Kbytes

• E для 512 Kbytes

• G для 1 Mbyte

• Z для 192 Kbytes

• E для 512 Kbytes

• G для 1 Mbyte

• H для 1.5 Mbytes

• I для 2 Mbytes

-P

STM32 с функцией внешнего SMPS (Switched Mode Power Supplies, импульсный источник питания с высоким КПД)

-Q

STM32 с функцией внутреннего SMPS

 

Пример:  NUCLEO-L496ZG-P

L4 — серия STM32L4 Series

96 — линейка STM32L496

Z — пакет 144 pins

G — память 1 Mbyte

-P — наличие внешнего SMPS


 

Серии микроконтроллеров STM32:

 

MP1 — серия микропроцессоров.

F2, F4, H7,  F7 — серии микроконтроллеров с повышенной производительностью.

F0, G0, F1, F3, G4 — основная серия микроконтроллеров широкого применения.

L0, L1, L5, L4, L4+ — серии микроконтроллеров с ультранизким энергопотреблением.

WL, WB — серии микроконтроллеров с функцией беспроводной связи.


 

Основные характеристики серий STM32.

 

Высокопроизводительные микроконтроллеры:

Название серии

Ядро ARM

Макс. частота ядра,
МГц

CoreMark

Объем
Flash
памяти (кБайт)

Объем RAM (кБайт)

Особенности

F2

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

Cortex-M4F

180

608

64-2056

до 384

Chrom-ART Accelerator™, dual Quad-SPI, SDRAM interface, Ethernet MAC, camera interface

F7

Cortex-M7F

216

1082

64-2056

256-512

AXI and multi-AHB шины, L1 кэш, Double precision FPU (в некоторых моделях), Chrom-ART ускоритель (в некоторых моделях). Серия F7 pin-to-pin совместима с серий F4.

H7

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



 

Микроконтроллеры STM32 широкого применения:

Название серии

Ядро ARM

Макс. частота ядра,
МГц

CoreMark

Объем
Flash памяти (кБайт)

Объем RAM (кБайт)

Особенности

F0

Cortex-M0

48

106

16 - 256

4 - 32

Для приложений, чувствительных к цене микроконтроллера

G0

Cortex-M0+

64

142

16 - 512

до 128

Для приложений, чувствительных к цене микроконтроллера

F1

Cortex-M3

72

117

16 - 1024

4 - 96

Ethernet MAC, CAN and USB 2.0 OTG, motor control

F3

Cortex-M4F

72

245

16 - 512

16 - 80

Серия микроконтроллеров для смешанных сигналов, содержит на кристалле богатый набор компараторов, операционных усилителей, дельта-сигма АЦП, АЦП последовательного приближения и т.д.

G4

Cortex-M4F

170

550

32 - 512

до 32

Серия микроконтроллеров для смешанных сигналов, содержит на кристалле богатый набор компараторов, операционных усилителей, дельта-сигма АЦП, АЦП последовательного приближения и т.д.


 

Микроконтроллеры STM32 со сверхнизким энергопотреблением:

Название серии

Ядро ARM

Макс. частота ядра, МГц

CoreMark

Объем Flash памяти (кБайт)

Объем RAM (кБайт)

Особенности

L0

Cortex-M0+

32

75

до 192

до 20

Динамическое потребление тока (минимальное): 49 µA/MHz (при использовании внешнего DC/DC конвертера) и 76 µA/MHz (при использовании LDO)

L1

Cortex-M3

32

93

32 - 512

4 - 80

Динамическое потребление тока (минимальное): 177 μA/MHz

L4

Cortex-M4F

80

273

64 - 1024

40 - 320

Динамическое потребление тока (минимальное): 28 μA/MHz

L4+

Cortex-M4F

120

409

512 - 2048

320 - 640

Динамическое потребление тока (минимальное): 41 μA/MHz

L5

Cortex-M33

110

442

256 - 512

256

Динамическое потребление тока (минимальное): 62 µA/MHz


 

Беспроводные микроконтроллеры:

Название серии

Ядро ARM

Макс. частота ядра, МГц

CoreMark

Объем Flash памяти (кБайт)

Объем RAM (кБайт)

Особенности

WB

Cortex-M4F, Cortex-M0+

64, 32

216

256 - 1024

до 256

Встроенный радиотрансивер, поддерживающий протоколы Bluetooth® LE, Zigbee® and Thread®

WL

Cortex-M4

48

161

до 256

до 64

Встроенный радиотрансивер, поддерживающий sub-GHz radio: модуляции – LoRa®, (G)FSK, (G)MSK, BPSK


 

Подробные данные представлены производителем в сопровождающей документации. 


 

Стоит отметить, что во все платы встроен отладчик-программатор ST-LINK (в платах доступны следующие версии: ST-LINK V1, ST-LINK V2, ST-LINK V2-1, ST-LINK V2-A, ST-LINK V3E, подробнее — в документации к платам), поэтому процесс отладки не требует подключения дополнительных внешних устройств.

 

Наличие разнообразных встроенных физических интерфейсов, кнопок, программируемых светодиодов для мониторинга состояния, различные варианты и формы питания плат, разъемов для отладки, сетевые подключения и даже возможность работы с алгоритмами Crypto-HASH (AES, DES/TDES, HMAC, MD5, SHA) предоставляют разработчикам практически неограниченные возможности для творчества.

 

Все платы микроконтроллеров серии STM32 Nucleo являются расширяемыми.

Платы расширения позволяют максимально быстро собрать и испытать устройства с требуемым функционалом и передать в производство уже отлаженную конфигурацию. Компания ST разработала и выпускает более 60 плат расширения STM32 Nucleo expansion boards добавляющие следующий функционал:

• управление приводами на базе:
    -  шаговых двигателей,
    -  двигателей постоянного тока с щеточно-коллекторным узлом,
    -  биполярных шаговых двигателей,
    -  бесщеточных двигателей постоянного тока (вентильных двигателей),
    - а также рассчитанных на высокое и низкое напряжение питания,
    - на трехфазное питание
    - управление приводами по двум каналам.

• LoRa™ в диапазонах HF и LF, включая использование как шлюз.

• Bluetooth 5 and 802.15.4 

• Датчик расстояния, в том числе по нескольким объектам.

• Датчик приближения ToF.

• Sound Terminal® 2.1-channel высокоэффективная цифровая аудиосистема.

• Интерфейсы I²C и SPI EEPROM.

• Глобальное позиционирование GNSS.

• Bluetooth low energy (BLE), в том числе на BlueNRG и SPBTLE-RF.

• Связь Sub-1GHz RF на  частотах 868 MHz и 915 MHz.

• Многофункциональные операционные усилители.

• Датчики движения и окружающего пространства MEMS (Микроэлектромеханические системы — устройства, объединяющие в себе микроэлектронные и микромеханические компоненты).

• Функционал для управления заземленными нагрузками (например, нагревательными элементами, электромагнитным драйвером, светодиодным драйвером, драйвером лампочки, заменой реле насосов и вентиляторами) с напряжением питания 8-36V и током до 42А.

• Управление индикаторными LED светодиодами.

• Управления яркостью светодиодов (0 % - 100 % dimming) сигналами ШИМ или аналоговыми.

• Определение энергопотребления подключаемых плат, как нагрузки.

• Работа с Dynamic NFC/RFID tag IC, в том числе функция кардридера

• Возможности промышленного программируемого логического контроллера (PLC/programmable logic controller, ПЛК) с вводом/выводом.

• Решение для разработки приложений связи на основе связи по линиям электропередач.

• Датчик приближения, жестов и внешнего освещения Ambient light sensor (ALS) на основе технологии FlightSense™ компании ST, Time-of-Flight. 

• Цифровые MEMS микрофоны.

• Wi-Fi  b/g/n со встроенным усилителем мощности, системой управления питанием и SMD-антенной.

•  3-осевой акселерометр, 3-осевой гироскоп компании STMicroelectronics, 3-осевой магнитометр, датчик влажности и температуры и датчик давления.

 

 

Большим плюсом и преимуществом плат STM32 Nucleo является совместимость с платами расширения сторонних производителей благодаря разъемам:

Arduino™ Nano V3 разъему на Nucleo-32

Arduino™ Uno V3 и ST morpho на Nucleo-64

Arduino™ Uno V3, ST Zio (расширяющий возможности Arduino™ Uno V3)  и ST morpho на Nucleo-144.

Это повышает уровень использования и интеграции продукции STM для расширения и модернизации уже существующих решений и приложений.

 

 

STM32 Nucleo — это не только платы различной производительности. Это целая экосистема Open Development Environment,  а также огромное сообщество разработчиков.

 

Открытая среда разработки STM32 (STM32 ODE) - это открытый, гибкий, простой и доступный способ разработки инновационных устройств и приложений на основе семейства 32-разрядных микроконтроллеров STM32 в сочетании с другими современными компонентами ST, подключенными через платы расширения. Основное назначение STM32 ODE — быстрое создание пользователями прототипов с использованием передовых компонентов и максимально быстрое их преобразование в готовые реализованные проекты.

 

STM32 ODE включает 5 основных элементов:

 

• Отладочные платы STM32 Nucleo, обеспечивающие возможность разработки для всех серий микроконтроллеров STM32 с неограниченными унифицированными возможностями расширения и встроенным отладчиком/программатором.

• Платы расширения STM32 Nucleo, предоставляющие дополнительные функции (датчики, системы управления, подключения и питания, звука и т.п.), которые устанавливаются поверх отладочных плат STM32 Nucleo.

• Программное обеспечение STM32Cube, представляющее собой набор бесплатных инструментов и встроенных программных блоков для быстрой и простой разработки на STM32, включая уровень аппаратной абстракции, промежуточное ПО, конфигуратор и генератор кода на базе ПК STM32CubeMX.

• Расширенное программное обеспечение STM32Cube специально для использования с платами расширения STM32 Nucleo — это базовый набор программных компонентов, таких как HAL, LL API, промежуточное ПО и примеры приложений.

• Пакеты функций STM32 ODE, представляющие собой сочетание низкоуровневых драйверов, библиотек промежуточного программного обеспечения и примеров приложений, собранных в единый программный пакет для некоторых из наиболее распространенных приложений, созданных за счет использования модульности и совместимости комплектов разработки STM32 Nucleo и плат расширения X-NUCLEO, а также программного обеспечения STM32Cube и X-CUBE, составляя экосистему открытой среды разработки STM32 (ODE).

 

Открытая среда разработки STM32 совместима с рядом IDE, включая IAR EWARM, Keil MDK, mbed и среды на основе GCC.


 

Встроенное программное обеспечение STM32 представляет собой низкоуровневые драйверы, уровни аппаратной абстракции и промежуточное ПО, включая RTOS, USB, TCP / IP и графические стеки, включая:

• Аудио (MP3, WMA, голосовые службы и др.)

• Возможности подключения (USB, TCP / IP, Bluetooth, Zigbee RF4CE и др.)

• Графические интерфейсы

• Криптография (Бесплатная библиотека STM32 с открытым ключом, симметричными и хэш-алгоритмами)

• Управление двигателем и безопасность (IEC 61508 SIL для промышленности, IEC / UL 60335/60730, класс B для приложений бытовой техники)

 



 

Традиционно доступны и используются интегрированные среды разработки (IDE, software integrated development environments) с компиляторами C/C++/Pascal/JAVA и отладчиками сторонних поставщиков (доступны бесплатные версии с кодом до 64 Кбайт), а также встроенные программные библиотеки, необходимые для настройки и инициализации микроконтроллера или микропроцессора и отслеживания его поведения во время выполнения операций.

 

STM32CubeMX — это графический инструмент, используемый для настройки любого устройства STM32. Простой в использовании графический интерфейс пользователя генерирует C-код инициализации для ядер Cortex-M и генерирует дерево устройств Linux для ядер Cortex-A.

 

 

STM32CubeIDE — это интегрированная среда разработки. Эта среда IDE, основанная на решениях с открытым исходным кодом, таких как Eclipse или инструментарий GNU C/C++, включает функции отчетов о компиляции и расширенные функции отладки. Он также интегрирует дополнительные функции, присутствующие в других инструментах экосистемы, такие как инициализация HW и SW и генерация кода из STM32CubeMX.


 

Инструменты визуализации данных STM32CubeMonitor позволяют отслеживать и диагностировать приложения STM32 во время выполнения, считывая и визуализируя их переменные в реальном времени. В дополнение к специализированным версиям (power, RF, USB-PD) универсальный STM32CubeMonitor предоставляет графический редактор на основе потоков для простого создания пользовательских панелей мониторинга и быстрого добавления виджетов, таких как датчики, гистограммы и графики, что помогает визуализировать поведение приложений на хост-устройствах в различных форм-факторах, таких как ПК, планшеты или смартфоны.

 

 


 

STM32CubeProgrammer представляет простую в использовании и эффективную среду для чтения, записи и проверки памяти устройства как через интерфейс отладки (JTAG и SWD), так и через интерфейс загрузчика (UART, USB DFU, I2C, SPI и CAN). 

 

 

Он предлагает широкий спектр функций для программирования внутренней памяти (например, Flash, RAM и OTP), а также внешней памяти, а также позволяет программировать и загружать опции, проверять содержание программирования и автоматизировать программирование с помощью сценариев.

STM32CubeProgrammer поставляется в версиях GUI (Graphical User Interface, графический пользовательский интерфейс) и CLI (Command Line Interface, интерфейс командной строки) и поддерживает работу различных операционных систем: Windows, Linux, macOS.


 

Подводя итог рассмотрения серии STM32 Nucleo, хочется отметить рациональный баланс, соблюдаемый производителем — компанией STMicroelectronics, в предоставляемых разработчикам возможностях для создания проектов и огромного потенциала поддержки и развития, с экономической составляющей — стоимостью. Имея такой широкий выбор средств, вполне реально создавать узкоспециализированные приложения, полностью отвечающие своим задачам и максимально использующим весь заложенный технический потенциал.