STMCU小助手
发布时间:2025-2-10 09:56
|
' y, ]7 P7 e; t: p! J% i* r: D: \ 本应用笔记将指导用户完成基于STM32WL系列微控制器构建特定LoRa®应用程序所需的所有步骤。 4 f0 Z) K7 q' W8 R3 F LoRa®是一种无线通信网络,旨在以极低的比特率进行远距离通信,并延长电池供电型传感器的寿命。LoRaWAN®定义了通信和安全协议,此协议会确保与LoRa®网络的互操作性。 STM32CubeWL MCU软件包中的固件兼容LoRa Alliance®规范协议LoRaWAN®,并具有以下主要特性:
STM32CubeWL MCU软件包的固件基于STM32Cube HAL驱动程序。 本文提供了有关带STM32WL55JC的NUCLEO-WL55JC开发板(适于高频段的订购代码为NUCLEO-WL55JC1,适于低频段的订购代码为NUCLEO-WL55JC2)和带STM32WL5M的B-WL5M-SUB1连接扩展板的客户应用程序示例。 $ N$ [8 |7 N6 t) ?9 y5 [! W" W 为了充分利用本应用笔记中的信息并创建应用程序,用户必须熟悉 STM32 系列微控制器、LoRa®技术,并了解低功耗管理和任务排序等系统服务。0 r. P: s b1 s STM32CubeWL在基于Arm® Cortex®-M处理器的STM32WL系列微控制器上运行。 ' K+ O D1 i1 H9 i 1 e7 Y5 Y) \% D+ n# h 注意: Arm是Arm Limited(或其子公司)在美国和/或其他地区的注册商标。6 B5 j9 m$ a6 N) H% B7 ^* d& m STM32CubeWL概述 8 F$ F+ f }1 j0 _5 s STM32CubeWL MCU软件包的固件包括以下资源(参见图1): 7 t% `% X$ C v 板级支持包:
STM32WLxx_HAL_Driver 中间件: - LoRaWAN包含:
- 包含无线电和radio_driver接口的SubGHz_Phy层中间件 , f, i3 G# _6 \0 K LoRaWAN应用程序:
SubGHz_Phy应用程序:, a& H( G" A% w" D
另外,此应用程序还提供与以下设备的高效系统集成:
若需更多信息,请参见第9节。7 x. v% w# _0 |9 l) N& H% U2 }0 z$ o
本节主要介绍SubGHz HAL(未详述其他HAL功能,如定时器或GPIO)。 SubGHz HAL直接位于sub-GHz无线电外设上方(参见图3)。 $ k: y7 O5 @; ]; Q3 U2 y SubGHz HAL驱动程序基于简单的一次性面向指令架构(无完整过程)。因此,未定义LL驱动程序。 此SubGHz HAL驱动程序由以下主要部分组成:
由于HAL API主要基于总线服务通过一次性操作发送指令,因此,除了复位/就绪HAL状态外,不使用功能状 态机。 1 C7 B5 \$ a# P. b 3.1 SubGHz资源 - W2 ]8 z( C& A# I+ {& i3 E 初始化无线电时会调用以下HAL SubGHz API: ) [ Q5 ~; ?0 ?; T
- PWR配置:启用sub-GHz无线电外设的唤醒信号。 - NVIC配置: + S) V$ H. K0 T3 F0 f3 K4 x5 s3 e5 S ☆ 启用NVIC无线电IRQ中断。 ☆ 配置sub-GHz无线电中断优先级。 在stm32wlxx_it.c 文件中会调用以下HAL无线电中断:
3.2 SubGHz数据传输 Set 指令操作在轮询模式下使用HAL_SUBGHZ_ExecSetCmd(); API执行。 Get Status 操作在轮询模式下使用HAL_SUBGHZ_ExecGetCmd(); API执行。 ! R, B2 P! m1 c, G( D- T 读/写寄存器访问操作在轮询模式下使用以下API执行: $ [/ ]+ d& Q. U3 e+ e C
4 BSP STM32WL板 7 f) H0 o+ x( u+ O* P- ? 本 BSP 驱动程序提供了一系列无线电射频服务管理功能,如射频开关设置和控制、TCXO 设置以及 DC/DC. o( `) D7 F( e: j 设置。 6 P; }/ [- _% I, W+ t! ^7 O0 B 注意: 无线电中间件(SubGHz_Phy)通过radio_board_if.c/h 接口文件连接无线电 BSP。当使用定制用户板时,建议执行一个以下选项: # ~, D$ o( R5 \! W ' b8 n9 Z; H8 _( K
- 使用以下信息重命名并更新用户BSP API: ☆ 用户射频开关配置和控制(如引脚控制或端口编号) + [2 A) k$ C' u L1 u8 ~ ☆ 用户TCXO配置 ☆ 用户DC/DC配置 $ K4 T4 n" I* P6 R" H, ~2 P } - 将IDE项目中的STM32WLxx_Nucleo BSP文件替换为用户BSP文件。
4.1 频段 1 b' V+ P5 w9 ~( |, T2 k STM32WL系列上可以使用两种Nucleo板:
如果用户试图在低频段板上运行在868 MHz下编译的固件,预计射频性能会非常差。 $ _. M) U* Z0 x9 s) z 固件不会检查其所在的板的频段。 * p! M3 @7 H0 W& P1 h . G8 K. s3 L4 Y' {; H' X- f, ~ 4.2 RF开关 STM32WL Nucleo板内置一个射频3端口开关(SP3T),使用同一个板即可实现以下模式: ; t3 b/ i/ G, R1 y1 ^* s! V
表3. BSP无线电开关
表4. RF状态与开关配置
产看更多该应用笔记详情,请点击附件下载查看>>
【应用笔记】AN5406 如何使用STM32CubeWL构建LoRa®应用程序.pdf
(2.99 MB, 下载次数: 32)
|
微信公众号
手机版