10.97M
Category: internetinternet

STM32WL MCU series беспроводная система-на-кристалле

1.

STM32WL MCU series
беспроводная
система-на-кристалле
Передача данных
на большие расстояния

2.

Новое беспроводное семейство
в STM32
Более 60,000 клиентов
Более 6 миллиардов STM32 отгружено с 2007
STM32MP1
3040 + 260 DMIPS
Up to 800 MHz Cortex –A7
209 MHz Cortex –M4
MPU
STM32F2
High Perf
MCUs
Mainstream
MCUs
Up to 398 CoreMark
120 MHz Cortex-M3
STM32F0
STM32G0
STM32F1
106 CoreMark
48 MHz Cortex-M0
142 CoreMark
64 MHz Cortex-M0+
177 CoreMark
72 MHz Cortex-M3
STM32F4
Up to 608 CoreMark
180 MHz Cortex-M4
STM32F3
245 CoreMark
72 MHz Cortex-M4
STM32F7
STM32H7
1082 CoreMark
216 MHz Cortex-M7
Up to 3224 CoreMark
Up to 550 MHz Cortex -M7
240 MHz Cortex -M4
STM32G4
569 CoreMark
170 MHz Cortex-M4
Optimized for mixed-signal Applications
Ultra-low Power
MCUs
Wireless
MCUs
STM32L0
STM32L1
STM32L4
STM32L4+
STM32L5
STM32U5
75 CoreMark
32 MHz Cortex-M0+
93 CoreMark
32 MHz Cortex-M3
273 CoreMark
80 MHz Cortex-M4
409 CoreMark
120 MHz Cortex-M4
443 CoreMark
110 MHz Cortex-M33
651 CoreMark
160 MHz Cortex-M33
STM32WL
STM32WB
162 CoreMark
48 MHz Cortex-M4
48 MHz Cortex-M0+
216 CoreMark
64 MHz Cortex-M4
32 MHz Cortex-M0+
Optimized for mixed-signal applications
Dual-core architecture: Cortex-M4 and M0+
2

3.

Система на кристалле созданная
для универсальности
Беспроводной микроконтроллер большой дальности – один
кристалл, множество возможностей для интернета вещей
На одном кристалле
STM32L4
+
Arm®
+
(G)FSK
(G)MSK
BPSK
=
Первая
в мире!
STM32WL
Cortex®-M0+
3

4.

Сделайте выбор в пользу серии
STM32WL
8 ключевых факторов отличающих STM32WL
(G)FSK
(G)MSK
BPSK
Множество видов
модуляции
Экономия средств
Открытая
двухядерная платформа
Ультранизкое
энергопотребление
256KB
3.6 V
73-pin
1.8 V
48-pin
64KB Flash
Встроенная безопасность
Широкий выбор
вариантов
Законченная экосистема
(передовые средства тестирования,
генератор C-кода…)
Не беспокойтесь!
4

5.

4 модуляции – множество протоколов
- based proprietary
(G)FSK
Proprietary
STM32WL
(G)MSK
BPSKTX
Proprietary
+ proprietary
5

6.

STM32WL5x – богатый набор возможностей,
одно или два ядра, повышенная безопасность
Ключевые характеристики
• Arm® Cortex®-M4 & DSP up to 48 MHz
• Up to 256 KB Flash and 64 KB SRAM
• Arm® Cortex®-M0+ up to 48 MHz
Радио диапазона до 1 ГГц
Multi-modulation: LoRa, (G)FSK, (G)MSK, BPSK
2 embedded power amplifiers:
LoRa RX sensitivity: -148 dBm (SF12, BW=10.4kHz)
RX: 4.82mA and TX: 15mA (at 10dBm) / 87mA (at 20dBm) [3.3V]
Ультранизкое энергопотребление
1 output up to +15 dBm
1 output up to +22 dBm
< 71µA/MHz Active mode (3V - RF OFF)
1 µA Stop2 mode with RAM retention
390 nA Standby mode with RTC
31 nA Shutdown mode
Периферия
3xI²C, 2xUSART, 1xLP-UART, 2xSPI
7x timers + 2x ULP Comparators
Передовые средства безопасности
1.8 to 3.6V voltage range (DC/DC, LDO)
-40 to up to +105°C temperature range
-> Типы корпусов: QFN48, BGA73
6

7.

Линейка продуктов STM32WL Sub-GHz
Flash / RAM
Size (bytes)
256K / 64K
256K / 64K
128K / 48K
64K / 20K
до 29 GPIOs +
экономия на
BOM cost
+
Можно
использовать
2 слоя PCB
Два ядра
(Dual core)
STM32WL5xCC
STM32WL5xJC
STM32WLExCC
STM32WLExJC
STM32WLExCB
STM32WLExJB
STM32WLExC8
STM32WLExJ8
48 pins
7x7mm
UQFN (p=0.5)
73 pins
5x5 mm
BGA (p=0.5)
Одно ядро
(Single core)
До 43 GPIOs
для
максимальной
гибкости
+
Малый размер
корпуса
Примечание:
x = 5 доступны все виды модуляции
x = 4 все виды модуляции за исключением LoRa
Число
выводов
7

8.

Гибкая схема питания FlexPowerControl
Typ with LDO @ VDD = 3 V @ 25 °C
Wake-up
time to RUN
6 cycles
RUN (Range1) at 48 MHz
71* / 115 µA / MHz
RUN (Range2) at 16 MHz
100* / 115 µA / MHz
SLEEP at 48 MHz
28* / 35 µA / MHz
5 µs
STOP 1 (full retention)
4.55 µA**
5.5 µs
STOP 2 (full retention)
1 µA**
29 µs
STANDBY + 32 KB RAM
29 µs
STANDBY
267 µs
SHUTDOWN
VBAT
390 nA**
71 nA*
31*** / 175 nA**
5*** / 200 nA**
* Typical values with SMPS, RF OFF
** with RTC on LSE Bypass
*** All OFF
Возможна
работа Радио
(RF Capable)
Benchmark scores
• High Efficiency
CoreMark score = 162
• Ultra Low-Power Platform
ULPBbench score ≈ 204
8

9.

Ультранизкое потребление & готовность
для IoT-проектов в любых странах мира
Лучшее решение на рынке с поддержкой технологии LoRa
Приемник
Передатчик
Режим
Установки
Величина
Режим
Установки
Величина
Передача
TX
+10 dBm
868/915 MHz
15 mA
DCDC
LoRa
BW_L = 10.4 kHz
SF = 12
-148 dBm
BR_F = 0.6 kb/s
FDA = 0.8 kHz
BW_F = 4 kHz
-125 dBm
Чувствительность
Прием
RX
FSK 4.8kb/s
buck 100mA max
4.47 mA
DCDC
8.18 mA
LDO
Прием
RX
LoRa® 125 kHz
4.82 mA
DCDC
8.9 mA
LDO
Чувствительность
2-FSK
Передача
TX
+20 dBm
868/915 MHz
87 mA
DCDC
Всемирная
совместимость
9

10.

STM32WL: избавляемся от TCXO!
Минимизируйте стоимость компонентов, максимизируйте прибыль
AND / OR
No need for TCXOs:
a simple crystal
(XO) is all you need
10

11.

STM32WL – безопасность и защита
Обезопасьте свое приложение – работоспособность изделия,
ваш код и передаваемые данные
Safety
Back-up clock circuitry
Supply monitoring
Dual watchdog
Flash memory with ECC
(address status register)
SRAM Parity check
Cyclic Redundancy Check
Brown-out reset in all modes
Clock Security System
Backup byte registers
Security
STM32WL
Доступно на версиях
STM32WL5x с двумя ядрами
Tamper detection
Read & Write protection
Memory Protection Unit (MPU)
Software IP Protection
True Random Number Generator
AES and Public Key Accelerator
Unique IDs (64- and 96-bit)
Boot-Lock in user Flash
Secure hardware isolation between CM4 / CM0
Boot selection
Secure Boot code protection
Debug control
Secure Firmware Install
Secure Boot Secure Firmware Update*
Key Management Services*
Crypto Library*
* Software downloadable on st.com
11

12.

LoRaWAN – микросхемы и стеки протоколов
Доступные чипы, готовый к использованию стек
STM32WLE5
STM32WL55
Arm Cortex-M4
Arm Cortex-M4
Application Firmware
+
Radio stack
Application Firmware
Arm Cortex-M0+
Radio stack
+
Advanced security
services
Открытая платформа
Сертифицированный
LoRaWAN стек
Открытый стек
Доступен на сайте st.com/STM32CubeWL
12

13.

Наслаждайтесь Sigfox, где бы вы ни находились
Доступный SoC для глобальной сети
STM32WLE5
STM32WL55
Arm Cortex-M4
Arm Cortex-M4
Application Firmware
+
Radio stack
Application Firmware
Arm Cortex-M0+
Radio stack
+
Advanced security
services
Открытая платформа
Сертифицированный стек от RC1 до RC7
+ Monarch certified!
• Открытый стек
• Доступен на сайте st.com/STM32CubeWL
13

14.

STM32WL и W-MBUS
STM32WL идеально подходит для умных счетчиков энергии
STM32 Partner
STM32WL
Обращайтесь к нашему партнеру –
Stackforce Sales Office
Для получения стека W-MBUS для STM32WL
14

15.

STM32WL и FUOTA
Обновление встроенного ПО по воздуху
Подходят для
массового обновления
полевых устройств
STM32WL
Не зависит от LoRaWAN
Network Server*
Библиотеки FUOTA доступны в
STM32CubeWL
Подходит для LoRaWAN
устройств Class B и C
15
* если Network Server полностью совместим с LoRaWAN

16.

STM32WL – обзор экосистемы
Полностью интегрированы в богатую и проверенную рынком
экосистему STM32
STM32 Nucleo-64
Flexible prototyping
Dev tools
STM32CubeMX
STM32CubeWL
STM32CubeMonitor
STM32CubeProg
STM32CubeIDE + Partners IDEs
Stacks
LoRaWAN (ST)
Sigfox (ST)
Wireless-MBUS / Mioty (Stackforce)
ZETA (Zifisense)
16

17.

Создание прототипа на раз-два-три
STM32WL
NUCLEO-WL55JC
Hardware Evaluation Tool
Nucleo-64 board
STM32CubeMX/STM32CubeWL/
STM32CubeProg & STM32CubeMonitor
Code generation
Power calculation
17

18.

Запомните главное: полная экосистема
Программные средства
Встраиваемое ПО
1. Configuration
STM32Cube MCU Package
2. Development
3. Programming
STM32Cube Expansions &
Function Packs
4. Monitoring
19

19.

Реализуйте ваши идеи
/STM32
@ST_World
community.st.com
www.st.com/STM32WL
wiki.st.com/stm32mcu
github.com/STMicroelectronics
STM32 Wireless – Video Playlist
STM32WL blog article
STM32WL Online Training
209

20.

STM32WL: архитектура и периферия

21.

Минутка юмора

22.

Архитектура & периферия
Ключевые темы
• Архитектура STM32WL
• Новая периферия STM32WL
• Низкопотребляющие режимы STM32WL
23

23.

Архитектура
• STM32WL5 - это два CPU:
• Cortex-M4
• Cortex-M0+
• Sub-GHz радио
Преимущества решения
• Независимая работа двух CPU
• Полностью автономная и
независимая работа двух ядер
реального времени
• 3 автономных подсистемы
• Оптимизировано для низкого потр.
• Cortex-M4 (CPU1)
• Гибкое тактирование системы
• Cortex-M0+ (CPU2)
• Автономное радио
• Sub-GHz радио
• Возможность изоляции радиостека
24

24.

CORTEXTMM0+ < 48MHz
ARBITER
+ ART
32 kB SRAM1
Memory
SubGHz
RF
HSE2
32MHz
BACKUP
LSE
32kHz
RTC3
TAMP
LSI
32kHz
I-WDG
CFI
RCC
HSI 1%
16MHz
PLL1
AHB Shared
TM
CORTEX M4 (DSP)
< 48MHz
EXTI
Power Supply POR/
PDR/BOR/PVD/PVM
HSEM
SYSCFG/COMP/VREF
IPCC
WWDG
RNG
SPI1/I2S1
AES
SPI2
PKA
I2C1
TZSC
I2C2
TZIC
I2C3
DMA2 7 Channel
AHB 1 & 2
MPU
DMA1 7 Channel
DMAMUX
GPIO Ports
A, B, C, H
CRC
DAC1 12-bit
T oC sensor
TIM1
ADC1 12-bit ULP
2Msps / 12 ch
TIM2
LPUART1
LPTIM1
LPTIM2
APB1 & 2
TIM16
USART1
TIM17
LPTIM3
USART2
• 3 автономных подсистемы
• Cortex-M4 (CPU1)
• Cortex-M0+ (CPU2)
• Radio (радиотрансивер)
MSI 5%
4-48MHz
PWR
NVIC
CTI
Power
Managment
SubGHz IP
32 kB SRAM2
Backup Memory
Shared Memory
256 kB
FLASH
JTAG/SWD
MPU
Snoop
NVIC
APBS
CTI
Архитектура
Non
Secure
SPI3
Partial
Secure
Securable
• Общий домен
• Flash, SRAM1 & 2, RCC, PWR, EXTI
• Остальная периферия - общая
• В общем домене:
• IPCC, HSEM, AES, PKA, RNG, GTZC, CFI,
sub-GHz radio
• В домене CPU1
• DMA, TIM, SPI, USART, I2C, WDG, ADC, DAC,
TEMP, RTC, TAMP.
25

25.

Специфические особенности 1/2
• Автономная подсистема sub-GHz радио
• Двухъядерная система
• CPU1 Cortex-M4 (Стартует после сброса)
• CPU2 Cortex-M0+ (Активируется программно из CPU1).
• Однобанковая Flash- и SRAM-память
• Каждая на отдельной шине AHB, с собстенным делителем частоты
• CPU2 Cortex-M0+ допускает изоляцию памяти и периферии
• HSE фиксирован на 32 MHz с возможностью подкл. TCXO.
26

26.

Специфические особенности 2/2
• Debug Cross trigger unit, «двухъядерная отладка»
• Включает SMPS для снабжения ядра и sub-GHz радио
• Продуманная разводка пинов питания и радио
4 dedicated SMPS pins
UFQFPN48
Top view
8 dedicated Radio pins
На других корпусах - аналогично
27

27.

Snoop
SubGHz
RF
32 kB SRAM1
Memory
AHB Shared
< 48MHz
MPU
CFI
LSE
32kHz
RTC3
TAMP
ADC
FSK Modem
LSI
32kHz
Contr
ol I/F
LORA
Modem
HSI 1%
16MHz
PLL1
Mixer
Balun
MN
D
F
E
RFsw
AM
PLL
MN
MSI 5%
4-48MHz
Power Supply POR/
PDR/BOR/PVD/PVM
PDS
XO
RCC
PWR
AHB 1 & 2
Radio Peripheral
BACKUP
EXTI
HSEM
SYSCFG/COMP/VREF
WWDG
SPI1/I2S1
DMAMUX
RNG
GPIO Ports
A, B, C, H
AES
I2C1
CRC
PKA
I2C2
DAC1 12-bit
SPI2
I2C3
T oC sensor
LPUART1
LPTIM1
Приемопередатчик в МК STM32WL
HSE2
32MHz
I-WDG
CORTEXTMM4 (DSP)
DMA2 7 Channel
SPI3
32 kB SRAM2
Backup Memory
NVIC
DMA1 7 Channel
Power
Managment
SubGHz IP
+ ART
Shared Memory
256 kB
FLASH
JTAG/SWD
APBS
SUBGHZ Радио
TIM1
ADC1 12-bit ULP
2Msps / 12 ch
APB1 & 2
TIM2
LPTIM2
USART1
TIM16
LPTIM3
USART2
TIM17
TRX: ISM band 150 – 960 MHz,
LoRa™, from 0.013 to 17.4 kbps
(G)FSK, from 0.6 to 300 kbps
(G)MSK, from 0.1 to 10 kbps
Sigfox BPSK, from 100 bps to 600 bps
Oscillator (HSE&RFPLL source),
Общий контроль питания и энергосбереж.
SPI securable command base interface
Radio Interrupt,
Radio operating mode independent from CPU,
High output power up to +22 dBm
28

28.

SUBGHZ Радио (типовой радио-БОМ)
• Радио (RF)
• Balun to convert from unbalanced to balanced in Rx
(Балун для перевода из небалансного режима в балансный)
Radio Peripheral
• MN: Matching Network (inc. Band pass filter )
• RF Switch for better perf (mandatory
MN
for Sigfox)
AM
Balun
LNA
Mixer ADC
HPA
RFsw
MN
• Согласование антенны (если она не 50 Ом)
LPA
D
F
E
FSK Modem
LORA
Modem
PLL
XO
Control
I/F
PDS
• Антенна (как вариант – PCB-антенна)
• Генератор
Доп. индуктивность,
если используется
SMPS
• TCXO обязательно только для Sigfox
• XO – только для LoRa
29

29.

SUBGHZ Радио
Машина состояния транссивера STM32WL
Сброс
Startup
Sleep
Теплый старт
Холодный старт
Calibration
Standby
FS
Передача
TX
Радио
активно
Прием
RX
30

30.

SUBGHZ Радио
Буфер данных 256 байт RAM
• Буфер TX
• Записывается в коде, вычитывается
аппаратно
• Параметры:
• TxBaseAddr,
• TxBufferPointer
• PayloadLength
В программе
процессора
RAM
На стороне
Sub-GHz
TxBaseAddr +
PayloadLength
TX Data buffer
TxBufferPointer
Write_Buffer()
TxBaseAddr
• Буфер RX
• Записываются аппаратно, читаются
программно
• Параметры:
RX Data buffer
Read_Buffer()
• RxBaseAddr,
• RxStartBufferPointer
• RxPayloadLength
Received
payload
RxStartBufferPointer +
RxPayloadLength
RxStartBufferPointer
RxBaseAddr
31

31.

Схема питания
Система питания - PWR
VDDA
2 COMP
ADC, DAC
VREF+
VREF buffer
CPU1, CPU2
SRAM1,2
VFBSMPS
Voltage Regulators
Digital
Peripherals
Radio sub-system
sub-GHz Radio
HSE
VDDRF
VDDSMPS
SMPS
Flash
VDD
I/O ring
VCORE
Reset block
Temp. sensor
PLL, HSI16, MSI
Standby circuitry
(wakeup, IWDG)
VBAT
Backup domain
LSE, RTC, backup
registers
VDD , VDDSMPS , VDDRF : 1V71 ... 3V6 ; 1V95 min, for SUBGHZ RF operation
VFBSMPS regulated 1.5 V
VDDA from 1.62 to 3.6 V
VBAT from 1.55 to 3.6 V including the RTC and backup registers
32

32.

Режимы энергосбережения - PWR
Typ with LDO @ VDD = 3 V @ 25 °C
Wake-up
time to RUN
6 cycles
RUN (Range1) at 48 MHz
71* / 115 µA / MHz
RUN (Range2) at 16 MHz
100* / 115 µA / MHz
SLEEP at 48 MHz
28* / 35 µA / MHz
5 µs
STOP 1 (full retention)
4.55 µA**
5.5 µs
STOP 2 (full retention)
1 µA**
29 µs
STANDBY + 32 KB RAM
29 µs
STANDBY
267 µs
SHUTDOWN
VBAT
390 nA**
71 nA*
31*** / 175 nA**
5*** / 200 nA**
* Typical values with SMPS, RF OFF
** with RTC on LSE Bypass
*** All OFF
RF
Capable
Benchmark scores
• High Efficiency
CoreMark score = 162
• Ultra Low-Power Platform
ULPBbench score ≈ 204

33.

Питание/тактирование PWR / RCC
CPU1
CPU1 bus matrix
CPU1
SRAM1
PER1.1
CPU2
PER1.2
CPU2
sub-GHz
Radio
system
• 3 подсистемы
• CPU1 Corex-M4 (синий)
• CPU2 Cortex-M0+ (оранжевый)
• Radio system (фиолетовый)
PER1.3
sub-GHz
PER1.N
• Всегда тактируется (зеленый)
• Независимые режимы
Shared bus matrix
SUBGHZSPI
• CRun
Shared
AES2
RNG
PKA
IPCC
HSEM
FLASH
SRAM2
EXTI
RCC
PWR
• CSleep
• CStop
• Периферия аллоцируется
на каждый CPU через RCC
34

34.

Питание/тактирование PWR / RCC
Общие режимы питания процессоров: автоматическое управление
• Каждый CPU может переходить в свой режим энгергопотребления
(Stop0, Stop1, Stop2, Standby, или Shutdown).
• Каждый CPU определяет источники пробуждения.
• Когда оба CPU входят в WFI или WFE, спец. HW механизм
синхронизирует эти запросы, и для системы выбирается общий
(наиболее активный) режим
• При пробуждении каждого из CPU, второй CPU не пробуждается
• Когда STM32WL5 просыпается из состояния Stop от какого то из источников
пробуждения, то лишь CPU, зарегистрированный за этим источником, просыпается,
а другой остается в WFI (или WFE) нетактируемым
• Когда STM32WL5 выходит из состояния Standby по сигналу от источника, который
был закреплен за конкретным CPU, только этот CPU и пробуждается, при этом
второе ядро продолжает находиться в сброшенном состоянии
35

35.

Связь SUBGHZ и PWR
SUBGHZ управляет режимами питания
• Sub-GHZ радио само управляет режимами питания своих подсистем
• Sub-GHz радио может автоматически просыпатьcя по сигналу
низкопотребляющего таймера или по инициативе CPU
• Sub-GHz радио не влияет на режимы работы обоих CPU. Радио может
быть полностью активно, когда процессоры нах-ся в Stop или Standby
• Sub-GHz может пробуждать процессор из Stop/Standby с помощью
специальных прерываний
36

36.

Система питания - PWR
• Повышенная производительность при спользовании SMPS
• Добавив внешнюю индуктивность, можно использовать SMPS для снижения потребления
• SMPS может быть использован для обеспечения питания VDD , с его цифровой периферией
и SUBGHZ (typ. 1V5)
• Эконом-вариант с LDO
• Без внешней индуктивности SMPS не доступен. Вместо него LDOs напрямую питают VDD
• Обратная сторона этого решения – более высокое энергопотребление системы
Конфигурация с SMPS
Full Vdd range [1.62..3.6V]
High efficiency SMPS
Конфигурация с LDO
VDD
VDD
VDDSMPS
VDDSMPS
LDO/
SMPS
VLXSMPS
VLXSMPS
ИЛИ
VFBSMPS
VDDRF1V5
RF
LDO
MR
LPR
Full Vdd range
[1.62..3.6V]
Low BOM
Low noise
LDO
VFBSMPS
VDDRF1V5
RF
LDO
MR
LPR
37

37.

Системы сброса и тактирования - RCC
• Блок Reset and Clock Controller (RCC)
позволяет осуществлять:
System Reset
Control
NRST
OSC32_IN/OUT
• Тактирование периферии ядер
• PLL-, кварцевые и RC-генераторы
to processors and peripherals
HSI16
Clock gating control
MSI
Clock distribution
PLL
peripheral kernel
clocks
to peripherals
Register Interface
rcc_HSE32css
_irq
rcc_lsecss_irq
• CPU1, CPU2 и шинная матрица
LSE
LSI
rcc_irq
• Генерацию необходимых тактирований
HSE32
OSC_IN/OUT
AHB
to processors
and peripherals
RCC
• Разрешение и запрещение тактирования
• Сброс отдельных блоков и всей системы
Преимущества
Гибкость в выборе источников тактирования для
достижения точности частоты такт-я при мин. потребл.
Раздельное управление тактированием для обоих
CPU
Безопасное и гибкое управление сбросом.
38

38.

Большинство клоков на процессоры и шины индивидуально разрешаются на каждый
CPU. Регистры RCC_AHBxENR и RCC_APBxENRy привязывают периферию к CPU1.
RCC_C2_AHBxENR and RCC_C2_APBxENR - к CPU2.
• Системная периферия:
HCLK1 bus matrix
CPU1
CPU1
PER1.1
CPU2
PER1.2
CPU2
• PWR, RCC, EXTI, FLASH,
SRAM1 and SRAM2
• Активна для обоих CPUs.
PER1.3
Sub-GHz
RADIO
PER1.N
SUBGHZ
SPI
Shared
AES
RNG
PKA
HSEM
IPCC
GTZC
FLASH-IF
FLASH
SRAM1
SRAM2
EXTI
RCC
CPU1
CPU2
• Выделяемая периферия:
• Flash interace, IPCC, PKA,
RNG, AES2, SUBGHZSPI,
PERn.m
• Назначается на CPU1 или
CPU2
• Общая периферия
HCLK3 bus matrix
PWR
RCC / PWR
• Включаются только необходимые
CPU, шинные матрицы и
периферийные блоки
39

39.

Блок тактирования RCC / TCXO
Термокомпенсированный кварцевый генератор
• Внешний TCXO
• Питается от специального пина PB0-VDDTCXO
• Разрешается, через HSEBYPPWR
VDDRF
LDO
TCXO
PB0 GPIO
HSEBYPPWR
HSERDY
HSEclk
PB0-VDDTCXO
0
VDD TCXO
HSEON
Radio control
1
OSC
Control
tcxoon
oscon
OSC
HSE32
en
OSC_IN
TCXO
R
CLK
OSC_OUT NC
RDY
Control
clk
40

40.

Низкочастотный RC генератор - RCC / LSI
32kHz LSI с функцией подстройки частоты
• Ультра-низкопотребляющий LSI (работает во всех режимах, кроме
Shutdown и VBAT)
• Может быть использован RTC, LPTIMs, и IWDG (в радио не может быть использован)
• Подстройка через HSE32 и TIM16.
LSI 32 kHz
Initial: ± 1.6 %
Точность (typ.)
Over-temperature: ± 1.5 %
Over VDD: +0.1 / -0.2%
Потребление (typ.)
110 nA
41

41.

Тактирование Радио - RCC / SUBGHZ
Радио автономно
• Радиоприемопередатчик не нуждается в обслуживании CPU
• Напрямую управляет HSE32
• Необходимые клоки автоматически включаются для нужд радиотракта
• Как внутренние, так и внешние генераторы, делители и проч.
42

42.

STM32WL Lora Phy демонстрация-лаба
Передаем данные «точка-точка»

43.

Точка-точка - P2P
Что мы изучим: некоторые базовые
принципы
• Изучим реальный проект радиосвязи на
STM32WL
• Проприетарный протокол на Lora
• Секвенсор (Sequencer) для экономии энергии
• Оценка занятости канала
44

44.

Модель P2P: network
Node periodically sends, if RF
channel is free, following data:
- Node ID: 1 byte,
- Temperature: 1 byte,
- Frame Sent Counter: 2 bytes,
- Frame Ack Counter: 2 bytes.
- App log is printed out: VCP,
115200,8,N,1,
- Alternative frame format is
possible: user defined text
Node (attendee)
Base Station (trainer)
ID,TS,FSent,Fack \ user text
„ACK” (0x41,0x43,0x4B)
Base Station receives data and
send back, if RF channel is free,
the acknowledge frame:
- Ascii string: „ACK” is send back,
- App log is printed out:
VCP,115200,8,N,1
45

45.

Демонстрация примера P2P
Prepare Base Station: connect to the PC one of the Nucleo-WL board and download the binary
…\STM32WL_WS\Hands-on\Attendee_resources\SubGHz_Phy_Base_Station.bin
You can just copy/paste the binary file from WS repository to ST-Link debugger disk drive instance
using Windows Explorer
Source code of Base Station project is in below folder of the WS repository
…\Hands-on\Point2Point_Phy\Projects\NUCLEO-WL55JC\Applications\SubGHz_Phy\P2P_Base_Station
46

46.

Демонстрация примера P2P
Start Nucleo VCP terminal: 115200,8,N,1 and test if Base Station board is working,
press Nucleo-WL reset button when connected
When Base Station board is working, disconnect the board from the PC
47

47.

Демонстрация примера P2P: параметры радио
File: subghz_phy_app.h
#define
#define
#define
#define
RF_FREQUENCY
TX_OUTPUT_POWER
LORA_BANDWIDTH
LORA_SPREADING_FACTOR
868000000 /* Hz */
10
/* dBm */
0
/* [0: 125 kHz, 1: 250 kHz, 2: 500 kHz */
7
/* [SF7..SF12] */
#define
#define
#define
#define
RF_CHANNEL_FREE_TRIALS_MAX
RF_CHANNEL_FREE_RSSI_TRESHOLD
RSSI_SENSING_TIME
CS_BACKOFF_TIME_UNIT
5
-80
10
20
/* dBm */
/* ms */
/* ms */
48

48.

Демонстрация примера P2P: секвенсор
Low Power-приложение: работает на событиях
Start
Event
Register Task
Set Task
Sequencer
Reset Task
Idle Task
LPM Manager
Application
Enter LPM
Execute Task
49

49.

Демонстрация примера P2P: секвенсор
Регистрация задачи
UTIL_SEQ_RegTask((1 << CFG_SEQ_Task_Sensor_Process),0,Sensor_Process);
Запуск цикла секвенсора
UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
Активация задачи в функции «коллбака» события
static void OnTxDone(void)
{
State = RX_START;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_Sensor_Process), CFG_SEQ_Prio_0);
}
Обработка бездействия секвенсора (переопределяемая функция)
void UTIL_SEQ_Idle(void)
{
UTIL_LPM_EnterLowPower();
}
50

50.

P2P: пример процесса «Сенсор» & FSM
Event / Callback
OnTimerTxEvent
FSM state
TX_START
Action
TX under CS
SLEEP MCU
OnTxDone
RX_START
RX
SLEEP MCU
OnRxDone
RX_DONE
RF SLEEP
SLEEP MCU
OnRxTimeout
OnRxError
RX_TO
OnTxTimeout
TX_TO
RX_ERR
51

51.

P2P: Channel Sensing - оценка занятости канала
Этот механизм введен для минимизации
коллизий в канале радиообмена
Start
RX: integrate RSSI
RSSI < Trsh
Y
TX
N
Wait backoff time
Y
Trial < Max
N
Stop
52

52.

P2P: открываем проект в STM32CubeIDE
Prepare Sensor node: connect to the PC 2nd Nucleo-WL and open project using CubeIDE
File → Open Projects from File System...
…\Hands-on\Point2Point_Phy\Projects\NUCLEO-WL55JC\Applications\SubGHz_Phy\P2P_Sensor\STM32CubeIDE
53

53.

P2P: устройство проекта в STM32CubeIDE
App lower & higher layer
Open in editor then put the cursor on subghz_phy_app.h
and press F3 (open relevant file in editor as well)
Core: main.c , etc.
HAL library
Phy higher & lower layer
Low-Power Manager
Sequencer
Software timers
54

54.

P2P: модификация
File: subghz_phy_app.h
#define
#define
#define
#define
#define
#define
RX_TIMEOUT_VALUE
TX_TIMEOUT_VALUE
BUFFER_SIZE
LED_PERIOD_MS
LED_ERROR_PERIOD_MS
TX_PERIOD_MS
2000 /* [ms]
3000 /* [ms]
64 /* Define
100
500
10000 /* App
#define TCXO_WORKAROUND_TIME_MARGIN
50
#define
#define
#define
#define
5
-70
10
20
RF_CHANNEL_FREE_TRIALS_MAX
RF_CHANNEL_FREE_RSSI_TRESHOLD
RSSI_SENSING_TIME
CS_BACKOFF_TIME_UNIT
#define NODE_ID
*/
*/
the payload size here */
TX duty cycle */
/* 50ms margin */
/* [dBm] */
/* [ms] */
/* [ms] */
(uint8_t)(0x01)
/* Node address */
Модифицировать NODE_ID по инструкции
ведущего
55

55.

P2P: hands-on – разбираемся в исходнике
File: subghz_phy_app.c
Sensor_Process task implementation
static void Sensor_Process(void)
{
int16_t temperatureDegC;
uint32_t i,backoffTime,carrierSenseTime;
int16_t rssi;
bool isChannelFree = true;
switch (State)
{
case TX_START:
temperatureDegC = GetTemperatureLevel();
i = 0;
#if 1 /* Byte data format */
Buffer[i++] = NODE_ID;
Buffer[i++] = temperatureDegC & 0xFF;
Buffer[i++] = (temperatureDegC>>8) & 0xFF;
Buffer[i++] = (FrameSentCnt>>8) & 0xFF;
Buffer[i++] = FrameSentCnt & 0xFF;
Buffer[i++] = (FrameAckCnt>>8) & 0xFF;
Buffer[i++] = FrameAckCnt & 0xFF;
#endif
.
.
.
}
Callback examples
static void OnTimerTxEvent(void *context)
{
State = TX_START;
UTIL_TIMER_Start(&timerTx);
UTIL_TIMER_Start(&timerLedTx);
SYS_LED_On(SYS_LED_BLUE);
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_Sensor_Process), CFG_SEQ_Prio_0);
}
.
.
.
static void OnRxDone(uint8_t *payload, uint16_t size, int16_t rssi,
int8_t snr)
{
BufferSize = size;
memcpy(Buffer, payload, BufferSize);
RssiValue = rssi;
SnrValue = snr;
State = RX_DONE;
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_Sensor_Process), CFG_SEQ_Prio_0);
}
56

56.

P2P: hands-on
1. Build
5. Reset MCU
2. Debug
3. Stop debug when MCU is flashed
4. Start Nucleo VCP terminal: 115200,8,N,1
6. Follow terminal log
57

57.

STM32WL
Радиомодуль
Олег Пушкарев
КОМПЭЛ

58.

Готовый дизайн
радиомодуля
• Микросхема STM32WL QFN48
• Размер платы 34 х 60 мм
• Число слоев платы – 2 или 4
• Проект Altium Designer
• Гербер-файлы
• Перечень компонентов (BOM)
• Доступны 4 версии схемы
59

59.

Схема радиомодуля
60

60.

Ссылки на документацию
будут размещены на странице вебинара
https://www.st.com/content/st_com/en/search.html#q=MB1720-t=resources-page=1
https://www.st.com/content/st_com/en/search.html#q=MB1791-t=resources-page=1
61

61.

STM32WL
Практические тесты
Олег Пушкарев
КОМПЭЛ

62.

Используем пример AT_Slave (описание в документе AN5481)
63

63.

Проверка выходной мощности
Установить частоту, тип модуляции (здесь FSK), выходную мощность и т.д.
AT+TCONF=868000000:10:4:12:4/5:0:0:1:16:25000:2:3 <CR>
Далее
AT+TTONE <CR>
Остановить генерацию
AT+TOFF <CR>
64

64.

Обмен с сетью LoRaWAN
RESET
[2022-02-26_10:57:39:063]APP_VERSION:
V1.1.0
[2022-02-26_10:57:39:063]MW_LORAWAN_VERSION: V2.3.0
[2022-02-26_10:57:39:063]MW_RADIO_VERSION: V1.1.0
[2022-02-26_10:57:39:063]###### OTAA ######
[2022-02-26_10:57:39:063]###### AppKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:39:063]###### NwkKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:39:063]###### ABP ######
[2022-02-26_10:57:39:329]###### AppSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:39:329]###### NwkSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:39:329]###### DevEui: 00:80:E1:15:00:0A:9A:CA
[2022-02-26_10:57:39:329]###### AppEui: 01:01:01:01:01:01:01:01
[2022-02-26_10:57:39:329]###### DevAddr: 00:0A:9A:CA
[2022-02-26_10:57:39:329]ATtention command interface
[2022-02-26_10:57:39:424]AT? to list all available functions
AT+BAND=? – по умолчанию стоит европейский диапазон
[2022-02-26_10:57:43:492]5:EU868
AT+JOIN=0 – присоединение к сети
[2022-02-26_10:57:45:944]OK
[2022-02-26_10:57:52:105]+EVT:JOINED
AT+SEND=5:1:33 – отправляем данные с запросом подтверждения
[2022-02-26_10:57:52:105]OK
[2022-02-26_10:57:57:645]18s786:TX on freq 868900000 Hz at DR 0
[2022-02-26_10:57:57:645]OK
[2022-02-26_10:57:58:775]19s943:MAC txDone
[2022-02-26_10:57:59:845]20s977:RX_1 on freq 868900000 Hz at DR 0
[2022-02-26_10:58:01:021]22s128:MAC rxDone
[2022-02-26_10:58:01:021]+EVT:SEND_CONFIRMED
[2022-02-26_10:58:01:021]+EVT:RX_1, DR 0, RSSI -85, SNR 7
AT+BAND=9 – переключаемся на RU_864*
[2022-02-26_10:57:43:492]OK
[2022-02-26_10:57:45:736]###### OTAA ######
[2022-02-26_10:57:45:736]###### AppKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:45:736]###### NwkKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:45:736]###### ABP ######
[2022-02-26_10:57:45:736]###### AppSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:45:736]###### NwkSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C
[2022-02-26_10:57:45:944]###### DevEui: 00:80:E1:15:00:0A:9A:CA
[2022-02-26_10:57:45:944]###### AppEui: 01:01:01:01:01:01:01:01
[2022-02-26_10:57:45:944]###### DevAddr: 00:0A:9A:CA
* В проекте сменить #define REGION_RU864
в файле set lorawan_conf.h
65

65.

Попытки передачи на 2 каналах
[2022-02-26_11:02:13:565]OK
[2022-02-26_11:02:14:849]276s002:MAC txDone
[2022-02-26_11:02:15:908]277s038:RX_1 on freq 869100000 Hz at DR 0
[2022-02-26_11:02:16:121]277s235:IRQ_RX_TX_TIMEOUT
[2022-02-26_11:02:16:121]277s236:MAC rxTimeOut
[2022-02-26_11:02:16:909]278s038:RX_2 on freq 869100000 Hz at DR 0
[2022-02-26_11:02:17:121]278s235:IRQ_RX_TX_TIMEOUT
[2022-02-26_11:02:17:121]278s236:MAC rxTimeOut
[2022-02-26_11:02:18:692]279s822:TX on freq 868900000 Hz at DR 0
[2022-02-26_11:02:19:993]281s142:MAC txDone
[2022-02-26_11:02:21:050]282s177:RX_1 on freq 868900000 Hz at DR 0
[2022-02-26_11:02:21:261]282s375:IRQ_RX_TX_TIMEOUT
[2022-02-26_11:02:21:261]282s375:MAC rxTimeOut
[2022-02-26_11:02:22:047]283s177:RX_2 on freq 869100000 Hz at DR 0
[2022-02-26_11:02:22:259]283s375:IRQ_RX_TX_TIMEOUT
[2022-02-26_11:02:22:259]283s375:MAC rxTimeOut
[2022-02-26_11:02:24:389]285s510:TX on freq 869100000 Hz at DR 0
66

66.

LoRaWAN в России
На основе материалов из открытых источников
и информации от компаний

67.

Карта покрытия LORAWAN
• ЭР-Телеком является единственным от России членом технического комитета LoRa Alliance*,
что позволяет ему оказывать влияние на развитие стандарта
• В 2018 году ЭР-Телеком запустил первую в России сеть промышленного IoT федерального
охвата во всех с населением 300+
• IoT-сеть ЭР-Телеком зарегистрирована в едином списке сетей операторского класса и имеет
международный NetID–52, обеспечивающий возможность предоставлять роуминг
68

68.

Характеристики LoRaWAN-сети
Москва
130+ базовых станций
~250 000 LoRaWAN-устройств
Частотный план: 868.9, 869.1 : 864.1, 864.3, 864.5, 864.7, 864.9
Более 2 млн пакетов в сутки
Рост общего трафика в Москве

69.

Компания Лартех
• Основана в 2015 в Санкт-Петербурге
• Разработчик HW/FW, производитель, интегратор
• LoRaWAN modules, SX1272/Cortex-M0+/Cortex-M4/SoC based
• Electricity/water/heat/gas meters in partnership with leading manufacturers
• 816 687 meters in the field (Q3 2021)
• Разработчик Middleware
• Meritorious stack
• LPWAN.DLMS
• Разработчик платформы Sophrosyne
• LoRaWAN Network Server
• SAAS/PAAS
• LPWAN.Metering
• Сервисы
• Network planning department
(~1000 coverage prediction calculations Q3 2021)
• 2700 LoRaWAN gateways under control
70

70.

Реализуйте ваши идеи
Вопросы по техническим характеристикам
и особенностям работы компонентов
направляйте своему менеджеру Компэл
или по адресу: msk@compel.ru
Заказы на поставку компонентов от 1шт.
оформляются здесь: www.electronshik.ru
Просчитать оптовую поставку или заказать
образцы поможет ваш менеджер Компэл
или специалист по адресу: msk@compel.ru
71
English     Русский Rules