1 系统和存储5 _% Z4 `: v. p U/ z 1.1 系统总览 STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。4 r5 D& r. b2 d1 M : e, N/ _7 D$ i' h % 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 1.3 总线矩阵! Y3 X" N( _! o: n/ @4 j9 p 1.4 存储分布 ; T5 F7 n5 v* ?- s/ g9 w ( b& E2 ]# Y \ 1.5 STM32WB闪存特点 共享 闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。% ^% z$ b/ j+ Q 使用ART加速 同时执行代码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 限制 在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。 2 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 最大输出功率 集成巴伦,6dbm发射功率,具有1dbm步进调节* _3 o( D& D+ l$ C9 @2 S5 e 专用引脚驱动外部PA,可以获得最大20dbm的输出功率" P0 Q [ `2 q2 k2 z 接收灵敏度7 M6 A, j% _" n% |' {( j' o, q BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持) 802.15.4:250kbps @ -100dbm0 z3 O2 r6 D6 z# t2 X' c' b 功耗@3.3V 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 调制解调器 通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率& h8 O9 `; p% J( i IEEE 802.15.4 :硬件模式支持250Kbps通信速率 2.2 STM32WB典型外围电路 6 f% n$ Q+ Y4 f! I) a9 c8 Y : 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 一个Π型滤波网络加50Ω阻抗匹配。 ! P; [5 T8 d5 c0 X& Z1 x 3 电源管理 3.1 供电方案框图5 |7 a; P& k0 Q- m( {4 f6 [" s 如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。. N/ q) [8 Q8 `, I0 Q, G: ?2 I% H 3.2 内部SMPS9 V, L% P, M8 v7 w$ q9 w5 T SMPS用于降低VDD电源 SMPS为数字核心和射频LDO供电 当VDD电源高于BOR[1…4]阈值时,使用SMPS模式 低于此阈值使用旁路模式,支持及时切换- U* O, K0 o& Y 通过HW机制执行关闭,通过SW重新开启 SMPS降遵循社保操作模式 在Run和stop0模式下为On 在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式 3.3 电源配置 高性能使用SMPS1 A" ] }$ ?" k7 y0 ]# h4 @ 通过添加外部电容和线圈,SMPS用于降低功耗0 Q& n6 t$ }! k6 l+ X 2 x1 x( ~; _. D0 @2 t7 t/ k! E } 低成本今适用于LDO 通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。6 V0 l! ` |# {& F- w3 j 5 K2 k4 r: c! Y1 p% R8 z5 }7 c 3.4 SMPS原理图& B/ H& W3 {4 h* ?5 v- p2 Y 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集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。 管理和访问权限和同步- d/ K1 m: G+ _+ k3 K; V, x 运行于同一个cpu上的不同进程 不同的cpu 32个硬件信号量& j6 J1 D' B" T 两种锁定机制 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 应用优势 防止共享资源访问冲突* C: A( L% m* { 确保进程之间的同步 无阻塞信号量处理 4.1.1 HSEM框图( {4 v' W- A/ l# l HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。. y1 S0 `% A- g1 Y: X, J3 j% s h# v HSEM框图 2步 写-回读锁机制 5 C6 ^% D4 T% }( P4 G% l- L7 h2 X1 C+ k/ V9 ?9 _9 p6 m/ ?( p e 1步 锁机制 4.1.2 信号量使用 - 共享资源 两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。 0 I/ x, A/ I. f8 m" Y% q# \) R 4.1.3 信号量 - 闪存写入和擦除 要在闪存种写入,应用程序应该9 V! e. M1 P- U5 Z( h 获取Sem26 e# ?$ O8 j% J5 C( @9 d. T 写入闪存 释放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 擦除一个或多个扇区 释放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 IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。# ^7 o4 N2 p3 _- q. T$ m 为通信信道管理提供非阻塞信令! V5 r, N$ I2 r# k+ | 消息可用性中断4 F+ Z2 A& a7 \ 流量开启中断通知: F+ F/ Y8 p; \3 U) M! r / u& X, T& F7 u3 } 通讯方式 单工:每个方向的专用通道 半双工:单个共享双向通道 最多6个双向通道: m2 k, d, A' k a: F0 u 通道数据存储在共享ram中8 g( \* t: R9 E ! F1 U$ ^8 x$ }4 R/ _6 K 应用优势 非阻塞信息交换 通道流量控制% 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) _ & {5 j2 V/ F2 b3 g; M9 f 4.3 安全管理5 a# V# F) ^ j1 c; P4 T BLE外设可以安全使用以下外设 AES1(仅限IP加密密钥)用于应用程序的加密引擎 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管理 HSEM x,y,z用于管理共享安全外围设备访问9 ~* \9 d, L& Q, q ' u7 z$ s6 V7 e" R; j9 n BLE堆栈提供以下加密密钥功能# E7 f9 Y1 K5 J 密钥存储 密钥更新 密钥删除 密钥加载(在AES1中)' L# r' t5 o3 G* h 4.4 Cortex-M0+安全性 闪存的上半部分只能由cortex-m0+访问& T+ R/ K6 T2 |- w9 p+ I 由安全选项字SFD和SFSA定义 全局安全使能 允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性 允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性 运行通过SYSCFG使能外设的安全性 l* t+ \! f6 p5 G $ ]' ]0 J; A0 M4 p |
4月25日培训|基于ST 双核多协议STM32WB55的Matter方案开发
实战经验 | 关于STM32WB OTA 速率提升引发的讨论
基于STM32WB55的配置串口打印Debug经验分享
基于创建STM32WBA BLE_Custom工程经验分享
来看直播了,就在明天 | STM32 Matter 解决方案,轻松实现智能家居无缝连接
基于STM32WB55开发之套件概述(1)
基于STM32WB55开发之监测STM32WB连接状态(1)
基于STM32WB55开发之修改蓝牙地址(2)
STM32WB基于Custom Template实现客户定制BLE私有协议
如何基于STM32WB一次性烧写FUS+STACK+APP
你好 请问文中的RF射频简介是引用官方哪个文档?