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

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

[复制链接]
STMCU小助手 发布时间:2022-1-4 11:00
1 系统和存储
! y9 G# B# e" r! n( {1.1 系统总览

9 K$ |( w1 l8 Q, ^2 W1 wSTM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。
% W) A9 @: R5 h. k0 W, F, W. x2 g3 S. A7 ~2 W1 b1 P- I8 S7 u( Y
20200930104503435.png
! ?# Z2 e* v8 p* j3 w+ O
3 Z0 I9 e8 \' d9 Z" I
1.2 STM32WB总线架构9 j6 }- C% v4 [$ y1 Q
如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。8 v; f5 y. A0 b* h' I8 F

8 T4 H+ R/ p  p  j( f/ @9 @% \* Y
20200930104700362.png

. p. [# o. W: h# R5 Q% X: l7 G9 h  ~) G6 Z) r3 t
1.3 总线矩阵
6 ^) s% X3 V9 e+ J# J  M% k
" |4 @# T3 [6 @! k8 Y- p# D' z
20200930105113141.png

5 O+ q7 i- j/ g: K8 X
+ ~* u8 X8 k$ H" p; O1.4 存储分布
( c5 y5 {2 l7 h" l& ]' B
, S) b  }% ^- a) g/ |9 [2 b% v. H5 x
20200930105157465.png

% R# c6 Y) X" M, X! J$ X' K" w
: E* A+ K, [$ T' B8 m* {9 E1.5 STM32WB闪存特点
6 e5 e. q4 X" L共享
) t0 P6 k5 F# C) f; v/ T闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。
- K$ j; `/ ^: y7 N8 N使用ART加速/ C) {  G; ^* b, ^
同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。5 d- H$ o, p8 V9 u" j5 m# F! O

$ q8 U( X9 Q8 D, L4 S9 i! I9 I3级保护
, B  k! S0 v* ^* \  b% m2 ]级别0(无保护)至级别2(最大保护)
$ X# y( y$ v( |3 k0 h& b" _
& ], r9 @" M+ G* B9 g1 c2 h限制
) z& ~" l1 n8 x0 R+ e) ~" R在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。
* ]. I* Z9 W4 t  N6 q) H# P) \1 F0 N: d; y$ w
2 RF射频简介
  ?& A# ]9 v+ i2 o  p2.1 RF参数简介

1 m2 f9 q/ v+ E- W9 ?* h模拟前端
, s7 d- w: r3 G. c9 x1 }1 a最大输出功率: e- C  b0 _- `# @) B
集成巴伦,6dbm发射功率,具有1dbm步进调节3 W# J  |( {! i! V* {4 S9 |
专用引脚驱动外部PA,可以获得最大20dbm的输出功率
* o4 u  j+ J8 C1 g/ s. u( U1 `2 C4 T8 @1 u1 Q5 @
接收灵敏度
$ a$ T- j  d( S# {2 G5 MBLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)
8 B0 Z8 m! F1 s7 _802.15.4:250kbps @ -100dbm, s9 K' H1 ~; q7 ~8 D  s5 v, D

* ]4 Z' `  f  n% L1 q* {功耗@3.3V( |# L& J+ D, o  m; D# p; D) C
TX:@0dbm:5.2mA
! L1 I% `6 J9 M2 bRX:4.5mA( {7 Z  s0 W8 d
stop2 with radio in standy (accurate clock LS12):1.8uA; U' N3 t! h3 p/ [& X* _1 Q
1 o( v$ l& C8 T( n1 E) Z0 U
调制解调器
1 ]9 O! Y# e' e' s+ d通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率, t. [9 _* f2 A9 E# P/ |  v% l
IEEE 802.15.4 :硬件模式支持250Kbps通信速率
- A8 u, Y6 _  h5 ^
4 ^7 B' l' R5 q2.2 STM32WB典型外围电路
- e: _! w9 d7 L2 G; U5 E) k6 }0 c* n7 I+ X
9 }, Z& p2 j) N
20200930110652529.png

1 P+ `4 w, `$ h0 T0 c/ z# u/ R! H: ?
5 ^* S, ~( n- e% n% u7 }4 @2.3 STM32WB RF输入/输出匹配网络
) J1 g1 H: g: h  B6 O& t" P$ J1 y3 g1 z% ]/ {& [4 U, }
20200930110754104.png

: G( g5 j1 ?- E' l" h* [. g( O8 Z+ K% }  A4 G& T
一个Π型滤波网络加50Ω阻抗匹配。
. k: f+ I/ G7 J/ ~7 y5 E/ t! y! R/ z8 h0 Z8 O, }0 k$ }
3 电源管理* y& q, S2 z* S! n. N& w
3.1 供电方案框图

9 A1 w9 t) H% {$ i0 J9 B2 I如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。
' E% A; W2 m! }, |4 v9 l2 d4 c: x1 Y
/ k4 {4 A* }' Q+ \' [4 L7 w" k2 p
20200930111004948.png

: t, C/ p- ~2 [$ d) I- [- I
9 p, |  c. @! l3.2 内部SMPS

1 n) _; s* c) i+ b. ]SMPS用于降低VDD电源5 k% B: M- o6 [9 f( g7 n$ @
SMPS为数字核心和射频LDO供电1 G" D! t- Y# D) _+ C
当VDD电源高于BOR[1…4]阈值时,使用SMPS模式" v. @" @) ~* o
   低于此阈值使用旁路模式,支持及时切换5 b0 M3 J- k, C4 q! N: P
   通过HW机制执行关闭,通过SW重新开启& W+ Z% U3 D8 H
SMPS降遵循社保操作模式! r. q3 W5 b2 `0 a
  在Run和stop0模式下为On
- N$ s  ?. d: {7 k5 r  在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式4 j; u) |( z5 N
3.3 电源配置; ]) p) b2 ]( B- Y1 O1 m, n
高性能使用SMPS
+ D" s" e; q* b9 X6 s- G3 @   通过添加外部电容和线圈,SMPS用于降低功耗5 G- b1 `2 B6 s( R

2 s0 ^' j# ^/ G) \
20200930112611960.png
9 U$ b0 O' }( e, s

8 j4 Q: N: J* S低成本今适用于LDO
2 {5 H* A& h- W3 w) y# `7 i0 x9 Q   通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。
  r" O2 c0 [: E1 Y; O) r8 I3 x; E+ ?: ~; r& [1 S% l/ H
20200930112744994.png

0 J' u! }( w) w: T9 H0 ?1 y7 t# w6 Q$ X! N
3.4 SMPS原理图2 y4 x: s3 |: I4 {
  D1 c9 l" D' g" A
20200930112824925.png

* c# X0 |+ ]' T+ y; x3 h  r( t# t; b1 a9 S% G$ s3 p
4 核间通信和安全管理
' m; O0 j  e" ~3 K' n; d2 v! S4.1 HSEM

" h3 R2 H6 B) d: ?3 sSTM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。
; q  V! ]9 v; [  V7 b2 T. o1 d' J/ I
管理和访问权限和同步/ a+ Y9 `6 c  f6 b8 [) i3 G
   运行于同一个cpu上的不同进程
0 ?% _: H5 N! |4 D# ?" c  i   不同的cpu$ W3 r' m7 i9 i% q; d
32个硬件信号量0 W5 T8 {* f( I% X) p  h
两种锁定机制/ I% X) I2 e) F% ]5 P, x
   2-step write, read back lock
( X, L7 b0 f) Z7 r& M2 a   1-step read lock3 S8 Q9 ?: y) E2 s) ~4 p" [2 ^) L, O
信号量释放产生中断& ]& Y+ N5 k% H6 p3 K- H, i+ I
应用优势
& x% W- E5 A0 p' G4 ~: V   防止共享资源访问冲突* f$ b. o1 x; V6 W, ~
   确保进程之间的同步
0 l  m7 ~# R+ z0 M, d! H  F$ z& S   无阻塞信号量处理
! l2 f4 R4 x% o) V! z! B9 B4.1.1 HSEM框图
2 u5 F- o/ [! X' aHSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。5 T6 s( ~) o% z8 y6 B

  ^( D+ m0 a' R& p2 ?+ f
20200930141938212.png

- L% Y1 k, {' H' b
1 U1 j. z, u5 ]' V" G
HSEM框图

2 \$ z5 O9 _; M
  ~% T: r/ L4 I  [
20200930142349269.png
+ _* d3 Z* |2 Y9 I- g

% i  m1 R) i3 \, t0 V
2步 写-回读锁机制
2 H5 E6 B3 j2 O6 T  T4 u- f1 Y' g

, n0 j" ^* x2 o. f! }5 M
20200930142506381.png

6 c& c. f/ `* J) t. q! {: ]
1步 锁机制

9 c( b+ d0 i  u; K4.1.2 信号量使用 - 共享资源5 g& N- N5 s1 r+ ?% z. ]
两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。
/ N2 Z# r1 g! j) j* @9 N: r! [* |7 h8 t5 W+ D6 U" C' V$ M
VS1V)~6GWZ}_BSD0G([J`DF.png

( s3 Y1 m/ c+ T' D# W3 R- `. V  b! R% R3 p& f
4.1.3 信号量 - 闪存写入和擦除
' J; I/ z6 Q, K( y+ t
要在闪存种写入,应用程序应该# g4 z# l  p5 T7 c% H  @. ~
   获取Sem2' |  i0 Y  O7 Z
   写入闪存
, j3 q  f! W" p  H     释放sem2
7 _- e5 W' S! e擦除扇区,应用程序应该
0 M2 `# E7 Z  m! W1 M   获取Sem2* t6 b: c  c. d' b: B
   发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2, i( R& m2 i  ?" m% Z% S' e
   擦除一个或多个扇区
" X9 _, k/ |% \. g* {0 c: y    释放Sem2
& V! H8 S8 p/ o. k! ~5 R   发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU20 i! W9 p( q6 v# M2 ^6 F% L
4.2 IPCC0 `- I  ^# O5 D# r
IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。% q5 T" [% F# F. e6 j+ d! Y
& d0 |- `# W, ^# v7 D
为通信信道管理提供非阻塞信令- U1 H# k4 |3 O0 h& b. g
   消息可用性中断
) M  g0 m& o" ^, Q- d   流量开启中断通知
& E. X/ _7 a' O! o# f- c" R2 O" Y8 f7 w- \
通讯方式
" V# e! j  h6 l) Y8 @5 x5 {   单工:每个方向的专用通道
* F( `2 e; t& T/ T) a: |6 W2 b  a7 F+ s$ k   半双工:单个共享双向通道
5 [! n1 Y0 |6 D. T3 D/ l% X/ Z& _6 N
最多6个双向通道
, w# V& L9 w, M; W& S# f6 L. I   通道数据存储在共享ram中
) C) z/ n1 A+ i# Q9 ~
! b) V! ?. v7 ^/ c: ?# B: Y, L5 v! x* q  @7 p6 {
应用优势 8 D2 c; {' q: X" K
   非阻塞信息交换
1 B, }& ]2 U. c5 b/ Y) p$ n   通道流量控制' _1 S& F# H. U' p: ~% j
   支持CPU sleep和stop模式$ [; h. _0 L8 s) O  R/ L" l

* W7 [6 |  Y1 [: |! K" I
20200930145138448.png

4 n( \, r9 \5 |9 q* \' [: C, O$ J6 ^- d
4.3 安全管理

7 K% C8 R6 o* M& [- B5 @" J8 C& S& BBLE外设可以安全使用以下外设
2 _) D, E* e$ x7 t5 ]# B8 w   AES1(仅限IP加密密钥)用于应用程序的加密引擎
% W; A  Z. Z9 T3 G   AES2(Full IP)用于IEEE802.15.4的加密引擎0 C, I1 P' R( w: ^7 C! x1 p' \
   PKA(Full IP)用于加密密钥的生成# w/ V& s' U# }
   True RNG(Full IP)用于加密密钥的生成
! M; l3 r' T9 _6 u7 o* ~* D' Y5 o3 [7 _7 e( U2 f4 u5 f
对安全IP的访问由HSEM管理
/ \$ n1 d0 A- F2 V' L   HSEM x,y,z用于管理共享安全外围设备访问
* R0 K4 H+ D! ^% c% R
- h  @7 @: P- a" p( NBLE堆栈提供以下加密密钥功能
) @8 [$ `' ^4 A  Y$ v8 r8 [    密钥存储4 m' N/ m  k; N* S2 q/ o  @/ n( U  W
    密钥更新
  y% e$ i. w; f+ j. @7 y    密钥删除8 b) v: z" u& z) f/ O% T
    密钥加载(在AES1中)
3 b* |- W  D. m8 w( ]! l4.4 Cortex-M0+安全性
$ A+ j2 \8 V8 f4 f5 e% A  f, @: C' |闪存的上半部分只能由cortex-m0+访问
4 J4 h) x1 N/ ?   由安全选项字SFD和SFSA定义
/ W' A6 d4 @$ N  Z; \全局安全使能
! h& \" D; c; `1 P2 r$ z: }   允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性* _4 Q8 W: T* H7 I8 z% T, D" N
   允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性% y" B+ J0 _+ M; I: f
   运行通过SYSCFG使能外设的安全性2 t: x9 H- X3 I6 n3 y$ @
) h8 s5 s6 b6 Z3 W  v
20200930150204374.png
/ n! h# p+ _: @2 O

/ G0 _9 V$ d$ l7 p( b/ G
收藏 评论1 发布时间:2022-1-4 11:00

举报

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

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

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