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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储
8 E: V  c" M  c0 `+ ]* h1.1 系统总览
$ A! O& I/ Y; R7 V% n9 {. q6 t
STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。
7 ?( ~4 S: h% B8 F# T# P  _% _, M' s: W1 Y9 K- c  T; A) `
20200930104503435.png
; N4 s& Q9 ~! v- [+ m* {, ~( d
5 ~! Q8 U  D6 u: o
1.2 STM32WB总线架构5 K" |8 j& a; U; Q
如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。
# s$ `$ [- `# c. q1 `8 R0 G: d( @. a4 P+ |9 D# t
20200930104700362.png
! w! b& l' i: S7 K4 C' n+ ]

1 t9 z' T' w8 i5 \- P& W1.3 总线矩阵2 x4 g" I2 X9 ~8 G5 ~

2 \, U: v6 r  T& a0 E: P' p
20200930105113141.png

+ i" {) x8 ~# T( t4 c; O/ s* u8 u! u
- v3 v3 ~7 O' w- N1.4 存储分布: J4 b6 a3 n! R( J( T7 k5 E

# n4 ^, t% u0 b, L* A
20200930105157465.png

! I" Y8 W) A. U0 ^( i8 ]' ]8 e
8 }  t/ t6 U! X5 t) E- N5 O8 J7 w7 `1.5 STM32WB闪存特点
+ @' ?  s2 r$ t共享- j1 ^& A0 c1 }, K% l, Y
闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。
% ^8 v. H7 n! F5 F% i$ s使用ART加速
1 X) A/ ^# V- E3 N' Z( W& s: \同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。
0 D( s' P- K* P$ R" s: }5 |9 w7 h* E
* m  O! s0 P( b! [8 D3级保护. K; T% c# m9 s
级别0(无保护)至级别2(最大保护)0 _# M& A. F3 R( P9 n

( v0 }7 \% t, [3 i限制2 m! P  S1 }2 Q: e, L- q2 j9 V
在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。
1 X; I- F5 _7 c, `
" r  N6 a: y) `( n9 s2 RF射频简介6 i# h: u5 x2 y6 ^6 \2 w* D
2.1 RF参数简介
  \! o  f) o" m# @$ y
模拟前端) z/ Y+ z8 ^. P4 ^+ p4 g
最大输出功率
6 [5 Y! J% X* r4 w1 D6 m集成巴伦,6dbm发射功率,具有1dbm步进调节
4 o0 i1 r: j8 R8 ^专用引脚驱动外部PA,可以获得最大20dbm的输出功率/ ]9 V' s) |8 I( G# ]# P3 h, G' `

9 H# L: A& U9 {: F1 G  U- Z接收灵敏度# h  J, ^5 e+ g. ?6 }6 R
BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)7 d9 r3 w& Y4 M1 m
802.15.4:250kbps @ -100dbm
3 T, N! I2 e5 D0 Z! Q! k, G/ G4 q; G* N. ~2 A
功耗@3.3V
' P  W; h% E- a2 k4 \- }TX:@0dbm:5.2mA
; r, G4 u9 f1 e) jRX:4.5mA5 n7 g: X% J  u
stop2 with radio in standy (accurate clock LS12):1.8uA
( p* D2 w& g. ]* U5 [7 L* E0 k9 Z: ]6 {% _/ V* K, V; K# G" w  p  v
调制解调器
( l3 Y0 f7 B9 k2 t0 U: W! O通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率# G$ i, J4 S3 B1 k" R
IEEE 802.15.4 :硬件模式支持250Kbps通信速率
+ r* g/ k# \6 F" d9 N6 {1 A
3 S; T& S2 N* `4 f2.2 STM32WB典型外围电路
# r+ r, [0 q" ^: \& ?& o, j" L' u' F8 w9 H0 A4 f. Y. ]$ P
20200930110652529.png
3 e+ j- z7 u4 g# h9 Z+ b

' `9 `: y  c& l! H2 A1 J2.3 STM32WB RF输入/输出匹配网络
# O- E7 o. x4 @( j$ p$ A( y' [# H  f; F: H" d9 X
20200930110754104.png

# `; s! h* x. f% E1 m) @8 z2 [4 e( _' K
一个Π型滤波网络加50Ω阻抗匹配。1 E6 s- k. E$ h4 l& R' ?

. D- c, n2 G" S9 ~3 电源管理+ r9 h0 U( V. {* }! B- ~* }) l
3.1 供电方案框图

# s/ Y1 x, t4 K! I) i! V9 u/ J5 T如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。2 g' ~+ I6 f3 }# q

, j% [( a. G1 c, _' B
20200930111004948.png
0 y9 b, E" q, I  W" I1 |

/ w0 f. L( d/ e9 a$ z3.2 内部SMPS
. e# D) i2 L7 j- [; k- z0 l4 ?$ W; w
SMPS用于降低VDD电源+ E# J1 K5 u5 D! @
SMPS为数字核心和射频LDO供电- G' ]) S, R5 H
当VDD电源高于BOR[1…4]阈值时,使用SMPS模式
) k  c! E/ @- ], R8 w) a   低于此阈值使用旁路模式,支持及时切换
: i) H2 G. I# D   通过HW机制执行关闭,通过SW重新开启1 _9 U6 D' N6 m5 y" U. k
SMPS降遵循社保操作模式
+ y1 Z* [; o+ j% S- K  S  在Run和stop0模式下为On5 c. Z0 W7 [% }
  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式
3 D" k' I0 M2 j( `* k3.3 电源配置
0 L, `1 b2 E7 U高性能使用SMPS
2 ^. ]$ e8 @; E/ A- Y9 j2 C   通过添加外部电容和线圈,SMPS用于降低功耗$ B$ d7 X8 ^& y
' ^) n) R% ?1 _* f' |* G+ |
20200930112611960.png
, g2 V$ z' [& B2 l8 M. b
1 U1 z' m! ^3 F% k) E4 C
低成本今适用于LDO
2 y2 J% n& f# g7 j   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。
" e! h! a5 w6 \4 g5 P/ o" l: t  r. n: I$ o- }, y% ]
20200930112744994.png
' d, ?- \$ {. J" }

( i2 S; P3 b( ]% T3.4 SMPS原理图1 t; |+ a3 t+ l$ B) u
8 a, V  d8 ^9 B/ J7 T! P, d/ n
20200930112824925.png
5 y# k! _# {; F8 Y& h5 {
* I' b/ u' r+ W# Q
4 核间通信和安全管理2 L5 e2 u% f% L: n# ?  M0 M- a# N2 C+ y
4.1 HSEM
% u) q/ {% k) u2 B) Z: ~# W
STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。3 s. v! I$ l9 `

+ O3 E& z' K" D5 y) t1 N1 N/ ~; ^管理和访问权限和同步
5 o; q, S% b8 T4 j6 N. i+ Q   运行于同一个cpu上的不同进程1 ?( K( T0 A' [
   不同的cpu
' @7 J. O" V& z, G+ u% P0 ~32个硬件信号量
6 K) v: B4 D1 }- I) ~两种锁定机制! e: J- o7 `. X2 U
   2-step write, read back lock
7 m( M$ M0 d1 b6 R1 y; U& z& \$ E/ d7 C   1-step read lock8 V1 n7 Z/ l4 K/ v0 \0 ]
信号量释放产生中断
' `7 a0 ^8 ]! ~( o4 x9 O% i! T2 Q应用优势! A. K& I$ |9 ~3 \% M; g
   防止共享资源访问冲突
: A: s$ @; g# M# X! d   确保进程之间的同步" t& E- m" n7 |( C6 Z9 ^7 v
   无阻塞信号量处理+ j* V/ ]1 h. y
4.1.1 HSEM框图' E/ P. z/ l, t' \/ C3 B
HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。8 B6 Z5 r$ f! w
/ i! C7 M- m# q8 I+ U
20200930141938212.png

" [( B  L( M4 p8 C
* R% }# d* M" X/ \
HSEM框图
- @% i  i  ~) G! \
) F1 S1 g: ^, @$ ?% Q8 o) P
20200930142349269.png

7 K. _- c: u' ?( Y8 L" ]
  ^8 W3 ?( n2 o* }
2步 写-回读锁机制

* i3 `1 t8 _+ N5 T2 V: V  F
. u. r2 G' H: i6 i4 s
20200930142506381.png
+ {7 `$ J$ N: P1 Y8 Y' S- R; p' C
1步 锁机制

# ~2 T; U7 ^% D3 r& ]4.1.2 信号量使用 - 共享资源
( e7 {8 w. i2 ]& l1 N+ `两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。. l; T" r; C9 O2 I+ d

4 v  @% @% L" ?; ~5 _9 O: s! ^! C, j
VS1V)~6GWZ}_BSD0G([J`DF.png

9 K! c" T& d2 v; m0 k' D$ l& j( B* Z. t  ~! R1 ?
4.1.3 信号量 - 闪存写入和擦除

5 m4 c' d& }- L9 q要在闪存种写入,应用程序应该
. q: F6 F' H" H   获取Sem2) v, M& ?; F- P2 {1 C3 w- N2 `
   写入闪存, U: k' k( ~+ G
     释放sem26 F3 b- b' C: Y" n6 x
擦除扇区,应用程序应该
1 ?8 F2 M. G+ K1 r4 i  X( P% J4 p   获取Sem2/ V, o0 E7 N( i" D
   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2; e9 w# t( e3 y  m" s& \6 ]6 H
   擦除一个或多个扇区
8 Y. {5 S: u; W/ V5 o    释放Sem2% x! T5 h1 l8 _2 [0 X! Z& F$ u
   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2- Z4 q9 [5 m/ o7 ~. {: o5 t# }
4.2 IPCC; K" L  N( K- i6 y$ U8 h
IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。
% w+ m' @+ l( g
" j' l$ s8 w- [8 i" @为通信信道管理提供非阻塞信令
) |9 c: Z  X' p. e; r   消息可用性中断
, F( f4 \8 k0 z* |5 n& ^5 ?! Z4 N- A   流量开启中断通知# x/ L# g! C( O. P, H

. `% R' S% H9 h- |4 S/ B通讯方式
' i' q  m$ a. F' c/ R2 V# Q" r; N   单工:每个方向的专用通道" G" n" C& u2 P$ O( `% q
   半双工:单个共享双向通道9 K. D, N+ F6 a1 X* R, O; D6 z

# r& H, F' O! C, C1 S' W最多6个双向通道
0 m8 u7 J9 d! x( r$ F5 _7 ~   通道数据存储在共享ram中9 |* n. Y6 G. C! x, h! G& x6 r$ {( `% }

7 M  E% H9 X2 b1 _. Q) m
1 t2 o4 s5 K0 A5 X$ R7 M应用优势 6 i0 B9 H4 |$ ]. G# W
   非阻塞信息交换
+ h" e, x8 E' K2 E3 [1 T   通道流量控制
" |6 Q# {) f. B- g   支持CPU sleep和stop模式: l: |7 V6 d8 H: J. c/ h

+ _7 |0 k' i4 Z
20200930145138448.png

' e& A* ]+ z* O# o8 T9 V9 O" r% u- d/ u* m0 p1 L* J
4.3 安全管理
  p; j. y/ i& N+ s( r9 V5 m4 ]
BLE外设可以安全使用以下外设! r5 g5 z- \" t( q' x7 R
   AES1(仅限IP加密密钥)用于应用程序的加密引擎
& `5 m- [! o5 v7 p  H# A2 |; K   AES2(Full IP)用于IEEE802.15.4的加密引擎
$ l9 B. y$ O7 l6 h   PKA(Full IP)用于加密密钥的生成
9 J: E+ J1 r% k9 r. M/ r: X1 ?( C   True RNG(Full IP)用于加密密钥的生成
4 B7 m: h% p" c; u
. S# l0 |# V: i8 U对安全IP的访问由HSEM管理3 U% A  O# t; d) [+ Q
   HSEM x,y,z用于管理共享安全外围设备访问! H/ U5 |8 N/ X% q8 e. r
6 x8 F: W( D" P3 X. l
BLE堆栈提供以下加密密钥功能
4 T  ^0 u$ O! _$ k# z3 n    密钥存储% g: I0 C, f+ {/ S, e" x
    密钥更新
, E( u6 L3 j3 `! f$ D: F& i    密钥删除$ k* F% b6 U9 }: M0 O+ t" a
    密钥加载(在AES1中)
9 ~9 n7 g3 B( B6 Y2 ?4.4 Cortex-M0+安全性
1 N* ~- w  Q5 U4 D& l" R闪存的上半部分只能由cortex-m0+访问
8 e4 j+ _" o# O  M   由安全选项字SFD和SFSA定义# `) _" m/ f" O% o" S
全局安全使能
! ]# J- v4 L6 b. S" Q7 p9 n   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性$ N# W5 G9 d/ a  v$ h& x
   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性
; S6 c; _9 p8 h, ]: X   运行通过SYSCFG使能外设的安全性
! L) n. O1 j0 E6 J
0 S; m# O2 @/ F" v% n" m
20200930150204374.png
5 M7 o; Y  n& f0 j5 T& I
' y; N5 q. ~2 ^$ j  M
赞 收藏 评论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 手机版