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