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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储
0 g+ u6 b: k  {; v3 J3 l6 E1.1 系统总览

  t# q' a  ]! h/ oSTM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。1 l9 `2 H, l2 P, [- M# Q' m! {

, A7 @0 T6 O& D6 o8 @% J" A, D7 A
20200930104503435.png
8 [, j4 m5 y4 p, m) K' M
) k  B0 Y7 F- z" T4 P! z
1.2 STM32WB总线架构
9 l" T( K5 d' P8 U+ u如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。- K0 z6 l/ h1 U% ?/ ^4 N9 K
! Q9 I2 G: h) L
20200930104700362.png

* K, {* d! h" k, x* f8 `7 m- U8 ]/ B# w5 C
1.3 总线矩阵
" p% E  r) ^# _+ |: ]8 x
7 h4 L- c: k* P7 C  w
20200930105113141.png

% y- l5 {8 x/ F5 o( k5 @
& h5 q7 B* D+ \6 E2 \, t* I1.4 存储分布
) \& r1 B, ~3 k/ Q: r# e. T4 S1 I: z
20200930105157465.png

/ U" ?/ q' F  d, \4 T9 i& k  ^% X8 Q9 F6 L# \
1.5 STM32WB闪存特点
$ U& a* o' n; m/ k. Z$ o) `共享9 R; y+ [5 m$ Z# a$ E5 j
闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。1 k2 Z% m: z$ @% f. g; ^
使用ART加速
3 C: e; e6 B4 f5 t3 J同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。, R; r  @+ s% @  L% l: n
* ~1 [( T, m( _, n
3级保护9 ]1 Y- E1 M& E" K9 q- l/ G
级别0(无保护)至级别2(最大保护)
6 R# ]- w5 s' ?2 @; b4 I/ V1 L7 Z% w4 \
限制
1 E2 Q" W5 ]1 C在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。
/ M, a: O+ M9 ]6 j' l0 R  E6 X. V9 p/ O% ^! E, L! `' w
2 RF射频简介
1 c9 ~& E8 w" s$ X# r3 B% o. N9 Z2.1 RF参数简介
; i6 }) [, S" h: Y! _
模拟前端) k" T: n; p. h& \' H+ L
最大输出功率
. ]* {# B! w( h: @7 D集成巴伦,6dbm发射功率,具有1dbm步进调节1 n+ p; I, i4 _; \
专用引脚驱动外部PA,可以获得最大20dbm的输出功率" |5 k8 y1 N8 s% Y& C$ p2 Z

3 V; n, H  J% i. ?$ x5 z2 m# k& ?接收灵敏度
8 U; B  h* S6 o- [6 ABLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)
7 C  y" |2 S6 I# [802.15.4:250kbps @ -100dbm- ~. F0 F$ g) L, C
$ `2 N( z# |7 G
功耗@3.3V
3 O: E2 s+ Z! f0 t" zTX:@0dbm:5.2mA9 |4 F/ ^' Q6 I
RX:4.5mA
/ a6 r: V9 W( [0 y% n+ O" Q$ l& a- ?stop2 with radio in standy (accurate clock LS12):1.8uA
9 [; o, Q9 t( t( P/ H
6 n0 a' m: d8 L+ ]- X3 ?调制解调器
4 z4 @6 i& e, @1 z通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率
% M" ]9 ~+ |6 s+ J  B4 H. q+ ?0 N- Y% FIEEE 802.15.4 :硬件模式支持250Kbps通信速率
' e  y( v; j% B0 S) V( B" p/ T9 `" i8 N. h: j
2.2 STM32WB典型外围电路
7 g: o7 Y: y8 ~" r: b3 H: \$ k$ H1 K1 _3 f. b" T# w
20200930110652529.png
. i7 a# c) J% [

' C0 D, u7 ]# t1 Q# L( W& @2.3 STM32WB RF输入/输出匹配网络6 K- T0 A8 H6 N4 d9 Q4 ^7 h' I) c4 h
4 E' w2 L2 C$ F+ q
20200930110754104.png
, l4 J, I: {1 [- M
7 R9 D1 r- X7 y9 u) a5 L
一个Π型滤波网络加50Ω阻抗匹配。( i$ K# t! M1 t; g3 k
" Q. t7 f, N; l8 a5 s# N! v
3 电源管理; u" g5 {% b8 Q8 j7 `
3.1 供电方案框图

1 t% k& i  k8 z如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。5 F9 D" P8 G! d$ q) M2 F: O
4 l. z) f2 ~$ S% G( P; ?
20200930111004948.png
1 |" h% j$ |  s! y. \
( j0 ]9 [* i+ D* R1 x7 P+ L
3.2 内部SMPS
7 B2 U4 x# |) ?1 F; r
SMPS用于降低VDD电源3 ?* b. P: y0 z; A1 h1 ^
SMPS为数字核心和射频LDO供电' t6 w4 d$ |' Q" t, I0 ^
当VDD电源高于BOR[1…4]阈值时,使用SMPS模式
% P8 z# \' ?/ C7 c" i) [   低于此阈值使用旁路模式,支持及时切换* ?3 b8 X, V+ E3 Z
   通过HW机制执行关闭,通过SW重新开启  L) y7 U# n! ?  w6 z( N8 }
SMPS降遵循社保操作模式, v/ I# [  b- g) T- Y
  在Run和stop0模式下为On% L3 }6 `& p2 l1 h$ N# _
  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式; T1 }3 @, i0 e% Y. K% \; c
3.3 电源配置5 ^4 H+ z4 Z* l8 }' g+ `  k
高性能使用SMPS6 t+ i# G( r8 b+ p
   通过添加外部电容和线圈,SMPS用于降低功耗6 W' @7 M; Y& T( _5 a9 r9 J* t; {" Y
% M* w2 n: M# R) `/ E9 n
20200930112611960.png

, p: P% X+ k9 }- T( Y- a, c6 k3 @5 w' Z9 O" S: }
低成本今适用于LDO
8 [6 L. P  |: X4 {% I: h, ]   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。
1 o2 x1 g( }. q% x! c' I+ k8 p5 O7 p* j3 v) K/ Y* b8 i  P8 ~8 [
20200930112744994.png
  _$ b' p; A4 a9 ~% ~+ w
/ p; w$ I  ^! P1 r
3.4 SMPS原理图0 M) ?! P2 h: o/ k0 W2 V: t
' A" S( Q7 K, ~$ [6 x
20200930112824925.png

9 h8 |8 S3 x/ y9 P% B* x3 W/ c- c" n: c* L$ I. U8 v
4 核间通信和安全管理
6 }# m2 o% y* w! w2 G4.1 HSEM
' `* }' G" V; ^; O8 o: h* `
STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。. T) [& V! r- D$ C" }9 ~2 ~
$ I7 k/ A9 w( {) o# _3 C
管理和访问权限和同步/ R7 n# d. N( b( _$ z5 b- ~7 x! b  T' L
   运行于同一个cpu上的不同进程5 @% W( \- D# z, i" l( r" H+ l
   不同的cpu; |+ u/ O8 U+ h
32个硬件信号量
3 w( b! o2 O4 a) Q$ B) V' w$ l两种锁定机制$ u/ h/ _' E4 n& b  ~6 {
   2-step write, read back lock
) J- y/ v2 M4 i5 }. k3 t   1-step read lock# |# i# T& [9 `5 T% g
信号量释放产生中断) P% _# Z8 d* R! P* `9 T
应用优势$ U# ~1 c0 V8 b9 [$ [8 ^* N# E
   防止共享资源访问冲突
! s! b1 o; `6 E( W5 v' o   确保进程之间的同步
8 u: q- X( H% X3 K2 |6 v   无阻塞信号量处理
2 `/ h+ t' z( L8 c& D! ]4.1.1 HSEM框图. t0 Z  m* @: z+ j
HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。5 j( j5 ?2 c6 f6 t: b  v/ \
  L. Y3 v- W, X! B: z4 u
20200930141938212.png

& ~3 E5 K! n* \7 r, E2 A: M8 c7 x/ P. s' _/ o/ @
HSEM框图

! G+ Y  `( ?9 I' i: J+ u( [
7 j) a( a6 G' C/ X) v, F
20200930142349269.png

# B2 b2 {! V# r/ Q1 {+ D# ]: x. G
8 ]" \2 O3 I3 h0 R9 J
2步 写-回读锁机制
4 F; l+ _$ c( i" ?$ W4 s' G
5 g. c  v: O8 _: Z
20200930142506381.png

, ?: O+ W' V) t" u' I; h6 T; g
1步 锁机制
+ K6 J5 D2 c) c. s
4.1.2 信号量使用 - 共享资源
5 D5 C% {  v0 m0 Z两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。4 {1 \8 x5 E2 _& g

6 g0 x3 l% S0 Y3 U* k# ~9 ]$ Q9 C7 w
VS1V)~6GWZ}_BSD0G([J`DF.png

0 S. K3 d* k0 i9 N1 J; h. N1 d: ^8 C3 g' i9 z/ \
4.1.3 信号量 - 闪存写入和擦除
' e! `# F2 j6 B: {5 ~% i& }: S- w/ U
要在闪存种写入,应用程序应该, M" Q6 L5 G7 E7 `! K! U) B- K
   获取Sem2! U2 Y: ], K2 h& R: G
   写入闪存
/ u1 {. h% }! A. S     释放sem2
. a( M+ _2 e+ X, ?5 L6 Y擦除扇区,应用程序应该
0 {/ T& s4 J; r4 t% o( d   获取Sem2
4 ?, P& m  ~) x   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2. s4 h) @3 |8 z$ Q( H; t
   擦除一个或多个扇区6 \' F: Z3 S+ R  M3 w- @$ g$ w6 q
    释放Sem24 U9 _/ y8 J+ u5 n
   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2% k/ k* O4 s0 K0 t9 ^; A: b+ f
4.2 IPCC7 {2 @/ V( N# o+ F9 X& B
IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。
- w7 x0 _2 g# ]. r5 Z- T0 X7 r& R. s" W' T
为通信信道管理提供非阻塞信令
* M1 p. ^6 f3 j9 d1 b1 J2 [   消息可用性中断
1 J4 B( i8 T3 m3 l! H   流量开启中断通知
' n1 z! J; }8 ~+ S
2 S% v9 m) F5 n6 E7 R  `1 E通讯方式
# n2 h8 b/ \$ _/ L0 k   单工:每个方向的专用通道
" q* j- a4 w9 w  q0 e5 D   半双工:单个共享双向通道
' ^$ V/ C1 U& u" D0 ^2 F
; s& P: `2 B# G最多6个双向通道/ B/ V# L; H1 \0 k7 b
   通道数据存储在共享ram中
4 ?9 \5 j1 X* |! v% Y
: s1 Q5 `# s& M1 O2 t. Q* \# F$ K& y6 v6 _8 u$ K) W  i4 E
应用优势
' d) g6 Z  N+ g! ~2 Y4 E9 l   非阻塞信息交换
  p: a$ b; T0 v: o; A( u   通道流量控制
. _/ ~0 d" ?; f2 y/ ^) d% ]; Q   支持CPU sleep和stop模式
  }( s/ f: K5 h' R
; f0 K2 H0 e  ~1 \  H0 h
20200930145138448.png

+ F# q# ^3 A, i" g/ i7 L  k+ Q* e7 O% }9 v# Q. T) Y/ Q# F. w6 b
4.3 安全管理
- }$ o! D  x6 I. I+ s+ X
BLE外设可以安全使用以下外设
0 d+ i5 h# R% r3 h9 x0 N" X   AES1(仅限IP加密密钥)用于应用程序的加密引擎
+ i. `+ G1 _; U6 ]) ?" Q' o5 e   AES2(Full IP)用于IEEE802.15.4的加密引擎5 R4 y% T0 M9 a7 A: M. S
   PKA(Full IP)用于加密密钥的生成
. W; ~; i8 m% n1 A1 T; o   True RNG(Full IP)用于加密密钥的生成
, {& t9 D; C# F5 E1 L* h* p/ I% ?2 V
对安全IP的访问由HSEM管理
# n0 T; l4 Y$ [- o, s* c   HSEM x,y,z用于管理共享安全外围设备访问
# o0 Z, l1 g8 V1 a% g0 x" s" T9 Y/ [9 U& C5 O$ w2 N, Q- U
BLE堆栈提供以下加密密钥功能# n" t  W, ?' I! ^. v) X: @& Y
    密钥存储! r) \. u! Z8 G6 U% t# {+ a
    密钥更新
6 A7 \6 C. P  L: K. \    密钥删除4 F  z( p, {% _1 H" D" Z4 \
    密钥加载(在AES1中). C7 u" i: @2 f1 o, t" m& {: P
4.4 Cortex-M0+安全性" @& d1 J( C/ q
闪存的上半部分只能由cortex-m0+访问
: ]2 e8 z, f9 s8 c, |/ Z' c" `) A   由安全选项字SFD和SFSA定义/ \: j5 L2 u0 z& L- L$ m  Z7 p
全局安全使能" x: I2 c+ u  S! U) J
   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性
  J- D' h' Y+ Y" }* ^   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性( m* C& I0 i( _, y
   运行通过SYSCFG使能外设的安全性. h% I3 W" J( K/ W  \6 F

/ l9 H+ V( h+ W! F
20200930150204374.png
1 z9 T  a# z/ Y% l8 [
" h; X2 q3 ~1 I
收藏 评论1 发布时间:2022-1-4 11:00

举报

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

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

所属标签

相似分享

官网相关资源

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