1 系统和存储 1.1 系统总览 STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。 7 ~2 W1 b1 P- I8 S7 u( Y 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 7 G9 h ~) G6 Z) r3 t 1.3 总线矩阵 1.4 存储分布 1.5 STM32WB闪存特点 共享 闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。 使用ART加速/ C) { G; ^* b, ^ 同时执行代码CM4和CM0+对MIPS的影响约为0%,在单独的AHB总线上,它有自己的时钟分频器。5 d- H$ o, p8 V9 u" j5 m# F! O 3级保护 级别0(无保护)至级别2(最大保护) 限制 在射频活跃期间,flash擦除或存储不应该被启动。因为射频活跃期间cpu1会频繁读写flash。 ) H# P) \1 F0 N: d; y$ w 2 RF射频简介 2.1 RF参数简介 模拟前端 最大输出功率: e- C b0 _- `# @) B 集成巴伦,6dbm发射功率,具有1dbm步进调节3 W# J |( {! i! V* {4 S9 | 专用引脚驱动外部PA,可以获得最大20dbm的输出功率 1 g/ s. u( U1 `2 C4 T8 @1 u1 Q5 @ 接收灵敏度 BLE:1Mbps @-96dbm, 2Mbps @-94dbm(250kbps和125kbps不支持) 802.15.4:250kbps @ -100dbm, s9 K' H1 ~; q7 ~8 D s5 v, D 功耗@3.3V( |# L& J+ D, o m; D# p; D) C TX:@0dbm:5.2mA RX: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 调制解调器 通过硬件格式化BLE包(对软件完全开放射频)支持1和2Mbps速率, t. [9 _* f2 A9 E# P/ | v% l IEEE 802.15.4 :硬件模式支持250Kbps通信速率 2.2 STM32WB典型外围电路 2.3 STM32WB RF输入/输出匹配网络 $ J1 y3 g1 z% ]/ {& [4 U, } . g( O8 Z+ K% } A4 G& T 一个Π型滤波网络加50Ω阻抗匹配。 ! y! R/ z8 h0 Z8 O, }0 k$ } 3 电源管理* y& q, S2 z* S! n. N& w 3.1 供电方案框图 如下图所示,各个电源阈单独供电,在供电选择上有很大的灵活性。 3.2 内部SMPS 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 在stop1 2 待机standby和关机shutdown模式下,SMPS自动处于开放模式,唤醒时自动恢复进入前使用模式4 j; u) |( z5 N 3.3 电源配置; ]) p) b2 ]( B- Y1 O1 m, n 高性能使用SMPS 通过添加外部电容和线圈,SMPS用于降低功耗5 G- b1 `2 B6 s( R 低成本今适用于LDO 通过短接SMPS输入。LDO直接由VDD提供节省电容和电感成本,但是功耗会增加。 3 x; E+ ?: ~; r& [1 S% l/ H : T9 H0 ?1 y7 t# w6 Q$ X! N 3.4 SMPS原理图2 y4 x: s3 |: I4 { D1 c9 l" D' g" A # t; b1 a9 S% G$ s3 p 4 核间通信和安全管理 4.1 HSEM STM32WB集成硬件信号量模块,该模块用于同步进程和管理共享资源访问权限。具体如下。 V7 b2 T. o1 d' J/ I 管理和访问权限和同步/ a+ Y9 `6 c f6 b8 [) i3 G 运行于同一个cpu上的不同进程 不同的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 1-step read lock3 S8 Q9 ?: y) E2 s) ~4 p" [2 ^) L, O 信号量释放产生中断& ]& Y+ N5 k% H6 p3 K- H, i+ I 应用优势 防止共享资源访问冲突* f$ b. o1 x; V6 W, ~ 确保进程之间的同步 无阻塞信号量处理 4.1.1 HSEM框图 HSEM模块位于AHB总线上,由AHB接口和中断管理构成,每个CPU都有一个专用中断,并且都有自己的使能、状态、掩码和清除寄存器。每个信号量由两个寄存器组成,一个读写寄存器,用于在两步锁过程中对信号量进行写操作并读取信号量状态,它也可以释放信号量;另一个是读寄存器,它用于一步锁过程中的读取锁。5 T6 s( ~) o% z8 y6 B HSEM框图 2步 写-回读锁机制 2 H5 E6 B3 j2 O6 T T4 u- f1 Y' g1步 锁机制 4.1.2 信号量使用 - 共享资源5 g& N- N5 s1 r+ ?% z. ] 两个CPU可以同时访问的所有外设都受硬件信号量保护,在访问此类外设之前,应首先获取相关的信号量并在使用完之后释放。 ! [* |7 h8 t5 W+ D6 U" C' V$ M # 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 写入闪存 释放sem2 擦除扇区,应用程序应该 获取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 擦除一个或多个扇区 释放Sem2 发送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 消息可用性中断 流量开启中断通知 " R2 O" Y8 f7 w- \ 通讯方式 单工:每个方向的专用通道 半双工:单个共享双向通道 3 D/ l% X/ Z& _6 N 最多6个双向通道 通道数据存储在共享ram中 : Y, L5 v! x* q @7 p6 { 应用优势 8 D2 c; {' q: X" K 非阻塞信息交换 通道流量控制' _1 S& F# H. U' p: ~% j 支持CPU sleep和stop模式$ [; h. _0 L8 s) O R/ L" l 9 q* \' [: C, O$ J6 ^- d 4.3 安全管理 BLE外设可以安全使用以下外设 AES1(仅限IP加密密钥)用于应用程序的加密引擎 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)用于加密密钥的生成 5 o3 [7 _7 e( U2 f4 u5 f 对安全IP的访问由HSEM管理 HSEM x,y,z用于管理共享安全外围设备访问 BLE堆栈提供以下加密密钥功能 密钥存储4 m' N/ m k; N* S2 q/ o @/ n( U W 密钥更新 密钥删除8 b) v: z" u& z) f/ O% T 密钥加载(在AES1中) 4.4 Cortex-M0+安全性 闪存的上半部分只能由cortex-m0+访问 由安全选项字SFD和SFSA定义 全局安全使能 允许通过安全选项字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 |
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射频简介是引用官方哪个文档?