3、射频芯片选型:ISM频段常用射频芯片对比与选型要点

做射频选型,说白了就是在功耗、距离、成本和开发难度之间找平衡。我这些年经手过的项目里,CC1101、nRF24L01 和 ESP32 这三款芯片出现的频率最高。它们各有各的脾气,选错了后面调试起来真的很头疼。

3.1 三款芯片的核心参数对比

先看一张对比表,这是我整理项目时常用的参考依据。你想想看,如果只是做个遥控开关,用 ESP32 就有点大材小用了。

参数项 CC1101 nRF24L01+ ESP32
工作频段 315/433/868/915 MHz 2.4 GHz 2.4 GHz
最大发射功率 +10 dBm 0 dBm(可调至+20 dBm加PA) +20 dBm(内置PA)
接收灵敏度 -116 dBm(2.4 kbps) -94 dBm(250 kbps) -98 dBm(1 Mbps)
调制方式 2-FSK, GFSK, MSK, OOK GFSK CCK, DSSS, OFDM
最大数据速率 500 kbps 2 Mbps 150 Mbps(Wi-Fi)
工作电压 1.8V - 3.6V 1.9V - 3.6V 2.2V - 3.6V
休眠电流 0.2 µA 0.9 µA 5 µA(深度睡眠)
典型通信距离 200-500米(开阔地) 50-100米(开阔地) 100-300米(Wi-Fi直连)
内置协议栈 无(需自行实现) Enhanced ShockBurst Wi-Fi + BLE + TCP/IP
参考价格(1K量) ¥3-5 ¥2-4 ¥8-15

关键结论:CC1101 适合远距离、低功耗、低速率的 Sub-1G 应用;nRF24L01 适合低成本、低功耗、短距离的点对点通信;ESP32 适合需要 Wi-Fi/BLE 联网、高数据量的场景。

3.2 CC1101:Sub-1G 的常青树

我个人习惯把 CC1101 用在需要穿墙、远距离的项目里。433 MHz 频段绕射能力确实比 2.4 GHz 强不少。我在做智能家居网关时,用 CC1101 配合 868 MHz 频段,实测穿两堵砖墙还能稳定通信,距离大概 80 米左右。

选型要点:

  • 频段选择:国内 433 MHz 和 868 MHz 是免许可的,但 915 MHz 要注意当地法规。我记得有一次帮客户做欧洲项目,对方指定要用 868 MHz,结果我默认配了 433 MHz 的晶振,后面改版多花了两周。
  • 数据速率:速率越低灵敏度越高。做低功耗传感器时,我一般用 2.4 kbps 或 4.8 kbps,距离能多出 30%。
  • 天线匹配:CC1101 的差分输出需要 LC 匹配网络。嗯,这里要注意,PCB 走线长度直接影响匹配效果,我建议用 π 型网络预留调试位置。

实战技巧:CC1101 的 WOR(Wake on Radio)模式很好用。我曾经用一颗 CR2032 电池驱动一个温度传感器,每 5 秒发一次数据,电池撑了 18 个月。秘诀就是把唤醒周期调到 500 ms,配合前导码检测。

3.3 nRF24L01+:低成本点对点之王

nRF24L01+ 是我入门射频时用的第一款芯片。说实话,它太容易上手了。SPI 接口一接,几个寄存器一配,数据就能发出去。但它的坑也不少。

选型要点:

  • 供电稳定性:这芯片对电源纹波很敏感。我遇到过好几次,明明代码没问题,通信就是断断续续。后来发现是 3.3V LDO 输出纹波太大,换了个低噪声的 LDO 就好了。
  • 数据包长度:Enhanced ShockBurst 模式下,最大有效载荷是 32 字节。如果你要传超过 32 字节的数据,得自己分包。我建议用 32 字节固定长度,省去很多麻烦。
  • 多对一通信:nRF24L01+ 支持 6 个数据管道,但同一时间只能收一个。做多节点采集时,我习惯用 ShockBurst 的自动应答和重传机制,配合 ACK 带负载功能,效率能提高不少。

避坑指南:我曾经在量产时发现一批 nRF24L01+ 通信距离只有 20 米。排查到最后,是 PCB 天线走线时没做 50 欧姆阻抗控制。记住,2.4 GHz 的天线走线一定要参考地平面,线宽按板材参数算好。

3.4 ESP32:全能型选手

ESP32 其实不只是一颗射频芯片,它更像一个带 Wi-Fi/BLE 的 MCU。我最近做的物联网网关,主控和射频全用 ESP32 搞定,省了一颗 MCU 的钱。

选型要点:

  • 功耗管理:ESP32 的 Wi-Fi 发射电流能到 200 mA 以上。做电池供电产品时,我建议用 BLE 代替 Wi-Fi,或者用 ESP-NOW 协议。ESP-NOW 是乐鑫自家的私有协议,功耗比 Wi-Fi 低很多。
  • 射频性能:内置 PA 能到 +20 dBm,但实际测试发现,超过 +18 dBm 后 EVM 会恶化。我一般把发射功率设在 +16 dBm 到 +18 dBm 之间,兼顾距离和信号质量。
  • 天线选择:ESP32 支持板载 PCB 天线和 IPEX 外接天线。我建议开发阶段用 IPEX 接口,方便调试。量产时如果空间允许,用 PCB 天线成本更低。

个人经验:ESP32 的 Wi-Fi 和 BLE 可以同时工作,但要注意信道冲突。我做过一个项目,Wi-Fi 连路由器,BLE 连手机 App,结果发现 Wi-Fi 吞吐量掉了一半。后来把 BLE 的广播间隔调到 100 ms 以上,问题才解决。

3.5 选型决策流程

说了这么多,到底怎么选?我总结了一个三步走的思路:

  1. 先看通信距离和穿墙需求:如果需要 200 米以上或穿多堵墙,优先考虑 CC1101(Sub-1G)。如果只是室内 50 米以内,nRF24L01+ 或 ESP32 都行。
  2. 再看数据量和协议复杂度:如果只是传几个字节的传感器数据,CC1101 或 nRF24L01+ 就够了。如果需要传图片、OTA 升级,或者要接入互联网,直接上 ESP32。
  3. 最后算成本:nRF24L01+ 最便宜,CC1101 次之,ESP32 最贵。但 ESP32 省了 MCU,整体 BOM 成本可能反而更低。

我的建议:如果你刚开始做射频项目,先从 nRF24L01+ 入手。它简单、便宜、资料多。等把 2.4 GHz 的匹配和天线搞明白了,再挑战 CC1101 的 Sub-1G 设计。ESP32 适合有经验的工程师,因为 Wi-Fi 协议栈的调试比纯射频复杂得多。

嗯,射频选型其实没有绝对的好坏。关键是你得清楚自己的需求——距离、功耗、成本、开发周期,这四个维度排个优先级,答案自然就出来了。我见过太多人一上来就选 ESP32,结果发现电池撑不了一天,又回头换 nRF24L01+。说白了,选型就是取舍的艺术。