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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储5 _% Z4 `: v. p  U/ z
1.1 系统总览

% o' L0 R. `) X0 E5 H' Y& H/ xSTM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。4 r5 D& r. b2 d1 M
: e, N/ _7 D$ i' h
20200930104503435.png

4 \. P% R( \& H% q" c% u: m% F. g& W( m5 r: G
1.2 STM32WB总线架构+ m" ^- j( l2 I' e5 Z' D4 Y
如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。* b5 ]4 @# f+ r* O& _& d
0 [5 D  {: {# @3 t/ a$ ^  P3 s( r
20200930104700362.png

, c2 N2 I: {6 V! a
0 {+ i  D& P1 P! w% i' A* n1.3 总线矩阵! Y3 X" N( _! o: n/ @4 j9 p

4 I7 `8 ^5 l% S$ B1 X8 l
20200930105113141.png
/ S3 L4 d4 g8 U

* v  K% f8 r8 b  N( r( W1.4 存储分布
4 E! h% Z3 Z9 ^/ I/ W7 I; T5 F7 n5 v* ?- s/ g9 w
20200930105157465.png
0 {/ o; {* L$ K8 d
( b& E2 ]# Y  \
1.5 STM32WB闪存特点
% p1 n2 x9 b! l3 u8 c) q共享
, S" Y$ S9 N# U$ B; t( s闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。% ^% z$ b/ j+ Q
使用ART加速
) j  J  u$ {# N. D同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。& G  D: F( j& f0 Y- ?( z  I
1 _9 Q4 j# Q2 E3 s
3级保护; u# u7 d+ z5 Z5 I1 a
级别0(无保护)至级别2(最大保护)3 Y) R& T+ H4 X  B  w

7 K% q7 W7 e! Q; o2 K* Y+ a% c限制
, |( l2 y$ y; ?7 n在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。
9 F* w- L" o' K! Z2 t5 P
. K8 P- R1 v. S- z$ Y% O2 RF射频简介0 w2 r4 y" G' [/ o& L% e0 i
2.1 RF参数简介
& w& q. T$ m4 S! ^5 ]+ M2 j' i+ c, l
模拟前端6 |4 ?( x& v. C" ^. r$ A' I
最大输出功率
5 M' P4 j, i5 K/ |; k集成巴伦,6dbm发射功率,具有1dbm步进调节* _3 o( D& D+ l$ C9 @2 S5 e
专用引脚驱动外部PA,可以获得最大20dbm的输出功率" P0 Q  [  `2 q2 k2 z

3 J. d( Y' h  m; Y2 e接收灵敏度7 M6 A, j% _" n% |' {( j' o, q
BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)
& O6 `. o; \0 a- N, p% @& r; R, a802.15.4:250kbps @ -100dbm0 z3 O2 r6 D6 z# t2 X' c' b

, |) `. p' P+ O* [功耗@3.3V
+ \" D- ?" @  z% U, R- n% [TX:@0dbm:5.2mA- m" {: j; w# m2 ~/ Y
RX:4.5mA. w$ a5 ?5 d* }, Q: P: h1 N
stop2 with radio in standy (accurate clock LS12):1.8uA
" P- ?! @  x: @
8 Q: x0 S3 j$ ~! \; F, \( E. T  L调制解调器
. T" Z$ ]9 f& y1 u- H/ X) d通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率& h8 O9 `; p% J( i
IEEE 802.15.4 :硬件模式支持250Kbps通信速率
* r6 n4 Q* Q) k: H* ^
: m8 x4 \4 z: C, i0 n; r2.2 STM32WB典型外围电路
4 j  W4 N2 z( @8 j. u3 H( d* W4 s5 T4 v6 f% n$ Q+ Y4 f! I) a9 c8 Y
20200930110652529.png
( d) _1 m, x9 f8 {; I0 I, V
: O1 y$ ?' T: d8 I- `$ O
2.3 STM32WB RF输入/输出匹配网络& }3 R( k! E0 Y3 C7 l3 F
) X& e' [0 W) j8 o5 k. m
20200930110754104.png
. |2 D, c* J9 m, d- `

2 T9 h: W9 q: [6 u/ }一个Π型滤波网络加50Ω阻抗匹配。
+ }  L0 L) p: x$ N; i& C' G% i! P; [5 T8 d5 c0 X& Z1 x
3 电源管理
+ V4 i" t1 R; h7 k# P6 l( |3.1 供电方案框图
5 |7 a; P& k0 Q- m( {4 f6 [" s
如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。. N/ q) [8 Q8 `, I0 Q, G: ?2 I% H

" A- g. Y0 E' t; Z- B9 S
20200930111004948.png
/ v  r: {1 b3 B$ [9 y

  u; L. d  A# Z8 z3.2 内部SMPS
9 V, L% P, M8 v7 w$ q9 w5 T
SMPS用于降低VDD电源
( g" ^, W4 G; uSMPS为数字核心和射频LDO供电
0 _" b5 E% g  ^! K) l7 W当VDD电源高于BOR[1…4]阈值时,使用SMPS模式
/ H' h0 q3 ^# V' S0 k+ r  J& v. l; q: Q   低于此阈值使用旁路模式,支持及时切换- U* O, K0 o& Y
   通过HW机制执行关闭,通过SW重新开启
5 g, V: [9 l/ b# _  D! wSMPS降遵循社保操作模式
! k- H9 i' k( @4 X4 k  在Run和stop0模式下为On
2 W  @8 ~( I3 x% Q5 D9 ?  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式
6 Y! s' d* M/ ~9 V3.3 电源配置
0 c. A- E& \8 T. F. L高性能使用SMPS1 A" ]  }$ ?" k7 y0 ]# h4 @
   通过添加外部电容和线圈,SMPS用于降低功耗0 Q& n6 t$ }! k6 l+ X

- Y) L" s- e' c, J
20200930112611960.png

6 R  @7 Q/ a3 l3 Z1 X+ P2 x1 x( ~; _. D0 @2 t7 t/ k! E  }
低成本今适用于LDO
: Z7 U- C, y$ e( C, u   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。6 V0 l! `  |# {& F- w3 j
5 K2 k4 r: c! Y1 p% R8 z5 }7 c
20200930112744994.png

% }- K7 E0 x' [3 n
% S6 F8 n2 b8 X9 n3.4 SMPS原理图& B/ H& W3 {4 h* ?5 v- p2 Y

! Q4 k* P9 j7 _% ?
20200930112824925.png
$ v& M: t' h  n7 Z- A, s
8 C4 p8 ~  X6 s
4 核间通信和安全管理, Y  E9 m) r; t) ]6 A" E/ I" g( Q
4.1 HSEM
" D1 V) p8 u  i% C" h
STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。
  V  W8 o, W, x. P
% _2 r: r& J: P5 w; c6 L) e管理和访问权限和同步- d/ K1 m: G+ _+ k3 K; V, x
   运行于同一个cpu上的不同进程
/ D* f% e2 m2 R  x2 u  G1 y   不同的cpu
4 I- b# U5 e! ~+ n) O32个硬件信号量& j6 J1 D' B" T
两种锁定机制
4 K9 ^9 n- [+ v! h. ~1 {   2-step write, read back lock/ t/ [. [3 y! l; L. z% g' c: e, w
   1-step read lock$ J* b' y7 `; i5 n1 a- s. m
信号量释放产生中断8 v% S# w; B- C
应用优势
: a7 c) ~& o, G  l- m6 g9 r1 D   防止共享资源访问冲突* C: A( L% m* {
   确保进程之间的同步
; ]/ @& y& f( A8 {. [   无阻塞信号量处理
& X5 Y3 c1 h2 v1 d4.1.1 HSEM框图( {4 v' W- A/ l# l
HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。. y1 S0 `% A- g1 Y: X, J3 j% s  h# v

8 I( q$ W  l" w& S, P
20200930141938212.png

# E7 H- j' Y4 u$ J
. D9 s9 t. |- _- b' F* G
HSEM框图

# Z9 O: G4 y+ k* s/ \5 c! W
8 T, n" w+ C" I6 `  [* n
20200930142349269.png

" X$ N3 u+ Z* U+ Q* M
& i/ h) t9 _& y
2步 写-回读锁机制
5 C6 ^% D4 T% }( P4 G% l- L7 h2 X
1 C+ k/ V9 ?9 _9 p6 m/ ?( p  e
20200930142506381.png
, ]/ [% M( j3 F- V8 _: a
1步 锁机制

7 m; k! f8 d: ~% y9 q) k) u6 M4.1.2 信号量使用 - 共享资源
1 ^- o, a; c9 t( |8 a, g3 x1 M+ }两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。
/ _8 {& A/ S: ^9 o) Q
( u) l5 a7 D! f# o" ~6 T$ C4 [2 {  M
VS1V)~6GWZ}_BSD0G([J`DF.png
" _) ?2 n9 {: s/ i. Y) r
0 I/ x, A/ I. f8 m" Y% q# \) R
4.1.3 信号量 - 闪存写入和擦除

1 R+ [% ?' ?8 t要在闪存种写入,应用程序应该9 V! e. M1 P- U5 Z( h
   获取Sem26 e# ?$ O8 j% J5 C( @9 d. T
   写入闪存
! [& `" D$ I. |     释放sem2: _' K' R; o, ?" K5 D+ N$ N
擦除扇区,应用程序应该5 \3 o# z8 f! j; d
   获取Sem2* m% {3 M3 C6 P- K
   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2
1 h: M$ o7 |# c1 f8 ~   擦除一个或多个扇区
+ P3 B' q: z9 p1 }+ ?, r- e9 ~    释放Sem2; W% u6 k( p; d- Z  \: O% b8 h
   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2( J# v6 F/ @' X) }
4.2 IPCC
% S4 a) \! E2 J$ J% ]IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。# ^7 o4 N2 p3 _- q. T$ m

, {, N* a& y/ }6 R为通信信道管理提供非阻塞信令! V5 r, N$ I2 r# k+ |
   消息可用性中断4 F+ Z2 A& a7 \
   流量开启中断通知: F+ F/ Y8 p; \3 U) M! r
/ u& X, T& F7 u3 }
通讯方式
9 I' ^6 ]7 I8 c- M" b   单工:每个方向的专用通道
/ A8 U3 H8 f. |: H, J   半双工:单个共享双向通道
/ X  ^2 ~7 `" ^# f: E3 b
( N) G7 j! Q/ N: m7 g" P最多6个双向通道: m2 k, d, A' k  a: F0 u
   通道数据存储在共享ram中8 g( \* t: R9 E
! F1 U$ ^8 x$ }4 R/ _6 K

, w* f8 U$ @& H应用优势
# X! u3 l4 n7 R5 K  ?& A7 q   非阻塞信息交换
( q! u7 Z% s1 d/ h4 [0 N   通道流量控制% V% P5 R4 h9 a0 f5 K" g) c
   支持CPU sleep和stop模式+ M* H7 J# B; Y7 ^/ [8 e. M/ l9 S8 y
! k- y* R' ?1 ^9 b9 y5 v# k) _
20200930145138448.png

8 O% \. g0 L- x& {5 j2 V/ F2 b3 g; M9 f
4.3 安全管理
5 a# V# F) ^  j1 c; P4 T
BLE外设可以安全使用以下外设
; ]+ Q& Y/ w% ]# _' R, W   AES1(仅限IP加密密钥)用于应用程序的加密引擎
, B* R) l- F1 {+ q' u/ m- F   AES2(Full IP)用于IEEE802.15.4的加密引擎2 L' K, i& A* v1 Z- l: Z
   PKA(Full IP)用于加密密钥的生成6 q$ r$ O/ ]1 N" u, v
   True RNG(Full IP)用于加密密钥的生成. }8 h; `8 j4 s" O# y8 |$ |) b% D$ M
+ v7 C6 n) g  Z% d2 U
对安全IP的访问由HSEM管理
) `6 D! j; @( q, A4 p8 s) }   HSEM x,y,z用于管理共享安全外围设备访问9 ~* \9 d, L& Q, q
' u7 z$ s6 V7 e" R; j9 n
BLE堆栈提供以下加密密钥功能# E7 f9 Y1 K5 J
    密钥存储
8 y. J: _/ F6 n  A# @" v8 F$ \    密钥更新
. l/ U9 {  ~* u0 _0 p0 @    密钥删除
/ E. `1 ^, k% C; W5 o: p    密钥加载(在AES1中)' L# r' t5 o3 G* h
4.4 Cortex-M0+安全性
5 B- U7 E+ `0 C9 a: A& N3 G闪存的上半部分只能由cortex-m0+访问& T+ R/ K6 T2 |- w9 p+ I
   由安全选项字SFD和SFSA定义
) _$ Y. b: U- L6 h; B全局安全使能
2 s  P4 z* E$ _! {   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性
8 j! |0 \) T! C   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性
6 |  |4 J3 k( @: m9 I, I2 |   运行通过SYSCFG使能外设的安全性
9 X) E" c4 A4 Y' ~9 \0 m  l* t+ \! f6 p5 G
20200930150204374.png
; @; C+ K4 ]4 t: a5 V5 ~3 L1 G
$ ]' ]0 J; A0 M4 p
收藏 评论1 发布时间:2022-1-4 11:00

举报

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

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

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版