根據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命令交互優化(批量發送 > 單次發送)