STMCU小助手
发布时间:2022-1-4 11:00
|
1 系统和存储+ Y) q, S" b5 k* B& R 1.1 系统总览 STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。( d7 u$ g8 t3 s$ A4 C( t: t K* x2 J
8 h! \2 t* i# b9 V1 ^ B 1.2 STM32WB总线架构- |: H# v, J* Y, s 如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。 $ _" G7 ?- V) o) K B
1.3 总线矩阵 6 l( @" W$ f j5 A5 z) t7 I
! V @- r2 w& p- u 1.4 存储分布, L8 b6 w, t; W6 b
1.5 STM32WB闪存特点 共享 闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。 使用ART加速8 B+ _: Q- m8 u3 L# |6 L) \, P 同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。# k% ~& l+ s: d& _. N 7 U& ^+ T% G: w0 Q3 H! J4 t- U 3级保护' [ Q; z8 X8 X4 J! X 级别0(无保护)至级别2(最大保护) 限制$ x: r0 H) H/ w9 h! j& T" W 在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。 S4 o( f; S+ N0 E$ b4 X/ Z 2 RF射频简介 2.1 RF参数简介) W* r3 {' Y7 f9 @$ I 模拟前端 最大输出功率 集成巴伦,6dbm发射功率,具有1dbm步进调节 专用引脚驱动外部PA,可以获得最大20dbm的输出功率 ' e, c& s, [* b: _7 M) M 接收灵敏度7 y, W+ j$ w1 m! o8 V BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持)) D6 a5 P- V/ J W& v$ l 802.15.4:250kbps @ -100dbm" U; V, u s" m9 a 功耗@3.3V TX:@0dbm:5.2mA RX:4.5mA stop2 with radio in standy (accurate clock LS12):1.8uA/ S( \+ x1 R3 _7 v1 c9 A/ W9 _ 调制解调器& }4 n5 O! X! L* L 通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率" N8 I8 Q' \6 Z2 X: G- h IEEE 802.15.4 :硬件模式支持250Kbps通信速率 + g" X6 l: x1 L) x% P 2.2 STM32WB典型外围电路+ X: T# n) G! U" \
2.3 STM32WB RF输入/输出匹配网络+ n/ t7 b9 W& z) J* J/ t6 d. B7 @
( x2 Y" s1 U; r 一个Π型滤波网络加50Ω阻抗匹配。 3 电源管理) h2 d/ Y5 Z- M* @% Q& ? 3.1 供电方案框图 如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。6 A$ c, W* ^" l# ?9 A' ^" Y* V
8 C5 ^' {( |+ I+ r/ s 3.2 内部SMPS( K( W% c$ d; [% ~/ x SMPS用于降低VDD电源: H7 r9 u) Y( L( t SMPS为数字核心和射频LDO供电* K& h2 x2 }' P: c% t 当VDD电源高于BOR[1…4]阈值时,使用SMPS模式 [$ s9 t( } k/ x. J 低于此阈值使用旁路模式,支持及时切换 通过HW机制执行关闭,通过SW重新开启' v% `* ~) \0 C3 O; J5 | SMPS降遵循社保操作模式 在Run和stop0模式下为On 在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式 3.3 电源配置 高性能使用SMPS' @9 t) w+ E- W h& p7 B6 t7 q4 C 通过添加外部电容和线圈,SMPS用于降低功耗
低成本今适用于LDO- K8 u* m& @; q" X' \ 通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。 9 }3 ~; |$ F6 }2 J: r$ D
6 L# I# O4 p# |# G& Q 3.4 SMPS原理图 9 a5 Y' n! y% W: J6 \
4 核间通信和安全管理 4.1 HSEM STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。, m7 w$ Q! p2 e1 S5 E8 M 管理和访问权限和同步 运行于同一个cpu上的不同进程* L- o0 _: L, ?* j 不同的cpu: T0 e/ Y3 P% T0 ` 32个硬件信号量 两种锁定机制 2-step write, read back lock' o. S: o9 i, \7 {) ~4 I 1-step read lock 信号量释放产生中断 应用优势" v2 B' i& p3 Z* _3 { 防止共享资源访问冲突* ?; S) A- I2 U4 I* D% Z 确保进程之间的同步 无阻塞信号量处理 4.1.1 HSEM框图 HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。 & a9 [* \" q6 A# A
HSEM框图 ! z; k, R6 Y1 w7 G: N% ?4 H b% Y- l5 A1 `7 Q; Y
2步 写-回读锁机制 8 ^; V! T: Q/ C/ v4 M. X% z# a
1步 锁机制 4.1.2 信号量使用 - 共享资源 两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。& {$ L; s4 j6 f& ]( P7 k! B : ?" f% E3 \8 p5 j1 L% ~
4.1.3 信号量 - 闪存写入和擦除 要在闪存种写入,应用程序应该 获取Sem2* Z& K( G& l3 L- G8 E 写入闪存 释放sem2" C4 k& K7 U& b: z 擦除扇区,应用程序应该 获取Sem2 发送SHCI_C2_FLASH_Erase_Actiity(erase_activity_ON)命令给CPU2 擦除一个或多个扇区$ P4 ]/ t) K c, n. j 释放Sem2 发送SHCI_C2_FLASH_Erase_Activity( erase_activity_OFF ) 命令给 CPU2 4.2 IPCC3 w+ \/ `! q+ L1 [ IPCC是核间通讯控制模块,它可以提供中断信令,允许微控制器以非阻塞的方式交换信息。 为通信信道管理提供非阻塞信令 消息可用性中断* q5 d6 V- U3 D7 i) j H. t: s' J! Z 流量开启中断通知 7 y5 v; o1 W! n. r5 O& | 通讯方式 单工:每个方向的专用通道 半双工:单个共享双向通道7 O) ?3 p' E0 h4 Y! H! @ 最多6个双向通道; c1 E6 y8 p+ X: X' i, G3 p 通道数据存储在共享ram中 * B0 f6 v/ s# J- M % I, I1 R. d% G4 m C% G1 @3 }; L* D 应用优势 + M, P' F( V" S 非阻塞信息交换0 Z; u B2 F, n1 p) B: Z 通道流量控制 支持CPU sleep和stop模式7 H& |4 i2 {0 B7 Z8 w( T " F0 u4 a. z9 B" S7 U
4.3 安全管理- ]/ I" j; p6 u3 U m" g BLE外设可以安全使用以下外设' c' }4 n: V+ _ AES1(仅限IP加密密钥)用于应用程序的加密引擎( n3 [# ~& k7 C AES2(Full IP)用于IEEE802.15.4的加密引擎2 W5 q$ ?0 H0 Z, h PKA(Full IP)用于加密密钥的生成1 h2 s5 M: G9 V) f+ Z' c1 | True RNG(Full IP)用于加密密钥的生成 5 T$ |9 U( K' G B! ? 对安全IP的访问由HSEM管理3 f0 f2 d; q+ x2 R4 Z5 b4 A HSEM x,y,z用于管理共享安全外围设备访问 BLE堆栈提供以下加密密钥功能* ]. l" Y. Z4 Y$ w7 _ 密钥存储 密钥更新 密钥删除 密钥加载(在AES1中) 4.4 Cortex-M0+安全性6 S, q- b+ A$ ?; D9 q" e3 O! t$ W6 T 闪存的上半部分只能由cortex-m0+访问' L. ^+ t* u+ [( ?9 y: Z+ T' k1 \ 由安全选项字SFD和SFSA定义 全局安全使能 允许通过安全选项字SBRD和SBRSA来添加SRAM2a上的部分安全性! G0 _1 t3 Y9 I; ^- s7 f 允许通过安全选项字SNBRD和SNBRSA来添加SRAM2b闪的部分安全性' v8 P# }9 Y8 D; L 运行通过SYSCFG使能外设的安全性
5 [6 \# M' z* R9 f |
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
从照明到楼宇:STM32WBx5 BLE Mesh 落地指南
微信公众号
手机版
你好 请问文中的RF射频简介是引用官方哪个文档?