STM32G4 – новый флагман микроконтроллеров общего назначения

9 июня

управление двигателемпотребительская электроникаавтоматизацияинтернет вещейуниверсальное применениеST Microelectronicsстатьяинтегральные микросхемыARMCortex-M4DSPМикроконтроллерSTM32G4FMACCORDIC

Вячеслав Гавриков (Смоленск)

Микроконтроллеры общего назначения STM32G4 производства компании STMicroelectronics отличаются богатым набором аналоговой периферии и высокой производительностью, что делает их привлекательными для широкого спектра приложений со смешанными сигналами.

Прошло уже 8 лет с тех пор, как компания STMicroelectronics выпустила на рынок STM32F3 – первое в мире семейство микроконтроллеров со смешанными сигналами на базе процессорного ядра Cortex-M4. Эти микроконтроллеры имеют в своем составе внушительный набор аналоговой периферии: 12-битные АЦП, 12-битные ЦАП, операционные усилители с программируемым коэффициентом усиления, компараторы. Кроме того, STM32F3 способны эффективно выполнять цифровую обработку сигналов благодаря поддержке DSP-команд и операций с числами с плавающей запятой. Богатый выбор цифровой и аналоговой периферии, поддержка цифровой обработки сигналов, невысокая стоимость и развитая экосистема (в том числе широкий выбор аппаратных и программных средств разработки и отладки) делают микроконтроллеры STM32F3 хорошим выбором для систем со смешанными сигналами. Среди основных приложений для STM32F3 можно отметить бытовую и промышленную автоматику, приводы электродвигателей, источники питания, измерительные приборы, системы освещения так далее.

Однако с момента выпуска STM32F3 произошли серьезные изменения как в технике, так и в технологиях. В настоящее время компания ST выпускает различные семейства STM32, у каждого из которых есть своя специализация (рисунок 1). При создании каждого нового семейства используются самые удачные решения из предыдущих семейств, а также осваиваются новые техпроцессы. На момент выхода STM32F3 основным являлся техпроцесс с топологическими нормами 180 нм, и лишь для семейств STM32L использовался техпроцесс 90 нм. Сейчас базовым стал техпроцесс 90 нм, а в топовых линейках и вовсе применяется техпроцесс 40 нм (STM32H7). Очевидно, что переход на более совершенный техпроцесс позволяет повысить уровень интеграции, расширить функционал микроконтроллеров и вместе с этим уменьшить потребление.

Рис. 1. Семейства микроконтроллеров STM32

Рис. 1. Семейства микроконтроллеров STM32

В результате мы видим ситуацию, при которой компания ST, продолжая поставлять микроконтроллеры устаревающих семейств, чтобы поддержать производство уже существующих продуктов, актуализирует свое портфолио и выпускает обновленные семейства, чтобы идти в ногу со временем и отвечать требованиям рынка. В январе 2020 компания ST продлила гарантию выпуска микроконтроллеров STM32F3 еще на 10 лет [1] и параллельно начала выпуск нового, более совершенного семейства микроконтроллеров со смешанными сигналами – STM32G4.

Перед вами краткий обзор номенклатуры и основных особенностей семейства STM32G4. Основное внимание уделяется аналоговой периферии, так как именно эти блоки определяют специализацию данного семейства.

Основные особенности семейства STM32G4

В настоящий момент в семейство STM32G4 входят три линейки:

  • STM32G4x1 Access line – начальная линейка с базовым набором периферии;
  • STM32G4x3 Performance line – линейка с расширенным набором аналоговой и цифровой периферии;
  • STM32G4x4 Hi-resolution line – линейка с расширенным набором периферии и таймером повышенного разрешения HRTIM.

Кратко рассмотрим особенности каждой из них. 

STM32G4x1 Access line 

На рисунке 2 представлена блок-схема микроконтроллеров линейки STM32G4x1 Access line.

Рис. 2. Блок-схема STM32G4x1 Access line

Рис. 2. Блок-схема STM32G4x1 Access line

Все микроконтроллеры STM32G4 построены на базе процессорного ядра Cortex-M4 с максимальной рабочей частотой 170 МГц и производительностью до 213 DMIPS и 550 CoreMark. Это более чем в два раза выше, чем у STM32F3 (90 DMIPS и 245 CoreMark соответственно). С одной стороны, прирост производительности достигается за счет увеличения тактовой частоты, что в свою очередь стало возможным благодаря переходу на новый техпроцесс 90 нм. С другой стороны, пропорциональное увеличение производительности при выполнении кода из Flash обеспечивается встроенным аппаратным ускорителем ART.

Как известно, Flash-память является относительно медленной. Для того чтобы согласовать быстродействующий процессор и медленную память на высоких частотах, приходится использовать циклы ожидания, из-за чего фактическая производительность микроконтроллера не может увеличиваться пропорционально частоте. Именно эту проблему решает аппаратный ускоритель ART. Ускоритель заранее вычитывает данные и команды из Flash, используя собственную кэш-память. Если в кэш-памяти укорителя есть необходимые данные, то процессору не требуется выполнять циклы ожидания и терять время впустую.

На рисунке 3 представлен график зависимости производительности STM32G4 от частоты процессора. Если аппаратный ускоритель не используется (серая линия на рисунке 3), то на частоте 170 МГц потребуется 8 циклов ожидания, а производительность составит менее 170 CoreMark. Однако если ART-ускоритель используется, то даже на частоте 170 МГц процессор работает с нулевым числом циклов ожидания (синяя линия на рисунке 3), что и обеспечивает практически пропорциональную зависимость между частотой и производительностью (при выполнении линейного кода).

Рис. 3. Зависимости производительности STM32G4 от частоты

Рис. 3. Зависимости производительности STM32G4 от частоты

Стоит отметить, что существует и альтернативный способ поддержания производительности на повышенных частотах за счет выполнения программы из ОЗУ (SRAM). В случае с STM32G4 такое решение обеспечит стабильную производительность около 2,4 CoreMark/МГц (черная линия на рисунке 3). При выполнении кода из SRAM пиковая производительность 3,2 CoreMark/МГц принципиально не может быть достигнута, так как процессорному ядру приходится параллельно вычитывать данные и команды из одного источника (SRAM). Для приложений реального времени решить проблему можно с помощью специального ОЗУ – CCM-SRAM (Core-Coupled Memory). Обычно код программы размещают в CCM-SRAM, а данные размещают в обычной SRAM, что позволяет ядру не терять времени и параллельно использовать интерфейс данных (D-bus) и интерфейс команд (I-bus). В STM32G4, как и в STM32F3, есть встроенная CCM-SRAM. При исполнении кода из CCM-SRAM производительность оказывается максимальной (красная линия на рисунке 3).

Заканчивая разговор о производительности, стоит отметить, что высокая эффективность вычислений STM32G4 обеспечивается за счет аппаратных математических сопроцессоров CORDIC и FMAC, о которых будет рассказано в одном из следующих разделов.

В случае с STM32G4x1 Access line объем Flash достигает 128 кбайт (1 банк), объем CCM-SRAM составляет 10 кбайт, а суммарный объем SRAM (обычная SRAM + CCM-SRAM) – 32 кбайт. В ближайшем будущем STMicroelectronics планирует начать выпуск моделей с 512 кбайт Flash и 112 кбайт SRAM.

Состав системной периферии микроконтроллеров STM32G4 можно считать стандартным для современных семейств STM32: встроенный супервизор питания с функциями POR/PD/RBOR/PVD, встроенные RC-резонаторы LSI 32 кГц (точность 5%) и HSI 16 МГц (точность 1%), ФАПЧ (PLL), система сброса и тактирования RCC с возможностью индивидуальной настройки тактирования периферии, часы реального времени RTC, системный 24-битный вычитающий таймер SysTick, пара сторожевых таймеров (оконный WWDG и независимый IWDG), блок расчета контрольной суммы CRC. Кроме того, стоит отметить возможность дежурного питания микроконтроллера от батарейки (VBAT).

Микроконтроллеры STM32G4x1 Access line получили богатый набор таймеров, в том числе сразу два таймера с комплементарными выходами для управления трехфазными электродвигателями или трехфазными импульсными преобразователями. Кроме того, у STM32G4x1 есть набор привычных 32-битных и 16-битных таймеров общего назначения и базовых таймеров, а также 16-битный таймер для режимов пониженного потребления LPTIM.

Интерфейсная часть периферии STM32G4x1 Access line выбиралась, исходя из требований современного рынка. Кроме обязательных последовательных интерфейсов SPI/I2C/USART/SAI, микроконтроллеры имеют на борту FDCAN, USB FS и USB Type-C™/UCPD.

Главной ударной силой линейки STM32G4x1 Access line является мощный набор аналоговой периферии:

  • два 12-битных АЦП последовательного приближения с числом каналов, достигающим 23, скоростью преобразования до 4 MSPS и возможностью увеличения разрешения до 16 бит за счет аппаратной передискретизации;
  • четыре 12-битных ЦАП: два с внешними выходами (и выходным буфером) с быстродействием до 1 MSPS и два без внешних выходов с быстродействием 15 MSPS;
  • четыре быстродействующих аналоговых rail-to-rail-компаратора;
  • три операционных усилителя с программируемым коэффициентом усиления;
  • источник опорного напряжения VREFBUF с тремя выходными напряжениями 2,048/2,5/2,95 В.

Более подробное рассмотрение аналоговых блоков – в одном из следующих разделов. 

STM32G4x3 Performance line

Линейка STM32G4x3 отличается от базовой линейки семейства STM32G4x1 объемом встроенной памяти, составом и количеством периферийных блоков. На рисунке 4 представлена блок-схема микроконтроллеров STM32G4x3. Оранжевым цветом выделены отличия от STM32G4x1 Access line.

Рис. 4. Блок-схема микроконтроллеров STM32G4x3 Performance line и их отличие от STM32G4x1 Access line

Рис. 4. Блок-схема микроконтроллеров STM32G4x3 Performance line и их отличие от STM32G4x1 Access line

Среди важных отличий стоит отметить появление интерфейсов для подключения внешней памяти – FSMC и QuadSPI. Это полезно для приложений, в которых не хватает встроенной памяти микроконтроллера. При этом объемы встроенной памяти также выросли до 512 кбайт FLash и до 128 кбайт SRAM (в том числе 32 кбайт CCM-SRAM).

Количественные изменения коснулись числа коммуникационных интерфейсов, таймеров и аналоговых блоков. В составе STM32G4x3 Performance line присутствуют до трех модулей FDCAN, до трех таймеров с трехфазными комплементарными выходами, до 5 АЦП, до 7 ЦАП, до 7 компараторов, до 6 ОУ.

STM32G4x4 Hi-resolution line

Данная линейка отличается от микроконтроллеров STM32G4x3 наличием таймера с повышенным разрешением HRTIM, о котором будет сказано далее (рисунок 5).

Рис. 5. Блок-схема микроконтроллеров STM32G4x4 Hi-resolution line и их отличие от STM32G4x3 Performance line

Рис. 5. Блок-схема микроконтроллеров STM32G4x4 Hi-resolution line и их отличие от STM32G4x3 Performance line

Для наглядности и удобства в таблице 1 представлены ключевые различия между линейками семейства STM32G4.

Таблица 1. Ключевые различия между линейками семейства STM32G4

Параметр STM32G474
Hi-Resolution line
STM32G473
Performance line
STM32G431 Access line
Процессорное ядро, рабочая частота, МГц Arm Cortex-M4, 170
Flash макс., кбайт 512 (2×256 dual bank) 128 (single bank)
RAM макс., кбайт 96 22
CCM – SRAM (code-SRAM), кбайт 32 10
12-битный АЦП (SAR) до 5 (4 MSPS) до 2 (4 MSPS)
Компараторы 7 4
ОУ с программируемым коэффициентом усиления (точность 1%) 6 3
12-битный ЦАП 7 4
Таймер для управления двигателем (170 МГц) 3 2
CAN-FD 3 1
FSMC 1 1
12-канальный таймер повышенного разрешения (Hi-resolution Timer) 1
Питание, В 1,72…3,6

Обзор номенклатуры семейства STM32G4

В настоящий момент компания ST предлагает более полусотни моделей STM32G4 с различными характеристиками (таблица 2):

  • с объемом Flash 32…512 кбайт;
  • с объемом SRAM 32 или 128 кбайт;
  • с различными корпусными исполнениями;
  • с диапазоном рабочих температур -40…85°С или -40…125°С.

Таблица 2. Номенклатура микроконтроллеров STM32G4

Наименование Статус Корпус Flash, кбайт Dual-bank Flash RAM, кбайт АЦП/каналов ЦАП 12 бит COMP CAN FD type ОУ Crypto-HASH Траб, °C
STM32G431C6 Активный LQFP 48, UFQFPN 48 32 32 2/17 2 4 1 3 -40…85
STM32G431C8 Активный LQFP 48, UFQFPN 48 64 32 2/17, 18 2 4 1 3 -40…85/125
STM32G431CB Активный LQFP 48, UFQFPN 48, WLCSP 49 128 32 2/17, 18 2 4 1 3 -40…85/125
STM32G431K6 Активный LQFP 32, UFQFPN 32 32 32 2/11 2 4 1 3 -40…85/125
STM32G431K8 Активный LQFP 32, UFQFPN 32 64 32 2/11 2 4 1 3 -40…85
STM32G431KB Активный LQFP 32, UFQFPN 32 128 32 2/11 2 4 1 3 -40…85/125
STM32G431M6* В разработке LQFP 80 32 32 2/– -40…85
STM32G431M8* В разработке LQFP 80 64 32 2/– -40…85
STM32G431MB* В разработке LQFP 80 128 32 2/– 2 4 1 3 -40…85/125
STM32G431R6 Активный LQFP 64, UFBGA 64L 32 32 2/23 2 4 1 3 -40…85
STM32G431R8 Активный LQFP 64, UFBGA 64L 64 32 2/23 2 4 1 3 -40…85
STM32G431RB Активный LQFP 64, UFBGA 64L 128 32 2/23 2 4 1 3 -40…85/125
STM32G431V6 Активный LQFP 100 32 32 2/23 2 4 1 3 -40…85
STM32G431V8 Активный LQFP 100 64 32 2/23 2 4 1 3 -40…85
STM32G431VB Активный LQFP 100 128 32 2/23 2 4 1 3 -40…85/125
STM32G441CB Активный LQFP 48, UFQFPN 48, WLCSP 49 128 32 2/17,18 2 4 1 3 -40…85/125
STM32G441KB Активный LQFP 32, UFQFPN 32 128 32 2/11 2 4 1 3 -40…85/125
STM32G441MB* В разработке LQFP 80 128 32 2/– AES -40…85
STM32G441RB Активный LQFP 64, UFBGA 64L 128 32 2/23 2 4 1 3 -40…85/125
STM32G441VB Активный LQFP 100 128 32 2/23 2 4 1 3 -40…85/125
STM32G473CB Активный LQFP 48, UFQFPN 48 128 + 128 5/21 3 7 3 6 -40…85/125
STM32G473CC Активный LQFP 48, UFQFPN 48 256 + 128 5/21 3 7 3 6 -40…85/125
STM32G473CE Активный LQFP 48, UFQFPN 48 512 + 128 5/20,21 3 7 3 6 -40…85/125
STM32G473MB* В разработке LQFP 80 128 + 128 5/– -40…85
STM32G473MC* В разработке LQFP 80 256 + 128 5/– -40…85/125
STM32G473ME Активный LQFP 80, WLCSP 81L 512 + 128 5/– -40…85
STM32G473QB Активный LQFP 128 128 + 128 5/42 3 7 3 6 -40…85
STM32G473QC Активный LQFP 128 256 + 128 5/42 3 7 3 6 -40…85
STM32G473QE Активный LQFP 128 512 + 128 5/42 3 7 3 6 -40…85
STM32G473RB Активный LQFP 64 128 + 128 5/26 3 7 3 6 -40…85
STM32G473RC Активный LQFP 64 256 + 128 5/26 3 7 3 6 -40…85
STM32G473RE Активный LQFP 64 512 + 128 5/26 3 7 3 6 -40…85
STM32G473VB Активный LQFP 100, TFBGA 100L 128 + 128 5/42 3 7 3 6 -40…85/125
STM32G473VC Активный LQFP 100, TFBGA 100L 256 + 128 5/42 3 7 3 6 -40…85/125
STM32G473VE Активный LQFP 100, TFBGA 100L 512 + 128 5/42 3 7 3 6 -40…85/125
STM32G474CB Активный LQFP 48, UFQFPN 48 128 + 128 5/12 3 7 3 6 -40…85/125
STM32G474CC Активный UFQFPN 48 7x7x0.55 256 + 128 5/21 3 7 3 6 -40…85/125
STM32G474CE Активный LQFP 48, UFQFPN 48 512 + 128 5/20, 21 3 7 3 6 -40…85/125
STM32G474MB* В разработке LQFP 80 128 + 128 5/– -40…85
STM32G474MC* В разработке LQFP 80 256 + 128 5/– -40…85
STM32G474ME Активный LQFP 80, WLCSP 81L 512 + 128 5/– -40…85/125
STM32G474QB Активный LQFP 128 128 + 128 5/42 3 7 3 6 -40…85
STM32G474QC Активный LQFP 128 256 + 128 5/42 3 7 3 6 -40…85
STM32G474QE Активный LQFP 128 512 + 128 5/42 3 7 3 6 -40…85
STM32G474RB Активный LQFP 64 128 + 128 5/26 3 7 3 6 -40…85/125
STM32G474RC Активный LQFP 64 256 + 128 5/26 3 7 3 6 -40…85/125
STM32G474RE Активный LQFP 64 512 + 128 5/26 3 7 3 6 -40…85/125
STM32G474VB Активный LQFP 100 128 + 128 5/42 3 7 3 6 -40…85/125
STM32G474VC Активный LQFP 100 256 + 128 5/42 3 7 3 6 -40…85
STM32G474VE Активный LQFP 100, TFBGA 100L 512 + 128 5/42 3 7 3 6 -40…85/125
STM32G483CE Активный LQFP 48, UFQFPN 48 512 128 5/20, 21 3 7 3 6 AES -40…85/125
STM32G483ME Активный LQFP 80, WLCSP 81L 512 128 5/– AES -40…85
STM32G483QE Активный LQFP 128 512 128 5/42 3 7 3 6 AES -40…85
STM32G483RE Активный LQFP 64 512 128 5/26 3 7 3 6 AES -40…85/125
STM32G483VE Активный LQFP 100 512 128 5/42 3 7 3 6 AES -40…85/125
STM32G484CE Активный LQFP 48, UFQFPN 48 512 128 5/20, 21 3 7 3 6 AES -40…85/125
STM32G484ME Активный LQFP 80, WLCSP 81L 512 128 5/– AES -40…85
STM32G484QE Активный LQFP 128 512 128 5/42 3 7 3 6 AES -40…85/125
STM32G484RE Активный LQFP 64 512 128 5/26 3 7 3 6 AES -40…85/125
STM32G484VE Активный LQFP 100, TFBGA 100L 512 128 5/42 3 7 3 6 AES -40…85/125
* – В настоящий момент компания ST анонсировала выпуск данных моделей STM32G4.
** – Все микроконтроллеры поддерживают USB Device, USB Type-C, STM32G473RE поддерживает только USB Device.

На рисунке 6 представлены существующие модели микроконтроллеров и дорожная карта развития семейства в 2020 году.

Рис. 6. Номенклатура существующих и анонсированных моделей микроконтроллеров STM32G4

Рис. 6. Номенклатура существующих и анонсированных моделей микроконтроллеров STM32G4

Далее рассмотрим основные особенности аналоговой и новой цифровой периферии семейства STM32G4.

Обзор аналоговой периферии микроконтроллеров STM32G4

Главное преимущество микроконтроллеров со смешанными сигналами, в том числе STM32G4, заключается в том, что разработчик может с их помощью заменить множество отдельных микросхем (ЦАП, АЦП, ОУ, компараторы, ИОН и прочих). Чем меньше микросхем, тем ниже стоимость изделия, меньше габариты печатной платы, проще трассировка, ниже потребление. Разумеется, все это справедливо только в тех случаях, когда характеристики встроенных аналоговых периферийных блоков оказываются приемлемыми. 

АЦП

Микроконтроллеры STM32G4 могут иметь до пяти аналогово-цифровых преобразователей последовательного приближения (SAR) с числом входных каналов до 42. Разрядность АЦП составляет 12 бит, однако с помощью встроенного блока передискретизации разрешение может быть увеличено до 16 бит.

АЦП способны работать со внешними и внутренними сигналами (датчик температуры, опорное напряжение VREF, напряжение питания VDDA, выходы ОУ).

Встроенные АЦП STM32G4 поддерживают традиционные режимы работы: режим с одиночным преобразованием, режимы с циклическим или однократным измерением выбранных каналов, а также режим с измерением инжектированных каналов.

Скорость преобразования АЦП зависит от частоты тактирования, длительности стадии выборки и разрядности. При использовании разрядности 12 бит максимальная частота измерений составляет 4 MSPS. В режиме Dual mode два АЦП поочередно измеряют напряжение на одном канале, что позволяет увеличить скорость работы до 7,5 MSPS.

Стоит отметить, что АЦП позволяет автоматически выполнять сдвиг результата измерения и корректировку смещения.

Основные метрологические характеристики встроенных АЦП представлены в таблице 3.

Таблица 3. Основные характеристики встроенных АЦП

Параметр Значение
Количество АЦП до 5
Тип АЦП Последовательного приближения
Число каналов до 42
Разрешение 12/10/8/6
Разрешение с аппаратной передискретизацией 16
Максимальное быстродействие 4 MSPS
Программный сдвиг До 8 бит
Компенсация усиления Есть
Компенсация смещения Есть
Диапазон измеряемых напряжений 0…VDDA (3,6 В)
Максимальное входное сопротивление источника сигнала, кОм 50
Встроенный конденсатор схемы выборки хранения, тип., пФ 5
Время подготовки к измерениям 1 цикл
Время калибровки, тип., мкс 1,93
Время преобразования 12-бит (с учетом выборки), мкс 0,256…10,883
Потребление от VDDA, макс., мкА 730 мкА

ЦАП

Микроконтроллеры STM32G4 могут иметь до 7 ЦАП. Существуют два вида встроенных ЦАП:

  • полноценные 12-битные ЦАП с выходным буфером и частотой преобразования до 1 MSPS;
  • 12-битные ЦАП без внешних выходов и с частотой преобразования до 15 MSPS.

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

ЦАП способны выступать в качестве генераторов шума и треугольных импульсов.

При необходимости выходы ЦАП можно синхронизировать для работы в режиме Dual mode.

Основные метрологические и прочие характеристики встроенных ЦАП представлены в таблице 4.

Таблица 4. Основные характеристики встроенных ЦАП

Параметр Значение
Количество ЦАП до 7
Разрешение 12 или 8
Быстродействие выходных каналов 1 MSPS
Быстродействие внутренних каналов 15 MSPS
Выходное напряжение с активным буфером 0…Vref — 0,2 В
Выходное напряжение без буфера 0…Vref
Выходной импеданс АЦП (без буфера), кОм 9,6…13,8
Типовое сопротивление нагрузки (при активном буфере), кОм до 25
Коэффициент подавления нестабильности по питанию PSRR, дБ -80 (тип)
Потребление от VDDA, макс., мкА 670
DNL ±2 LSB
INL ±2 LSB
Гарантированная монотонность, бит 10
Смещение при коде 0x800 ±12 LSB (3,6 В)
Смещение при коде 0x800 ±5 LSB (3,6 В)
SNR, дБ 71,2 (нагрузка >5 кОм)
THD, дБ -78 (нагрузка >5 кОм)

ОУ 

У микроконтроллеров STM32G4 может быть до шести встроенных rail-to-rail-операционных усилителей с программируемым коэффициентом усиления 2, 4, 8, 16, -1, -3, -7, -15 (1%) 32, 64, -31, -63 (2%).

ОУ могут использоваться самостоятельно или в связке с другими аналоговыми блоками (АЦП и ЦАП).

Основные метрологические и прочие характеристики встроенных ОУ представлены в таблице 5.

Таблица 5. Основные характеристики встроенных ОУ

Параметр Значение
Количество ОУ До 6
Диапазон входных напряжений 0…VDDA (3,6 В)
Программируемое усиление 2…64 (неинвертирующее), -1…63 (инвертирующее)
Максимальное входное начальное смещение, мВ ±1,5
Максимальное входное смещение, мВ ±3
Температурный дрейф входного смещения, мкВ/°С ±10
Выходной ток (без PGA), мкА 500
Выходной ток (c PGA), мкА 270
Емкостная нагрузка, пФ 50
CMRR, дБ 60
PSRR, дБ 80
GBW, МГц 13
AO, дБ 95

Компараторы 

В составе микроконтроллеров STM32G4 может быть до 7 встроенных компараторов. Компараторы используются для сравнения пары внешних сигналов или для сравнения внешнего сигнала со внутренним опорным сигналом VREF и его производными (1/2 VREF, 1/4 VREF 3/4 VREF). В качестве опорного сигнала также могут выступать сигналы с ЦАП.

Гистерезис компараторов устанавливается программно в диапазоне 0…63 мВ.

Характеристики встроенных компараторов приведены в таблице 6.

Таблица 6. Основные характеристики встроенных компараторов

Параметр Значение
Количество компараторов До 7
Диапазон входных напряжений 0…VDDA (3,6 В)
Программируемый гистерезис, мВ 0/9/18/27/36/45/54/63

Обзор математических ускорителей

Процессорное ядро Cortex-M4F имеет встроенный блок операций с числами с плавающей запятой (FPU) и поддерживает DSP-инструкции. Это позволяет микроконтроллерам выполнять цифровую обработку сигналов. Кроме того, для достижения максимальной производительности на высоких частотах в микроконтроллерах STM32G4 используется ускоритель ART и память CCM-SRAM. Однако и это еще не все.

Для повышения эффективности цифровой обработки сигналов пользователям предлагаются два математических ускорителя: CORDIC и FMAC. Эти вычислительные блоки способны разгрузить основной процессор и обеспечить быструю обработку данных в реальном времени.

CORDIC представляет собой аппаратный вычислительный блок, позволяющий рассчитывать наиболее востребованные в ЦОС-функции (таблица 7). Функции имеют один или два аргумента. Расчет ведется в формате чисел с фиксированной точкой q1.31 или q1.15.

Таблица 7. Функции, поддерживаемые CORDIC

Функция Первый аргумент (ARG1) Второй аргумент (ARG2) Основной результат (RES1) Дополнительный результат (RES2)
Косинус угол θ модуль m m × cos θ m × sin θ
Синус угол θ модуль m m × sin θ m × cos θ
Фаза x y atan2(y, x) √x2+ y2
Модуль x y √x2+y2 atan2(y,x)
Арктангенс x tan-1 x
Гиперболический  косинус x cosh x sinh x
Гиперболический  синус x sinh x cosh x
Гиперболический  арктангенс x tanh-1 x
Натуральный логарифм x ln x
Квадратный корень x √x

Важным аспектом при выполнении ЦОС является точность вычислений. В случае с CORDIC точность зависит от числа выполняемых итераций и типа рассчитываемой функции. За один такт CORDIC выполняет 4 итерации. Для получения максимальной точности при извлечении квадратного корня требуется 3 такта, а для остальных функций – 6 тактов.

FMAC (Filter Math Accelerator) является математическим ускорителем, позволяющим выполнять математические операции с массивами чисел. В составе FMAC есть аппаратный умножитель 16х16, 24-битный аккумулятор (сложение и вычитание), собственная память 256х16 бит. Кроме того, в памяти могут быть определены буферы (два входных и один выходной).

С помощью FMAC можно реализовать КИХ- и БИХ-фильтры, а также выполнять операции свертки и корреляции.

Таким образом, у микроконтроллеров STM32G4 есть все необходимые инструменты не только для сбора аналоговых данных, но и для их дальнейшей обработки в режиме реального времени.

Обзор встроенных таймеров

Ранее уже отмечалось, что представители семейства STM32G4 обладают богатым выбором таймеров (таблица 8). Это имеет большое значение для систем со смешанными сигналами, так как именно с помощью таймеров обычно реализуется управление электродвигателями и инверторами.

Таблица 8. Встроенные таймеры микроконтроллеров STM32G4

Тип таймера Таймеры Разрешение, бит Счет Делитель DMA Каналов Комплементарные выходы
С повышенным разрешением HRTIM 16 Вверх 1/2/4 (x2, x4, x8, x16, x32, с DLL) + 12 +
С расширенными возможностями TIM1, TIM8, TIM20 16 Вверх, вниз, вверх/вниз Любое целое число из ряда 1…65536 + 4 4
Общего назначения TIM2, TIM5 32 Вверх, вниз, вверх/вниз Любое целое число из ряда 1…65536 + 4
Общего назначения TIM3, TIM4 16 Вверх, вниз, вверх/вниз Любое целое число из ряда 1…65536 + 4
Общего назначения TIM15 16 Вверх Любое целое число из ряда 1…65536 + 2 1
Общего назначения TIM16, TIM17 16 Вверх Любое целое число из ряда 1…65536 + 1 1
Базовые TIM6, TIM7 16 Вверх Любое целое число из ряда 1…65536 + 0

С точки зрения управления трехфазными импульсными схемами особое значение имеют таймеры с комплементарными выходами и возможностью формирования мертвого времени. У микроконтроллеров STM32G4 может быть до трех таймеров с расширенными возможностями: TIM1, TIM8, TIM20.

Для управления транзисторными полумостами также могут быть использованы таймеры TIM15, TIM16, TIM17. Они имеют по одной паре комплементарных выходов.

В составе STM32G4 есть 32-битные и 16-битные таймеры общего назначения с возможностью счета вверх и вниз, а также вверх/вниз. Этот функционал необходим для реализации инкрементальных датчиков положения и скорости вращения (энкодеров).

Для реализации внутренних алгоритмов могут использоваться базовые таймеры, у которых нет внешних выводов.

Отдельно стоит отметить таймер с повышенным разрешением HRTIM. HRTIM реализован только в микроконтроллерах старшей линейки STM32G4x4 Hi-resolution line. Он позволяет генерировать цифровые сигналы с прецизионными таймингами, что имеет большое значение для формирования сверхточных ШИМ-сигналов и сигналов с прецизионным фазовым сдвигом.

В составе HRTIM присутствуют сразу 7 таймеров: 1 ведущий и 6 ведомых. HRTIM имеет 12 выходных сигналов, которые могут работать попарно с генерацией мертвого времени. Также он имеет 6 входов для контроля аварийных сигналов и 10 входов для контроля внешних событий, например, для обнаружения точки пересечения нуля в преобразователях с ZVS.

Для тактирования HRTIM используется частота ядра 170 МГц. Период входного тактового сигнала дополнительно делится на 32 подпериода, что обеспечивает внутренний опорный сигнал 5,44 ГГц. Тактовый сигнал проходит цепи компенсации, которые обеспечивают разрешение на уровне 184 пс вне зависимости от температуры, напряжения питания и технологического разброса при производстве микроконтроллера.

Ведомые таймеры HRTIM способны работать независимо или согласованно, что позволяет управлять современными импульсными схемами: резонансными LLC-преобразователями, трехфазными инверторами и прочим.

Обзор коммуникационных интерфейсов

Микроконтроллеры STM32G4 предлагают богатый выбор коммуникационных интерфейсов.

Стандартные интерфейсы SPI/I2C обычно используются для связи с другими микросхемами, находящимися на той же плате, что и управляющий микроконтроллер.

Интерфейс USART необходим для работы с шинами RS-232, RS-422 и RS-485.

Идя в ногу со временем, компания STMicroelectronics оснастила микроконтроллеры STM32G4 интерфейсами FDCAN (до трех модулей), USB FS и USB Type-C™/UCPD.

В составе STM32G4 в дополнение к традиционному USB FS был добавлен UCPD. UCPD поддерживает спецификации USB Type-C Rev. 1.3, USB Power Delivery Rev. 2.0 и 3.0. USB Type-C является перспективным и универсальным разъемом, призванным заменить предыдущие версии разъемов USB. USB Power Delivery позволяет обеспечивать питание подключаемых устройств с мощностью потребления до 100 Вт.

Блоки FDCAN значительно отличаются по своим возможностям от блоков bxCAN, которые реализованы в других семействах STM32 общего назначения. Главным преимуществом FDCAN является максимальная скорость передачи до 8 Мбит/с, увеличенная за счет расширенного и настраиваемого поля данных.

Наличие FDCAN имеет огромное значение для приложений автоматики, так как в последнее время CAN получает все большее распространение благодаря своей простоте, надежности и умеренной стоимости.

Дополнительным бонусом для аудиоприложений является интерфейс SAI.

Функции безопасности STM32G4

В STM32G4 реализованы различные блоки, так или иначе отвечающие за функции безопасности:

  • блок защиты памяти MPU;
  • блок расчета контрольной суммы CRC;
  • блок шифрования AES (у моделей STM32G48x);
  • генератор случайных чисел RNG;
  • блок защиты от взлома TAMP.

Микроконтроллеры STM32G4 предлагают широкий выбор механизмов для защиты встроенной памяти:

  • RDP (Readout Protection) – защита Flash, OTP, SRAM от чтения в процессе выполнения программы. Защита от чтения распространяется на всю память;
  • PCROP (Proprietary Code Protection) – защита выбранных участков Выбранные участки определяются как код «только для исполнения». PCROP позволяет защитить не всю Flash, а только ее часть;
  • WRP (Write Protection) – защита памяти от записи и стирания.

Также стоит отметить функцию обнаружения ошибок ECC (Error Code Correction), позволяющую обнаруживать и исправлять одиночные битовые ошибки во Flash. CCM-SRAM также имеет механизм контроля четности.

STMicroelectronics уделяет большое внимание безопасности данных при прошивке микроконтроллеров в процессе производства и при обновлении ПО в полевых условиях. Для обеспечения безопасности предлагаются следующие решения:

  • SFI (Secure internal firmware install) – технология, позволяющая выполнять безопасное программирование у непроверенного производителя за счет кодирования всей прошивки с помощью ключа AES-GCM [5].
  • SFU (Secure Firmware Upgrade) – технология, которая позволяет выполнить безопасное обновление ПО в полевых условиях [6].

Потребление

Компании ST удалось достичь низкого потребления микроконтроллеров STM32G4 благодаря ряду технологических и структурных решений, таких как переход на техпроцесс 90 нм, реализация широкого выбора режимов пониженного потребления, реализация гибкой системы тактирования, добавление малопотребляющей периферии (LPTIM), возможность дежурного питания от батарейки.

Для питания цифровой и аналоговой периферии во всех режимах, за исключением Standby и VBAT, микроконтроллеры STM32G4 используют два встроенных регулятора: основной MR (Main Regulator) и малопотребляющий LPR (Low-Power Regulator).

Основной регулятор имеет два режима работы: Range 1 и Range 2. В высокопроизводительном режиме Range 1 выходное напряжение регулятора составляет 1,2 В (Main regulator range 1 normal mode) или 1,28 В (Main regulator range 1 boost mode), а тактовая частота ядра может достигать 150 и 170 МГц соответственно. В энергосберегающем режиме Range 2 выходное напряжение регулятора составляет 1,0 В, тактовая частота ограничена 26 МГц, запрещены запись и стирание Flash.

В спящих режимах для дополнительной экономии энергии питание производится от LPR. В режиме VBAT питание Backup-домена выполняется от внешней батарейки 1,55…3,6 В.

В таблице 9 представлены особенности режимов пониженного потребления STM32G4.

Таблица 9. Особенности режимов пониженного потребления STM32G4 [4]

Режим Регулятор Ядро Flash SRAM Тактирование Периферия
Run R1 Да ВКЛ* ВКЛ Любое Вся
R2 Вся кроме USB, RNG
LPRun LPR Да ВКЛ* ВКЛ Любое, кроме PLL Вся кроме USB, RNG
Sleep R1 ВКЛ* ВКЛ** Любое Вся
R2 Вся кроме USB, RNG
LPSleep LPR ВКЛ* ВКЛ** Любое, кроме PLL Вся кроме USB, RNG
Stop 0 MR ВКЛ LSE/LSI Backup, CCS, BOR,PVD,PVM,RTC,LPUART,USART, I2C,DAC,VREFBUF,OPAMP,COMP,LPTIM1,IWDG,GPIO
Stop 1 LPR ВКЛ LSE/LSI Backup, CCS, BOR,PVD,PVM,RTC,LPUART,USART, I2C,DAC,VREFBUF,OPAMP,COMP,LPTIM1,IWDG,GPIO
Standby LPR SRAM2 ВКЛ LSE/LSI Backup, BOR,RTC,IWDG,GPIO (5 выводов)
OFF
Shutdown OFF LSE Backup,RTC,GPIO (5 выводов)
VBAT OFF LSE Backup, RTC
* – Можно отключить питание и выключить тактирование.
** – SRAM1, SRAM2 и CCM SRAM могут быть отключены по отдельности.

Основные показатели потребления представлены на рисунке 7.

Рис. 7. Потребление STM32G4 в различных режимах

Рис. 7. Потребление STM32G4 в различных режимах

Обзор средств разработки и отладки

Экосистема всех микроконтроллеров STM32 объединяет сами микроконтроллеры, аппаратные и программные средства разработки и отладки, а также документацию. Семейство STM32G4 не является исключением.

Для создания программ для STM32G4 можно использовать бесплатную среду STM32CubeIDE, а также многочисленные библиотеки промежуточного уровня.

Кроме того, для работы с STM32G4 предлагаются различные отладочные платы (рисунок 8).

Рис. 8. Отладочные платы с STM32G4

Рис. 8. Отладочные платы с STM32G4

NUCLEO-G431KB – отладочная плата семейства Nucleo-32 на базе микроконтроллера STM32G431KB. Плата имеет минимальный набор компонентов, но может использоваться для построения прототипов совместно с платами расширения Arduino Uno V3. NUCLEO-G431KB имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.

NUCLEO-G431RB – отладочная плата семейства Nucleo-64 на базе микроконтроллера STM32G431RB. Плата может работать с платами расширения Arduino Uno V3 и ST morpho. NUCLEO-G431RB имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.

NUCLEO-G474RE – отладочная плата семейства Nucleo-64 на базе микроконтроллера STM32G474RE. Плата может работать с платами расширения Arduino Uno V3 и ST morpho. NUCLEO-G474RE имеет традиционный отладчик ST-LINK V2-1, доступный через разъем USB Micro-B.

B-G474E-DPOW1 Discovery kit – отладочная плата, которая, в отличие от плат Nucleo, имеет на борту некоторый набор функциональных блоков, в том числе повышающе-понижающий DC/DC-преобразователь, усилитель мощности класса D, светодиоды, джойстик, разъемы USB Type-C™ и USB Micro-B, штыри для подключения палат расширения (2×32), встроенный программатор STLINK-V3E.

B-G431B-ESC1 Discovery kit – отладочный набор, который представляет собой ESC-контроллер (Electronic Speed Controller), предназначенный для управления трехфазным бесколлекторным двигателем с помощью FOC-алгоритма или традиционного шестиступенчатого алгоритма. Набор состоит из двух плат, соединенных перемычкой. На первой размещается микроконтроллер STM32G431CB, драйвер L6387, силовые транзисторы STL180N6F7, а на второй – программатор и потенциометр. При необходимости плата отладчика может быть отсоединена.

Набор является готовым решением для дронов с питанием от 6S LiPo-батарей и током двигателя до 40 А.

STM32G474E-EVAL – отладочная и демонстрационная плата, построенная на базе микроконтроллера STM32G474QET6U. С помощью этой платы можно оценить возможности практически всех встроенных периферийных блоков: АЦП, компараторов, ОУ, ЦАП. На плате размещены трансиверы и разъемы для последовательных интерфейсов RS-232, RS-485, USB Type C, CAN 2.0 A/B. Плата снабжена пользовательскими кнопками, светодиодами, потенциометрами, а также цветным TFT-дисплеем с разрешением 240х320 и SPI-интерфейсом.

STM32G484E-EVAL – полностью соответствует по своим возможностям плате STM32G474E-EVAL и, кроме того, поддерживает функции криптографии благодаря использованию микроконтроллера STM32G484QET6U.

Заключение

В январе 2020 года компания ST объявила о продлении десятилетней гарантии выпуска микроконтроллеров со смешанными сигналами семейства STM32F3. Однако за 8 лет, прошедших с момента появления STM32F3, требования рынка изменились, и эти микроконтроллеры не всегда способны отвечать запросам современных приложений. По этой причине STMicroelectronics начал выпуск нового семейства микроконтроллеров со смешанными сигналами семейства STM32G4.

Микроконтроллеры STM32G4 производятся по современному техпроцессу 90 нм, который позволяет увеличить степень интеграции, расширить перечень встроенной периферии, увеличить быстродействие и снизить потребление. По сравнению с другими семействами общего назначения, новое семейство STM32G4 обладает самым богатым набором встроенной аналоговой периферии.

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

Благодаря высокой производительности микроконтроллеры STM32G4 можно рассматривать даже в качестве альтернативы для старых высокопроизводительных семейств, например, для STM32F2 – в приложениях, где не требуется Ethernet.

Литература

  1. ST Longevity Commitment.
  2. STM32G4 mainstream series mixed signal MCU.
  3. AN4296 Application note. Use STM32F3/STM32G4 CCM SRAM with IAR™ EWARM, Keil® MDK-ARM and GNU-based toolchains.
  4. Reference manual. STM32G4 Series advanced Arm®-based 32-bit MCUs.
  5. UM2238 User manual STM32 Trusted Package Creator tool software description.
  6. AN4023 Application note STM32 secure firmware upgrade (SFU) overview.
  7. st.com.
•••

Наши информационные каналы

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее

Товары
Наименование
B-G474E-DPOW1 (ST)
NUCLEO-G474RE (ST)
NUCLEO-G431KB (ST)
STM32G431C8T6 (ST)
STM32G431CBU3 (ST)
STM32G473MEY6TR (ST)
STM32G473RCT6 (ST)
STM32G474CET3 (ST)
STM32G484RET6 (ST)