1 系统和存储 1.1 系统总览 STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。1 l9 `2 H, l2 P, [- M# Q' m! { ) k B0 Y7 F- z" T4 P! z 1.2 STM32WB总线架构 如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。- K0 z6 l/ h1 U% ?/ ^4 N9 K ! Q9 I2 G: h) L * f8 `7 m- U8 ]/ B# w5 C 1.3 总线矩阵 1.4 存储分布 : r# e. T4 S1 I: z , \4 T9 i& k ^% X8 Q9 F6 L# \ 1.5 STM32WB闪存特点 共享9 R; y+ [5 m$ Z# a$ E5 j 闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。1 k2 Z% m: z$ @% f. g; ^ 使用ART加速 同时执行代码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(最大保护) / V1 L7 Z% w4 \ 限制 在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。 . V9 p/ O% ^! E, L! `' w 2 RF射频简介 2.1 RF参数简介; i6 }) [, S" h: Y! _ 模拟前端) k" T: n; p. h& \' H+ L 最大输出功率 集成巴伦,6dbm发射功率,具有1dbm步进调节1 n+ p; I, i4 _; \ 专用引脚驱动外部PA,可以获得最大20dbm的输出功率" |5 k8 y1 N8 s% Y& C$ p2 Z 接收灵敏度 BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持) 802.15.4:250kbps @ -100dbm- ~. F0 F$ g) L, C $ `2 N( z# |7 G 功耗@3.3V TX:@0dbm:5.2mA9 |4 F/ ^' Q6 I RX:4.5mA stop2 with radio in standy (accurate clock LS12):1.8uA 调制解调器 通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率 IEEE 802.15.4 :硬件模式支持250Kbps通信速率 " p/ T9 `" i8 N. h: j 2.2 STM32WB典型外围电路 3 H: \$ k$ H1 K1 _3 f. b" T# 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 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 供电方案框图 如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。5 F9 D" P8 G! d$ q) M2 F: O 4 l. z) f2 ~$ S% G( P; ? ( j0 ]9 [* i+ D* R1 x7 P+ L 3.2 内部SMPS7 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模式 低于此阈值使用旁路模式,支持及时切换* ?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 - T( Y- a, c6 k3 @5 w' Z9 O" S: } 低成本今适用于LDO 通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。 5 O7 p* j3 v) K/ Y* b8 i P8 ~8 [ / p; w$ I ^! P1 r 3.4 SMPS原理图0 M) ?! P2 h: o/ k0 W2 V: t ' A" S( Q7 K, ~$ [6 x * x3 W/ c- c" n: c* L$ I. U8 v 4 核间通信和安全管理 4.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个硬件信号量 两种锁定机制$ u/ h/ _' E4 n& b ~6 { 2-step write, read back lock 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 防止共享资源访问冲突 确保进程之间的同步 无阻塞信号量处理 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 2 A: M8 c7 x/ P. s' _/ o/ @ HSEM框图 2步 写-回读锁机制 4 F; l+ _$ c( i" ?$ W4 s' G5 g. c v: O8 _: Z 1步 锁机制 + K6 J5 D2 c) c. s4.1.2 信号量使用 - 共享资源 两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。4 {1 \8 x5 E2 _& g 1 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 写入闪存 释放sem2 擦除扇区,应用程序应该 获取Sem2 发送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是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。 . r5 Z- T0 X7 r& R. s" W' T 为通信信道管理提供非阻塞信令 消息可用性中断 流量开启中断通知 通讯方式 单工:每个方向的专用通道 半双工:单个共享双向通道 最多6个双向通道/ B/ V# L; H1 \0 k7 b 通道数据存储在共享ram中 $ K& y6 v6 _8 u$ K) W i4 E 应用优势 非阻塞信息交换 通道流量控制 支持CPU sleep和stop模式 * e7 O% }9 v# Q. T) Y/ Q# F. w6 b 4.3 安全管理- }$ o! D x6 I. I+ s+ X BLE外设可以安全使用以下外设 AES1(仅限IP加密密钥)用于应用程序的加密引擎 AES2(Full IP)用于IEEE802.15.4的加密引擎5 R4 y% T0 M9 a7 A: M. S PKA(Full IP)用于加密密钥的生成 True RNG(Full IP)用于加密密钥的生成 5 E1 L* h* p/ I% ?2 V 对安全IP的访问由HSEM管理 HSEM x,y,z用于管理共享安全外围设备访问 / [9 U& C5 O$ w2 N, Q- U BLE堆栈提供以下加密密钥功能# n" t W, ?' I! ^. v) X: @& Y 密钥存储! r) \. u! Z8 G6 U% t# {+ a 密钥更新 密钥删除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+访问 由安全选项字SFD和SFSA定义/ \: j5 L2 u0 z& L- L$ m Z7 p 全局安全使能" x: I2 c+ u S! U) J 允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性 允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性( m* C& I0 i( _, y 运行通过SYSCFG使能外设的安全性. h% I3 W" J( K/ W \6 F " h; X2 q3 ~1 I |
【NUCLEO-WB09KE评测】创建BLE工程和开启调试信息
【NUCLEO-WB09KE评测】+2.串口打印
【NUCLEO-WB09KE评测】+5.实现标准电量服务
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
Nucleo-STM32WB09KE测评-蓝牙调试并使用OLED显示数据
【NUCLEO-WB09KE评测】+3.蓝牙广播
STM32WB系列MCU低功耗测试
Nucleo-STM32WB09KE测评--IIC传感器读取
【NUCLEO-WB09KE评测】+4.蓝牙控制LED
【NUCLEO-WB09KE评测】+1.点灯
你好 请问文中的RF射频简介是引用官方哪个文档?