根据3GPP标准,Cat M1的上行峰值速率大约是1 Mbps,下行大约是1 Mbps。但实际速率会受到多种因素影响,比如网络条件、信号强度、模块配置等。
考虑使用AT命令时的开销。每次发送数据都需要通过AT命令,比如AT+QISEND,会引入额外的处理时间和串口通信延迟。透传模式之所以能提高效率,是因为它减少了这些命令的开销,允许数据直接通过串口传输。如果不用透传,每个数据包都需要封装成AT命令,这会增加时间,从而降低有效速率。
用户使用的是115200波特率的串口,理论上的最大传输速率是115200 bits per second,大约14.4 KB/s。但实际中,由于协议开销(起始位、停止位等),有效数据速率可能只有约11.5 KB/s。此外,AT命令的处理时间、模块的响应时间也会影响整体速率。
比如,发送一个1KB的数据包,需要发送AT+QISEND命令,等待模块响应,然后发送数据,再等待确认。每个步骤的时间总和会影响吞吐量。假设每个数据包需要100毫秒的处理时间,那么每秒最多发送10个数据包,每个1KB的话,大约是10 KB/s,即80 kbps。这明显低于理论峰值,说明AT命令的开销对速率有很大影响。
在不使用透传模式(即通过标准AT命令逐条控制模块)的情况下,Quectel BG770A 的 LTE Cat M 实际有效传输速率会显著降低。以下是关键分析:
1. Cat M1的理论速率
-
3GPP 标准定义:
LTE Cat M1 的理论峰值速率为 上行 1Mbps 和 下行 1Mbps(实际速率受网络、信号、模块配置影响)。 -
Quectel BG770A 实测能力:
在透传模式下,优化后可达到 600kbps~800kbps(TCP/UDP 传输)。
2. 非透传模式(AT命令控制)的速率限制
(1) 串口通信瓶颈
-
串口波特率限制:
-
若使用默认 115200 波特率,理论最大传输速率为 14.4 KB/s(115200 bps ÷ 8 = 14.4 KB/s)。
-
实际有效速率更低(需扣除AT命令交互时间、模块响应延迟等)。
-
-
典型速率范围:
-
单次发送 1KB 数据:
每条AT+QISEND
命令需约 50~100ms(包括命令发送、模块响应、数据确认),实际速率约为 10~20 KB/s(80~160kbps)。
-
(2) AT命令交互开销
-
发送数据流程:
AT+QISEND=<length> // 发送数据长度
> <data> // 等待模块返回">"后输入数据
OK // 模块确认发送完成-
每条数据需 3次串口交互(命令、数据输入、确认),额外增加约 20~50ms 延迟。
-
3. 优化策略(提升非透传模式速率)
(1) 提高串口波特率
-
将波特率设为 921600(BG770A支持):
-
理论速率提升至 115.2 KB/s,但需MCU和硬件支持高速串口。
-
实测有效速率可达 50~80 KB/s(400~640kbps)(需优化代码减少交互延迟)。
-
(2) 批量发送数据
-
合并多包数据:
通过单次AT+QISEND
发送更大数据块(如 10KB),减少命令交互次数。AT+QISEND=10240 // 发送10KB数据
> <10KB数据流>
OK-
速率可提升至 200~300kbps(取决于数据块大小和网络稳定性)。
-
(3) 关闭冗余响应
-
禁用模块的自动响应(如
ATE0
):ATE0 // 关闭回显
AT+QURCCFG="urcport","none" // 关闭非必要URC通知-
减少串口数据干扰,提升有效带宽利用率。
-
4. 实际速率参考
场景 | 有效速率范围 | 备注 |
---|---|---|
默认AT模式(115200) | 80~160kbps | 单包1KB,频繁交互 |
高速串口(921600) | 400~640kbps | 批量发送10KB数据,优化响应逻辑 |
透传模式对比 | 600~800kbps | 透传模式显著更高效 |
5. 注意事项
-
网络质量:
-
确保信号强度(RSRP > -100dBm),否则模块可能降速。
-
-
MCU性能:
-
MCU需快速处理AT命令和串口中断,避免成为瓶颈。
-
-
协议选择:
-
UDP比TCP更高效(无重传机制),但需容忍丢包。
-
结论
在不使用透传模式的情况下,BG770A 的 Cat M 实际速率约为 80~640kbps,具体取决于:
-
串口波特率(921600 > 115200)
-
数据包大小(大包 > 小包)
-
AT命令交互优化(批量发送 > 单次发送)