你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用STM32WB系列微控制器构建无线应用

[复制链接]
STMCU小助手 发布时间:2022-7-10 14:34
引言
; J: z  ^! r3 `本应用笔记旨在指导设计者基于STM32WB系列微控制器,完成构建特定低功耗蓝牙®(BLE) 或802.15.4应用所需的步骤。它汇集了最重要的信息,并且列出了需要处理的方面。
8 {5 O  H. u7 b, J3 z- [: y为了充分利用本文档中的信息进行应用开发,用户必须熟悉STM32微控制器、BLE技术、
# }+ C& w3 g) A802.15.4 OpenThread协议和802.15.4 MAC层,并且必须理解诸如低功耗管理和任务调度等
! g+ E) h/ S& {: d+ v! h, P系统服务
( `  o3 a2 q' j8 y
# r8 g% D4 C% k$ j! f0 n1 参考
4 |4 u1 ^+ T& U) j! X[1] UM2550(1)面向STM32WB系列的STM32CubeWB入门
# l; R) X% c  {[2] RM0434(1) 基于使用FPU的多协议无线32位MCU Arm® Cortex®-M4蓝牙®低功耗和802.15.4无线解决方案
+ j4 _. u, F; }) x) w! q[3] AN5270(1) STM32WBx5 蓝牙®低功耗(BLE)无线接口
! n' w1 U3 s' U/ y: \[4] UM2442(1) STM32WB HAL与底层驱动程序说明  w4 V2 b; @8 z  g: J
[5] UM2288(1) 用于无线性能测量的STM32CubeMonitor-RF软件工具
8 F4 c" q7 X% t9 R3 F+ o+ i[6] AN5185(1) STM32WB系列的ST固件升级服务. a# ]0 A8 V* t5 I3 J9 O. E
[7] 蓝牙®规范 蓝牙核心规范(v4.0、v4.1、v4.2和v5.0)2 F# H0 N$ F8 V2 B
[8] MAC IEEE Std   802.15.4-2011
8 }9 |6 R/ \" G$ m$ k0 H! C) \802_15_4 MAC标准规范9 j3 P& o: }, Q: e+ ]; N/ Y
[9] Thread规范 Thread规范V1.1(Thread组)" _& `4 L% Q6 h# X

: @1 v9 m- S0 S7 u* K2 缩写和缩略语列表0 [* O9 G! Y" m9 d; b7 v# W2 b! Z
& B% S+ b6 b! I, W- v
ACI 应用命令接口$ ?: P4 V& d6 [
ATT 属性协议, x8 M9 _8 F& _* o6 A
BLE 低功耗蓝牙®
+ s1 f* u5 h& a, }3 [CLI 命令行接口
9 L5 h5 u+ c) T1 R0 R% w# ?3 ?7 gCoAP 受限应用协议
8 `. \) u* ~  y3 a* V, \# FCPU1 Cortex®-M4内核
2 [! ~# \: T: z$ t$ A" h+ B. I- X; nCPU2 Cortex®+M0内核
9 _2 {- I1 N3 A- R# A( N' Z" ND2D 器件到器件; o6 O7 ^5 W: X# l$ r5 f) S
DUT 被测器件
' Z$ m7 B8 _3 w; {" YFUOTA 无线固件更新6 `! G7 B4 B1 l# n7 R( F; `0 V
FUS 固件升级服务
! w# \+ _9 i( h8 PGAP 通用访问配置文件
+ L. {% J# X+ K7 ^GATT 通用属性参数文件
! _% s6 T7 w) i7 R7 U5 BHCI 主机控制器接口/ d( p* r% t# V6 J" }" k' e
L2CAP 逻辑链路控制和适配协议. U; U5 K7 |  ^# T/ a
LTK 长期密钥' i9 X) n) i8 b1 f
OTA 无线* N, K4 c# n8 _2 ^% y
PDU 协议数据单元
  j. y, F  t$ L% S$ X( W# oP2P 点对点0 p+ D( B% a" ?2 [9 n5 R3 I
RFU 保留供将来使用
, G; f' Z- s* K) Q7 L* F& z$ ESIG 技术联盟  {. z- f5 h' c$ x% T
SM 安全管理器
" \) r: D  l, P/ h  d4 o! [UUID 通用唯一标识符1 O/ p" F" P: A2 ]2 z  J
7 b  w0 S; K' x6 a$ J! Q  C
3 软件概述
1 k2 I8 Z1 X8 Y$ `1 M% m# z
3.1 所支持的无线协议栈. q" s, j( @5 Z. g$ u
STM32WB系列微控制器基于Arm®(a)内核。$ n0 H* V, o# G/ `
根据目标应用选择要加载的CPU2固件。; O. }% h/ P6 Z  \; u
STM32WB系列微控制器生态系统支持不同的无线协议栈(参见表 1),由应用通过特定接口! |: m1 ?. I# i! z0 R
进行控制,如图 1所示。* n& \7 d1 j$ S1 l
如图 2所示,CPU2可以提供BT HCI标准接口,CPU1上可以运行其他BLE无线协议栈。, X6 n9 c, N! A8 N8 _: u0 j. S: k

# x, L3 L% N5 w" D) m ]ORB33J_C6A[QKXPTV__5NS.png 2 `) T0 l' _) S) }

, U" c( `9 t" M0 j8 j3 U0 T8 p ((P`VAI(F}7UUXE8XP)A%8G.png   }" \# U( i: X
. @% o5 o$ L5 t' k- z* o
3U7T6G9ECEZCLP7ELG@K0[0.png
( n' \9 X1 X8 v: C$ e1 c" g' K  Y8 f# w7 ?/ l( c3 _
3.2 BLE应用( t) v8 I9 m4 U0 \1 r$ C
STM32WB架构分离了BLE配置文件和应用,应用在CPU1上运行,BLE外设提供实时性。
1 c& e/ f$ u9 \+ I/ V; {BLE外设包含了CPU2处理器,其中包含用于处理链路层直到GAP及GAP层的无线协议栈。此外,它还包含了2.4 GHz无线射频部分。+ L0 j% G, B; V4 r: F
CPU1收集并计算要传输到BLE的应用数据。
+ F  m: C% i+ l2 t- K3 UCPU2包含管理所有实时链路层和无线PHY交互所需的LE控制器和LE主机,包括:! t6 C5 |( R' P7 x3 m  N. F
• 低功耗管理器,用于控制低功耗模式& a6 T8 s% c! |1 o
• 调试跟踪工具,用于输出活动的相关信息
3 _* J! }; u( \- ?7 g5 F6 X• 信箱(Mailbox) / IPCC,用于连接BLE无线协议栈(LL、GAP和GATT)
+ N! l$ Z0 W% k1 o- \1 g0 f/ e" g0 @. H
! i- H1 r% {' y* J' Z4 V 5QDRQ6NO[4$_~(93H0{_O`A.png
! ?. R' w/ S2 \' G9 b! w; @4 a" A+ Z4 o2 q* o7 }8 Y

5 }2 I: t0 L. K& i$ k; ]$ m3.3 在HCI层接口之上构建BLE应用* J& A& e* u( q( P" K. G. V1 X* w" }
CPU2 可用作 BLE HCI 层协处理器。在这种情况下,用户要么实现自己的 HCI 应用程序,要么使用现有的开源 BLE 主机协议栈。7 M: ^0 A) j: ^# e! b; n# o7 v6 W, g
大多数 BLE 主机协议栈使用 UART 接口与 BLE HCI 协处理器进行通信。STM32WB系列微控制器的等效物理层是信箱(mailbox),如第 13.2节:信箱(Mailbox)接口所述。
* k& H% @, r- g信箱(Mailbox)为BLE通道和系统通道提供了一个接口。BLE主机协议栈负责构建要通过信箱(Mailbox)上BLE通道发送的命令缓冲区,并且必须提供接口用于报告通过信箱(Mailbox)接收到的事件。除了通过信箱(Mailbox)完成BLE主机协议栈自适应,用户还必须在可以发布异步数据包时通知信箱(Mailbox)驱动程序。
  \/ z" s4 y6 {" e- Q! b% O! d  y系统通道不由 BLE 主机协议栈处理。用户必须实现自定义传输层,以构建要发送到信箱(Mailbox)驱动程序的系统命令缓冲区并管理从信箱(Mailbox)接收到的事件(包括向信箱(Mailbox)驱动程序释放异步缓冲区的通知),或者也可以使用信箱(Mailbox)扩展驱动程序(如第 13.3节:信箱(Mailbox)接口 - 扩展所述),以便在负责构建系统命令缓冲区和管理系统异步事件的传输层之上提供接口。
7 h; H) Y+ k9 bBLE_TransparentMode项目可用作使用信箱(Mailbox)在BLE HCI层协处理器之上构建应用(如第 11.2节:Thread_Coap_DataTransfer所述)的例子。
. W, m) P$ ?6 b. P
9 _4 q, {  [- N$ u5 a3.4 Thread应用
7 s/ t% u6 z2 t) ^3 e6 t  MOpenThread协议栈运行在CPU2内核上,并在CPU1侧导出一组API,以便构建完整的Thread应用。三个CPU2固件支持Thread协议:
/ Y( l6 d- m0 p) E' o4 ^3 ^- e• sm32wb5x_Thread_FTD_fw:在这种情况下,设备支持除边界路由器外的所有Thread角色
3 J  Y- N( ^) t$ F& c% b(例如:主导设备(Leader)、路由器、终端设备和休眠终端设备)。
4 g0 M& M+ F% B0 c" ]' Z• stm32wb5x_Thread_MTD_fw:在这种情况下,设备只能充当终端设备或休眠终端设备)。
4 e$ n. t6 R, R, I* [/ P" r$ S相比于FTD配置,这种配置更节省存储空间。
8 j  N4 O9 A; d• stm32wb5x_BLE_Thread_fw:在这种情况下,设备在静态并发模式下同时支持Thread
( L; \7 A6 V" l0 p# r0 O. b# _. p8 ]( Q(FTD)和BLE(请参考第 3.6节获取更多信息)。
- D( k: f+ {6 a$ B' q7 d$ H) D2 d0 P1 i
3.5 MAC 802_15_4应用" ~8 f& Y# Y/ s
在下载STM32wb5x_Mac_802_15_4_fw CPU2固件时,CPU1可以直接访问802_15_4 MAC层并在这一层之上构建自己的应用。$ ?0 p) L  h, [& _1 c8 l& l. K

; }2 y3 B6 z, B9 ^5 \3.6 BLE和Thread应用并发模式2 `  a- S7 X; {' D- r
STM32WB系列微控制器支持 “静态并发模式”(也称“开关模式”)。通过系统应用命令完成从一种协议到另一种协议的切换。在该模式下,系统在激活另一种协议前禁用正在使用的协议。STM32WB器件在完全停止 BLE无线协议栈后从BLE切换至Thread,反之亦然。可能需要几秒钟的时间完成此类过渡,因为每次都需要重新连接网络。8 f. p' H4 q1 E  P  S' @  _
完整版请查看:附件5 z4 t- z0 W: x" O  `
8 Y: h+ m7 p! O, V) |

使用STM32WB系列微控制器构建无线应用.pdf

下载

4.27 MB, 下载次数: 4

1 收藏 评论0 发布时间:2022-7-10 14:34

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版