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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储$ `  E5 D# E  l
1.1 系统总览

- ^  M) Z& |  y9 p2 TSTM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。
8 ^7 n$ P2 k/ }8 {6 ~
2 G( ^. V3 z* I. Z5 q$ x
20200930104503435.png
2 ^. b) {, _9 ?" v0 M2 }

% o2 D. o# I8 C/ z% g1.2 STM32WB总线架构, x$ A. S/ G3 S5 v) K
如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。* T- |9 e' ]) ]' t. D: i. w$ M
  t, O5 q1 i8 t1 I9 {7 M
20200930104700362.png
3 q0 X7 }) y! Y& Z

, q  B1 V% d) G: l3 Z1.3 总线矩阵
' \, U) ?3 k" r! a2 `5 V( {. m
7 J7 n+ Z3 O% y6 b/ s
20200930105113141.png

2 b$ Q+ m$ Z! v: |* x, P* I+ U
2 G! v* F4 f+ s* S# G. b  v! ?1.4 存储分布
6 K. g, ?1 `- n  s# O" ]+ }, d) z
# [1 Z. p9 @7 I, ]& U0 M* [: B% |) S
20200930105157465.png
6 }; L5 O' O6 Q

* p7 V1 I2 F# E0 t$ R8 P) @1.5 STM32WB闪存特点" Y5 {2 c" ]: B; J$ `
共享+ ^1 ^! D: \- C$ ]
闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。2 [. R5 F; O+ n9 V, E( y# y  ~
使用ART加速
. U( ]. h  c$ T: x1 W同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。
! ^6 q' l9 N- h2 J# @- m
) E( y  ]% H% B/ v+ ]. `3级保护
( z2 L, ?! y: M: w级别0(无保护)至级别2(最大保护)
' l0 Y4 e/ e$ Q% |% i  O, U5 o
( x6 W% ^- S( b9 r5 Y. i限制
- `$ z, O- n  e在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。4 P! H! P1 s  e
4 L* q! v( D$ ~: F( q3 t; {8 D* J
2 RF射频简介7 `$ ]8 T6 o4 |) x" ?
2.1 RF参数简介
8 j: A" w8 x1 j, I, V5 L; L6 @/ a
模拟前端
+ u8 a' N- K$ \最大输出功率; v3 O2 _& J; t* x8 f
集成巴伦,6dbm发射功率,具有1dbm步进调节/ r$ q! ~/ V  k
专用引脚驱动外部PA,可以获得最大20dbm的输出功率1 q# W0 U8 ]& C
+ ~  i' E8 q& t9 e) P' ~
接收灵敏度
& W- Y1 q2 M' P: I' [' ]BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持). l4 P3 M1 I1 k5 Y! f/ W- V$ B2 x4 z2 w
802.15.4:250kbps @ -100dbm
( ^* i! Y. Z$ `7 D% Q+ n# m; H
功耗@3.3V& g/ m# L* O/ {" n9 K) u
TX:@0dbm:5.2mA
2 C6 Z, W1 O" b$ L  y; NRX:4.5mA- d& J3 r4 c  t3 X- C( I
stop2 with radio in standy (accurate clock LS12):1.8uA  m! q( G9 x: v/ L+ m+ P
- {7 I4 ~! L$ v$ \
调制解调器
8 f* r; |, J  o# K$ B通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率
8 D$ }) d4 Z) T9 }$ q- U3 YIEEE 802.15.4 :硬件模式支持250Kbps通信速率) h+ V& y0 {! P5 f+ h. m; b

  u3 G! e7 _% K; D0 t2.2 STM32WB典型外围电路. ]6 `5 ?3 r! b# }

* w: W% [# X0 t' z" \
20200930110652529.png

- Z# D7 u+ @7 H4 V: {8 o' Y0 [; ~  \4 C
2.3 STM32WB RF输入/输出匹配网络
2 C1 p: w' G  I
4 D2 f( \) t* F; W* ^
20200930110754104.png
% N0 {4 W: h7 M0 l) ?
# m4 @: N$ I+ R. M
一个Π型滤波网络加50Ω阻抗匹配。
$ u1 @& m( A$ e
) \- y/ S% z0 T% d( y. X3 电源管理
8 D! `4 Q8 S) y0 _( a( I3.1 供电方案框图

4 D$ ]' q2 G3 i8 `6 ~# }如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。6 ?0 k  b3 E1 R4 d
( n* M- U8 x0 X' R+ a( t( `
20200930111004948.png

" k  {: D0 X9 q6 o* \2 f6 N8 }  ^+ I, i7 k8 a
3.2 内部SMPS
8 q% ^! K# b6 j2 n
SMPS用于降低VDD电源8 i7 l3 ?6 G: D) D
SMPS为数字核心和射频LDO供电  {- X: y2 E6 k9 O
当VDD电源高于BOR[1…4]阈值时,使用SMPS模式
) J% t( a9 H. S" q4 E# Q0 @4 P- X   低于此阈值使用旁路模式,支持及时切换1 m# \2 d" \' F! n
   通过HW机制执行关闭,通过SW重新开启- W" ]# {- I4 e9 _0 n
SMPS降遵循社保操作模式# |! ~/ G1 [& W% q1 G9 p3 K
  在Run和stop0模式下为On
: w$ M9 a# }) E& V7 J; ?/ x; R8 f  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式/ c' p, [2 m( c- V2 r5 M
3.3 电源配置
3 E& ~% k! }% e3 q高性能使用SMPS
: K9 F6 u4 |/ m' k7 z# }0 T   通过添加外部电容和线圈,SMPS用于降低功耗( X7 p: H/ w$ ^( f/ z  P
+ H3 U* u) Z7 f
20200930112611960.png
2 t( ^, U/ D+ N1 f, `
6 N- S4 o% l( g- B4 R
低成本今适用于LDO" ?& n" Q% W( q0 d
   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。
! Z. A  Z$ T- r: c0 v7 P) b' d5 G+ D& j1 _! i/ s! P
20200930112744994.png
" O: K8 J1 q& ]7 M) J4 u0 U( o

! p4 f8 k. B5 {) u* Q% q% N3.4 SMPS原理图6 X) y) }5 t4 u: N" p

* D+ K# p; c* x) `
20200930112824925.png

- Y4 V  `2 f% I8 N
* ?' Z' S% R2 ?: I7 A" y4 核间通信和安全管理' W  B9 b7 P9 X
4.1 HSEM
  x) ~7 \. b$ r" ]/ Y. T; A' e7 r
STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。
2 c. i! |6 _9 m& G2 I3 D# \
$ `8 @. o8 x# C* [管理和访问权限和同步1 S" Y6 _0 R3 _5 y4 |# W6 y3 T
   运行于同一个cpu上的不同进程
; X0 f. O8 w- L/ q. ]9 _   不同的cpu% }0 t3 n5 D( l8 Y( Z/ Q/ K
32个硬件信号量+ W3 x$ b; z3 W  D" L; _# j
两种锁定机制& m3 ?/ n( z3 C( E  x9 ^+ X
   2-step write, read back lock
7 z1 f1 K( h; M5 |8 v& |" z   1-step read lock
0 B6 w# t' L+ ]3 O* L9 b信号量释放产生中断
- \; P! `# {* W+ }( Y. i( [3 {% Y应用优势
" p6 z! s) K  ]) ^, ]" t" `4 ^, ]   防止共享资源访问冲突+ i6 _3 [) s1 Z) F* E
   确保进程之间的同步) q2 D0 Z8 r  a' \  b
   无阻塞信号量处理9 O8 Q# T/ e2 U7 [2 R
4.1.1 HSEM框图
% g" t' J, O2 }HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。
& u- T5 s4 x. I2 ?, U
( T7 _0 d2 X5 c' c4 w* h; t
20200930141938212.png

/ L$ s! U) ^- v6 {+ @8 d2 L+ x) j% h
  D& E% ]0 s' ]5 ^8 y. T. W
HSEM框图

% r5 n* \$ A5 q! a$ E! P( K* A- J3 d* b8 r4 W+ ~  T/ d
20200930142349269.png

7 x4 D  y5 l7 }7 ~+ x4 b* q" k2 x( [0 q9 H, l
2步 写-回读锁机制
; I0 x) G$ y1 N% c, @# b  ^  ]
' l" V# q$ f& I+ W
20200930142506381.png

* r6 K" u6 L* c& t
1步 锁机制

3 k' M+ A' C, e* C) M4.1.2 信号量使用 - 共享资源; T6 F4 O2 \6 S7 L6 ?
两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。: n6 ~+ P7 E' p+ y  ~8 m
- Y6 d9 b2 N( r, P) s  G
VS1V)~6GWZ}_BSD0G([J`DF.png

2 d- [$ a4 r  @. L5 Y( Y( Z  f/ e' X! f2 n! F
4.1.3 信号量 - 闪存写入和擦除

$ T+ B% j. q" I$ u6 L4 k$ s要在闪存种写入,应用程序应该
( C; w" c$ Z. Q" C  p   获取Sem2
6 q4 O9 w4 J7 g6 A. s) V/ h& Z   写入闪存3 q' s; Z! a2 C# Q1 C* O
     释放sem2
% Y5 H: g5 D" _/ H# I擦除扇区,应用程序应该
; _5 f/ g0 O+ ~/ _) \& ?   获取Sem21 i7 c1 q% ?' A2 z2 @- y) V" ^  ?6 U
   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2
  L/ G. R5 d& m$ f6 F, Q+ C4 I   擦除一个或多个扇区
1 @% t* V  Q% G: ~! L    释放Sem2. u) _. N9 \  B
   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2
9 t3 ]% Q* T% e/ g- j0 L4.2 IPCC9 z& p* Y4 _( J0 |" U6 B
IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。; r) {4 D* d/ v

. P* R; s. A7 Y/ k5 F6 \为通信信道管理提供非阻塞信令
0 i" j% X# s3 L6 C, X   消息可用性中断
/ j; j( m$ `2 A   流量开启中断通知8 q1 h8 v5 u. N9 T3 I3 h9 T
( K+ [' }5 S  }
通讯方式
" E# G! }6 e& e6 ?8 K) F   单工:每个方向的专用通道
, u& F& G9 h  Y# M1 g   半双工:单个共享双向通道; c( z& A4 P! e
: B; E9 k) n3 u( P
最多6个双向通道  N) a* e% Z' C. J
   通道数据存储在共享ram中( b* G" L$ H) E5 e9 g0 W% v

4 p4 e5 R& {2 y7 J6 f
9 O! ]0 E9 j) R& l8 q" ^应用优势
* j- v; ^3 N' n, ~   非阻塞信息交换# ?7 j& P/ J: h; \, u2 Y
   通道流量控制, p7 R, f9 L; C+ r9 O7 e/ I2 v
   支持CPU sleep和stop模式" d* @, |2 Z* \4 {: U# U7 j1 ]% \
4 X$ U% M% `- U3 a/ R
20200930145138448.png

; R% a3 Q7 k4 m+ M$ h6 s- {: |5 `: L
4.3 安全管理

1 E3 H: _, e/ H0 {BLE外设可以安全使用以下外设" e1 P, p2 S- G
   AES1(仅限IP加密密钥)用于应用程序的加密引擎
' P4 g9 P1 g9 [2 F3 B3 @: b$ J. k   AES2(Full IP)用于IEEE802.15.4的加密引擎) x: g" I7 |) [0 B
   PKA(Full IP)用于加密密钥的生成8 P! ^; x* l* l6 e7 B. A
   True RNG(Full IP)用于加密密钥的生成
7 b. w! a' k  L' ^
8 A2 x, S& U7 V" W$ ]对安全IP的访问由HSEM管理
: `1 E7 z* t3 x   HSEM x,y,z用于管理共享安全外围设备访问
. c  n; p5 J9 Y# L6 U6 o) a; z' ]1 e0 s  u+ M
BLE堆栈提供以下加密密钥功能6 p" X( y6 ]4 j1 b6 g
    密钥存储
) I' z% }$ z& L3 w' x: g    密钥更新
( U/ D$ i7 X6 P3 [    密钥删除) ?! E% N5 k1 A% _' E; H
    密钥加载(在AES1中)
- _1 C2 o# X+ D/ g) M, M: P4.4 Cortex-M0+安全性! C$ E' G9 T( ]  {$ u" M9 L
闪存的上半部分只能由cortex-m0+访问. @: |0 j9 V! [: j
   由安全选项字SFD和SFSA定义
. Y0 D0 D. F  }: q全局安全使能8 j5 i3 U. O7 Q5 |( X7 o! D
   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性9 L# e- ]( i3 o$ Y0 v2 v( I
   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性! S6 \" g( c* \2 g
   运行通过SYSCFG使能外设的安全性
2 o  Q: F# ^# J% E( U$ m2 W) h1 G5 P8 v3 G" H4 c0 U
20200930150204374.png

7 h8 |3 }' R, B. h! |9 L
1 B+ e* X3 V+ A& e8 A
收藏 评论1 发布时间:2022-1-4 11:00

举报

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

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

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版