4. LoRa与LoRaWAN关键参数解析
LoRa 是物理层的调制技术,LoRaWAN 是建立在 LoRa 之上的 MAC 层协议。一个节点能否顺利入网、稳定上报、长期运行,往往不取决于“能不能发出信号”,而取决于一组关键参数是否配置正确:频率计划决定设备在哪些信道上通信,发射功率决定链路预算与干扰水平,占空比决定单位时间内允许发射多久,接收窗口决定下行消息何时被监听,ADR 则决定网络如何动态调整速率与功率。这些参数彼此耦合,任何一项越界,都会表现为入网失败、丢包、被网关限流或电池快速耗尽。
频率计划:先确定“在哪个频段、用哪些信道”
频率计划(Frequency Plan)规定了区域频段、信道编号、信道带宽、数据速率与默认信道。以中国区常用 CN470 为例,其上行频段为 470–510 MHz,采用 125 kHz 带宽、7 个 48 信道组的方式划分,节点通常从某一信道组中选择默认信道发起入网。欧洲 ETSI 的 EU868 则使用 863–870 MHz,默认三个信道 868.1/868.3/868.5 MHz,带宽 125 kHz,并强制遵守 1% 占空比。北美 US915 采用 902–928 MHz,上行 64 个 125 kHz 信道加 8 个 500 kHz 信道,且没有强制占空比,而是用 dwell time(驻留时间)限制单次发射不超过 400 ms。
工程上,频率计划不是“随便选一个”,而是由网关和节点共同约定。节点入网前必须与网关使用同一频率计划,否则网关根本不会解调。实际配置时,需要关注三个字段:region(区域)、sub-band(子带/信道组)、channel mask(信道掩码)。例如在 CN470 中,若网关只开通了第 0 组信道,节点却使用第 5 组,则入网请求永远收不到。因此,部署第一步永远是核对网关与节点的频率计划是否一致。
发射功率:链路预算与合规的平衡
发射功率(TX Power)通常以 dBm 表示,LoRa 芯片常见范围为 −4 dBm 到 +20 dBm,实际可用值受区域法规和硬件功放限制。EU868 一般限制在 +14 dBm(约 25 mW),CN470 常见 +17 dBm 或 +20 dBm,US915 可到 +20 dBm 甚至 +30 dBm(需符合 FCC 要求)。功率每增加 6 dBm,理论覆盖距离约翻倍,但功耗和干扰也同步上升。
链路预算公式为:Link Budget = TX Power + RX Sensitivity − Losses。例如 TX 为 +14 dBm、接收灵敏度为 −137 dBm、馈线损耗 2 dB,则链路预算约 149 dB。这个数值决定了在给定扩频因子下能容忍多大的路径损耗。工程中不要盲目拉满功率:高功率会加剧同频干扰,也可能触发网关的限流或法规检查。合理做法是先用 ADR 让网络自动收敛,再根据现场覆盖情况手动微调。
占空比:单位时间内的发射配额
占空比(Duty Cycle)是 EU868 等区域最容易被忽视的约束。它定义为“发射时间 / 观察窗口”,例如 1% 表示在 1 小时内最多发射 36 秒。不同子带的占空比不同:EU868 的 868.1/868.3/868.5 MHz 为 1%,868.7–869.2 MHz 为 0.1%,869.4–869.65 MHz 为 10%。这意味着节点不能连续快速上报,否则会违反法规,也可能被网关拒绝。
计算示例:若使用 SF7、带宽 125 kHz,单包空中时间约 60 ms。在 1% 占空比下,1 小时内最多发送 36 s / 0.06 s = 600 包,平均每 6 秒一包。若使用 SF12,单包空中时间约 1.5 s,则 1 小时最多 24 包,平均每 150 秒一包。可见,扩频因子越高,覆盖越远,但占空比压力越大。工程上必须根据上报周期反推可用的 SF 和信道数量,必要时通过多信道轮询来分摊占空比。
接收窗口:下行消息的“时间窗”
LoRaWAN 规定节点在每次上行发送后,必须打开两个短接收窗口:RX1 和 RX2。RX1 通常在上行结束后的 1 秒(RECEIVE_DELAY1,默认 1 s)打开,使用与上行相同的频率和速率;RX2 在 2 秒(RECEIVE_DELAY2,默认 2 s)打开,使用固定频率和速率(EU868 为 869.525 MHz、SF9/125 kHz,CN470 为 505.3 MHz、SF12/125 kHz)。节点在这两个窗口内监听网关的下行消息,如入网接受、MAC 命令、确认帧等。
接收窗口的工程约束在于:节点必须在窗口开启前完成射频切换,且窗口持续时间很短(通常只有几毫秒到几十毫秒)。如果节点在 RX1 和 RX2 之间切换频率过慢,或晶振偏差过大导致窗口错位,就会错过下行。实际调试时,若节点能上行但收不到下行,应优先检查 RECEIVE_DELAY1、RECEIVE_DELAY2 是否与网络服务器一致,以及 RX2 的频率和速率是否配置正确。
ADR:让网络自动调整速率与功率
ADR(Adaptive Data Rate)是 LoRaWAN 的核心机制之一。它让网络服务器根据节点上报的链路质量(SNR、RSSI、丢包率)动态调整节点的数据速率(SF)和发射功率。链路好时,服务器命令节点提高速率、降低功率;链路差时,则降低速率、提高功率。这样既能延长电池寿命,又能减少干扰。
ADR 的工作流程可以概括为:节点在上行帧中携带 ADR 标志和 ADRACKReq 位;网络服务器根据最近若干帧的链路质量计算新的 TXPower 和 DataRate,通过下行 MAC 命令 LinkADRReq 下发;节点收到后回复 LinkADRAns 确认。若节点在 ADR_ACK_LIMIT(默认 64)次上行内未收到下行确认,必须降低速率或提高功率,以保证链路可靠。
ADR 并非万能。对于移动节点、快速变化的信道或需要固定速率的场景,应关闭 ADR,改用固定速率和功率。此外,ADR 依赖下行链路,若网关下行能力弱或节点处于盲区,ADR 可能无法收敛。工程上建议:固定节点开启 ADR,移动节点关闭 ADR,并在入网初期允许 ADR 自动调整,稳定后再根据实际覆盖决定是否锁定参数。
参数协同:一个可执行的配置检查清单
把上述参数落到工程上,可以形成一份入网前的检查清单。以下字段可直接对照网关和节点配置逐项核对:
| 参数 | 典型值/示例 | 检查要点 |
|---|---|---|
| region | CN470 / EU868 / US915 | 网关与节点必须一致 |
| sub-band / channel mask | CN470 第 0 组 | 网关开通的信道组与节点匹配 |
| TX Power | +14 dBm(EU868) | 不超过区域法规上限 |
| DataRate / SF | SF7 ~ SF12 | 与占空比、覆盖距离匹配 |
| RECEIVE_DELAY1 | 1 s | 与网络服务器一致 |
| RECEIVE_DELAY2 | 2 s | RX2 频率/速率正确 |
| ADR | 固定节点开启,移动节点关闭 | 观察 LinkADRReq/Ans 是否收敛 |
总结来看,频率计划是“能不能通”的前提,发射功率和占空比是“合不合规”的边界,接收窗口是“能不能收”的保障,ADR 是“好不好用”的优化。四者共同构成 LoRaWAN 节点的工程约束体系。实际开发中,建议先用固定参数完成入网验证,再开启 ADR 观察收敛过程,最后根据现场覆盖和电池寿命需求锁定参数。只有把这些参数放在一起理解,才能避免“单点正确、系统失效”的常见问题。