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

STM32WL3: субгигагерцовое радио на Cortex-M0+ 64 МГц

STM32WL3 — однокристальные системы STM32 с субгигагерцовым радио: ядро Cortex-M0+ с частотой до 64 МГц и приёмопередатчик для диапазонов вроде 433, 868 и 915 МГц с мощностью до +20 дБм. Здесь — чем различаются STM32WL30, WL31, WL33 и WL3R по даташитам и reference manual RM0511, исполнения только с передатчиком, загрузка и страницы с распиновкой каждого микроконтроллера в каждом корпусе.

STM32WL3 — семейство микроконтроллеров STMicroelectronics с приёмопередатчиком субгигагерцового диапазона: одно ядро Arm Cortex-M0+ с частотой до 64 МГц, флеш-память до 256 КБ и ОЗУ до 32 КБ (DS14221, разд. 2). Радио рассчитано на нелицензируемые диапазоны ISM и SRD, такие как 433, 868 и 915 МГц. С STM32WL у него общая приставка в названии, но не устройство: у WLE5 одно ядро Cortex-M4, у WL55 — Cortex-M4 и Cortex-M0+, оба на 48 МГц, и есть модуляция LoRa, а в перечне модуляций STM32WL3 LoRa нет. В разделе 14 страниц для 14 исполнений в 2 корпусах, 4 линейки: у каждого сочетания микроконтроллера и корпуса — своя страница со схемой выводов и номерами альтернативных функций.

Линейки STM32WL3

Значения в таблице собраны из записей базы ST: память — от наименьшего до наибольшего исполнения. Частота в записях не указана; по даташитам всех четырёх линеек ядро работает до 64 МГц. База ST называет линейки по последней цифре — STM32WLx0, WLx1 и WLx3 (это WL30, WL31 и WL33, а не семейство STM32WL) — и отдельно STM32WL3R.

ЛинейкаЯдро, частотаФлеш-памятьОЗУКорпусаЧем выделяется
STM32WL3RCortex-M0+64 КБ – 128 КБ8 КБ – 16 КБVFQFPN32I²S, AES, RNG, LPUART
STM32WLx0Cortex-M0+64 КБ – 128 КБ8 КБ – 16 КБVFQFPN32AES, RNG, LPUART
STM32WLx1Cortex-M0+64 КБ – 128 КБ8 КБ – 16 КБVFQFPN32, VFQFPN48AES, RNG, LPUART
STM32WLx3Cortex-M0+64 КБ – 256 КБ16 КБ – 32 КБVFQFPN32, VFQFPN48DAC, COMP, I²S, AES, RNG, LPUART

Назначение линеек ST указывает в таблицах заказных номеров: WL30 — линейка модема (Modem line), WL31 — линейка IoT, WL33 — полный набор функций, WL3R — линейка пультов дистанционного управления (Remote control line) (DS14855, табл. 56; DS14836, табл. 61; DS14221, табл. 74; DS15018, табл. 64). По даташитам:

ЛинейкаФлеш-память / ОЗУКорпусаДиапазоны, МГцЧто выделяет
STM32WL3064/8 или 128/16 КБVFQFPN32413–479, 826–958минимальный набор: USART, LPUART, SPI, AES-128 и генератор случайных чисел
STM32WL3164/8 или 128/16 КБVFQFPN32, VFQFPN48413–479, 826–958добавлены 12-битный АЦП и I²C, в корпусе VFQFPN48 — второй SPI
STM32WL3364/16, 128/32 или 256/32 КБVFQFPN32, VFQFPN48413–479 и 826–958 или, с буквой A, 159–185 и 398–464ЖКИ, компаратор, ЦАП, контроллер LC-датчика, приёмник пробуждения LPAWUR
STM32WL3R64/8 или 128/16 КБVFQFPN32276–319, 413–479, 826–958АЦП, I²C, режим UltraDeepstop, свой reference manual RM0551

Источники строк — с. 1–2 и таблицы заказных номеров DS14855, DS14836, DS14221 и DS15018. В таблицах заказных номеров DS14855, DS14836 и DS15018 верхний диапазон записан как 868–958 МГц, а на первой странице тех же даташитов — 826–958 МГц; кроме того, в DS14836 (табл. 61) для WL31 есть вариант с буквой A — 159–185 МГц, которого нет на первой странице и в базе ST. В таблице выше — значения с первой страницы. У WL33 в корпусе VFQFPN32, как и у WL31, один SPI и один I²C (по данным ST). АЦП, I²C1, SPI1 и I²S у WL30 нет: по RM0511 они есть только у WL31 и WL33 (с. 49, примечание 2).

В базе ST есть и записи STM32WL4x, но на st.com нет ни их даташита, ни страниц продукта (проверено 20 октября 2026 года), поэтому на сайте они не публикуются.

Радио: диапазоны, модуляции, мощность

Приёмопередатчик (в документации ST — MRSUBG) работает с модуляциями 2(G)FSK, 2(G)MSK, 4(G)FSK, OOK, ASK, D-BPSK и с расширением спектра DSSS. Скорость в эфире — от 0,1 до 600 кбит/с: до 300 кбит/с при 2-GFSK и до 600 кбит/с при 4-GFSK (DS14221, с. 1 и раздел о радио). По описанию ST радио совместимо с собственными и стандартными протоколами W-MBUS, Sigfox, Mioty, KNX-RF и IEEE 802.15.4g и рассчитано на нормы ETSI EN 300 220 (категория 1), FCC часть 15 и часть 90, ARIB STD T67 и T108. Аппаратный автомат радио сам выполняет прослушивание эфира (Sniff), перескок частоты, работу с малым коэффициентом заполнения и проверку занятости канала перед передачей (DS14836, с. 1). Генератор HSE на кристалле рассчитан на кварц 48 МГц (DS14221, с. 2).

Мощность передатчика зависит от выбранного выхода (DS14221, раздел о радио; так же в DS14855 и DS14836):

Режим передатчикаМощностьТок радиочасти
TXдо +10 дБм8 мА при +10 дБм
TXHPдо +16 дБм—
TX + TXHPдо +20 дБм78 мА при +20 дБм

Ток приёма — 4 мА. Чувствительность при вероятности ошибки 1 %: −132 дБм на 300 бит/с с OOK на 433 МГц, −128 дБм на 300 бит/с и −112 дБм на 38,4 кбит/с с 2(G)FSK на 868 МГц (DS14221, с. 1–2). У STM32WL3R на первой странице даташита для диапазона 276–319 МГц указано до 14 дБм, для двух других — до 20 дБм (DS15018, с. 1), а в таблице характеристик передатчика максимум для 276–319 МГц — 16 дБм (DS15018, табл. 39). В данных ST выходы передатчика называются TX и TX_HP, вход приёмника — RX.

У STM32WL33 есть LPAWUR — отдельный приёмник пробуждения с модуляцией OOK: чувствительность −54 дБм при токе 4 мкА в постоянно включённом режиме (DS14221, с. 1). Он позволяет держать основной приёмник выключенным, пока не придёт сигнал пробуждения.

Питание, режимы сна и такты ожидания

Все четыре линейки питаются от 1,7 до 3,6 В и работают при температуре от −40 до +105 °C (с. 2 даташитов DS14855, DS14836 и DS14221; DS15018, с. 3); встроенный понижающий преобразователь SMPS снижает средний ток (DS14221, разд. 2). Типовые токи этих линеек — 21 мкА/МГц в работе, 960 нА в режиме Deepstop и 14 нА в Shutdown (с. 1–2 даташитов). У STM32WL3R в работе 14 мкА/МГц, а в режиме UltraDeepstop с сохранением 16 КБ ОЗУ — 418 нА при +25 °C; радио, LPUART, RTC и IWDG в этом режиме не работают (DS15018, с. 2). Время работы от батареи при известных токах считает калькулятор времени работы от батареи.

Флеш-памяти STM32WL30, WL31 и WL33 на 64 МГц нужен один такт ожидания — поле WAIT_STATES регистра конфигурации контроллера флеш-памяти (RM0511, 9.3.2).

Исполнения только с передатчиком

Буква X в конце заказного номера STM32WL33 означает исполнение только с передатчиком (TX only version, DS14221, табл. 74), у STM32WL3R — Transmitter only (DS15018, табл. 64). По RM0511 у STM32WL33xx-X работает только передающая часть радио MRSUBG, во всём остальном это обычный WL33 (RM0511, с. 1).

В базе ST у записей STM32WL33 и WL3R с буквой X нет вывода RX — 15-го в корпусе VFQFPN32 и 23-го в VFQFPN48. Корпус с пропущенным выводом атлас нарисовать не может, поэтому страниц у исполнений X пока нет, и в сравнении выводов они не участвуют: набор выводов у них не совпадает ни с одной опубликованной записью.

Выводы STM32WL3: альтернативные функции и загрузка

У STM32WL30, WL31 и WL33 мультиплексор каждой линии порта рассчитан на семь функций: номер AF0–AF6 записывают в регистры GPIOx_AFRL и GPIOx_AFRH (RM0511, 7.3.2); после сброса большинство линий — входы с подтяжкой к питанию, кроме выводов отладки SWD: PA2 (SWDIO) и PA3 (SWCLK) (RM0511, 7.3.1). Для STM32WL3R есть свой reference manual RM0551, его мы не читали. В данных ST у WL33 встречаются номера до AF6, у WL30, WL31 и WL3R — до AF4. Радиовыводы TX, TX_HP и RX, питание радиочасти VDDRF и выводы SMPS (VDDSD, VLXSD, VSSSD, VFBSD) альтернативных функций не имеют. Вход приёмника пробуждения RX_LPAWUR есть только у WL33 (RM0511, с. 49, примечание 1); у WL30 и WL31 на его месте — 14-й вывод корпуса VFQFPN32 и 22-й VFQFPN48 — даташиты указывают NC, вывод не подключён (DS14855 и DS14836, с. 28), а в записях WL3R такого вывода нет.

Вывода BOOT0 у STM32WL3 нет: встроенный загрузчик в ПЗУ запускается, если во время аппаратного сброса на PA10 высокий уровень, иначе стартует программа из флеш-памяти (DS14221, 3.9; AN2606, шаблон 18). Загрузчик работает только через USART (AN2606, табл. 3), тактируется от HSI на 16 МГц, занимает 6 КБ системной памяти с адреса 0x1000 0000, использует последние 3 КБ ОЗУ и сам определяет скорость до 1 Мбит/с (AN2606, табл. 200; DS14221, 3.9). Приём — на PA15 в корпусе VFQFPN48 и на PB14 в VFQFPN32, передача — на PA1. Скорость UART от выбранной частоты считает калькулятор UART.

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

STM32WL3R — Cortex-M0+

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32WL3RK8VFQFPN3264 КБ8 КБ18
STM32WL3RKBVFQFPN32128 КБ16 КБ18

STM32WLx0 — Cortex-M0+

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32WL30K8VFQFPN3264 КБ8 КБ17
STM32WL30KBVFQFPN32128 КБ16 КБ17

STM32WLx1 — Cortex-M0+

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32WL31C8VFQFPN4864 КБ8 КБ32
STM32WL31CBVFQFPN48128 КБ16 КБ32
STM32WL31K8VFQFPN3264 КБ8 КБ17
STM32WL31KBVFQFPN32128 КБ16 КБ17

STM32WLx3 — Cortex-M0+

МикроконтроллерКорпусФлеш-памятьОЗУЛиний ввода-вывода
STM32WL33C8VFQFPN4864 КБ16 КБ32
STM32WL33CBVFQFPN48128 КБ32 КБ32
STM32WL33CCVFQFPN48256 КБ32 КБ32
STM32WL33K8VFQFPN3264 КБ16 КБ17
STM32WL33KBVFQFPN32128 КБ32 КБ17
STM32WL33KCVFQFPN32256 КБ32 КБ17

Перед разводкой платы сверяйте выводы с даташитом своего исполнения: в нём указаны допустимые напряжения на выводах, токи, схемы согласования выходов TX и TX_HP и номиналы внешних компонентов SMPS.

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

Чем STM32WL3 отличается от STM32WL (WLE5, WL55)?

Ядром и радио. У STM32WLE5 одно ядро Cortex-M4, у WL55 — Cortex-M4 и Cortex-M0+, оба на 48 МГц, и у обеих линеек есть модуляция LoRa. У STM32WL3 ядро Cortex-M0+ до 64 МГц, а радио работает с (G)FSK, (G)MSK, 4(G)FSK, OOK, ASK, D-BPSK и DSSS; LoRa в перечне модуляций нет (DS14221, с. 1). Зато у STM32WL33 есть приёмник пробуждения LPAWUR и контроллер ЖКИ, а по описанию ST радио совместимо с W-MBUS, Sigfox, Mioty, KNX-RF и IEEE 802.15.4g.

Что означают буквы X и A в заказном номере STM32WL33?

X — исполнение только с передатчиком (TX only version), A — другие диапазоны частот (DS14221, табл. 74). Без буквы STM32WL33 работает в диапазонах 413–479 и 826–958 МГц, с буквой A — 159–185 и 398–464 МГц. По RM0511 у исполнений X нет только приёмной части радио, остальное как у обычного WL33. У STM32WL3R буква X тоже означает исполнение только с передатчиком (DS15018, табл. 64).

Какую мощность выдаёт передатчик STM32WL3?

До +10 дБм в режиме TX, до +16 дБм в режиме TXHP и до +20 дБм в режиме TX+TXHP (DS14221, раздел о радио; так же в DS14855 и DS14836). При +10 дБм радио потребляет 8 мА, при +20 дБм — 78 мА. У STM32WL3R на первой странице DS15018 для диапазона 276–319 МГц указано до 14 дБм, а для остальных — до 20 дБм; в таблице характеристик передатчика того же даташита максимум для 276–319 МГц — 16 дБм (табл. 39).

Как запустить загрузчик STM32WL3?

Подать высокий уровень на PA10 во время аппаратного сброса: тогда загрузчик в ПЗУ ждёт команд по USART, иначе запускается программа из флеш-памяти (DS14221, 3.9; AN2606, шаблон 18). Приём — на PA15 в корпусе VFQFPN48 и на PB14 в VFQFPN32, передача — на PA1, скорость определяется сама, до 1 Мбит/с (AN2606, табл. 200).

Чем STM32WL33 отличается от WL31 и WL30?

Набором периферии и памятью. WL30 ST называет линейкой модема: корпус только VFQFPN32, из интерфейсов USART, LPUART и SPI. WL31 — линейка IoT: добавлены АЦП и I²C, есть корпус VFQFPN48, и в нём — второй SPI. WL33 — полный набор: ЖКИ, компаратор, ЦАП, контроллер LC-датчика, приёмник пробуждения LPAWUR и до 256 КБ флеш-памяти и 32 КБ ОЗУ против 128 и 16 КБ у WL30 и WL31 (DS14855, DS14836, DS14221).