Перейти к содержанию

STM32G0: микроконтроллеры на Cortex-M0+, распиновки по корпусам

STM32G0 — семейство STM32 на ядре Cortex-M0+ с частотой до 64 МГц, от восьмивыводных G030J, G031J и G041J до 100-выводных G0B0, G0B1 и G0C1. Здесь — сравнение линеек и страницы с распиновкой и номерами альтернативных функций каждого микроконтроллера в каждом корпусе.

STM32G0 — семейство 32-битных микроконтроллеров STMicroelectronics на ядре Arm Cortex-M0+: преемник STM32F0 с частотой до 64 МГц, от восьмивыводных STM32G030J, G031J и G041J в корпусе SO8N до 100-выводных STM32G0B0, G0B1 и G0C1. В разделе 98 страниц для 188 исполнений в 16 корпусах, 12 линеек: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.

Линейки STM32G0

Линейки отличаются набором периферии; в пределах линейки — объёмом памяти и корпусом. Значения в таблице собраны из записей базы ST: частота — максимальная для линейки, память — от наименьшего до наибольшего исполнения.

ЛинейкаЯдро, частотаФлеш-памятьОЗУКорпусаЧем выделяется
STM32G030 Value LineCortex-M0+, до 64 МГц32 КБ – 64 КБ8 КБLQFP32, LQFP48, SO8N, TSSOP20I²S
STM32G031Cortex-M0+, до 64 МГц16 КБ – 64 КБ8 КБLQFP32, LQFP48, SO8N, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP18I²S, LPTIM, LPUART
STM32G041Cortex-M0+, до 64 МГц32 КБ – 64 КБ8 КБLQFP32, LQFP48, SO8N, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP18I²S, AES, RNG, LPTIM, LPUART
STM32G050 Value LineCortex-M0+, до 64 МГц32 КБ – 64 КБ18 КБLQFP32, LQFP48, TSSOP20I²S
STM32G051Cortex-M0+, до 64 МГц32 КБ – 64 КБ18 КБLQFP32, LQFP48, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP20DAC, COMP, I²S, LPTIM, LPUART
STM32G061Cortex-M0+, до 64 МГц32 КБ – 64 КБ18 КБLQFP32, LQFP48, TSSOP20, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP20DAC, COMP, I²S, AES, RNG, LPTIM, LPUART
STM32G070 Value LineCortex-M0+, до 64 МГц128 КБ36 КБLQFP32, LQFP48, LQFP64I²S
STM32G071Cortex-M0+, до 64 МГц32 КБ – 128 КБ36 КБLQFP32, LQFP48, LQFP64, UFBGA64, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP25UCPD, DAC, COMP, I²S, HDMI-CEC, LPTIM, LPUART
STM32G081Cortex-M0+, до 64 МГц128 КБ36 КБLQFP32, LQFP48, LQFP64, UFBGA64, UFQFPN28, UFQFPN32, UFQFPN48, WLCSP25UCPD, DAC, COMP, I²S, HDMI-CEC, AES, RNG, LPTIM, LPUART
STM32G0B0 Value LineCortex-M0+, до 64 МГц512 КБ144 КБLQFP32, LQFP48, LQFP64, LQFP100USB DRD FS, I²S
STM32G0B1Cortex-M0+, до 64 МГц128 КБ – 512 КБ144 КБLQFP32, LQFP48, LQFP64, LQFP80, LQFP100, UFBGA64, UFBGA100, UFQFPN32, UFQFPN48, WLCSP52USB DRD FS, UCPD, FDCAN, DAC, COMP, I²S, HDMI-CEC, LPTIM, LPUART
STM32G0C1Cortex-M0+, до 64 МГц256 КБ – 512 КБ144 КБLQFP32, LQFP48, LQFP64, LQFP80, LQFP100, UFBGA64, UFBGA100, UFQFPN32, UFQFPN48, WLCSP52USB DRD FS, UCPD, FDCAN, DAC, COMP, I²S, HDMI-CEC, AES, RNG, LPTIM, LPUART

Семейство описывают два reference manual. RM0444 — линейку STM32G0x1: G031, G041, G051, G061, G071, G081, G0B1 и G0C1. RM0454 — линейку Value line STM32G0x0: G030, G050, G070 и G0B0. По таблице 1 RM0444 у STM32G0x1 периферия добавляется ступенями:

  • G041, G061, G081, G0C1 — то же, что у G031, G051, G071 и G0B1 соответственно, плюс аппаратное шифрование AES и генератор случайных чисел RNG;
  • G051 и старше — ЦАП, компараторы COMP1 и COMP2, таймеры TIM6, TIM7 и TIM15;
  • G071, G081, G0B1, G0C1 — два контроллера USB Type-C Power Delivery (UCPD1, UCPD2) и HDMI-CEC;
  • G0B1, G0C1 — USB, два FDCAN, генератор HSI48 с блоком подстройки CRS, порт E и второй контроллер DMA.

В линейке Value line по таблице 1 RM0454 USB, порт E и USART5–6 есть только у STM32G0B0, а USART3–4 и TIM15 — у G070 и G0B0.

Тактирование и питание

Системную частоту STM32G0 дают генераторы LSE и LSI, кварцевый HSE, внутренний HSISYS или PLL (RM0444, раздел RCC). Частота до 64 МГц допустима в диапазоне напряжения ядра Range 1; в экономичном Range 2 — до 16 МГц (RM0444, раздел PWR). PLL, делители шин и такты ожидания флеш-памяти для STM32G0 подбирает калькулятор тактирования STM32, регистр I2C_TIMINGR — калькулятор I2C_TIMINGR.

Выводы STM32G0: альтернативные функции, ремап и NRST

Как у STM32F0, на каждой линии порта стоит мультиплексор альтернативных функций: режим задаёт GPIOx_MODER, номер функции — GPIOx_AFRL или GPIOx_AFRH. В данных ST у большинства STM32G0 используются номера AF0–AF7, у STM32G0B0 — до AF9, у G0B1 и G0C1 — до AF10.

Несколько особенностей разводки (RM0444):

  • Ремап PA11 и PA12. Бит PA11_RMP регистра SYSCFG_CFGR1 заставляет вывод PA11 работать как PA9, бит PA12_RMP — вывод PA12 как PA10; исходные выводы PA9 и PA10, если они есть в корпусе, переводятся в аналоговый режим. В таблицах атласа второе имя такого вывода стоит в квадратных скобках.
  • Вывод PF2-NRST. Полем NRST_MODE в байте опций вывод сброса переводится в обычную линию PF2.
  • Загрузка. Режим загрузки задают вывод BOOT0 (у STM32G0 он совмещён с PA14) и биты nBOOT1, nBOOT_SEL и nBOOT0 в байте опций (RM0444, разд. 2.5).
  • Несколько линий на выводе. В корпусах SO8N и других маленьких корпусах к одному выводу подключено по нескольку линий портов; таблица выводов показывает их все.

У STM32G071, G081, G0B1 и G0C1 часть корпусов выпускается в двух версиях разводки — GP и N. У каждой версии своя страница; на ней есть ссылка на вторую версию и список выводов, которыми они различаются.

Все STM32G0 по корпусам

STM32G030 Value Line — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G030C6, STM32G030C8LQFP4832 КБ / 64 КБ8 КБ43
STM32G030F6TSSOP2032 КБ8 КБ28
STM32G030J6SO8N32 КБ8 КБ19
STM32G030K6, STM32G030K8LQFP3232 КБ / 64 КБ8 КБ29

STM32G031 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G031C4, STM32G031C6, STM32G031C8LQFP4816 КБ / 32 КБ / 64 КБ8 КБ44
STM32G031C4, STM32G031C6, STM32G031C8UFQFPN4816 КБ / 32 КБ / 64 КБ8 КБ44
STM32G031F4, STM32G031F6, STM32G031F8TSSOP2016 КБ / 32 КБ / 64 КБ8 КБ29
STM32G031G4, STM32G031G6, STM32G031G8UFQFPN2816 КБ / 32 КБ / 64 КБ8 КБ28
STM32G031J4, STM32G031J6SO8N16 КБ / 32 КБ8 КБ20
STM32G031K4, STM32G031K6, STM32G031K8LQFP3216 КБ / 32 КБ / 64 КБ8 КБ30
STM32G031K4, STM32G031K6, STM32G031K8UFQFPN3216 КБ / 32 КБ / 64 КБ8 КБ30
STM32G031Y8WLCSP1864 КБ8 КБ29

STM32G041 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G041C6, STM32G041C8LQFP4832 КБ / 64 КБ8 КБ44
STM32G041C6, STM32G041C8UFQFPN4832 КБ / 64 КБ8 КБ44
STM32G041F6, STM32G041F8TSSOP2032 КБ / 64 КБ8 КБ29
STM32G041G6, STM32G041G8UFQFPN2832 КБ / 64 КБ8 КБ28
STM32G041J6SO8N32 КБ8 КБ20
STM32G041K6, STM32G041K8LQFP3232 КБ / 64 КБ8 КБ30
STM32G041K6, STM32G041K8UFQFPN3232 КБ / 64 КБ8 КБ30
STM32G041Y8WLCSP1864 КБ8 КБ29

STM32G050 Value Line — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G050C6LQFP4832 КБ18 КБ44
STM32G050C8LQFP4864 КБ18 КБ44
STM32G050F6TSSOP2032 КБ18 КБ29
STM32G050K6LQFP3232 КБ18 КБ30
STM32G050K8LQFP3264 КБ18 КБ30

STM32G051 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G051C6, STM32G051C8LQFP4832 КБ / 64 КБ18 КБ44
STM32G051C6, STM32G051C8UFQFPN4832 КБ / 64 КБ18 КБ44
STM32G051F6, STM32G051F8TSSOP2032 КБ / 64 КБ18 КБ29
STM32G051F8WLCSP2064 КБ18 КБ29
STM32G051G6, STM32G051G8UFQFPN2832 КБ / 64 КБ18 КБ28
STM32G051K6, STM32G051K8LQFP3232 КБ / 64 КБ18 КБ30
STM32G051K6, STM32G051K8UFQFPN3232 КБ / 64 КБ18 КБ30

STM32G061 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G061C6, STM32G061C8LQFP4832 КБ / 64 КБ18 КБ44
STM32G061C6, STM32G061C8UFQFPN4832 КБ / 64 КБ18 КБ44
STM32G061F6, STM32G061F8TSSOP2032 КБ / 64 КБ18 КБ29
STM32G061F8WLCSP2064 КБ18 КБ29
STM32G061G6, STM32G061G8UFQFPN2832 КБ / 64 КБ18 КБ28
STM32G061K6, STM32G061K8LQFP3232 КБ / 64 КБ18 КБ30
STM32G061K6, STM32G061K8UFQFPN3232 КБ / 64 КБ18 КБ30

STM32G070 Value Line — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G070CBLQFP48128 КБ36 КБ43
STM32G070KBLQFP32128 КБ36 КБ29
STM32G070RBLQFP64128 КБ36 КБ59

STM32G071 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G071C6, STM32G071C8, STM32G071CBLQFP4832 КБ / 64 КБ / 128 КБ36 КБ44
STM32G071C6, STM32G071C8, STM32G071CBUFQFPN4832 КБ / 64 КБ / 128 КБ36 КБ44
STM32G071EBWLCSP25128 КБ36 КБ25
STM32G071G6, STM32G071G8, STM32G071GBUFQFPN28 (версия GP)32 КБ / 64 КБ / 128 КБ36 КБ28
STM32G071G8, STM32G071GBUFQFPN28 (версия N)64 КБ / 128 КБ36 КБ28
STM32G071K6, STM32G071K8, STM32G071KBLQFP32 (версия GP)32 КБ / 64 КБ / 128 КБ36 КБ30
STM32G071K6, STM32G071K8, STM32G071KBUFQFPN32 (версия GP)32 КБ / 64 КБ / 128 КБ36 КБ30
STM32G071K8, STM32G071KBLQFP32 (версия N)64 КБ / 128 КБ36 КБ30
STM32G071K8, STM32G071KBUFQFPN32 (версия N)64 КБ / 128 КБ36 КБ30
STM32G071R6, STM32G071R8, STM32G071RBLQFP6432 КБ / 64 КБ / 128 КБ36 КБ60
STM32G071RBUFBGA64128 КБ36 КБ60

STM32G081 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G081CBLQFP48128 КБ36 КБ44
STM32G081CBUFQFPN48128 КБ36 КБ44
STM32G081EBWLCSP25128 КБ36 КБ25
STM32G081GBUFQFPN28 (версия GP)128 КБ36 КБ28
STM32G081GBUFQFPN28 (версия N)128 КБ36 КБ28
STM32G081KBLQFP32 (версия GP)128 КБ36 КБ30
STM32G081KBLQFP32 (версия N)128 КБ36 КБ30
STM32G081KBUFQFPN32 (версия GP)128 КБ36 КБ30
STM32G081KBUFQFPN32 (версия N)128 КБ36 КБ30
STM32G081RBUFBGA64128 КБ36 КБ60
STM32G081RBLQFP64128 КБ36 КБ60

STM32G0B0 Value Line — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G0B0CELQFP48512 КБ144 КБ43
STM32G0B0KELQFP32512 КБ144 КБ29
STM32G0B0RELQFP64512 КБ144 КБ59
STM32G0B0VELQFP100512 КБ144 КБ93

STM32G0B1 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G0B1CB, STM32G0B1CC, STM32G0B1CELQFP48 (версия GP)128 КБ / 256 КБ / 512 КБ144 КБ44
STM32G0B1CB, STM32G0B1CC, STM32G0B1CELQFP48 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ42
STM32G0B1CB, STM32G0B1CC, STM32G0B1CEUFQFPN48 (версия GP)128 КБ / 256 КБ / 512 КБ144 КБ44
STM32G0B1CB, STM32G0B1CC, STM32G0B1CEUFQFPN48 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ42
STM32G0B1KB, STM32G0B1KC, STM32G0B1KELQFP32 (версия GP)128 КБ / 256 КБ / 512 КБ144 КБ30
STM32G0B1KB, STM32G0B1KC, STM32G0B1KELQFP32 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ29
STM32G0B1KB, STM32G0B1KC, STM32G0B1KEUFQFPN32 (версия GP)128 КБ / 256 КБ / 512 КБ144 КБ30
STM32G0B1KB, STM32G0B1KC, STM32G0B1KEUFQFPN32 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ29
STM32G0B1MB, STM32G0B1MC, STM32G0B1MELQFP80128 КБ / 256 КБ / 512 КБ144 КБ74
STM32G0B1NEWLCSP52512 КБ144 КБ46
STM32G0B1RB, STM32G0B1RC, STM32G0B1REUFBGA64 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ58
STM32G0B1RB, STM32G0B1RC, STM32G0B1RELQFP64 (версия GP)128 КБ / 256 КБ / 512 КБ144 КБ60
STM32G0B1RB, STM32G0B1RC, STM32G0B1RELQFP64 (версия N)128 КБ / 256 КБ / 512 КБ144 КБ58
STM32G0B1VB, STM32G0B1VC, STM32G0B1VEUFBGA100128 КБ / 256 КБ / 512 КБ144 КБ94
STM32G0B1VB, STM32G0B1VC, STM32G0B1VELQFP100128 КБ / 256 КБ / 512 КБ144 КБ94

STM32G0C1 — Cortex-M0+, до 64 МГц

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32G0C1CC, STM32G0C1CELQFP48 (версия GP)256 КБ / 512 КБ144 КБ44
STM32G0C1CC, STM32G0C1CELQFP48 (версия N)256 КБ / 512 КБ144 КБ42
STM32G0C1CC, STM32G0C1CEUFQFPN48 (версия GP)256 КБ / 512 КБ144 КБ44
STM32G0C1CC, STM32G0C1CEUFQFPN48 (версия N)256 КБ / 512 КБ144 КБ42
STM32G0C1KC, STM32G0C1KELQFP32 (версия GP)256 КБ / 512 КБ144 КБ30
STM32G0C1KC, STM32G0C1KELQFP32 (версия N)256 КБ / 512 КБ144 КБ29
STM32G0C1KC, STM32G0C1KEUFQFPN32 (версия GP)256 КБ / 512 КБ144 КБ30
STM32G0C1KC, STM32G0C1KEUFQFPN32 (версия N)256 КБ / 512 КБ144 КБ29
STM32G0C1MC, STM32G0C1MELQFP80256 КБ / 512 КБ144 КБ74
STM32G0C1NEWLCSP52512 КБ144 КБ46
STM32G0C1RC, STM32G0C1REUFBGA64 (версия N)256 КБ / 512 КБ144 КБ58
STM32G0C1RC, STM32G0C1RELQFP64 (версия GP)256 КБ / 512 КБ144 КБ60
STM32G0C1RC, STM32G0C1RELQFP64 (версия N)256 КБ / 512 КБ144 КБ58
STM32G0C1VC, STM32G0C1VEUFBGA100256 КБ / 512 КБ144 КБ94
STM32G0C1VC, STM32G0C1VELQFP100256 КБ / 512 КБ144 КБ94

Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах (толерантные к 5 В помечены FT), токи и номиналы внешних компонентов.

Частые вопросы

Чем STM32G030 отличается от STM32G031?

STM32G030, G050, G070 и G0B0 — линейка Value line, её описывает reference manual RM0454; STM32G031–G0C1 — линейка STM32G0x1 из RM0444. По данным ST у STM32G031 есть LPTIM и LPUART, которых нет у STM32G030. Расположение основных выводов в одинаковых корпусах у них во многом совпадает — списки на страницах микроконтроллеров показывают, какие выводы различаются.

У каких STM32G0 есть USB, CAN FD и USB Type-C Power Delivery?

По таблице 1 RM0444 контроллер USB, два FDCAN, генератор HSI48 и блок CRS есть только у STM32G0B1 и G0C1; контроллеры UCPD для USB Type-C Power Delivery и HDMI-CEC — у G071, G081, G0B1 и G0C1. В линейке Value line USB есть только у STM32G0B0 (RM0454, табл. 1).

Можно ли использовать вывод NRST у STM32G0 как обычный порт?

Да. Вывод называется PF2-NRST: если в байте опций выбрать для поля NRST_MODE режим GPIO, после следующей загрузки байтов опций он работает как линия PF2 — вход, выход, альтернативная функция или аналоговый вход. Сброс тогда приходит только от внутренних источников (RM0444, раздел о системном сбросе).

Что такое версии GP и N у STM32G071, G081, G0B1 и G0C1?

Это два варианта разводки одного микроконтроллера в одном корпусе; в базе ST версия N помечена буквой N в конце обозначения. У STM32G0B1 и G0C1 в версии N появляется вывод VDDIO2 — отдельное питание части линий ввода-вывода, — а набор линий на соседних выводах меняется. У каждой версии в атласе своя страница, а отличия выводов перечислены в разделе «Похожие по выводам».

Что за корпус SO8N у STM32G030J, G031J и G041J?

Восьмивыводной корпус, в котором к одному выводу подключено сразу несколько линий портов: например, у STM32G031J на выводе 1 — PC14-OSC32_IN, PB7, PB8 и PB9. Какая линия работает, задаёт программа настройкой регистров GPIO; таблица выводов на странице микроконтроллера показывает все линии каждого вывода.