在 LoRa611II 串口 LoRa 模块透传项目中,提高 UART 波特率只能让主机更快地把数据送入模块,不能让无线链路同步变快。确认 UART 参数匹配后,如果短报文正常而连续发送出现时延增加、缺字节或丢包,还应检查主机输入速度是否超过模块当前配置下的持续处理能力。
正确的匹配顺序是:先确定报文长度、流量形态和链路条件,再选择空中速率;随后根据当前工作模式的参考时延和实测完成时间设置分包长度与发包间隔;最后用连续突发、双向流量和忙信道场景验证。
透明传输仍然要经过组包和无线发送
LoRa611II 在 Non-MESH 模式下收到符合串口参数的数据后,会处理串口数据并通过无线链路转发;接收端收到完整无线数据包后,再还原为原始串口数据输出。整个数据路径可以简化为:
主机 UART → 发送模块接收与组包 → LoRa 无线发送
→ 接收模块处理 → 接收端 UART 输出

LoRa611II V1.3 规格书中的模块框图
“透明”指的是主机不必直接控制射频芯片或为每次无线收发编写底层命令,不表示一个 UART 字节会立即从另一端输出。LoRa611II V1.3 规格书说明,发送端会在收到一定数据量后开始发送,或者在一段时间没有新数据进入后启动发送;从发送端接收串口数据到接收端输出之间存在时延,该时延与串口速率、空中速率、报文长度和工作模式有关。
因此,串口侧与无线侧是两个需要衔接的处理阶段。较高的串口波特率可以缩短一批数据的送入时间,但如果主机没有在批次之间停顿,无线侧仍可能来不及处理前一批数据。
三个参数分别限制不同的数据阶段
参数 | 主要影响的位置 | 设置不当时的表现 | 配置时要回答的问题 |
|---|---|---|---|
串口波特率 | 主机与 LoRa611II 之间的数据输入和输出 | 持续输入过快时,无线侧处理完成前又有新数据进入 | 一批数据多久能送入模块,主机能否主动分包和停顿 |
空中速率 | 两个模块之间的无线传输 | 较低速率使报文完成时间增加;提高速率后仍需验证目标环境下的可靠性 | 当前报文长度和发送周期需要多快的档位,目标距离和干扰条件是否允许 |
发包间隔 | 主机应用的数据调度 | 上一批数据尚未完成,下一批又进入模块,形成积压或覆盖 | 当前配置下,一批数据到接收端完整输出需要多久 |
串口波特率与空中速率不需要在数值上相等。真正需要比较的是主机长期送入的数据量和模块长期能够完成的数据量。即使串口瞬时速度很高,只要每批数据之间留有足够时间,链路仍可能稳定;反过来,即使 UART 波特率不高,只要持续无间隔写入,也可能超过较低空中速率下的处理能力。

LoRa611II V1.3 规格书配置工具界面节选
先按串口帧格式计算一批数据的 UART 输入或输出时间:
UART 时间 = 字节数 × 每字节串行位数 ÷ 波特率
以 8N1 为例,每字节包含 1 个起始位、8 个数据位和 1 个停止位,共 10 位。227 字节在 9600、38400 和 115200 bps 下的串行时间分别约为 236.5、59.1 和 19.7 ms。选择波特率时,先满足主机协议与串口格式要求;主机允许调整时,再从模块支持的档位中选择能在本地时间预算内完成输入和输出的档位。提高波特率只能缩短串口阶段,持续流量能否稳定仍由分包、发包间隔和端到端实测共同确定。
先确认流量形态和单包上限
配置参数之前,先把业务流量归入下面三类之一:
- 单向周期上报:同一端按固定周期发送,适合用“单包完成时间加余量”计算起始间隔。
- 主从请求应答:下一次请求应在完整响应结束后再开始,超时需要覆盖请求发送、设备响应和回程传输。
- 双向主动上报或多节点发送:不同节点可能同时开始发送。单向测试得到的间隔不能直接复用,需要增加同时注入、交叉应答和竞争场景测试。
LLCC68 是半双工射频收发器,在无线侧同一时刻不能同时完成发送和接收。项目存在双向主动数据时,不要只给两端分别设置一个固定周期后就结束验证。可以通过主从轮询、时隙安排或应用层退避减少同时发送,并用序号、确认和重试处理业务要求的无损传输。
LoRa611II V1.3 规格书规定,单次最多发送 227 字节。超过单包上限的业务报文由主机拆分;如果接收端必须判断缺包或乱序,应用层还应给分包增加帧序号、长度和必要的确认机制。
用参考时延筛选空中速率
选择空中速率时,先记录典型报文长度、最大报文长度、正常周期、突发长度和允许时延,再加入目标距离、遮挡、天线、安装位置与现场干扰条件。较低的空中速率可以用于争取更大的链路余量,但会增加单包占用时间;较高的速率能缩短参考时延,是否适合最终部署仍要由现场完整接收率决定。
LoRa611II V1.3 规格书给出了不同工作模式下 1 字节和 227 字节报文的近似时延。下面选取配置说明与时延表中都能对应的三个空中速率档位:
工作模式 | 1312 bps | 4750 bps | 17353 bps |
|---|---|---|---|
Non-MESH | 132 / 1447 ms | 37 / 425 ms | 13 / 134 ms |
AES | 224 / 1947 ms | 87 / 884 ms | 50 / 577 ms |
MESH | 154 / 1488 ms | 48 / 436 ms | 18 / 137 ms |
表中每格依次为“1 字节 / 227 字节”的参考时延,数据来自 LoRa611II V1.3 规格书第 9~10 页。它适合筛选候选档位,不适合作为所有报文长度的精确公式。小包也存在组包和处理时间,中间长度不能按 1 字节与 227 字节两个端点做线性插值。
表中的 AES 和 MESH 数据是 LoRa611II 规格书针对本模块相应工作设置给出的 227 字节参考时延。
规格书没有说明 MESH 参考时延对应的实际转发跳数和测试拓扑,因此不能直接用于多跳端到端预算。LoRa MESH 组网项目应按最大实际路径、路由角色和业务流量重新测量。
未列入表格的空中速率按当前模块和配置工具实际提供的档位处理,不从相邻档位推算时延。完成参数设置后,先读回配置,再用同样的端到端方法测量。
例如,业务要求每 500 ms 完成一次 227 字节的单向上报时,Non-MESH 模式下 1312 bps 的参考时延已经达到 1447 ms,可以先排除;4750 bps 的参考值为 425 ms,只能作为需要重点验证的候选档位;17353 bps 的参考值为 134 ms,调度余量更大,但还要在目标距离和干扰条件下确认链路可靠性。这样使用表格,得到的是待测试的档位,而不是脱离现场条件的最终答案。
AES、MESH 或 LBT 会改变报文完成时间。启用这些功能后,应重新测量,不要沿用 Non-MESH、无 LBT 状态下得到的间隔。
发包间隔应覆盖完整处理时间
对单向周期上报,可以先使用下面的工程关系设置初始值:
主机发包间隔 > 当前报文完整到达接收端所需时间 + 调度余量
这里的“发包间隔”是相邻两批数据开始送入发送模块的时间差。“完整到达”从发送主机开始输入该批数据计时,到接收端 UART 输出最后一个字节为止。初始值可以参考规格书时延表,最终值应在实际串口格式、工作模式、空中速率和报文长度下测量。
调度余量应根据目标系统的尾延迟和调度抖动确定,不能未经测量就固定为几毫秒。连续运行时还要观察完成时延是否逐包增加。在链路条件受控、LBT 关闭的重复测试中,如果完成时延持续随包序号增长,说明链路存在积压或平均输入速度超过持续处理能力;单个后续包偶发变慢时,还需要排查干扰、LBT 状态和主机调度抖动。
主从请求应答不应只检查上行报文。一次事务的超时要覆盖请求到达、从设备处理、响应返回和调度余量;下一次请求最好在本次响应完整结束后再开始。双向主动上报则不能只靠一条固定间隔公式,应验证两端同时向 UART 注入数据时是否出现冲突、超时或缺包。
LBT 场景不能只增加一个固定余量
LoRa611II 启用 LBT 功能后,会在发送前检查信道;检测到其他无线信号时,模块会暂缓发送,直到信道空闲。规格书的时延表因此还要叠加 LBT 带来的等待时间。
如果信道只出现短时占用,增加间隔可以吸收一部分等待。但持续繁忙的信道没有一个固定余量可以保证安全:V1.3 规格书明确提醒,模块在该场景下的内部数据缓存为 200 字节,若串口继续向模块输入数据,已有数据可能被覆盖。这里的 200 字节是 LBT 忙信道场景下的缓存说明,不等同于 LoRa611II 的 227 字节单次发送上限,因此不能把 227 字节当作持续忙信道下的安全注入量。
启用 LBT 的项目应同时采取三项措施:
- 限制主机连续注入的数据量,不在信道状态未知时无限追加数据。
- 对要求无损的业务使用序号、确认、超时和重试,不能把“已经写入 UART”当成“已经送达对端”。
- 在测试中主动制造持续忙信道,逐步增加占用时间和输入字节数,找到开始出现时延累积或数据覆盖的边界。
用最坏流量确认最终配置
单包成功只能证明基本参数能够通信,不能证明配置可以长期运行。最终测试至少覆盖以下步骤。
确认两端参数
- 两个模块的频段、信道、空中速率和 NET ID 一致。
- 启用 AES 或 CRC 时,两端使用一致的开关状态;AES 密钥也要一致。
- MESH 开关和 Hop 设置必须兼容。Hop=0 的模块不能与 Hop>0 的模块通信。
- 同一 MESH 网络中的 NODE ID 必须保持唯一,不应设置成相同值。
- 每个模块的 UART 波特率、数据位、停止位和校验位与所连接主机一致。
频段、信道、空中速率、NET ID、加密与 CRC 等属于模块之间需要匹配的参数;NODE ID 属于网络内必须唯一的参数;UART 参数排查针对的是模块与各自主机之间的连接和设置。三类参数的检查目标不同,不要把“全部设成相同值”当成联调方法。
覆盖四种报文长度和流量
- 发送最短报文,记录小包组包等待和完成时间。
- 发送典型业务报文,验证正常周期。
- 发送接近 227 字节上限的报文,检查完整性。
- 按业务最坏突发长度连续发送,观察时延是否逐包增长以及是否出现缺字节或整包丢失。
主从业务再加入连续请求应答;双向主动业务加入两端同时输入和交叉应答;启用 LBT 时加入持续忙信道。每组测试记录发送起始时间、接收端完整输出时间、成功包数、缺失字节数和错误发生时的工作条件。
测试前根据业务要求定义通过标准,包括最大或分位完成时延、允许丢包率、连续运行时间或总包数、重复次数、是否允许时延持续增长,以及忙信道解除后的最大恢复时间。只有各项结果均满足预定标准,当前配置才可进入目标环境复测。
回到目标安装环境复测
空中速率最终还要服从链路可靠性。把实验台配置换成目标产品使用的电源、天线、馈线和结构件,在目标距离、遮挡、干扰和安装位置下重复测试。若提高空中速率后完成时间满足要求,但完整接收率下降,就应降低速率、调整天线与安装条件,或重新安排发送周期,而不是只继续缩短发包间隔。
按最慢的处理环节安排数据流
LoRa611II 串口透传的参数匹配可以归纳为三个动作:
- 根据报文长度、流量形态、时延预算和实际链路条件筛选空中速率。
- 按 227 字节单包上限分包,用规格书参考时延和端到端实测结果设置发包间隔。
- 用连续突发、双向竞争和忙信道测试确认主机输入不会长期快于模块处理,并为要求无损的业务增加应用层确认与重试。
这样配置后,UART 波特率负责高效地把数据送入和送出模块,空中速率负责满足无线链路的时延与可靠性要求,发包间隔则负责让两者在长期运行中保持平衡。