№3 / 2019 / статья 2

Новое семейство микроконтроллеров STM32G0

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

Компания STMicroelectronics начала выпуск нового бюджетного семейства микроконтроллеров STM32G0. В данной статье рассматриваются особенности STM32G0, анализируются ключевые отличия между STM32G0 и другим бюджетным семейством STM32F0, а также рассказывается о планах STMicroelectronics по дальнейшему развитию нового семейства.

Появление каждого нового семейства STM32 вызывает повышенный интерес у разработчиков. Микроконтроллеры STM32G0 не являются исключением. Еще бы, бюджетные 32-битные микроконтроллеры с рабочей частотой 64 МГц и малым числом выводов становятся весьма заманчивой альтернативой для 8- и 16-битных процессоров в широком спектре приложений. При этом выражение «с малым числом выводов» оказывается как никогда правдивым – в планах STMicroelectronics значится скорое начало выпуска STM32G0 в 8-выводном корпусном исполнении.

У некоторых пользователей может возникнуть вопрос: зачем нужны STM32G0, если есть STM32F0? Дело в том, что семейство STM32G0 является результатом глубокой модернизации STM32F0, что обеспечивает новым микроконтроллерам целый ряд преимуществ. Необходимо сразу успокоить поклонников STM32F0: по заявлениям STMicroelectronics, поддержка этого семейства продолжится и прекращение выпуска не ожидается.

Место STM32G0 в семействе микроконтроллеров STM32

В настоящий момент номенклатура микроконтроллеров STM32 включает 12 семейств (рисунок 1). Семейства можно условно разделить на 4 сегмента:

  • базовые семейства STM32G0 (ядро Cortex-M0+), STM32F0 (ядро Cortex-M0), STM32F1 (ядро Cortex-M3), STM32F3 (ядро Cortex-M4);
  • малопотребляющие семейства STM32L0 (ядро Cortex-M0+), STM32L1 (ядро Cortex-M3), STM32L4 (ядро Cortex-M4);
  • высокопроизводительные семейства STM32F2 (ядро Cortex-M3), STM32F4 (ядро Cortex-M4), STM32F7 (ядро Cortex-M7), STM32H7 (ядро Cortex-M7);
  • беспроводное STM32WB(ядро Cortex-M4).
Рис. 1. Номенклатура микроконтроллеров STM32

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

Самыми последними с конвейера STMicroelectronics начали сходить представители нового семейства STM32G0. Как видно из рисунка 1, STM32G0 и STM32F0 расположены рядом. Такое соседство не случайно, так как оба семейства представляют бюджетный сегмент микроконтроллеров с небольшим объемом памяти и базовым набором периферии. Естественно, у разработчиков возникает вопрос, чем отличаются эти семейства, и не является ли STM32G0 своего рода «могильщиком» для STM32F0. Ответ на эти вопросы является неоднозначным. Несмотря на высокий потенциал и целый ряд преимуществ STM32G0, производство STM32F0 будет продолжено. При этом STM32G0 расширяет возможности и области применения 32-битных микроконтроллеров.

Микроконтроллеры STM32G0 построены на базе процессорного ядра ARM Cortex-M0+, это первое и одно из наиболее важных отличий STM32G0 от семейства STM32F0, в котором используется ядро ARM Cortex-M0.

Ядро ARM Cortex-M0+ является результатом глубокой модернизации ARM Cortex-M0. При разработке нового процессора основное требование заключалось в существенном повышении эффективности при сохранении высокой производительности. ARM Cortex-M0+ стал первым ARM-процессором с двухуровневым конвейером, в результате чего динамическая потребляемая мощность сократилась примерно на 30% и составила 11,21 мкВт/МГц, в то время как для Cortex-M0 аналогичный показатель составил 16,36 мкВт/МГц. Среди других преимуществ Cortex-M0+ можно отметить новый интерфейс портов ввода/вывода, наличие модуля защиты памяти MPU и прочее.

При производстве STM32G0 используются более совершенные топологические нормы. Это позволяет увеличить объем памяти, уменьшить габариты и повысить уровень интеграции. Первые два пункта наглядно демонстрирует диаграмма, представленная на рисунке 2. Из нее видно, что, в соответствии с планами STMicroelectronics, семейство STM32G0 существенно перекроет возможности STM32F0. Представители STM32G0 при тех же корпусных исполнениях обеспечат вдвое больший объем памяти (521 кбайт Flash и 128 кбайт ОЗУ), а уменьшение размера кристалла позволит создавать 8-выводные корпусные исполнения.

Рис. 2. Семейство STM32G0 обещает более широкие возможности, по сравнению с STM32F0

Рис. 2. Семейство STM32G0 обещает более широкие возможности, по сравнению с STM32F0

Повышение степени интеграции совместно с оптимизацией структуры позволило создать более совершенную периферию. Среди ключевых новшеств можно отметить:

  • повышение скорости встроенных АЦП. Если 12-битные АЦП микроконтроллеров STM32F0 выполняли преобразования за 1 мкс, то для STM32G0 время преобразования занимает 0,4 мкс;
  • появление в составе STM32G0 сразу двух быстродействующих таймеров, способных работать на удвоенной частоте ядра (до 128 МГц);
  • встроенный RC-резонатор STM32G0 обеспечивает точность -2/+1,5% во всем диапазоне рабочих температур -40…85°С. В то же время для STM32F0 погрешность составляет ±5%.

Оптимизация внутренней структуры STM32G0 дала еще один существенный плюс – уменьшение числа выводов питания (рисунок 3). Если в STM32F0 даже в 32-выводных исполнениях присутствовало по две пары выводов VDD/VSS, то во всех корпусных исполнениях STM32G0 (до 64-выводных включительно) для питания предназначена всего одна пара VDD/VSS. Уменьшение числа выводов питания упрощает трассировку и уменьшает число развязывающих конденсаторов, что в свою очередь делает решение более компактным и бюджетным.

Рис. 3. В отличие от STM32F0 новые микроконтроллеры STM32G0 имеют всего одну пару выводов питания (для всех моделей с числом выводов до 64 включительно)

Рис. 3. В отличие от STM32F0 новые микроконтроллеры STM32G0 имеют всего одну пару выводов питания
(для всех моделей с числом выводов до 64 включительно)

Производительность STM32G0 оказывается значительно выше, чем у STM32F0 (рисунок 4). В тесте Drystone микроконтроллеры STM32F0 набирают 38 DMIPS при рабочей частоте 48 МГц (около 0,8 DMIPS/МГц), а STM32G0 демонстрируют пиковую производительность 59,5 DMIPS на частоте 64 МГц (около 0,93 DMIPS/МГц). Преимущество STM32G0 подтверждает и рейтинг CoreMark: 122 у STM32G0, и 106 у STM32F0.

Рис. 4. Производительность STM32G0 по сравнению с STM32F0

Рис. 4. Производительность STM32G0 по сравнению с STM32F0

Главным требованием при разработке процессорного ядра ARM Cortex-M0+ было обеспечение минимального потребления при сохранении производительности. Показатели STM32G0 доказывают, что данная задача была решена. Несмотря на более высокую производительность, STM32G0 потребляют значительно меньше чем STM32F0 (рисунок 5). Это касается работы как в активном режиме, так и в режимах пониженного потребления.

Рис. 5. Микроконтроллеры STM32G0 обеспечивают минимальное потребление

Рис. 5. Микроконтроллеры STM32G0 обеспечивают минимальное потребление

Кроме того, плюсом STM32F0 является богатейшая линейка моделей (около 100 микроконтроллеров), в то время как номенклатура STM32G0 пока ограничена и будет расширяться в течение ближайших полутора лет.

Существующая номенклатура семейства STM32G0

В настоящее время номенклатура семейства STM32G0 насчитывает только два десятка моделей, объединенных в три линейки (рисунок 6):

  • STM32G070 ValueLine – бюджетная линейка;
  • STM32G071 AccessLine – базовая линейка семейства;
  • STM32G081 STM32G0 AccessLines + Encryption – базовая линейка с функциями криптографии.
Рис. 6. Номенклатура и направления развития семейства STM32G0

Рис. 6. Номенклатура и направления развития семейства STM32G0

Линейки STM32G071 и STM32G081 являются наиболее развитыми. В их состав входят полтора десятка микроконтроллеров с рабочей частотой ядра до 64 МГц, объемом Flash 128 или 64 кбайт и объемом ОЗУ 36 кбайт (таблица 1). К услугам пользователей предлагаются различные варианты корпусных исполнений: 28-выводные UFQFPN 28, 32-выводные LQFP 32 и UFQFPN 32, 48-выводные LQFP 48 и UFQFPN 48, 64-выводные LQFP 64.

Таблица 1. Номенклатура и параметры микроконтроллеров STM32G0

Наименование F макс/, МГц Flash, кбайт ОЗУ, кбайт Линии I/O Шифрование Uпит, В Tраб, °C Корпус
STM32G070KB 64 128 36 30 2…3,6 -40…85 LQFP 32
7x7x1,4
STM32G071K8 64 64 36 30 1,7…3,6 -40…85 LQFP 32
7x7x1,4
STM32G071KB 64 128 36 30 1,7…3,6 -40…85 LQFP 32
7x7x1,4,
UFQFPN 32
5x5x0,55
STM32G081KB 64 128 36 30 AES, TRNG 1,7…3,6 -40…85 LQFP 32
7x7x1,4,
UFQFPN 32
5x5x0,55
STM32G070CB 64 128 36 44 2…3,6 -40…85 LQFP 48
7x7x1,4
STM32G071C8 64 64 32 44 1,7…3,6 -40…85 LQFP 48
7x7x1,4
STM32G071CB 64 128 32 44 1,7…3,6 -40…85 LQFP 48
7x7x1,4,
UFQFPN 48
7x7x0,55
STM32G081CB 64 128 36 44 AES, TRNG 1,7…3,6 -40…85 LQFP 48
7x7x1,4,
UFQFPN 48
7x7x0,55
STM32G070RB 64 128 36 60 2…3,6 -40…85 LQFP 64
10x10x1,4
STM32G071RB 64 128 36 60 1,7…3,6 -40…85 LQFP 64
10x10x1,4
STM32G081RB 64 128 36 60 AES, TRNG 1,7…3,6 -40…85 LQFP 64
10x10x1,4
STM32G071R8 64 64 36 60 1,7…3,6 -40…85 LQFP 64
14x14x1,4
STM32G071G8 64 128 36 26 1,7…3,6 -40…85 UFQFPN 28
4x4x0,55
STM32G071GB 64 128 36 26 1,7…3,6 -40…85 UFQFPN 28
4x4x0,55
STM32G081GB 64 128 36 26 AES, TRNG 1,7…3,6 -40…85 UFQFPN 28
4x4x0,55
STM32G071EB 64 128 36 23 1,7…3,6 -40…85 WLCSP 25L DIE
460 P 0,4 MM
STM32G081EB 64 128 36 23 AES, TRNG 1,7…3,6 -40…85 WLCSP 25L DIE
460 P 0,4 MM

На фоне старших семейств STM32 набор периферии STM32G071 кажется достаточно скромным, однако на фоне 8-/16-битных микроконтроллеров он выглядит достаточно внушительно (рисунок 7).

Рис. 7. Структура микроконтроллеров STM32G071

Рис. 7. Структура микроконтроллеров STM32G071

Аналоговая периферия STM32G071 представлена 12-битным ЦАП, парой компараторов и 12-битным АЦП. Число каналов АЦП достигает 16, а время преобразования составляет 0,4 мкс (2,5 миллиона выборок в секунду). При необходимости пользователь может использовать аппаратную передискретизацию для увеличения разрядности измерений АЦП до 16 бит.

Микроконтроллеры STM32G071 предлагают большой выбор таймеров:

  • TIM1 – 16-битный таймер с расширенным функционалом и возможностью формирования четырех ШИМ-сигналов и трех дополнительных комплементарных сигналов для управления инверторами и трехфазными двигателями. Рабочая частота TIM1 достигает 128 МГц (удвоенная частота ядра);
  • TIM2 – 32-битный таймер общего назначения с четырьмя каналами захвата/сравнения;
  • TIM3…TIM6, TIM7…TIM14, а также TIM16 и TIM17 – 16-битные таймеры общего назначения с различным числом каналов захвата/сравнения;
  • TIM15 – 16-битные таймеры общего назначения с рабочей частотой до 128 МГц (удвоенная частота ядра);
  • TIM6 и TIM7 – 16-битные таймеры общего назначения. Эти таймеры не имеют внешних каналов захвата/сравнения. Они используются для управления ЦАП или АЦП, а также в качестве простых таймеров.
  • LPTIM1 и LPTIM2 – 16-битные таймеры для работы в режимах пониженного потребления, вплоть до режима STOP;
  • к этому также стоит прибавить системный 32-битный таймер SysTick.

Коммуникационные интерфейсы в STM32G071 представлены стандартным набором UART/SPI/I²C. Кроме того, на борту этих микроконтроллеров присутствует аппаратный контроллер USB PDI. Интерфейс USB PDI (Power Delivery Interface) был разработан для точного соблюдения параметров электропитания USB-портов. При работе с устаревшими версиями USB были часты случаи, когда потребитель отбирал значительно больше энергии, чем допускалось по спецификации. USB PDI исключает такую возможность. Этот интерфейс позволяет определять параметры потребления во время обмена сообщениями при подключении устройств: роли устройств (кто источник, а кто приемник), профиль источника (напряжение и выходную мощность) и другое.

Представители линеек STM32G071 и STM32G081 отличаются наличием у последних блоков криптографии AES и генератора случайных числе RNG (рисунок 8).

Рис. 8. Структура микроконтроллеров STM32G081

Рис. 8. Структура микроконтроллеров STM32G081

Стоит отметить, что при разработке STM32G0 вопросам безопасности уделялось большое внимание, и данные микроконтроллеры обеспечивают значительный уровень защиты (рисунок 9). Это касается не только защищенного обмена, но и безопасного обновления ПО, защиты памяти от чтения/записи, закрытия процессов при использовании операционных систем и прочего.

Рис. 9. Функции безопасности для STM32G0

Рис. 9. Функции безопасности для STM32G0

Номенклатура бюджетной линейки STM32G0 оказывается более скромной и в настоящий момент включает только трех представителей:

  • STM32G070KB с 32-выводным корпусом LQFP 32;
  • STM32G070CB с 48-выводным корпусом LQFP 48;
  • STM32G070RB с 64-выводным корпусом LQFP

Все перечисленные модели имеют на борту 128 кбайт Flash и 36 кбайт ОЗУ, то есть не уступают по объему памяти старшим линейкам. Однако состав периферии для STM32G070 оказывается значительно скромнее (рисунок 10). Коммуникационные интерфейсы ограничены базовым набором (UART/SPI/I²C). Аналоговая периферия представлена 12-битным АЦП. По сравнению с STM32G071, число каналов DMA было уменьшено до 5, отсутствует ЦАП, компараторы и 32-битный таймер TIM2.

Рис. 10. Структура микроконтроллеров STM32G070

Рис. 10. Структура микроконтроллеров STM32G070

Кроме сокращения периферии, бюджетные микроконтроллеры STM32G070 имеют и целый ряд других ограничений по сравнению с STM32G071 (таблица 2). Они характеризуются более узким диапазоном рабочих напряжений и температур, меньшим быстродействием таймеров TIM1 и TIM15, отсутствием калибровки RC-генератора и так далее.

Таблица 2. Сравнение параметров микроконтроллеров из линеек STM32G0 Access lines и Value line

Параметр Value Line Access Line
Диапазон питающих напряжений, В 2,0…3,6 1,7…3,6
Максимальная температура, °C 85 125
Сброс по питанию POR/PDR POR/PDR/PVD/BOR
Встроенный генератор Не калиброванный, точность 1% Заводская калибровка точность 1%
Vbat + +
Vref+ + +
ЦАП 12 бит +
Компараторы +
USB type-C Power Delivery +
AES/TRNG +
HDMI-CEC +
Режимы пониженного потребления Run, Sleep, Stop, Stand-by  То же что и у Value Line + Shutdown, Vbat
LPUART +
LPTimer +
32-битный таймер +
Максимальная частота для TIM1, TIM15 fcpu fcpu × 2
Дополнительные функции защиты (Securable Area Memory, SFI) +
Назначение вывода Reset Сброс Сброс, вход, выход
Корпусные исполнения S08, TSSOP20, LQFP32, LQFP48, LQFP64 Value + QFN28, QFN32, QFN48, BGA, WLCSP, кристалл

Как видно из рисунка 6, компания STMicroelectronics планирует в ближайшем будущем существенно нарастить номенклатуру STM32G0.

Планы по развитию семейства STM32G0 в 2019 году

В этом году планируется выпуск трех линеек микроконтроллеров: STM32G031, STM32G041 и STM32G030.

Линейка STM32G031 по своим характеристикам должна занять промежуточное место между STM32G071 и STM32G070. Например, набор таймеров у новых микроконтроллеров будет таким же, как и у STM32G071, а вот аналоговая периферия будет состоять только из АЦП (рисунок 11). Объем памяти для STM32G031 и STM32G041 составит 16/32/64 кбайт Flash и 8 кбайт ОЗУ.

Рис. 11. Структура микроконтроллеров STM32G031 (анонс)

Рис. 11. Структура микроконтроллеров STM32G031 (анонс)

Линейка STM32G041 будет отличаться от STM32G031 наличием блоков шифрования AES (рисунок 12).

Рис. 12. Структура микроконтроллеров STM32G041 (анонс)

Рис. 12. Структура микроконтроллеров STM32G041 (анонс)

Многие разработчики с нетерпением ожидают выпуска STM32G031 и STM32G041 в первую очередь из-за появления моделей с малым числом выводов. Так, например, STM32G031J и STM32G041J будут иметь 8-выводной корпус. Кроме того, предполагается выпуск моделей с 20-, 28-, 32- и 48-выводными корпусами.

Можно с большой уверенностью предположить, что появление бюджетных 32-битных микроконтроллеров с малым числом выводов существенно потеснит позиции 8-битных процессоров. Поэтому особое внимание будет приковано в первую очередь к новой бюджетной линейке STM32G030. По своим характеристикам она близка к STM32G070, но имеет ограниченный набор таймеров и уменьшенный объем памяти: 32 кбайт Flash и 8 кбайт ОЗУ (рисунок 13).

Рис. 13. Структура микроконтроллеров STM32G030 (анонс)

Рис. 13. Структура микроконтроллеров STM32G030 (анонс)

Несмотря на ограничения памяти и периферии, характеристики STM32G030 на фоне 8- и 16-битных микроконтроллеров выглядят вполне достойно. К этому следует прибавить высокую производительность 32-битного ядра Cortex-M0, наличие DMA, четыре варианта корпусных исполнений, в том числе 8-выводное. В результате STM32G030 кажется отличной альтернативой для 8-/16-битных систем.

Кроме того, не стоит забывать, что поклонники STM32G030 смогут использовать те же инструменты разработки, что и для других STM32, а это является огромным плюсом с точки зрения как удобства, так и экономии.

Инструменты разработки и отладки

У разработчиков, использующих STM32, есть широкий выбор интегрированных систем программирования (IDE), как платных, так и бесплатных, например, Athollic TrueSTUDIO. При этом у пользователей STM32F0 и STM32L0 был дополнительный повод для радости – бесплатная лицензия Keil ARM, открытая именно для этих семейств. Теперь точно такую же привилегию получают пользователи STM32G0.

Среди огромных плюсов STM32 следует в обязательном порядке упомянуть программу STM32Cube, которая станет незаменимым инструментом и при работе с STM32G0. Кроме того, STMicroelectronics в ближайшее время начнет ударными темпами выпускать различные программные пакеты и примеры программ для этого нового семейства.

Что касается аппаратных средств разработки, то сейчас к услугам разработчиков предлага.тся три отладочных набора: платы NUCLEO-G070RB и NUCLEO-G071RB, а также STM32G081B-EVAL. Платы NUCLEO-G070RB и NUCLEO-G071RB предлагают стандартный набор функций плат NUCLEO (рисунок 14).

Рис. 14. Внешний вид отладочных плат NUCLEO-G070RB, NUCLEO-G071RB

Рис. 14. Внешний вид отладочных плат NUCLEO-G070RB, NUCLEO-G071RB

В видеоролике, приведенном ниже, демонстрируется небольшой пример совместной работы отладочной платы NUCLEO-G071RB, конфигуратора STM32CubeMX и компилятора ARM Keil.

Набор STM32G081B-EVAL представляет собой развитую отладочную платформу с двумя платами расширения, TFT-дисплеем и многочисленными интерфейсами (рисунок 15).

Рис. 15. Внешний вид отладочной платы STM32G081B-EVAL

Рис. 15. Внешний вид отладочной платы STM32G081B-EVAL

Заключение

Новое семейство STM32G0 представляет собой существенно переработанный вариант микроконтроллеров STM32F0. Изменения коснулись технологии изготовления, процессорного ядра, архитектуры системы и возможностей периферии. По сравнению с STM32F0, микроконтроллеры STM32G0 обеспечивают меньшее потребление, увеличенную производительность, расширенный объем памяти и продвинутый функционал периферии.

Маловыводные бюджетные линейки STM32G070 и STM32G030 станут серьезной альтернативой для 8-/16-битных микроконтроллеров. При этом пользователи получат дополнительное преимущество от использования единой экосиcтемы STM32.

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

Рубрики:

О компании ST Microelectronics

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