☰
Sub-1GHz收发器实战:远距离低功耗无线监测方案解析
2026/10/27 15:22:11 网站建设 项目流程

做果园环境监测项目的时候,我在 2.4 GHz 方案上吃够了苦头:树冠遮挡严重,30 个节点分布在几百亩地里,网关放在板房旁,最远的节点距离将近 700 米,用 2.4 GHz 跑下来丢包率感人,最后只能靠加路由节点续命。后来我把整个方案推倒重来,换成了 Sub-1 GHz 收发器,同样的发射功率和天线高度,距离一下子拉上去了,节点功耗也掉了一个数量级。这篇文章就把我这次改版过程中的选型逻辑、硬件设计、软件配置和踩过的坑完整记录下来,给正在做远距离低功耗无线项目的工程师一个可参考的样本。

1. 为什么是 Sub-1 GHz:选型思路与优势拆解

1.1 频段选型背后的物理账

先说清楚一个最基础的问题:同样功率下,Sub-1 GHz 为什么能传更远?这要从自由空间路径损耗公式说起,链路损耗和频率的平方成正比,频率翻一倍,损耗增加 6 dB。拿 433 MHz 和 2.4 GHz 比,频率差了 5.5 倍,算下来在相同距离下,2.4 GHz 的路径损耗比 433 MHz 高出大约 15 dB。这是什么概念?15 dB 在射频链路里相当于把接收灵敏度差了将近两个数量级的速率档位,或者说,同样的传输距离,Sub-1 GHz 方案的链路余量天然比 2.4 GHz 多出 15 dB。

链路余量在果园这种环境里意味着什么?我实测下来,树木、枝叶、起伏地形对无线信号的衰减非常明显,2.4 GHz 波长 12.5 厘米,穿透树冠时衰减严重,在叶茂季节最远端节点经常连 20% 的接收成功率都保证不了。而 433 MHz 波长 69 厘米,绕射能力更强,在类似环境中接收功率普遍比 2.4 GHz 高 10 dB 以上。这不是玄学,是物理规律实打实的差异。

当然,低频也有代价——频段窄、数据速率上限低、天线尺寸大。433 MHz 的 1/4 波长单极子天线长约 17 厘米,而 2.4 GHz 只有 3 厘米。好在现代 PCB 天线、陶瓷天线和弹簧天线的成熟度已经很高,把天线体积问题控制在了可接受范围内。对于传感器数据采集这类低速场景,速率上限反而不是瓶颈。

1.2 功耗到底是怎么“低”下来的

超低功耗这三个字不能只看数据手册上的 RX 电流数字,要算的是系统平均电流。Sub-1 GHz 收发器在低功耗上的核心设计思路有两个层面:一是工作电流本身做低,二是把“非工作状态”的漏电压到极低。

现代 Sub-1 GHz 收发器 SoC 的接收电流通常能做到 5~6 mA 级别,发送电流在 +10 dBm 输出时约 20~25 mA,+14 dBm 时约 40 mA 左右,休眠电流则可以压到 1 uA 以下。真正决定电池寿命的是休眠电流和唤醒策略。举个例子:果园节点每小时上报一次,发送 50 ms,唤醒后开一个 30 ms 的接收窗口等待网关 ACK,其余时间全部休眠。算一笔账:发送消耗 50 mA × 0.05 s = 2.5 mAs,接收消耗 6 mA × 0.03 s = 0.18 mAs,平摊到 3600 秒里,工作部分平均电流不到 1 uA,加上休眠漏电 1.5 uA,整体平均电流约 2.5 uA。这个量级下,一节 1000 mAh 的锂亚电池理论续航超过 40 年——当然这只是理论值,实际还要算上电池自放电、DC-DC 转换效率、传感器供电等,但数量级对了。

1.3 适合的场景与典型系统形态

链路余量大的特点决定了 Sub-1 GHz 收发器的核心应用场景是:低速、远距离、低功耗。典型的有这几类:

  • 表计类:水表、气表、电表的远程抄表,数据量小,要求电池跑 5 年以上;
  • 工业传感器网络:压力、温度、振动监测,节点分布在厂房各个角落,金属结构遮挡多;
  • 农业与环境监测:分布在户外的气象站、土壤墒情站,节点间距几百米是常态;
  • 资产追踪与安防:车辆、集装箱、牲畜的位置标签和状态上报。

在系统形态上,多数项目是星型或树型拓扑:若干个终端节点通过 Sub-1 GHz 上行到网关,网关再通过以太网、4G 或 Wi-Fi 把数据送到云平台。也有做 Mesh 组网的,但 Sub-1 GHz 本身速率有限,Mesh 多跳 + 休眠调度做起来复杂度高,一般项目能单跳解决的尽量不跳。

2. 硬件设计要点:射频链路和电源是成败关键

2.1 天线匹配与射频走线

硬件设计是整个 Sub-1 GHz 方案里最容易被低估的部分。很多人把收发器芯片焊上去、程序调通,结果实测距离只有实验室环境的 1/3,问题大多出在天线匹配和射频走线上。收发器芯片的射频输出是内部 PA 的输出,通常按 50 欧姆设计匹配网络。但在 PCB 上,从芯片引脚到天线的走线、过孔、元件焊盘都会引入额外的寄生参数,匹配网络必须在实际 PCB 上微调,而不是照抄参考设计就完事。

关于 50 欧姆走线,我建议直接按微带线或共面波导来算。板厂常用板材 FR4 的介电常数在 4.2~4.6 之间,1.0 mm 板厚、50 欧姆微带线宽大约在 1.8 mm 左右,但因为顶层通常还要走地铜、阻焊层厚度也会影响阻抗,最靠谱的方法是让板厂直接做阻抗控制,或者用仿真工具算完再让板厂确认。实在不方便做阻抗控制的小批量板子,也要保证射频走线尽量短、尽量直,两侧打满地过孔,别走直角,过孔控制在 1~2 个以内。

我自己踩过的一个坑是天线净空区。天线正下方和周围禁止铺铜,净空区要根据天线型号留足,PCB 天线通常要求天线所在区域顶层底层的铜全部挖掉,净空至少在 5 mm 以上。我第一版图为了缩小板面积,在天线旁边铺了一块大面积地铜,实测灵敏度掉了大概 8 dB,后来挖掉铜皮,距离才恢复正常。

2.2 晶振选型与频率稳定度

Sub-1 GHz 收发器对参考时钟的稳定度要求非常高,因为载波频率是晶振频率的整数倍,晶振误差会被同步放大。以 433.92 MHz 为例,使用常规 26 MHz 晶振,若频偏为 20 ppm,载波偏移就是 433.92 × 20 × 10⁻⁶ ≈ 8.7 kHz。接收端解调时,如果接收带宽没有覆盖这个偏移量,就会出现灵敏度骤降甚至完全解不出信号的故障。

所以晶振选型要分场景:对成本敏感且通信距离要求不苛刻的产品,用普通 XO,靠接收带宽的余量来容忍频偏;对室外远距离、环境温差大、长期可靠性要求高的产品,强烈建议用 TCXO(温补晶振)。TCXO 的全温范围内频偏通常在 0.5~2 ppm 级别,比普通晶振好一个数量级以上。我果园节点用的就是 TCXO,冬天零下十几度、夏天四十多度,一年多跑下来没出现频率漂移导致的通信问题。

另外要注意晶振负载电容匹配。参考电路里通常会标注晶振规格对应的 CL 值,PCB 上的并联电容要根据实际走线寄生电容做调整,一般取 CL 的两倍左右。如果晶振起振不稳,检查这两个电容是否偏大,偏大会导致负性阻抗不足,起振慢甚至不起振。

2.3 电源与去耦设计

Sub-1 GHz 发射瞬间电流会从几毫安跳到几十毫安,上升沿非常陡,电源如果撑不住,瞬态跌落会直接导致 PA 输出功率下降、频谱劣化。这里有两个要点:一是电源架构,二是去耦电容。

低功耗设计中,通常用一颗 LDO 给收发器模拟和射频部分供电,LDO 的高 PSRR 能有效抑制电池电压纹波。如果系统里还有其他数字电路、电机、继电器之类的大电流负载,一定要把射频供电跟它们分开。我见过一个项目,把电机驱动和无线模块共用一个 LDO,电机一启动,无线模块就断连,查了半天才定位到是电源跌落。

去耦电容的布局比容量更重要。参考设计里每个电源引脚旁边的 0.1 uF 电容,要尽可能靠近引脚,推荐小于 2 mm,过孔从电容焊盘直接打到地平面,不要绕。同时在大一点的位置放 1 uF 或 4.7 uF 的体电容,用来应对发射时的瞬态电流。注意 0.1 uF 和 1 uF 电容不要互相覆盖谐振点,多颗电容并联时留出不同容值梯度,比如 100 pF、1 nF、0.1 uF、1 uF 组合,覆盖更宽的频段。

2.4 PCB 布局实操建议

给几个可以直接落地的 PCB 布局原则。首先,射频部分要沿一条线布局:芯片射频引脚 → 匹配网络 → 天线,所有器件按顺序排开,不要绕来绕去。反馈到地平面的过孔就近打,不要共用。其次,地平面必须完整,射频区域正下方不要走任何信号线,特别是数字信号线,否则数字噪声会被天线直接辐射出去,造成灵敏度下降和 EMC 超标。

第三,晶振要尽量靠近芯片时钟引脚,晶振下方铺地并打过孔,避免时钟信号长距离走线辐射。第四,如果板子上同时有 DC-DC,电感要远离射频和天线区域,DC-DC 的工作频率通常在几百 kHz 到几 MHz,开关噪声是射频接收的头号干扰源。最后,预留测试点:天线输入端预留 π 型匹配的焊盘位,电源端预留电流测试跳线或 0 欧电阻位,板上留好调试串口和 SWD 接口。别小看这些预留,后面调试和排查问题全靠它们。

3. 软件配置与链路调优

3.1 调制方式、速率与灵敏度的三角关系

Sub-1 GHz 收发器常用调制方式有 OOK、2-FSK、GFSK、4-FSK,还有 LoRa 这类扩频调制。选择的核心逻辑是速率和灵敏度之间的权衡。数据速率越低,有效信号带宽越窄,接收机噪声功率越小,灵敏度就越高。这个关系可以近似理解为:速率每降一半,灵敏度大约提升 3 dB。对应到项目里,如果连 50 kbps 都能接受,就不要为了“看起来更先进”去跑 200 kbps,速率越高距离越短,功耗也越高。

GFSK 是大多数 Sub-1 GHz 收发器的默认选择,在抗干扰和频谱效率之间比较均衡。OOK 的优势是解调简单、功耗略低,但对幅度干扰极其敏感,现实中强推的场景不多。LoRa 这类扩频调制在抗干扰、抗多径和灵敏度上优势明显,灵敏度可以做到 -135 dBm 左右,但速率通常限制在几 kbps 到几十 kbps,而且不同厂商的 LoRa 协议之间不互通。

我做果园节点时选的是 GFSK 下行、上行对称配置,速率 50 kbps。原因很简单:数据量小,50 kbps 完全够用,且速率适中,灵敏度轻松做到 -110 dBm 以下,链路预算足够覆盖 700 米距离。

3.2 RX 带宽、频偏与前导码的匹配

配置寄存器时最容易忽略的一组参数是接收带宽(RX Bandwidth)、频偏(Deviation)和前导码长度。它们必须匹配,否则会出现“自己发的数据自己都收不到”的奇怪现象。

接收带宽要大于频偏与晶振误差之和,一般经验值是:RX_BW ≈ 频偏 × 2 + 最大频率误差 × 2。比如频偏设 25 kHz,晶振误差按 ±10 ppm 算,433 MHz 下约 ±4.3 kHz,接收带宽建议至少设 60~70 kHz。带宽设置太窄,信号频谱被切掉,灵敏度受损;太宽,噪声带宽增大,灵敏度同样下降。这需要根据实际晶振精度做权衡。

前导码的作用是让接收端完成 AGC 收敛和位同步,不能太短。在 50 kbps 下,我一般设 8~12 个字节的前导码,对应时间约 2~3 ms,足够接收端从休眠状态下唤醒并完成同步。如果链路余量很紧张,前导码可以再加长,代价是每次传输的有效时间变长、平均功耗增加。

3.3 低功耗策略:占空比和LDC模式

低功耗的核心思路是“尽量不工作,工作了就高效”。具体到 Sub-1 GHz 收发器,有两种常用模式:一种是纯软件控制的周期性唤醒,MCU 定时器定时让收发器进入 RX 模式,时间窗内检测前导码和同步字;另一种是硬件支持的 LDC(Low Duty Cycle)模式,收发器自己管理休眠和唤醒周期,MCU 可以长时间睡在低功耗状态。

LDC 模式的优点是唤醒逻辑全在硬件内部完成,MCU 几乎不用参与,系统功耗可以压得非常低。但要注意配置唤醒周期、前导码检测窗口、同步字中断的配合。唤醒周期太长,接收窗口错过发送方的数据;太短,则频繁醒来增加功耗。一个可参考的配置是:主动上报型节点,采用“休眠占空比为主 + 事件触发为辅”的方式,正常 1 小时醒来一次上报,传感器告警时通过外部中断把 MCU 唤醒,立即发送。网关那边始终处于 RX 状态或也是 LDC 模式,两边通过时间同步保证唤醒窗口对齐。

3.4 频率误差补偿与晶振校准

即使用了 TCXO,温度变化、器件老化、封装批次差异都可能导致频率偏移,实际项目中必须做频率误差补偿。最简单的方法是收发器自身的频率偏移估计功能:接收方在收到前导码或同步字期间估算载波频率偏移,然后自动补偿。大多数 Sub-1 GHz 收发器都内置了自动频率控制(AFC)功能,建议开启。

如果你的收发器没有 AFC,或者想手动做校准,可以在产测阶段写一个校准流程:用频谱仪测量模块在特定信道上的实际发射频率,与目标频率比较,得到偏移量,然后把修正值写回模块的频偏补偿寄存器。注意这个校准值要写入非易失存储器,并且在温度变化较大的应用中,最好做温度补偿表——用恒温箱或高低温箱做 -20℃、0℃、25℃、45℃、60℃ 几个点的频偏测试,拟合成补偿曲线。产线校准的工时和成本不低,但换来的通信可靠性是值得的。

4. 一套可复现的实测配置流程

4.1 项目场景与节点设计

以我改造的果园监测系统为例。整个网络有 32 个终端节点,采集土壤温湿度、空气温湿度和光照,一个网关,通过 4G 回传数据到服务器。节点之间距离 200~700 米,地势有起伏,中间有果树、少量建筑和铁皮围栏。环境温度范围约 -15℃ 到 45℃。节点采用 2 节锂亚电池(容量合计 3800 mAh)供电,要求至少工作 3 年。

节点主控选用了一颗集成 Sub-1 GHz 收发器的 SoC——这类方案的优点是集成度高、功耗链路可控、开发环境完善。外部接口接了 I2C 传感器和一个唤醒按键,MCU 大部分时间跑在 STOP 模式,靠 RTC 周期性唤醒。射频部分使用 433 MHz 频段,PCB 板载天线,配合手动匹配网络。

4.2 关键参数配置实例

以下是实测可用的配置参数,供参考:

  • 频点:433.92 MHz,信道间隔 200 kHz;
  • 调制方式:GFSK;
  • 数据速率:50 kbps;
  • 频偏:25 kHz;
  • 接收带宽:80 kHz;
  • 输出功率:+14 dBm;
  • 前导码长度:12 字节;
  • 同步字:0xAD 0xDE;
  • 包格式:前导码 + 同步字 + 长度 + 数据 + CRC16;
  • 接收模式:LDC,唤醒周期 1 s,接收窗口 8 ms;
  • 发射模式:主动上报时立即发射,发送完成后 30 ms 内开启接收窗口等待 ACK。

这里特别说明 +14 dBm 的选择。433 MHz 频段的等效全向辐射功率(EIRP)法规限值在不同地区不同,常见的 433 MHz 短距离设备限值是 10 mW EIRP(即 +10 dBm),也有部分频段和地区允许更高功率。出发点是先满足法规,再谈性能。实际发射功率每增加 3 dB,链路余量提升 3 dB,但代价是电流从 20 mA 量级跳到 40 mA 量级,电池寿命要重新评估。做产品前务必查清楚目标市场的法规要求。

如果法规限值是 +10 dBm,链路余量仍然不够,优先考虑换更高灵敏度的调制方式或降低速率,而不是盲目加功率。工程问题是系统性的,单项指标不能无限压榨。

4.3 实测数据与链路预算复盘

在果园实地测试的结果如下表:

测试项距离接收功率(典型)接收成功率备注
空地500 m-82 dBm100%视距无遮挡
果树区350 m-88 dBm100%树冠遮挡中等
果树区700 m-98 dBm99.2%叶茂期约 96%
铁皮围栏后200 m-104 dBm90.1%金属遮挡衰减大

用链路预算公式复盘:发射功率 +14 dBm,接收灵敏度在 50 kbps GFSK 下约 -112 dBm,理论链路预算 126 dB。700 米实测接收功率 -98 dBm,说明实际路径损耗约 112 dB,距离理论自由空间损耗多出约 30 dB——这部分就是树冠、地形、天线效率等因素的综合衰减。链路余量还有 14 dB,所以成功率接近满格。这个数字说明选型正确之余,也验证了一个规律:户外非视距场景,真实路径损耗比自由空间公式高 20~30 dB 很正常,做规划时千万别用理想公式算出来的数字拍脑袋定距离。

电流实测方面,节点平均工作电流约 5.8 uA,主要耗电项是 LDC 周期唤醒和传感器 1 小时一次的采样。按 3800 mAh 电池容量、电池自放电 10%/ 年估算,理论寿命约 7~8 年,实际保守估 4~5 年,远超过 3 年的需求。

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

5.1 通信距离始终上不去

遇到通信距离不足,排查顺序要固定:先软件后硬件、先天线后芯片。按我自己的经验,按以下清单快速筛查:

  • 发射功率寄存器是否真的写进去了?有些 SoC 在不同模式下功率寄存器会被覆盖,一定要读回确认;
  • 接收灵敏度设置是否正常?如果开启了某些省电模式,接收链路可能是降级模式,检查是否配置了完整 RX 路径;
  • 天线是否谐振在目标频率?用网络分析仪看 S11,中心频率偏移超过 ±10 MHz 就说明匹配网络或天线尺寸有问题;
  • 天线周围是否有大面积地铜或其他金属件;
  • 供电是否足够?发射电流瞬时跌落会导致 PA 输出功率不足,用示波器看发射瞬间电源波形。

有一次项目反馈“距离突然从 300 米缩到 50 米”,排查了半天,最后发现是电池电量下降后,电池内阻变大,发射瞬间电源被拉低到收发器的最低工作电压以下,PA 自动降功率。换成低内阻电池后恢复正常。这类问题在电池供电设备里非常典型。

5.2 平均电流偏高

平均电流不是直接测出来的,而是根据工作电流波形积分算出来的。排查思路:用电流探头或者软件计数器分别统计每种模式的占比,看哪个环节耗电异常。

常见原因有几个:休眠模式没有真正进入,MCU 的外设还在跑;GPIO 配置成浮空输入导致漏电;RF 模块在空闲时仍停留在 RX 模式而不是 IDLE/SLEEP;传感器供电没有关断,在休眠时持续漏电。我这边遇到最隐蔽的问题是 DC-DC 电感选型不当,轻载时效率极低,导致休眠时供电电流反而偏高。想确认这个问题,可以用电流分析仪测不同负载下的系统功耗曲线,或者直接对比不同电感下的休眠电流数据。

5.3 偶发丢包和数据错乱

偶发丢包大概率不是射频链路预算不够,而是协议和干扰层面的事。先确认一个关键点:丢包是单点还是全网?单点丢包优先检查该节点的天线、供电、晶振;全网丢包检查网关接收链路和无线环境。

晶振引起的频率漂移是偶发丢包的高频原因。环境温度突变时,普通晶振频偏会瞬间扩大,接收端 AFC 来不及补偿。用 TCXO 可以明显改善。另外检查接收带宽是否设置过窄,如果晶振误差较大但带宽设得不足,信号在频偏大时就会落到滤波器带宽外,表现为间歇性丢包。

数据错乱则要先排除是无线空口问题还是接口问题。把两个模块放在同一块试验板上,用固定数据包做长时间回环测试,确认无误后再拉远距离测试。如果近距离长时间测试偶发错包,优先检查供电稳定性和 SPI/I2C 接口时序,时钟信号质量差、毛刺导致寄存器读写错误也是常见根因。

5.4 再聊一点“收发器”的边界:IBERT 与板级信号验证

刚入行的时候,我也以为 Sub-1 GHz 收发器和 FPGA 高速串行收发器是一个东西,其实完全两个领域。Sub-1 GHz 收发器走的是无线空口,速率几十到几百 kbps;FPGA 高速串行收发器走的是板内或板间的有线高速链路,速率动辄 Gbps,配套的 Xilinx IBERT(Integrated Bit Error Ratio Tester)核是用来做高速串行链路误码率测试的调试工具。两者虽然都叫收发器,但技术栈和调试方法截然不同。

不过在工程方法上可以互相借鉴一个思路——误码率测试。Sub-1 GHz 无线通信的调试中,我用过类似 IBERT 的逻辑:两端模块都运行一个 Ping-Pong 测试程序,以固定长度数据包循环收发,对端收到后校验 CRC 再原样返回,统计全过程的误码率和丢包率。这种定量的误码率测试比“看起来收得到”要可靠得多。用同样的思路去验证 Sub-1 GHz 模块和主控 MCU 之间的 SPI 接口,也能快速定位是无线链路的问题还是板级接口的问题。板级信号质量的问题用示波器观察 SPI 时钟和数据线的上升沿、过冲、毛刺,往往一眼就能看出异常。

5.5 关于频谱仪和现场实测的几个心法

最后分享几个我反复用到的实测习惯。第一,测试天线匹配时,频谱仪用跟踪源看 S11,比单纯看驻波比直观得多;没有跟踪源的话,可以用网分,或者用收发器自带 RSSI 读值辅助判断:天线匹配良好时,RSSI 在同样距离下波动很小。

第二,现场测试要分“静态+动态”两组。静态测试是收发双方不动,记录长时段成功率;动态测试是带着节点在果园里走动,观察 RSSI 的变化曲线。动态测试尤其能暴露多径和地形阴影的问题——有些区域 RSSI 突然掉 20 dB,可能就是一棵大树或一栋小房子挡住了。

第三,一定要留够测试时间。无线通信的偶发问题在短时测试里根本暴露不出来,至少要跑 24 小时,覆盖一个昼夜的温度变化和电磁环境变化。我之前有一版软件,丢包率白天只有 0.5%,夜里超过 5%,后来发现是夜间湿度大导致天线表面结露、驻波变差。这类问题,只测白天永远发现不了。

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

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

立即咨询