小尺寸・低功耗这六个字,基本就是把物联网碎片化场景里最难办的两件事摆到了台面上。觅感这款双频 WiFi6&BLE 模组,我拿到工程样片做了半个多月的调测,最大的感受是:它不是拿来跑分的,而是为了塞进门锁、传感器、穿戴设备这种“寸土寸金”又对续航极其敏感的场合。WiFi6 提供高并发和低延迟,BLE 负责低功耗待机和手机近场直连,一套硬件同时覆盖物联网最主流的两条接入路径,这个思路本身就值得拆开聊一聊。下面我把选型逻辑、硬件细节、实测过程、踩坑经验完整写出来,给正在做低功耗联网产品的朋友一个参考。
1. 模组定位与整体设计思路拆解
1.1 为什么 WiFi6 和 BLE 要同时出现在一颗模组上
很多人第一反应是:都 2025 年了,BLE 模组便宜又成熟,单 WiFi 方案也不少,为什么非要把 WiFi6 和 BLE 绑在一起?我实际用下来,发现这个组合不是简单“凑功能”,而是解决了几个非常具体的痛点。
第一个痛点,是配网体验。BLE 模组最常见的尴尬是:手机上顺手,但局域网内数据吞吐太慢,想传个日志、升级固件、拉一张大图都费劲。WiFi 模组则反过来,传数据痛快,但首次配网要切热点、输密码,对非技术用户极不友好。双频 WiFi6&BLE 模组把两者放在同一颗芯片里,可以用 BLE 做配网引导和近场调试,WiFi 走正式业务流量。用户打开 App,蓝牙扫一下,SSID 和密码直接通过 GATT 写进去,整个过程不需要切换 WiFi,体验非常顺。
第二个痛点,是多设备密集部署时的无线质量。过去 2.4G WiFi 在智能家居里被各种设备挤得不行,2.4G 蓝牙、Zigbee、微波炉、USB3.0 都在这个频段上抢信道。WiFi6 带来的 OFDMA 和 TWT 能力,配合 5G 频段的前端支持,能让模组在密集环境里获得更稳定的吞吐和更低的时延。注意,我这里说的是“频段支持”,不是“必须用 5G”。双频的意义是保留 2.4G 的穿墙和兼容性,同时给出来 5G 这个逃生通道。家里 WiFi 环境好的时候,直接上 5G 信道,不仅干扰少,单次传输时间更短,整机平均功耗反而更低。
第三个痛点,是功耗和响应速度的平衡。BLE 的功耗优势建立在“低占空比”上,每次连接间隔里收发几毫秒,其余时间睡觉;但一旦有大数据量需要传输,BLE 的高吞吐模式还是不如 WiFi 痛快。WiFi6 的 TWT(Target Wake Time,目标唤醒时间)让设备可以跟路由器约定“我什么时候醒来收数据”,而不是每几百毫秒被动醒来听 beacon。TWT 用好了,WiFi 待机的平均电流能拉到几毫安以内,虽然仍高于 BLE 的微安级深度睡眠,但在需要常在线、随时可下行的场景里,这个功耗换取的是“远程控制不需要等蓝牙连上”的体验。
1.2 小尺寸背后到底牺牲了什么
小尺寸,听上去是个卖点,但对硬件工程师来说,每一次“缩小”都是取舍。我拆开这颗模组的屏蔽罩看过,PCB 上几乎是“见缝插针”:射频前端、晶振、电源管理、Flash、天线匹配电路全部挤在一小块载板上。这种高集成度带来的第一个问题,就是天线净空区极其有限。部分小尺寸模组为了把面积压到极致,会把天线做在板边,这要求终端产品的 PCB 给天线留出足够的“净空”(一般是天线周围至少 3mm 无铺铜无走线)。如果你的产品结构里天线附近正好有金属螺丝、电池、屏蔽罩,那信号会被直接吃掉,表现出来就是吞吐量暴跌、连接掉线。
另一个容易忽略的是引脚间距。模组越小,引脚越密,手焊就越来越难。这款模组的引脚间距做到了 1.27mm 左右,批量生产用钢网没问题,但做样机的时候如果用烙铁手工焊,很容易桥连。我的建议是:打样阶段直接画一个转接板,把模组引脚引出来,不要直接焊到最终产品的板子上,这样既方便调试,也避免虚焊带来的“假死”问题。
小尺寸还意味着热预算更紧张。别看 WiFi 模组功耗不大,但射频发射瞬间电流能到 300mA 以上,细小走线和过孔如果载流能力不够,压降会很明显。我实测过一些劣质转接板,模组发射瞬间供电电压掉到 3.0V 以下,直接导致射频指标恶化。所以无论模组多小,电源输入端的 10µF + 0.1µF 去耦电容不要省,走线要尽量短粗。
1.3 低功耗参数怎么看才靠谱
低功耗是这颗模组的核心卖点,但“低功耗”三个字太容易被滥用。我拿到 Datasheet 先不看宣传页,直接翻“Power Consumption”章节的测试条件。这里有三个坑必须提醒:
- 待机电流和深度睡眠电流完全是两个概念。有些产品标的是“shutdown 电流 1µA”,但实际射频前端和 LDO 还挂在电源上,电流直接上到几十微安。
- WiFi 的平均电流和“beacon listen”周期强相关。DTIM 间隔越大,平均电流越低,但下行延迟越大。比如 DTIM=1 和 DTIM=10 的平均电流能差好几倍,这个必须根据产品业务来调。
- BLE 广播电流和连接间隔决定待机功耗,但连接间隔拉太长又会增加手机端“指令响应慢”的感知。对门锁类产品,连接间隔设为 30ms 以上才省电,但开锁指令的延迟也会到几百毫秒量级,需要产品层面做缓冲和提示。
所以,我建议任何项目在选型阶段都做一个“功耗预算表”,把每种工作状态(深度睡眠、BLE广播、WiFi待机、WiFi传输、外设工作)的电流和时长列出来,再乘以每天的占比,最终算出电池续航。这个过程不能省,否则产品功能做完了才发现电池撑不住,返工成本非常高。
2. 硬件细节与射频链路关键技术点
2.1 射频前端架构:小尺寸内的高集成度
WiFi6 和 BLE 两颗射频链路能共用一个天线,靠的是射频开关(RF Switch)和双工/滤波网络。模组内部通过一个高隔离度的开关在 WiFi 和 BLE 之间快速切换,切换时间一般在微秒级。这里有个关键点:WiFi 和 BLE 虽然共用天线,但工作状态不能完全并行。我实测过,模组在 WiFi 传输的时候开 BLE 广播,两者会互相抢天线,表现出来就是 BLE 丢包率攀升,WiFi 吞吐波动。所以实际产品设计里,最好在软件层面做“分时复用”调度,比如 WiFi 传输时暂停 BLE 周期性广播,只保留可扫描(scannable)状态,等 WiFi 空闲再恢复广播。
WiFi6 的射频前端通常集成了 PA(功率放大器)和 LNA(低噪声放大器)。PA 决定发射功率,LNA 决定接收灵敏度。小尺寸模组里这两颗器件都会集成在 SoC 内部或旁边的 FEM(前端模块)里,好处是无需外部再做匹配,坏处是散热和抗干扰更依赖 PCB 布局。使用时特别要注意模组下方的地平面必须连续,不要为了省事把地平面挖空,否则天线的参考地会被割裂。
2.2 天线选型与净空区设计
我看到模组预留了两种天线方案:一种是板载 PCB 天线,另一种是 IPEX 座子外接天线。板载天线的好处是成本低、不需要额外采购物料,但对结构位置要求苛刻;外接天线灵活,适合金属外壳或安装位置刁钻的产品。这里我把两种方案对比一下,方便你选型:
| 方案 | 增益典型值 | 成本 | 结构要求 | 适用场景 |
|---|---|---|---|---|
| 板载PCB天线 | 约0-1dBi | 低 | 天线区域需要净空,周围不能有金属 | 塑料外壳、空间固定、追求低成本 |
| 陶瓷贴片天线 | 约1-2dBi | 中 | 需要净空和对地参考,面积小 | 主板空间极小、天线位置固定 |
| IPEX外接天线 | 约2-3dBi | 高 | 结构灵活、可远离主板 | 金属腔体、特殊安装位置、性能优先 |
板载天线方案里,天线附近 360° 范围最好不要有走线、铺铜和金属器件,尤其是天线正下方那一层的投影区域,一般要求挖空顶层和底层的地。如果结构上避免不了金属,可以在天线附近加一根调匹配的 π 型网络,通过调整电容电感值把驻波比拉回来。但这个方法对新手来说比较难,我一般建议:结构空间允许,优先用 IPEX 外接天线,调试成本低,性能上限高。
2.3 晶振、电源与低功耗的关联
小尺寸模组通常外置一个 40MHz 晶振供 WiFi SoC 使用,外加一个 32.768kHz 低速晶振供低功耗时钟使用。低速晶振是深度睡眠时保持 RTC 和唤醒定时的关键。我踩过一个坑:某次打样因为 32.768kHz 晶振的负载电容配错,模组深度睡眠后定时唤醒的时间偏了几十毫秒,导致 WiFi 信道扫描和路由器 beacon 对不上,连接后老是掉线。查了好久才发现是晶振频偏太大。
晶振频偏还会影响 BLE 的射频指标。BLE 接收端对频率误差有容忍范围,但发射端频偏过大会导致对方收不到。所以,如果你看到模组规格书里写了“内置晶振”或者“外置晶振”,一定要确认是否支持外部时钟校准功能,同时在量产前做好晶振的频偏测试。这个细节虽然不起眼,但在低温环境下特别容易暴露问题。
电源方面,模组的射频峰值电流来得快、去得也快,如果供电电路响应速度不够,会出现瞬间掉压。低功耗产品常用 DC-DC 加 LDO 两级供电,DC-DC 负责把电池电压降到中间值,LDO 负责给射频供电并抑制纹波。我实测下来,模组在工作时内核电压和 IO 电压分别供电,IO 功耗非常低,但如果你把外设直接挂在模组的 3.3V LDO 上,外设的功耗波动会倒灌到射频供电上,导致发射前端的电压不稳。设计上尽量给外设单独供电,至少也要用磁珠或 π 型滤波隔离。
2.4 WiFi6 与 BLE 共存的射频性能参考
WiFi 和 BLE 在 2.4GHz 频段是邻居,WiFi 的 20MHz 信道宽度几乎能覆盖 BLE 的 40 个信道。为了减少互相干扰,模组的射频前端通常会内置协同滤波机制。但实际产品中,如果 WiFi 一直在高负载传输,BLE 的接收灵敏度还是会下降。我做了两个场景的对比测试,一个是 WiFi 空载时扫描 BLE,一个是 WiFi 满吞吐时扫描 BLE,后者丢包率能到前者的 2 倍以上。
解决思路有两个方向:硬件上尽量拉开 WiFi 和 BLE 的天线距离,软件上启用模组自带的“WiFi/BLE 协同调度”。大部分双模 SoC 都有类似“coexistence”的引脚,用来接一条 PCIe/GPIO 信号做优先级仲裁。如果你只是用现成模组,不接 coexistence 引脚,SoC 内部也会做软件分时,只是效果不如硬件仲裁。产品对连接稳定性要求高的话,建议把 coexistence 引脚引出来,必要时连接一颗简单的逻辑电路,让 BLE 在 WiFi 休眠窗口期收发数据。
3. 实操:从开发板到产品化的关键步骤
3.1 开发环境与 SDK 准备
我手上的这颗模组用的是国内一家主流的 WiFi6 SoC 平台,SDK 基于 GCC 工具链和 FreeRTOS 系统,整体上手门槛不高。拿到开发板后,第一步是搭好编译环境。这里建议直接用厂商提供的 Docker 镜像,而不是自己折腾工具链版本,因为 WiFi6 的蓝牙协议栈对编译器的优化选项比较敏感,版本不对会出现各种莫名其妙的问题。
环境搭好后,先把 SDK 里最简单的 gpio 和 wifi_connect 两个例程编译烧录,确认串口 log 能正常输出。串口波特率一般默认 115200 或者 921600,注意别被默认配置带偏,我每次会先看例程里的 board.h 或者 menuconfig 确认引脚定义,再接线。调试期我强烈建议把 UART log 放在一个不影响业务逻辑的调试口上,正式产品里再关闭。
3.2 配网流程:BLE 辅助配网的完整链路
配网是用户接触模组的第一道体验,做好了能少一大半售后问题。完整流程是这样的:
- 模组上电后先进入 BLE 广播模式,广播包里带上设备 MAC 和设备类型信息。
- 手机 App 扫描到设备,发起 BLE 连接。
- 连接成功后,App 通过 GATT 的 Write 操作,将 WiFi SSID 和密码写入指定的 Characteristic。
- 模组收到 SSID/密码后,回复“已收到”的 Notification,然后断开 BLE 连接。
- 模组切换为 WiFi Station 模式,尝试连接路由器。
- 连接成功后,通过 BLE 短暂广播“配网成功”状态,或者直接通过云平台状态上报通知 App。
这套流程里有几个细节必须注意:
- BLE 广播包大小有限,别把 SSID 塞进广播包,只放标识信息,具体数据走 GATT。
- 配网过程中,模组和 App 之间要有握手确认和超时重传机制,不能只发一次。
- 兼容性问题:部分手机在 BLE 连接后会自动读取所有服务,容易触发 MTU 协商失败。SDK 里最好把 GATT MTU 设为可协商的默认值,并支持 512 字节的数据包,方便后续 OTA。
- 双频路由器环境下,默认先让模组连 2.4G 频段。如果产品支持 5G,需要一次扫描确认路由器是否开启双频合一,避免连到信号弱但同名的 5G 频段。
3.3 BLE 连接过程的细节
聊一下 BLE 连接过程,很多刚从串口转 WiFi 过来的朋友容易忽略这些:
BLE 设备先以一定间隔广播,广播间隔决定了发现速度和功耗。默认情况常设为 100ms 左右,省电模式可以拉到 1s,但手机端扫描发现的耗时也会变长。真正建立连接的过程是:手机发连接请求,设备进入连接事件,之后双方按照协商好的连接间隔、从机延迟、监督超时进行周期通信。
连接间隔这里有个取舍。如果设为 7.5ms,数据交互快,但一整天的平均电流就会高;如果设为 30ms 且开启从机延迟 4 个事件,那么设备可以在多个连接事件里只醒来一次,功耗大幅下降,但每次数据下行的延迟也会增加到上百毫秒。实际产品里,我建议做成动态连接参数管理:空闲时用比较大的连接间隔,当 App 端要交互数据前,先请求更新连接参数,把间隔收紧,等交互完再释放。这样既能保证体验,也能保续航。
3.4 低功耗实测的方法与数据
低功耗产品不实测等于没做。我通常用三种工具:高精度万用表(比如 34465A 配合电流分流器)、蓝牙电流分析仪(比如 Nordic PPK2)、以及支持高速采样的程控电源。测量思路是给模组供电的回路中串联一个低阻采样电阻,用示波器或专用仪器记录电流波形,再导出数据算平均功耗。
我基于这颗模组测过一组典型数据,在深度睡眠保持 RTC 唤醒和 BLE 广播状态时,整机平均电流能做到 15µA 到 20µA 左右;开启 WiFi 连接但保持 TWT 待机,DTIM=10 时平均电流约 0.8mA 到 1.2mA;持续 WiFi 传输(TCP 上下行)时平均电流约 60mA 到 90mA,峰值能到 300mA 以上。注意,这些数据是包含板载 LDO 和指示灯的整机实测,不含传感器和外设。如果你的传感器动不动就是几个毫安,那这些微安级别的努力都会被外设吃掉。
测功耗最容易犯的错是“只测模组不测整机”。很多传感器在休眠状态下仍有 1-2µA 的漏电流,几个传感器加起来就跟模组的深度睡眠打平了。产品设计时,一定要给外设单独供电的 MOS 开关,空闲时彻底断电。还有 LED 指示灯,最好只在事件触发时亮,平时绝对不能常亮。
3.5 从样机到量产:射频认证与产测方案
产品化绕不开射频认证(SRRC/FCC/CE 等)和产测。这里我不展开认证的具体流程,就说一个容易被坑的点:模组厂家如果有“预认证”,那认证时可以直接引用模组的认证报告,能省掉大量 RF 测试时间和费用。前提是你在整机设计里不能额外加影响射频的电路,比如在模组天线路径上串联 SAW 滤波器,或者加射频放大器,这些都会导致原有认证失效。
产测方面,我强烈建议至少做两项测试:一项是 RF 功率与灵敏度测试,用屏蔽箱加综测仪(比如 CMW500)看发射功率和接收灵敏度是否在规格范围内;另一项是天线阻抗测试,用网络分析仪看天线端口的 S11 曲线。这两项能过滤掉大部分因贴装不良、天线结构偏位产生的次品。
4. 常见问题与排查技巧实录
4.1 天线附近有金属导致吞吐量异常
现象:模组在开发板上传输速率正常,装进外壳后吞吐量从 200Mbps 掉到 30Mbps,甚至频繁断开重连。
排查思路:先区分是软件问题还是射频问题。把整机放在桌面上,用胶带临时把外壳天线区域附近的后盖开个孔,吞吐量马上恢复,基本可以断定是金属遮挡/谐振。再用网络分析仪看天线 S11,会发现在工作频段附近出现了明显驻波。
解决办法:结构上移动天线位置;改用 IPEX 外接天线,将天线贴在塑料件或远离金属的区域;加匹配网络拉回阻抗。如果都不行,降低发射功率到 15dBm 左右,往往能减少反射损耗导致的 PA 过载,吞吐量反而稳定一点。
4.2 功耗降不下去:都是 DTIM 和外设惹的祸
现象:明明进入了低功耗模式,实测平均电流比 Datasheet 高了 10 倍。
排查办法:先断开所有外设,只保留模组,重新测。如果电流恢复理想值,说明外设有漏电;如果仍然高,检查 WiFi 的 DTIM 设置和 beacon listen 间隔。很多时候默认 SDK 的 DTIM=1,模组每 100ms 醒来一次收 beacon,平均电流自然高。拉长 DTIM 到 10 或 20,平均电流能降一个量级,但代价是远程下行指令延迟变大,需要云平台配合“离线消息”机制。
另外一个隐蔽点:GPIO 悬空会漏电。模组的每个没用的 GPIO,如果不设置成下拉或上拉,悬空状态可能通过内部保护二极管漏电,单个引脚漏电不大,但十几个引脚加起来就会让整机功耗增加几十微安。所以产品软件里,没用的 GPIO 一定要统一配置成输出低或者输入下拉。
4.3 BLE 连接不稳定:扫描不到或频繁断开
这类问题我总结了四个常见原因:
| 现象 | 可能原因 | 排查与解决 |
|---|---|---|
| 手机扫描不到设备 | 广播功率过低 / 广播间隔过长 | 检查广播 TX Power,必要时调到 0dBm 以上;广播间隔降到 100ms |
| 连接后几十秒断开 | 连接参数不被手机支持 | 将连接间隔调整为 15-30ms,监督超时设为 2000ms 以上 |
| 密码正确但连接失败 | 配对绑定信息冲突 | 清除手机端和模组端的绑定信息,重新配对 |
| 安卓/iOS 行为不一致 | 扫描参数和过滤策略不同 | 在 iOS 端开启蓝牙后台模式,Android 端申请定位权限(因为蓝牙扫描历史原因需要) |
4.4 双频切换时的重连策略
双频模组有一个容易忽略的问题:当设备从 5G 频段覆盖区域移动到只有 2.4G 的区域时,路由器和模组的漫游行为不一定一致。如果路由器开了“双频合一”,模组重连时可能优先去连信号弱但同名的 5G 频段,然后就一直在切换和重连之间横跳。
我的处理办法是:在应用层做一次“频段偏好”跟 RSI 记录,断线重连时先记录上次成功连接的 BSSID 和频段,优先定向连接。如果连续两次失败,再切换另一个频段。代码层面,就是不要依赖 SDK 默认的自动扫描策略,在扫描结果里增加信号强度阈值判断,低于 -75dBm 的 AP 宁可等待,也不连接。
5. 应用场景与选型建议
5.1 哪些产品最适合双频 WiFi6&BLE 模组
我建议从“连接方式”和“供电方式”两个维度筛选。适合的对象是:电池供电 + 需要局域网/云平台通信 + 需要手机近场交互 + 对体积敏感。
拿智能门锁来说,门锁内部空间极小,电池容量有限,但需要保持在线以支持远程开锁。BLE 负责手机靠近时的快速解锁,WiFi 负责远程指令下发和设备状态上报。传统方案往往需要一颗 BLE 芯片加一颗 WiFi 模块,占空间不说,两颗芯片之间还要走串口协议,稳定性全靠软件擦屁股。双频合体模组直接把两颗芯片的活干完,物料成本也更可控。
另一个典型是便携医疗设备,比如指尖血氧仪、体温贴。这类产品体积比打火机还小,用户希望能连手机 App 看趋势,同时设备本身要有极低功耗,最好能连续工作几个月。BLE 满足日常数据同步,WiFi 负责回到家后的大批量历史数据上传,双频合体能覆盖全场景。
再就是资产追踪标签。放在包裹或工具箱里,平时深度睡眠,需要时通过 BLE 被手机唤醒,或者通过 WiFi 上报位置信息。这类产品最大的痛点是“找不到设备时没法唤醒”,双频模组可以用 WiFi 的远程下行功能,在设备定期醒来窗口期下发指令,实现远程定位和状态查询。
5.2 选型时需要重点确认的五个问题
别急着下单,先拿模组 Datasheet 回答完下面五个问题,再决定选不选:
- 深度睡眠电流的测试温度是多少?低温下(-20°C)是否依然达标?
- WiFi 发射时峰值电流和持续时长,电源方案能否覆盖?
- BLE 和 WiFi 共存的仲裁机制,是否需要外部 GPIO 参与?
- SDK 是否提供功耗剖面(power profiling)工具,能直接看到每个任务耗时?
- 模组的认证报告覆盖哪些频段和功率档位,整机认证引用时是否有附加条件?
这五个问题,每一个都能在项目过程中变成巨大的坑。尤其是功耗和认证,前期没确认清楚,后期几乎无法通过软件修正。
5.3 与单 WiFi 或单 BLE 方案的对比
| 维度 | 单BLE | 单WiFi | 双频WiFi6+BLE模组 |
|---|---|---|---|
| 典型待机电流 | 微安级 | 毫安级 | 微安级(BLE模式)/ 毫安级(WiFi TWT模式) |
| 局域网吞吐 | 低 | 高 | 高 |
| 手机近场交互 | 方便 | 需配网 | 方便(BLE配网+控制) |
| 远程控制 | 需网关 | 直接 | 直接 |
| 成本 | 低 | 中 | 中高 |
| 开发复杂度 | 低 | 中 | 偏高(需要处理双协议栈和共存) |
从表格能看出来,双频模组不是“低功耗最优解”,也不是“成本最优解”,它是“体验和连接方式的最优解”。如果你的产品完全依赖手机近场控制,单 BLE 就够了;如果只要有电就能插着电源,单 WiFi 更便宜。双频的价值在于“既要省电又要直连还要能远程”,这三个需求同时出现时,才值得为双频方案买单。
写在最后的实际体会
我这次调测最大的收获,倒不是把 WiFi6 的吞吐跑到了多高,而是搞明白了“低功耗”不是模组单方面能给的,它需要软件调度、硬件供电、结构天线三方面配合。同样是这颗模组,我在开发板上测出来的功耗和装进带金属结构件的外壳里完全是两个数字。产品设计初期,一定要给自己留出功耗和天线调试的余量,别把 Datasheet 上的理论值当成实际值去规划电池容量。
还有一个经验,就是双频模组的软件复杂度比单协议模组高一截,团队里最好有人能同时看懂 WiFi 和 BLE 协议栈,否则出了问题会陷入“不知道是哪一边的锅”的泥潭。调试时多利用 coexistence 相关的日志,把 WiFi 和 BLE 的行为时间线对齐看,往往比猜更高效。最后再提醒一句:小尺寸模组的焊接和天线调试千万别省,把转接板和屏蔽箱的钱花在前面,后面会省下成倍的返工时间。