Описание
Устройства STM32G431x6/x8/xB построены на базе высокопроизводительного 32-битного RISC-ядра Arm® Cortex®-M4. Они работают на частоте до 170 МГц.
Ядро Cortex-M4 оснащено блоком обработки данных с плавающей точкой (FPU) одной точности, который поддерживает все инструкции обработки данных Arm с одной точностью и все типы данных. В нем также реализован полный набор инструкций DSP (цифровой обработки сигналов) и блок защиты памяти (MPU), повышающий безопасность приложений.
Эти устройства оснащены высокоскоростной памятью (до 128 Кбайт Flash-памяти и 32 Кбайт SRAM), широким набором расширенных входов/выходов и периферийных устройств, подключенных к двум шинам APB, двум шинам AHB и 32-битной матрице мульти-AHB шин.
В устройствах также реализовано несколько механизмов защиты встроенной Flash-памяти и SRAM: защита от считывания, защита от записи, защита защищенной области памяти и защита от считывания собственного кода. В устройствах реализована периферия, позволяющая ускорять математические/арифметические функции (CORDIC для тригонометрических функций и блок FMAC для функций фильтрации).
Они имеют два быстрых 12-разрядных АЦП (4 Мспс), четыре компаратора, три операционных усилителя, четыре канала ЦАП (2 внешних и 2 внутренних), внутренний буфер опорного напряжения, маломощный RTC, один 32-разрядный таймер общего назначения, два 16-разрядных ШИМ-таймера, предназначенных для управления двигателями, семь 16-разрядных таймеров общего назначения и один 16-разрядный таймер с низким энергопотреблением.
Они также оснащены стандартными и расширенными интерфейсами связи, такими как:
Три интерфейса I2C
Три SPI, мультиплексированные с двумя полудуплексными I2S
Три USART, один UART и один UART с низким энергопотреблением.
Один FDCAN
Один SAI
USB-устройство
UCPD
Устройства работают в температурных диапазонах от -40 до +85 °C (спай +105 °C) и от -40 до +125 °C (спай +130 °C) от источника питания 1,71-3,6 В. Широкий набор режимов энергосбережения позволяет создавать приложения с низким энергопотреблением.
Поддерживается несколько независимых источников питания, включая вход аналогового независимого питания для АЦП, ЦАП, OPAMP и компараторов. Вход VBAT позволяет резервировать RTC и регистры. Семейство STM32G431x6/x8/xB предлагает 9 корпусов от 32- до 100-выводных.
Ядро Arm Cortex-M4 с FPU
Процессор Arm Cortex-M4 с FPU - это последнее поколение процессоров Arm для встраиваемых систем. Он был разработан для создания недорогой платформы, отвечающей требованиям реализации MCU, с уменьшенным количеством выводов и низким энергопотреблением, обеспечивая при этом выдающуюся вычислительную производительность и улучшенную реакцию на прерывания.
32-битный RISC-процессор Arm Cortex-M4 с FPU отличается исключительной эффективностью кода, обеспечивая ожидаемую от ядра Arm высокую производительность при объеме памяти, обычно ассоциируемом с 8- и 16-битными устройствами.
Процессор поддерживает набор инструкций DSP, что позволяет эффективно обрабатывать сигналы и выполнять сложные алгоритмы. Его FPU с одинарной точностью ускоряет разработку программного обеспечения за счет использования средств разработки метаязыка, что позволяет избежать насыщения.
Благодаря встроенному ядру Arm семейство STM32G431x6/x8/xB совместимо со всеми инструментами и программным обеспечением Arm.
Блок защиты памяти
Блок защиты памяти (MPU) используется для управления доступом процессора к памяти и предотвращения случайного повреждения памяти одной задачей или ресурсов, используемых другой активной задачей. Эта область памяти организована в виде 8 защищенных областей, которые могут быть разделены на 8 подобластей каждая. Размер защищаемой области варьируется от 32 байт до целых 4 гигабайт адресуемой памяти.
MPU особенно полезен в приложениях, где критически важный или сертифицированный код должен быть защищен от неправильного поведения других задач. Обычно он управляется RTOS (операционной системой реального времени). Если программа обращается к участку памяти, который запрещен MPU, RTOS может обнаружить это и принять меры. В среде RTOS ядро может динамически обновлять настройки области MPU в зависимости от выполняемого процесса. MPU является необязательным и может быть обойден для приложений, которым он не нужен.