STM32WB最小BOM设计实战:电源、时钟与射频的取舍
2026/8/29 23:54:58 网站建设 项目流程

STM32WB 这颗芯片有个很有意思的地方:它把一颗 Cortex-M4 应用处理器和一颗 Cortex-M0+ 网络处理器封装到了同一个封装里,同时还集成了 2.4GHz 射频收发器,也就是说,你只要给它一个合适的晶振、一套稳定的供电、一根过得去的天线,BLE 应用就能跑起来。对于做物联网终端的朋友来说,这意味着原来“MCU + 独立蓝牙芯片/模组”的双芯片方案可以合并成单芯片,BOM 一下子少了一截。但如果真照着数据手册把每个电源引脚都摆上最全的电容、把射频参考设计原封不动地搬过来,你会发现最小 BOM 根本没那么“小”。这篇文章我会从实际设计角度出发,把 STM32WB 真正跑起来到底哪些元件省不掉、哪些可以降配,以及 BOM 在整理导出、ERP 传递时常见的坑都捋一遍。不管你是刚开始选型,还是已经进入原理图阶段,这份笔记应该都能帮你少走几步弯路。

1. 项目背景与核心思路

1.1 为什么 STM32WB 系列值得单独聊“最小 BOM”

很多人觉得“最小 BOM”就是把原理图上的电容电阻砍到最少,其实不是。硬件设计里的 BOM 最小化,通常是在满足功能、性能、量产一致性的前提下,把物料种类和用量控制到最低,而不是盲目删除。STM32WB 之所以值得单独讨论,是因为它的供电域、时钟域、射频前端比普通 MCU 更敏感,删错了元件,表面上看 BOM 省钱,实际拿到的板子可能射频指标不合格,或者低温下无法启动。

STM32WB 家族分为 STM32WB55、STM32WB35、STM32WB15、STM32WB10 等型号,其中 WB55 系列功能最全,支持 BLE 5.x 和 IEEE 802.15.4(Zigbee/Thread),WB15/WB10 则砍掉了 802.15.4,只保留 BLE。封装差异也很大,从 UFBGA129、UFQFPN48 到 UFQFPN32,引脚数量直接决定了最小系统外围电路的复杂度。通常做低功耗传感节点的人更喜欢 48 脚或 32 脚的封装,因为引脚少,电源去耦和射频走线都更容易处理。

另一个现实是:STM32WB 本质上是“一颗 SoC”,内部射频收发器、M0+ 网络核、M4 应用核共用一份电源。射频对电源噪声很敏感,M4 高频翻转时又会干扰射频。为了隔离这些干扰,芯片内部有很多独立的供电引脚,比如 VLX 是内部 LDO 输出,需要外部接一个 1uF 电容;VDDA、VDDUSB、VDDIO2 各有各的去耦要求。这些并不是厂商“故意多要”,而是保证射频性能的硬条件。

1.2 最小 BOM 不等于“去掉一切”

我的习惯是先明确目标:这颗板子是用在什么场景?如果是做一次性量产的消费电子,最小 BOM 意味着“在小批量验证后能稳定出货”;如果是做参考设计验证,最小 BOM 可能更关注“用最少元件搭一个可调试、可量产的平台”。目标不同,削元件的底线就不同。

STM32WB 的参考设计里,有些元件是可选的,比如 RF 开关、射频测试座、π 型匹配网络中预留的并联电容位置;有些是必须的,比如 VLX 上的 1uF 电容、VDDS 和 VDDA 上的去耦电容、32MHz 晶振及其负载电容。还有一些元件要结合软件配置来看,比如外部 32.768kHz 低速晶振,如果系统对低功耗睡眠唤醒时间要求不高,可以不用外部 LSE,直接使用内部低速 RC(LSI);但如果要做 BLE 协议栈的睡眠唤醒和精确时序,外部 LSE 往往还是建议保留。

下面我把最小 BOM 拆成电源、时钟、射频、调试四个模块来讲,每个模块都会标注哪些是“必选项”,哪些是“可选项”,以及为什么这样取舍。

2. 最小 BOM 的硬件系统构成

2.1 供电部分:去耦电容和电压范围

STM32WB 的供电范围是 1.8V 到 3.6V,实际设计中大多数设备直接用 3.3V 供电,也有用 3.0V 纽扣电池的场景。注意 VBUS 引脚:如果你用了 USB,VBUS 检测需要一个分压电阻网络,这部分不是 MCU 本身的最小 BOM,但只要是带 USB 功能的板子就绕不开。

回到最小系统,电源引脚的去耦电容是 STM32WB 最容易被忽略的地方。看数据手册,VDDS、VDDA、VDDUSB、VDDIO2 这些引脚各自都要有 100nF 的电容,其中 VDDA 通常还要额外并联一个 1uF 或更大容值的电容。VLX 引脚必须接一个 1uF 电容到地,这是内部 SMPS 的储能电容,漏了它芯片根本无法正常工作。

实际项目里我通常这样规划:

  • 靠近 VDDS 引脚放 100nF(每个 VDDS 引脚)
  • VDDA 放 100nF + 1uF
  • VLX 放 1uF,且这个电容的 ESR 不能太大,推荐 X7R 或 X5R 材质
  • 如果用到 USB,VDDUSB 放 100nF
  • 如果用到 VDDIO2,这个引脚单独去耦

关于电源的另一个要点是:STM32WB 内部有多种工作模式,包括 SMPS(开关电源)和 LDO 两种降压方式。SMPS 模式需要外接一个功率电感,这个电感会让 BOM 多一个核心元件,但能显著降低 RX/TX 电流,对电池供电设备很划算;LDO 模式则不需要电感,BOM 更少,但功耗会高些。如果是做最小 BOM 优先、且对功耗不是极其敏感的设备,可以先选 LDO 模式;如果是做长时间运行的传感器节点,建议把 SMPS 电感和配套电容加到 BOM 里,因为省下来的功耗对电池寿命影响很可观。

2.2 时钟系统:外部晶振到底要不要

STM32WB 有 HSE(外部高速晶振)、LSE(外部低速晶振)、HSI16、LSI、PLL 等时钟源。射频部分代码基于 32MHz HSE 做 PLL 基准,所以只要你想用 BLE 或 802.15.4,外部 32MHz 晶振就是必选项。如果拿 STM32WB 当作普通双核 MCU 用,不使用射频,那 HSE 都可以省掉,直接用内部 HSI16 也能让 M4 跑起来,但这种用法比较浪费这颗芯片的射频能力,现实中很少见。

32MHz 晶振的负载电容(CL1、CL2)怎么选,很多人只看参考设计抄了“两个 6.8pF”或“两个 8pF”,真正做量产时晶振供应商不同、PCB 寄生电容不同,起振余量和频偏都会有差异。稳妥的办法是查你选的晶振规格书里的负载电容参数,再结合 PCB 引线寄生电容估算:

CL = (C1 * C2) / (C1 + C2) + Cstray

其中 Cstray 大约 2~5pF。如果晶振本身的 CL 是 8pF,C1=C2=12pF 时,并联后是 6pF,加 3pF 寄生电容近似 9pF,会比较接近。但实际调试时要留出并联微调电容焊盘,不能直接焊死,否则改频偏只能飞线。

LSE 32.768kHz 晶振在 BLE 应用里建议保留。协议栈的 sleep clock 可以用 LSI,但 LSI 的精度较差,会导致 BLE 连接事件漂移,射频接收窗口和广播间隔误差变大,最终表现就是连接后功耗偏高、丢包率上升。如果你的产品对功耗和连接稳定性有要求,外部 LSE 那 2~3 个元件(晶振+两个负载电容)不要省。只有对成本极其敏感、且连接频率很低、对功耗不敏感的设备才考虑去掉 LSE。

2.3 复位与启动配置

STM32WB 的 NRST 引脚需要接一个 100nF 电容到地,这是建议配置。上拉电阻通常参考设计里会放一个 10kΩ 到 VDD,但实际很多设计中直接靠芯片内部上拉也能工作。不过为了抗干扰和方便调试,我会保留 10kΩ 上拉电阻,这是一个成本很低、能降低复位异常概率的元件。

BOOT0 引脚的配置决定了芯片从 Flash、系统存储器还是 RAM 启动。STM32WB 和很多 ST MCU 一样,BOOT0 在复位采样时有效。如果想通过 SWD 下载程序,一般建议 BOOT0 直接拉低,从 Flash 启动。若你还想保留系统 bootloader 的升级通道,可以加一个 0Ω 电阻和跳线,让产线或维护人员能切换启动模式。但“最小 BOM”模式下,我会直接去掉跳线,用 10kΩ 下拉电阻固定为 Flash 启动。

SWD 调试接口需要 SWDIO、SWCLK 两个引脚,再配一个 GND 和 3.3V,共 4 个触点。最小 BOM 里可以不接上拉/下拉电阻,但实际调试时 SWDIO 建议上拉,SWCLK 建议下拉,这样调试器连接最稳定。若为了省电阻,可以借用 SWD 调试器内部的上下拉,大多数 ST-Link 已经内置了,只是线缆较长或噪声较大时会有问题。

3. 射频部分的 BOM 取舍

3.1 天线匹配和巴伦(Balun)

STM32WB 的射频输出引脚是 RF_BLE 和 RF_802_15_4(在部分型号上合并为 RF 引脚),内部已经做了单端到差分的一部分处理,但外部仍需要一个平衡-不平衡转换电路,也就是巴伦,来做阻抗变换和滤波。参考设计里最常见的是 LC 巴伦,由几个电感和电容组成,成本低,性能也够日常使用。

射频匹配部分的最小 BOM 一般是:

  • 1 个串联电感或电容(调阻抗)
  • 2~3 个并联元件(调谐)
  • 天线本身

我不建议直接抄一个最小匹配电路就量产。射频匹配受 PCB 叠层、天线类型、外壳结构影响太大,必须在实验室里用网络分析仪或频谱仪调。我的习惯是:第一版打样时把匹配网络的元件位置尽量按参考设计完整保留,但在天线端预留调试焊盘;等实测频偏和回波损耗合格后,再把不需要的元件在最终 BOM 里删除。

如果你使用陶瓷天线或弹簧天线,天线厂商通常会给出推荐的净空区尺寸和匹配参考值,这时候 LC 元件可以比较少,甚至只需要一个串联电感加一个并联电容。使用 PCB 天线时,匹配电路基本是必须的,因为板材介电常数、铜厚、走线宽度都会影响阻抗。

3.2 射频测试点和屏蔽

在射频部分加一个测试座或测试点,会增加 BOM 里的一个元件,但对产线调试和合规认证帮助很大。如果你要做 FCC/CE/无线设备认证,测试机构通常需要一个稳定、可重复的射频测试点。没有测试点的话,只能用耦合板或者飞线测试,数据一致性会比较差。

我见过不少团队为了“最小 BOM”去掉测试座,结果认证阶段需要反复焊接测试线,不仅花了很多时间,还可能出现焊接一致性不佳导致测试项失败。折中方案是直接在 PCB 上预留一个 50Ω 的测试焊盘,不贴测试座。测试焊盘本身不增加 BOM 物料,只需要在 PCB 封装和 layout 时留出一小段走线,用探针就能点测。这是值得养成的设计习惯。

RF 屏蔽罩同样值得考虑。BLE 频段在 2.4GHz,周围如果有高速数字线、DC-DC 电感、扬声器走线、LCD 排线,射频性能很容易被干扰。加屏蔽罩会多一个金属件,同时要求 PCB 上预留屏蔽罩焊盘和接地过孔阵列。如果产品对射频灵敏度要求高、整机结构空间允许,建议保留;如果只是简单传感器节点,射频走线周围净空做得好,可以去掉屏蔽罩。

4. 调试接口与 PCB 布局的连带影响

4.1 SWD 调试接口的“最少连接”

STM32WB 使用标准的 ARM SWD 接口,最少连接 SWDIO、SWCLK、GND 三根线就能烧录和调试。新手可能对此有些担心,但大多数情况下这三根线确实够用。唯一要留意的是,如果代码里把 SWDIO/SWCLK 引脚复用成 GPIO 或外设功能,那么下次连接调试器可能失败,需要用复位引脚配合“Connect under reset”模式擦除程序。

为了生产方便,我通常会在板上留一个 4 脚的 1.27mm 调试连接器,或至少留四个 pad:3.3V、GND、SWDIO、SWCLK。某些低成本的批量生产方案只引出了 SWDIO、SWCLK、GND 三个 pad,用治具探针压着烧录,连 3.3V 都由治具供,这样板子上可以省一个连接器。但这种方式只适合贴片后统一烧录的产线,如果后续需要现场升级固件,还是要考虑通过 BLE OTA 来弥补。

4.2 PCB 布局对 BOM 数量的反向影响

PCB 布局深刻影响 BOM 数量。一个重要例子是去耦电容:如果你把电容摆得离引脚很远,实际去耦效果变差,可能就需要额外增加一个或两个电容来压低电源噪声。与其多贴电容,不如在布局阶段把电容就近放在 MCU 背面或引脚旁边。

另一个例子是天线阻抗匹配。如果从射频引脚到天线之间的走线很短、阻抗控制得好,巴伦电路甚至可能简化到只用一个电容加一个电感;如果走线过长或过孔太多,就需要更复杂的多阶匹配网络来补偿,BOM 反而更多。所以“最小 BOM”的设计要前移到布线阶段,不能只盯着原理图删元件。

在双层板上做 STM32WB,射频部分建议底下铺完整的地平面,射频走线两侧加地孔,走线宽度按 50Ω 阻抗计算。外层不要走其他高速信号去打扰天线净空区。40mil 到 60mil 的线宽在常规 FR4(1.6mm)上约等于 50Ω,这只是一个大概值,实际用阻抗计算工具确认更稳妥。

4.3 天线类型的 BOM 影响

天线选型对 BOM 影响极大。PCB 天线不增加物料,只需 PCB 铜箔,成本最低;陶瓷天线要采购一个器件,但体积小、一致性较好;外置弹簧天线或 IPEX 天线座,BOM 更多但性能上限更高,适合产品外壳影响较大的场景。

最小 BOM 方案里我一般优先推荐 PCB 天线,因为任何额外的天线物料都会增加供应链管理和物料成本。但 PCB 天线对结构装配敏感:产品外壳是塑料、金属还是带电池支架,都会改变天线谐振频率。如果一个产品要过认证且结构改版频繁,我宁可多加一个陶瓷天线物料,换取整机级别的稳定一致性。说到底,最小 BOM 不只是“最少物料”,而是“在可控成本下风险最低”。

5. BOM 整理、导出与管理实操

5.1 OrCAD 导出 BOM 时 Open in Excel 报错

原理图设计的后端流程里,BOM 导出是最容易被轻视的环节。用过 OrCAD Capture 的朋友应该都有印象,导出 BOM 时选择 “Open in Excel” 经常会报错,常见提示包括找不到 Excel 引用、OLE 创建失败、或者打开后所有字段挤在一列里。

我遇到这类问题的处理顺序是:先检查本机 Office 和 OrCAD 的位数是否一致。OrCAD Capture 16.x/17.x 有些版本依赖 32 位 COM 接口调用 Excel,如果你的系统是新装的 64 位 Office,就会因为 COM 注册表不匹配而报错。解决办法是换用 32 位 Office,或者干脆不用 “Open in Excel”,直接在 Capture 里导出 CSV 或 TSV 文件,再用 Excel 打开。这里最稳的路径其实是:

  • Capture 导出 BOM 时选择 “Bill of Materials” 里的 Header/Combined property 配置
  • 勾选需要输出的列,比如 Item、Quantity、Reference、Value、Manufacturer Part Number、PCB Footprint
  • 输出为 CSV 文件,避免 OLE 调用
  • 用 Excel 或专用 BOM 工具继续整理

如果你遇到导出后没有生成文件,多半是 Temp 目录权限问题,或者工程路径里有中文/特殊字符。把工程路径改到纯英文目录,再试一次,大概率能解决。

5.2 用 BOM 整理工具清理冗余字段

原理图导出的 BOM 往往有很多冗余字段,比如封装信息重复、制造商描述缺失、同一物料在多个位号下拼写不一致。手工整理大批量 BOM 是效率黑洞,推荐使用专项 BOM 整理工具或脚本化方法。很多团队用 Python 脚本来做最基础的“按关键字段合并同类项”,也有人用 Excel 的 Power Query 做清洗。

BOM 整理的关键维度:

  • 位号合并:同一个物料编码,多个位号要合并到一行
  • 物料编码统一:同一颗料在库里可能有多个别名,要指定唯一编码
  • 封装校验:每个物料必须有 PCB Footprint,和原理图封装一致
  • 备选料标记:关键物料写清楚允许的替代料和替代条件

物料编码统一这件事非常考验功底。做硬件久了你会发现,“104 电容”在原理图里可能写成 “100nF/0402/X7R/50V”,在采购系统里编码却是另一套。如果从原理图到 ERP 都没有一个统一的物料主数据规则,BOM 传递必然会出现偏差。建议从设计阶段就维护一个“本地器件库”,每个物料都有唯一的内部编码、规格描述、封装、供应商料号、替代料编号,之后再导入 EBS 或 SAP,避免在系统里现查现配。

5.3 物料主数据治理:EBS 和 SAP 里的 BOM 传递

当 BOM 从 EDA 工具传到 ERP(比如 EBS、SAP)时,很多问题其实不是 EDA 端的,而是物料主数据没有治理好。我在推进物料主数据治理时发现,真正让 BOM 准确率变高的不是采购或 IT 单方面推动,而是研发要定义好“BOM 上到底哪些字段是可信的”。

SAP 里计划订单跑 MRP 时,系统会从 BOM 里取物料清单来计算需求。如果 BOM 里有历史遗留的旧编码、替代料关系没维护、或者用量单位不统一(pcs vs k),跑出来的计划订单可能不是多买就是漏买。比如一个料在 PCB 上用的是“个(pcs)”,但仓库里以“盘(reel)”为单位管理,如果系统没有换算关系,MRP 结果会非常离谱。

工艺工序 BOM 则更复杂,它在设计 BOM 基础上增加了制造工序信息,比如哪几个物料在 SMT 前置工序投入、哪几个物料在后焊工序投入。这种 BOM 通常用于产线工单领料和工序报工。如果设计 BOM 和工艺 BOM 没有做好映射,产线领料时就会缺料或多料。我的建议是:在项目试产阶段,让工艺工程师和研发工程师坐在一起把“关键物料是否需要分批次投入”过一遍,把特殊工艺料提前在 BOM 备注里写清楚,而不是等批量生产时再在 ERP 里临时改。这个习惯比任何工具都有效。

6. 常见问题与排查技巧实录

6.1 无线不工作,先查射频匹配和晶振

STM32WB 最典型的问题就是:程序下载进去了,M4 能跑,但手机扫描不到 BLE 广播。遇到这种情况,我一般按顺序排查:

  • 先查电源电压是否稳定,VLX 引脚是否有 1.2V 左右电压
  • 再查 32MHz 晶振是否起振,能不能量到频率,幅度是否正常
  • 最后查射频匹配网络是否焊接正确、天线是否接上、天线馈点有无短路

很多“无线不工作”最后定位到是 32MHz 晶振虚焊或负载电容错值导致 PLL 失锁。因为射频部分对频率误差极其敏感,一旦晶振频偏超过 ±50ppm,BLE 广播大概率发不出去。量晶振时注意示波器探头的负载电容会影响晶振频率,最好用有源探头或者通过 MCU 内部的时钟输出功能间接测量。

6.2 功耗异常,和外部低速时钟有关

电池供电设备最常见的故障是睡眠电流偏大。STM32WB 进入 Stop 模式后,如果协议栈还依赖外部 LSE 时钟,你量到的工作电流会比理论值高出很多。此时要区分是芯片没进去睡眠,还是 LSE 起振后一直耗电。

经验做法:

  • 先用库或 CubeMX 生成的例程测量 Baseline(最小系统空载)电流
  • 手动关闭多余外设时钟
  • 再逐个打开 BLE、RTC、LSE 看电流变化
  • 如果 LSE 相关电流异常,检查外部晶振负载电容是否过大

负载电容偏大不仅影响起振,也会增加晶振振荡回路的功耗。很多工程师为了“确保起振”,选了 20pF 负载电容,结果系统睡眠电流每颗多出 1~2uA,对几年的电池寿命来说就是不可接受的损耗。正确的做法是按晶振规格书选电容,并且尽量选低 ESR 的 32.768kHz 晶振。

6.3 射频灵敏度和距离不达标

如果 BLE 能连上但距离只能到几米,问题多半在射频匹配或天线净空。我之前调试的一个项目,陶瓷天线到匹配网络之间只有 3mm 走线,但因为走线过孔换层时参考地不连续,插损很大。后来把过孔旁加了一圈地孔,距离立刻改善了几倍。

近距离灵敏度差,还要检查电源噪声。STM32WB 内置 SMPS 时,如果电感布局离 MCU 太近,或者电感下面是敏感射频走线,纹波会直接上到射频电源上。此时要么调整电感位置,要么在射频电源入口再加一级 LC 滤波。调试时可以用频谱仪看射频频谱是否出现额外杂散,或者在“SmartRF Studio”类工具里查看接收信号强度指示来辅助判断。

6.4 OrCAD 导出 BOM 后数量对不上

数量对不上一般是原理图里某个元件没有正确的 Part Reference,或者有重复位号。OrCAD 导出 BOM 时如果是按 “Combined property” 导出,位号重复的元件会被拆成多行,看起来总数就多出来了。排查方法是在原理图里跑一遍 DRC,检查有没有位号相同、属性缺失的情况。我通常在正式出 BOM 前会单独整理一个“BOM 自检清单”,包含位号连续、无重复、无空 Value、封装信息完整这几项。别嫌麻烦,这一遍能省掉后面和采购、PMC 扯皮的时间。

7. 一点实操心得

最后再分享一个我自己的习惯:每次做 STM32WB 项目,我会先按“绝对最小系统”搭一版验证板,只保留以下核心物料:MCU、VLX 电容、VDDS/VDDA 去耦电容、32MHz 晶振和负载电容、LSE 晶振和负载电容、NRST 电容、BOOT0 下拉电阻、SWD 调试口、射频巴伦匹配电路、天线。等这版软件和射频调通后,如果产品的电池寿命和射频指标已经满足,就尽量不往上面堆物料;只有在实际测试中发现某项指标不合格,再针对性地加元件,并记录加元件前后的测试数据对比。

这样做的目的不是“少物料省成本”这么简单,而是让你对每多出来的一个电容电阻,都能说清楚它解决的是什么问题。这种可追溯性在硬件选型、成本核算、生产维护、甚至后续方案迁移时都有大作用。

STM32WB 这套双核架构和射频集成度,决定了它很适合做小型化低功耗物联网设备。芯片本身只是硬件的第一步,更关键的还是电源、时钟、射频匹配、BOM 流转这些“看不见的功夫”。希望这篇文章能把你在原理图阶段容易踩的坑提前扫一遍,也欢迎带着具体问题来交流。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询