ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

低功耗BLE模块深度拆解:如何用纽扣电池撑起IoT设备数年续航

2026/8/28 23:16:02 拓冰建站 浏览量
低功耗BLE模块深度拆解:如何用纽扣电池撑起IoT设备数年续航 做IoT产品的人应该都有过被“纽扣电池待机一年”逼疯的经历。最近Murata抛出一颗重磅炸弹最新一代BLE模块号称做到IoT领域最低功耗。说实话第一次看到“最低”这种把话说死的宣传语我心里是打了个疑问号的但把它的技术资料和近两年的低功耗BLE芯片进展放在一起看这个宣称并不是没有底气。今天这篇文章我想以过来人的角度把BLE模块的功耗拆开讲清楚厂商宣传的“低功耗”到底指什么超低功耗模块做了哪些关键设计以及真正把一个IoT设备做成“几年不换电池”有哪些落地细节。内容不针对某个具体开发板适合所有正在选BLE模块、或者已经被功耗指标折磨过的硬件工程师、嵌入式工程师和产品经理。1. 一颗纽扣电池撑五年先看这个“最低功耗”怎么来的1.1 BLE能在IoT里站C位靠的是“能睡会省”IoT设备的第一诉求往往不是性能而是“能撑多久”。从温湿度传感器、门窗磁、资产标签到心电贴片绝大多数场景都不需要实时高速传输而是每隔几百毫秒甚至几秒才上报一次状态。BLE这十来年在IoT里能取代不少私有协议和ZigBee的一部分市场根本原因就是协议栈从第一天起就把“极低占空比”作为核心设计目标设备平时可以睡得很深只有需要通信时才醒过来快速发完数据再睡回去。这种工作模式决定了整个系统的大部分时间都处于睡眠状态。因此一颗BLE设备的平均电流往往取决于睡眠电流和唤醒时刻的瞬时电流而不是传输速度或带宽。Murata这次发布的新模块宣传主打的“IoT领域最低功耗”所针对的也正是这条“睡眠-唤醒-发送-再睡眠”曲线中的每一个环节。这不是单纯把某一颗SoC的参数念一遍而是从射频前端的匹配、时钟管理、电源路径到封装形式都在做优化才能把整条功耗曲线压下去。1.2 “最低功耗”到底指哪种功耗很多朋友看到厂商数据手册上的“峰值电流3.5mA”或“睡眠电流900nA”就激动。实际上这两个数字只是边界值不是用户体验。真正决定电池寿命的是平均电流它和你的软件行为、协议参数强相关。我们来算一笔账假设设备每60秒醒来一次每次射频活动20ms活动期间平均电流为5mA睡眠电流为1µA。活动阶段电荷5mA × 0.02s 0.1mA·s 100µA·s睡眠阶段电荷0.001mA × 59.98s ≈ 0.06mA·s 60µA·s60秒周期总电荷160µA·s平均电流160µA·s ÷ 60s ≈ 2.67µA可以看到哪怕只有1µA的睡眠电流因为睡眠占了绝大部分时间它对平均电流的贡献也接近40%。如果模块能把睡眠电流降到0.5µA平均电流能降到约2.2µA而如果把活动电流从5mA降到3mA平均电流则能降到约1.7µA。所以“睡眠电流低”和“活动电流低”同样重要谁单独拿出来说事都是耍流氓。另外厂商所说的“最低功耗”也不是一个自变量。低功耗常常会和通信距离、响应速度、兼容性做交换。发射功率开低一点功耗当然低但穿墙能力就差了唤醒间隔拉长一点功耗也低但数据实时性就差了。所以看到“最低功耗”的宣传时先想清楚它是在什么条件下测出来的。通常官方会说明是在特定供电电压、特定射频输出功率、特定占空比下取得这个前提条件比结论本身更值得研究。2. 一条低功耗曲线上Murata这颗模块的关键技术底牌2.1 从SoC到模块低功耗不是芯片一家的功劳BLE模块的功耗表现取决于三样东西主控SoC的工艺和架构、射频前端匹配的质量、电源与时钟系统的设计。Murata作为模块厂的强项在于后两者。主控再怎么厉害如果模块板上射频走线太长、阻抗不连续、匹配网络的损耗偏大实际发射效率就会掉同样的输出功率要消耗更高的PA电流。反过来如果匹配网络做得精准那么IC内部PA只需要输出很低的功率就能在天线端拿到同样大小的等效辐射功率。Murata长期做LTCC低温共烧陶瓷和微波陶瓷器件正好擅长把电容、电感、匹配线集成在小封装里。模块内部射频路径短、寄生参数小效率天然比通用分立方案更有优势。这个“底子”是很多只做SiP封装的厂商比不了的也是“最低功耗”宣称背后的一块底气。2.2 电源路径设计DCDC、LDO与电感选择低功耗BLE SoC往往同时支持DCDC和LDO两种供电模式。在3V电池供电场景下如果内部射频PA和数字内核用LDO直接从3V降压压差带来的热量损耗会直接变成电流浪费而DCDC在轻载时如果频率控制不好静态电流又会吃掉睡眠功耗。模块在这里的设计价值是把DCDC的开关频率、电感选型和输出电容等参数固化到参考电路中开发者不需要死磕“选多大的电感才合适”按参考图接上标准值器件就能获得漂亮的效率曲线。更重要的是很多低功耗模块已经把一颗高效率DCDC电感直接集成在模块里或者是把推荐电感做成一个可选的配套料。这样电源路径的设计风险被大幅降低。实际项目里电源路径上节省的功耗有时候比SoC本身的工艺升级还要可观。这也是我建议大家在对比模块时不要只盯着SoC型号要把模块整体物料清单、参考电路设计一起纳入评估的原因。2.3 晶振选择与快速唤醒机制睡眠电流再低如果醒来得慢每次唤醒都要多花时间从RC振荡器切换到晶体振荡器并等待PLL锁定这部分消耗也会迅速积累。模块里用了什么样的32.768kHz晶体、负载电容匹配是否精确直接决定了RTC的运行功耗和时间准确度。晶体起振不稳或者ESR偏高系统可能要靠软件多次校准才能稳定每次校准都在耗电。Murata这类模块通常会在出厂前把晶振和负载电容调试到最佳状态。如果你用SoC自行设计PCB布局稍有偏差晶振起振余量不足可能就会被噪声干扰导致时钟抖动增大系统被迫频繁降低功耗模式切换最终续航大打折扣。这类问题在纯数据手册里几乎看不见但恰恰是模块化方案最值钱的部分。3. 超低功耗模块的几项关键设计细节3.1 射频匹配网络几dB的损耗差可能让续航差出30%前面提到匹配网络的重要性这里展开讲讲。一个BLE模块的天线端口到芯片PA输出之间通常有π型或T型匹配网络用来把PA的输出阻抗变换到50Ω或直接匹配到天线。如果这个网络在2.4GHz频段上的插损比理论值多0.5dB那么同样辐射功率下PA输出级就需要多推0.5dB电流会明显上升。对单次事件可能只是几十微安的差别但对每天几十万次射频事件的产品来说累积差异非常可观。很多人不知道的是2.4GHz频段下PCB走线拐弯、过孔、接地铜皮不连续都会以零点几dB为单位“偷走”射频功率。而模块厂把所有匹配电路做在内部把天线连接点做成了标准引脚或PCB天线开发者只要保证焊盘和天线之间的走线按参考设计走就能复现原厂的效率。这也是“模块方案比SoC方案更容易做低功耗”的底层逻辑之一。3.2 天线效率看不见的功耗黑洞天线效率直接决定链路预算。假设两颗模块PA性能一样天线效率一个60%、一个40%那么为了让接收端达到同样的灵敏度效率低的那颗就需要提高发射功率或者说在同样发射功率下表现为距离更短。为了弥补距离开发人员往往会把TXPOWER从0dBm调到8dBm功耗瞬间翻倍甚至更多。Murata不少BLE模块是“模块陶瓷天线”一体化的形式或者官方配套了经过调谐的天线参考设计。这种方案最大的好处是天线与匹配网络在出厂前已经联调完方向图和效率都有实测数据。模块贴到PCB上按参考设计铺地即可。对我这种不爱自己折腾天线的工程师来说这是明显的省心点。当然如果你把这类模块放进金属腔体或者在旁边放了大面积金属件天线失谐仍会发生这会直接反映为功耗上升所以后续整机实测仍然不能省。3.3 封装的寄生效应对窄带RF的影响模块封装的小型化是把双刃剑。体积越小内部走线越紧凑但引脚和塑封体的寄生电容、引线电感也会越大。在2.4GHz频段这些寄生参数一旦和匹配网络里的电感电容发生谐振偏移就会让阻抗失谐。Murata在陶瓷封装方面的积累很大程度上就是为了控制这类寄生参数让外部引脚的条件变化尽量不影响内部匹配。对普通开发者来说你不需要真的去测这些寄生参数但要理解一个原则模块外面焊盘下面一定要有完整的参考地。模块底部的大焊盘如果接地不良不只是电源地回路变长射频回流也会受到干扰模块的实际功耗和辐射性能都会劣化。这也是量产时很多“模块没问题但整机不达标”的根源之一。4. 实际IoT项目中怎么把一颗低功耗模块做成“真低功耗”4.1 从广播周期到连接间隔协议参数怎么配才省电再省电的模块拿到手里直接用SDK默认参数大概率也做不出惊艳续航。我见过很多团队卡在功耗上最后发现罪魁祸首就是配置蓝牙广播间隔默认20ms连接间隔默认7.5msTX功率默认8dBm这些参数组合在一起实测平均电流比优化后高一到两个数量级都很正常。具体优化思路是先把业务模型拆出来。对大部分传感器节点来说广播间隔尽量拉长如果是周期性上报500ms到1s都常见只有需要快速配网时才临时降到20-50ms并持续几秒。连接间隔和Slave Latency一起设交互不频繁时连接间隔放在100ms以上再配合latency3-5能让同一段时间内的唤醒次数明显减少。TX Power按实际距离来选室内同房间通信-20dBm到0dBm通常够用穿墙场景再提高到4dBm以上。DLE/2M PHY能用就用提高单次连接事件里的实际吞吐减少射频开启时间。这些参数不是拍脑袋定的最好用一个“活动时间占比”的模型估算一下。举个例子每1分钟上报一次数据连接事件里实际收发占用时间如果能从40ms压到10ms仅这一项就能把等效活动电流砍掉四分之三。4.2 手把手用电流波形算平均功耗做低功耗项目手里最好有一台能测电流波形的工具。没有专用功耗分析仪也没关系用普通示波器加电流探头或者直接用带高采样率的万用表抓几个特征段也能算。先让设备进入长期休眠记录睡眠电流连续测几十秒取平均值。人为触发一次完整上报记录唤醒、处理、广播/连接事件、再次入睡的波形。把每个阶段的电流和时间读数记录到表格里按矩形或梯形积分粗略算出每个阶段的电荷量。把各阶段电荷量相加再除以一个完整工作周期的总时长得到平均电流。比如上面的算例再扩展一下如果周期时间内还有一次定时广播和一次ADC采集把这两部分产生的电荷分别加进去得到的平均电流会更接近真实值。算出平均电流后用电池标称容量除以平均电流再乘一个0.5~0.7的系数就是比较保守的续航估算。自放电、低温和脉冲负载都会让实际容量打折这个系数不是玄学是我踩过坑换回来的教训。4.3 天线失谐、温度变化会在无形中抬高功耗低功耗设备通常躲不开两个环境金属和温度。贴在金属货架上的资产标签握在手里的人体穿戴设备塞进冷链箱的传感器天线周围环境一变辐射效率立刻下降。模块为了维持同样的接收灵敏度会通过自动增益控制或协议层的重传机制来补偿重传和升功率都会带来额外电流。温度的影响更隐蔽很多纽扣电池或锂亚电池在低温下内阻会成倍增加输出能力下降模块内部DCDC如果靠近最低工作电压效率也会劣化。所以低温场景不是只评估电池容量还要评估模块在低电压下的功耗表现。建议在整机测试时把设备放进-20℃、-40℃的温箱里用数据采集器连续记录电流曲线。你可能会发现常温下明明算好的三年续航在零下环境中直接对半砍。5. 如何评估一颗BLE模块值不值得用5.1 从应用场景倒推指标别被厂商数值带节奏评估模块我一直习惯做一张“场景需求表”把业务要求和模块参数对应起来场景需求关键参数为什么一年待机睡眠电流、RTC功耗待机时间越长睡眠电流权重越大高频次上报唤醒时间、启动电流唤醒越频繁启动开销越关键长距离传输灵敏度、TX功率、天线效率通信距离决定功率档位电池低电压DCDC效率、最低工作电压平台电压下降后效率变化大批量生产封装一致性、认证报告良率和认证周期直接是成本如果你只关心“最低功耗”可能会选出一颗睡眠电流极低但唤醒时间极长的模块最后在高频场景里反而更耗电。参数没有绝对好坏只有合不合适。把需求先量化再反过来看模块参数比单纯看排行榜靠谱得多。5.2 模块化开发 vs 自研射频什么时候该选模块模块和SoC方案的争论这几年一直没停。自研SoC方案物料成本低但射频性能、认证、天线设计、调试周期全部要自己扛。对绝大多数年出货量在几万到几十万级的IoT产品来说模块化的综合成本反而更低。因为模块把射频一致性、FCC/CE等认证的大部分工作提前做完了你只需要保证产品整机通过最终认证省下的时间成本很容易cover掉模块的硬件溢价。Murata这类头部模块厂的优势还体现在资料完整度上参考设计、Layout guide、天线设计指导、量产测试建议基本都是齐全的。跟着参考设计走硬件一次成功的概率很高。如果是创业团队或者中小项目我更倾向直接订阅这类模块方案把省下来的精力放在应用层和算法上而不是在射频匹配网络上反复试错。5.3 项目选型时我建议你逐条检查这些项这里整理一份选型清单按重要性排序模块有没有完整的电流曲线测试数据不能只有峰值和睡眠两个点。天线是外置、PCB天线还是陶瓷天线有没有方向图和效率报告模块的供电范围是否覆盖你的电池平台低压时DCDC是关闭还是继续工作封装是否适合量产引脚间距太细或焊盘太密会拉低焊接良率。有没有长期供货承诺和备货渠道有些模块热度高交期却非常慢会拖累产品节奏。模块厂商是否提供参考设计源文件和调试工具这决定了开发效率。这些项列出来不是为了追求完美模块而是让你在对比时少踩坑。各家模块一定互有取舍以你的应用场景为核心去找平衡点比盲目追参数更实际。6. 我的实际体会低功耗模块落地时最容易翻车的地方6.1 电源端的一颗大电容能救回很多续航很多低功耗设备电池内阻并不低特别是纽扣电池和一次锂电池。模块在射频发射瞬间会拉出十几毫安的脉冲电流如果电池不能及时补充电源电压就会瞬间跌落。跌到DCDC最低工作电压以下模块会频繁复位或者触发欠压保护表现就是“偶尔重启”和“续航异常”。在这些项目中我会在模块电源引脚旁边放一个22µF到100µF的电容靠近模块放置用电池端小电流给电容充电由电容去满足瞬态大电流需求。这个小改动经常能解决在示波器上查半天都找不到的复位和电流异常问题。6.2 SDK默认配置基本不能直接用低功耗BLE的SDK默认值通常面向“能跑起来”而不是“功耗最优”。印象最深的是一个量产的传感器项目设备本身非常省电但SDK默认打开了几个日志打印接口并且在每次广播前都做一次ADC校准这些动作每次运行都会让电流多出几十微安并且坚持几毫秒。把日志关掉、把校准从每次改成每天一次之后平均电流几乎降了一个数量级。所以做低功耗项目务必建立一个“默认配置审计”流程SDK里所有周期性任务、外设校准、日志输出、看门狗刷新方式都要问一句它对功耗的贡献是什么。模块厂商给的低功耗示例代码通常要结合你自己的业务重新裁剪。6.3 生产测试带上功耗检查项量产阶段最容易忽略的是功耗一致性。贴片偏移、焊膏量异常、模块底部接地焊盘虚焊都会导致睡眠电流和发射电流偏离标准值。我在产线测试流程里会加一个“睡眠电流范围检查”设备进入强制睡眠模式后用可编程电源的电流回读功能或者夹具上的电流传感器测量得到的电流是否落在比如0.5µA~5µA的区间内。超出区间的板子优先返修而不是直接刷机发货。这个步骤看起来多花了几秒钟实际能拦下大量批次性质量事故。最后再分享一条经验低功耗是个闭环系统模块再强也要在整机环境里一遍一遍去测。把电池内阻、电源电容、天线环境、温度、SDK配置、生产一致性问题一块块补掉才能让“最低功耗”这个纸面参数变成用户真实感受到的“三年不换电池”。这个过程没有捷径但方向对了每一轮整改都会让续航数字肉眼可见地变好。