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

【经验分享】STM32WB-硬件介绍

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储
# Q$ r# T8 G) `; S. S+ G& y* C1.1 系统总览
9 h7 z- h1 O4 {* ~! V  P- G
STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。
9 m! @: }; p& t% u1 m+ |
% R" s( \9 j  W5 G
20200930104503435.png

+ u3 J3 j8 }2 m% g; E4 g: C, H; [% Q
% X3 S' Q( N# d1 t# L1.2 STM32WB总线架构
. J; q' m4 v: A# E如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。  B! a$ q- I7 B' t# G! e3 f
% ?3 A# G" y  f: \. }5 e4 q' E9 [
20200930104700362.png

; a& I. [) Y; m7 b( b6 k7 y8 H6 K+ o, ]; p" `1 [
1.3 总线矩阵
( k1 i! c7 `$ W& b0 z0 N( @* |* j2 {) |8 K' F
20200930105113141.png

+ C" d8 p7 m- n% _+ _4 v# A6 m4 u$ Q- @, ^; ?: H" Z. M! J
1.4 存储分布
7 [6 l, i2 b7 X+ ^) P
9 S% U" R" Z; `0 \
20200930105157465.png
" f# k$ E( A9 T8 {

  R1 |4 k3 i$ V, ^1.5 STM32WB闪存特点! q" l' A3 [) [4 _; C! q
共享$ i6 t+ E1 o6 i5 L3 `
闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。8 F1 n# g7 T- u6 X5 \
使用ART加速$ I- d. O6 K5 J
同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。
; E/ s0 X4 A8 h) W5 Z2 Z% ~* C8 V% f! V8 G9 C. v. ~7 t5 h1 w2 C
3级保护. S3 Q  i" [& K7 Z! k; X
级别0(无保护)至级别2(最大保护)
: H  o6 _9 ]! C) s/ }
" @, X5 n) Z/ D1 E8 _; m限制( }' ?+ @' a2 l2 [' t6 u
在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。7 P, c8 E- N  E
0 i$ u$ J8 |" y1 b) E2 ~) J
2 RF射频简介, S7 Z7 d5 O2 ^% z
2.1 RF参数简介

: }& |& n; D; j% x1 p1 g模拟前端
; w/ Y! O' q1 M9 n最大输出功率
1 ^: @' G3 s) u3 y+ C6 d集成巴伦,6dbm发射功率,具有1dbm步进调节
: s/ i1 u# X6 }7 s' G' J专用引脚驱动外部PA,可以获得最大20dbm的输出功率5 H2 g+ g$ I1 s5 C4 ^' S1 r$ T9 b
% n6 |4 ^  v" s* x0 K8 }
接收灵敏度
6 S$ N; s' }2 Q- v0 y: JBLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)
' |7 H/ _" B4 ?4 r- s802.15.4:250kbps @ -100dbm9 A4 K* [/ K4 Q/ e6 ~! X' s
* `& l  [7 D1 U8 V6 T
功耗@3.3V) X! c2 W  }6 |6 O% w+ t
TX:@0dbm:5.2mA
& U- N4 |# g# k5 q: e& P" ZRX:4.5mA
. ~7 Y/ o5 h5 X4 s# L+ Dstop2 with radio in standy (accurate clock LS12):1.8uA
2 ~' |3 ^& [) x1 W9 R
9 r6 z# ]0 u4 [- Z" H3 \1 G* h调制解调器6 Q2 q" W# b, R& S1 J4 i
通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率. f3 q2 X9 S& s
IEEE 802.15.4 :硬件模式支持250Kbps通信速率
, n+ n: v# I" n& x; T0 K7 u: J& Z) k: s+ d
2.2 STM32WB典型外围电路
) F' u' ?  i- v( H1 e9 q6 S1 G# c  c/ x4 q4 J: b
20200930110652529.png

4 o) U. |7 n6 ~$ O3 C9 X# x  P6 k; f; K) g# J! ]/ X+ {
2.3 STM32WB RF输入/输出匹配网络
8 p9 S& C! U, j9 T: r# T$ G2 j: _4 C# d
20200930110754104.png

; j; C" m) Y. x! l& u, P+ x3 C3 k" }
一个Π型滤波网络加50Ω阻抗匹配。
' r( H# U, y1 f5 i
0 k) T2 o1 ^  i8 k( T- P  P" o9 Y( _: |3 电源管理
3 m$ i: V( \( j7 I+ f1 X3.1 供电方案框图
/ K" ?: B/ D/ z1 A7 ]4 k. F8 l! h
如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。
' U) z& f& p$ U3 B( n9 }7 E( a9 a6 d7 g' |/ J/ _1 b- U* g2 K
20200930111004948.png
! ]3 X( C* o" k' a# S! v

1 }- J0 a4 ~! h6 S$ Z& y0 t3.2 内部SMPS

, B1 Q1 A8 k$ ~* q* w9 WSMPS用于降低VDD电源6 C- w5 {$ x6 W% U) M+ N. ]
SMPS为数字核心和射频LDO供电
' V1 h' c; z* j  H当VDD电源高于BOR[1…4]阈值时,使用SMPS模式
6 N8 Y3 f' Y- |/ ?8 i) [6 F   低于此阈值使用旁路模式,支持及时切换# X: e/ ~$ R# s  U$ t+ v! F
   通过HW机制执行关闭,通过SW重新开启' m( x7 Y2 @9 K) r$ r: }  L+ M
SMPS降遵循社保操作模式+ E; E" C% f8 B6 M* h& j5 ]- G
  在Run和stop0模式下为On/ r, p; [$ f9 r2 }! f! g
  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式
) U; @+ x- B( a3.3 电源配置
! w1 Y7 u% f/ f3 |$ @& c. c高性能使用SMPS5 x, n" p( L$ J+ b
   通过添加外部电容和线圈,SMPS用于降低功耗
2 M4 I" |- C: V) ?5 L( A( m4 N8 D1 V8 {( W3 A! [
20200930112611960.png
5 }$ I. u2 h4 |& B" H) K6 t: t2 [
3 m& R' H6 w% n5 R# n) e7 J
低成本今适用于LDO
0 g8 U$ j4 A3 H1 `$ l8 i5 n/ H3 ]   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。
" A0 S6 c8 l% v/ }' c) f- I, @" p. e
20200930112744994.png

9 Q' B, M: ?* e
- u4 x6 t" f" w3.4 SMPS原理图7 F) [# @0 s( j5 H  \1 m, J
! n7 A$ i8 w; d$ {& `
20200930112824925.png
- a- n# _: p5 j# N) W
! L$ d% K7 x) F3 q5 T5 R% f) G6 s
4 核间通信和安全管理
% R* C& w& f% S4.1 HSEM

( |* s% s# z5 ?9 V) L$ `STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。
9 {/ `7 H6 g  @+ e' [, a
1 Q' c0 G/ G4 T管理和访问权限和同步
; O' M" C9 s/ G) D2 R   运行于同一个cpu上的不同进程
9 A- i# n/ j; a; p/ O   不同的cpu
4 F& L0 S! ?/ L32个硬件信号量3 T- e" b1 h6 _! E
两种锁定机制
+ T! o$ |/ l8 h2 a# d$ F. U" L   2-step write, read back lock
+ l- s8 m/ i- Q. U$ s) [. f& x! {( m   1-step read lock( a9 h% }( T! l* ?, f" H2 ~* S
信号量释放产生中断- `$ ^9 {6 {4 f# Z; o( p. n, f
应用优势
; Y* Q: b! v. H& O; o  {# @   防止共享资源访问冲突1 u5 ?# K7 d* R8 a: e
   确保进程之间的同步
# w0 G2 [3 C" t# W   无阻塞信号量处理
* A8 y6 O$ T/ ~4.1.1 HSEM框图
+ n. ^$ p/ i1 [8 K2 PHSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。
, Q! j  s) i+ D$ F& v8 D/ Y9 C* Z$ ^' c) W! b2 D9 H! |' p2 W
20200930141938212.png
( u) S7 ^$ ]: P) J
) B6 D# {+ ?/ b2 H0 h& l, ^# i
HSEM框图
6 f' `6 ]5 M, x0 z' U
& m& d9 ?* h1 q. [5 P
20200930142349269.png

9 k  v3 N: \3 R; ~3 l. w: |- t8 G8 J) J
2步 写-回读锁机制
3 o4 _/ E0 Q" ~
: X$ ]: N1 I$ A
20200930142506381.png
% }; U  \$ k3 d/ `
1步 锁机制
, }) k! \9 G* w1 B* O. P' J
4.1.2 信号量使用 - 共享资源, ~+ j' I$ }& x& o& A% V0 e: I
两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。
( \9 `; u& |. l
9 @9 d* u  d5 J" H( H2 R* }
VS1V)~6GWZ}_BSD0G([J`DF.png
% }& x: W6 x4 y# @) \

) g. i. C, z' K( D- g7 |4.1.3 信号量 - 闪存写入和擦除

& a3 x4 P/ M, W) ^要在闪存种写入,应用程序应该
/ I+ R. T& _: k& b* o/ \   获取Sem2& _" G  M1 K4 a8 k& Y( S
   写入闪存! D  u+ g; V* H' Y
     释放sem27 u1 @9 j9 J/ H# [
擦除扇区,应用程序应该
  d0 u- E7 v& P1 D   获取Sem2
5 p, y% r% o& p& @0 p4 z. K4 A   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2( m7 z, y2 k0 l: k& x7 O
   擦除一个或多个扇区! L0 c/ v8 Y$ N0 `& ^
    释放Sem2
+ ]+ }* C( W- ^' _# W7 ~   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2
, R0 u& U# D  X2 w, x) W4.2 IPCC$ O! Z/ o* L. `
IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。
2 e5 r  t5 q& K. [- U# T) A2 e' B
$ G, H  c, M& U/ Z+ J9 b9 P$ J为通信信道管理提供非阻塞信令
1 P  q/ y% \2 t! r8 t: v   消息可用性中断+ R8 ]$ g/ `5 B. f" \
   流量开启中断通知9 c7 Y& W+ ^% V% P

3 @0 M: r6 [' [; v: W' d3 j1 b通讯方式' Y8 @( D* s- Q0 q' e0 L# S  O( h
   单工:每个方向的专用通道
* n/ t: ]4 E: y   半双工:单个共享双向通道$ t0 N7 `! a% ^5 ^: y+ {  x+ N! x
* ]: U! c7 v2 @9 Y$ W
最多6个双向通道
3 {$ i2 y* N" G1 ~  K( g( ]   通道数据存储在共享ram中
7 L: c/ P0 n/ Z! h2 Q
9 |# U/ ^# L( u5 n' O. u& {
( `1 m2 ~/ Q4 q4 F$ q# `应用优势
; @' t! e+ K9 D6 I7 x" T   非阻塞信息交换& k6 C) m1 E4 g+ f  v4 t* F& n( B
   通道流量控制
* e3 v: `* _) P# D2 d   支持CPU sleep和stop模式
+ p0 D, y- a/ K, A, ?; f$ K
) \. N# F  I- D3 j* s4 A2 v
20200930145138448.png
. E5 O/ Z4 H; l

6 Z* f6 H6 U0 |, m4.3 安全管理
7 n1 ~' X: G, |) c! G* m* k* c
BLE外设可以安全使用以下外设
/ ~3 k- J. u/ \% C# S! D   AES1(仅限IP加密密钥)用于应用程序的加密引擎" K' N: o2 L4 L* e$ ~% L
   AES2(Full IP)用于IEEE802.15.4的加密引擎, Z6 w- Z/ ^$ g0 |! X. u
   PKA(Full IP)用于加密密钥的生成
+ T9 b2 G, r5 e2 B   True RNG(Full IP)用于加密密钥的生成) U" H0 k" ]' s$ ^5 v/ ^1 B

. g( H* [( y6 s8 G& F( ?" [! I& ?对安全IP的访问由HSEM管理' x2 Q0 Y# I% P3 r6 d5 Z: Q
   HSEM x,y,z用于管理共享安全外围设备访问# z" r6 f" v. |0 W- m& [8 T
- E- P3 ]# J+ z2 l
BLE堆栈提供以下加密密钥功能
5 o* Q) R# T4 d  A# ?- Y    密钥存储
% z, ?+ A$ G# V9 Z, ?; A    密钥更新
9 q4 t2 H1 _) B+ E/ G    密钥删除
* k6 ~' X2 x* U    密钥加载(在AES1中)
8 Y  @$ w- |, q) C* Y5 i4.4 Cortex-M0+安全性
- L: ]3 U0 V% O' @2 K( b闪存的上半部分只能由cortex-m0+访问: v; N2 K: V- n( j5 n$ |# `
   由安全选项字SFD和SFSA定义2 z6 ~$ d6 J" i$ d4 K- B
全局安全使能
4 Q. b$ j7 S9 P- N, p: ~4 Z" C   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性
; d5 S9 f, ]  G' E8 p   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性, v. u* w8 u( n* v! S: p8 E6 A
   运行通过SYSCFG使能外设的安全性
6 D$ _( A5 u% w; t% w- P7 E: y# L; h2 x4 U: L: z; N
20200930150204374.png
& m) \7 q2 b  a

9 ~( }8 w" u; C5 Z& ^
赞 收藏 评论1 发布时间:2022-1-4 11:00

举报

1个回答
jcmaxx33 回答时间:2022-1-25 11:04:17

你好 请问文中的RF射频简介是引用官方哪个文档?

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版