当前位置: 首页 > article >正文

MCU控制4G模组(标准AT命令),CatM的最大速率?

根据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. 注意事项

  1. 网络质量

    • 确保信号强度(RSRP > -100dBm),否则模块可能降速。

  2. MCU性能

    • MCU需快速处理AT命令和串口中断,避免成为瓶颈。

  3. 协议选择

    • UDP比TCP更高效(无重传机制),但需容忍丢包。


结论

在不使用透传模式的情况下,BG770A 的 Cat M 实际速率约为 80~640kbps,具体取决于:

  • 串口波特率(921600 > 115200

  • 数据包大小(大包 > 小包

  • AT命令交互优化(批量发送 > 单次发送

相关文章:

MCU控制4G模组(标准AT命令),CatM的最大速率?

根据3GPP标准&#xff0c;Cat M1的上行峰值速率大约是1 Mbps&#xff0c;下行大约是1 Mbps。但实际速率会受到多种因素影响&#xff0c;比如网络条件、信号强度、模块配置等。 考虑使用AT命令时的开销。每次发送数据都需要通过AT命令&#xff0c;比如ATQISEND&#xff0c;会引…...

致远OA —— 表单数据获取(前端)

文章目录 :apple: 业务需求描述 &#x1f34e; 业务需求描述 测试案例&#xff1a; https://pan.quark.cn/s/3f58972f0a27 官网地址&#xff1a; https://open.seeyoncloud.com/v5devCAP/94/355/359/399/405/406.html 需求描述&#xff1a; 点击获取数据接口&#xff0c;…...

游戏引擎学习第214天

总结并为当天的任务做好准备 昨天&#xff0c;我们将所有调试控制代码迁移到使用新的调试接口中&#xff0c;但我们没有机会实际启用这些代码。我们做了很多准备工作&#xff0c;比如规划、将其做成宏、并将其放入调试流中&#xff0c;但实际上我们还没有办法进行测试。 今天…...

码率自适应(ABR)相关论文阅读简报2

论文5简介 标题&#xff1a;PAR:IMPROVING VIDEO BITRATE ADAPTATION VIA PAYLOAD-A W ARE THROUGHPUT PREDICTION 作者&#xff1a;Jialiang Pei, Congkai An, Anfu Zhou, Liang Liu, Huadong Ma 单位: 中国北京邮电大学计算机学院 发表会议&#xff1a; Conference on Mu…...

环信鸿蒙版 UIKit 快速上手指南

环信鸿蒙版 UIKit 是专为 HarmonyOS 开发者设计的 IM UI 组件库&#xff0c;基于环信 IM SDK 开发&#xff0c;可帮助开发者快速集成即时通讯功能。 环信UIKit 的特点 ArkUI 声明式开发范式&#xff1a;采用高效简洁的声明式开发方式状态管理 V2&#xff1a;支持深度观测和精…...

核心机制与主流协议解析

一、收益聚合器的核心逻辑 收益聚合器&#xff08;Yield Aggregator&#xff09;通过算法自动优化用户在DeFi协议中的资金配置&#xff0c;解决「收益耕作&#xff08;Yield Farming&#xff09;」的两大痛点&#xff1a; 机会捕捉&#xff1a;实时追踪高收益矿池&#xff08…...

使用stm32cubeide stm32f407 lan8720a freertos lwip 实现udp client网络数据转串口数据过程详解

1前言 项目需要使用MCU实现网络功能&#xff0c;后续确定方案stm32f407 外接lan8720a实现硬件平台搭建&#xff0c;针对lan8720a也是用的比较多的phy&#xff0c;网上比较多的开发板&#xff0c;硬件上都是选用了这个phy&#xff0c;项目周期比较短&#xff0c;选用了这个常用…...

Go:入门

文章目录 Hello, World命令行参数找出重复行GIF动画获取一个URL并发获取多个URL一个 Web 服务器其他 Hello, World Hello world package main import "fmt" func main() {fmt.Println("Hello, 世界") }package main表明这是一个可独立执行的程序包&#…...

createContext+useContext+useReducer组合管理React复杂状态

createContext、useContext 和 useReducer 的组合是 React 中管理全局状态的一种常见模式。这种模式非常适合在不引入第三方状态管理库&#xff08;如 Redux&#xff09;的情况下&#xff0c;管理复杂的全局状态。 以下是一个经典的例子&#xff0c;展示如何使用 createContex…...

JVM常见问题与调优

目录 一、内存管理问题 1、内存泄漏&#xff08;Memory Leak&#xff09; 2、内存溢出&#xff08;OOM, OutOfMemoryError&#xff09; 2.1 堆内存溢出&#xff08;OutOfMemoryError: Java heap space&#xff09; 2.2 元空间溢出&#xff08;OutOfMemoryError: Metaspace…...

汽车售后诊断 ODX 和 OTX 对比分析报告

一、引言 在汽车行业不断发展的当下&#xff0c;汽车售后诊断技术对于保障车辆性能、维护车主权益以及提升汽车品牌服务质量起着至关重要的作用。随着汽车电子化程度的不断提高&#xff0c;售后诊断所涉及的数据和流程愈发复杂&#xff0c;这就促使行业需要更加标准化、高效化…...

AI重构农业:从“面朝黄土“到“数字原野“的产业跃迁—读中共中央 国务院印发《加快建设农业强国规划(2024-2035年)》

在东北黑土地的万亩良田上&#xff0c;无人机编队正在执行精准施肥作业&#xff1b;在山东寿光的智慧大棚里&#xff0c;传感器网络实时调控着番茄生长的微环境&#xff1b;在云南的咖啡种植园中&#xff0c;区块链溯源系统记录着每粒咖啡豆的旅程。这场静默的农业革命&#xf…...

go游戏后端开发33:解散房间

接下来&#xff0c;我们来实现房间的解散功能。因为在调试过程中&#xff0c;如果不能取消房间&#xff0c;就需要频繁重启程序&#xff0c;这非常不方便。所以&#xff0c;我们先来实现这个解散功能。 房间解散的流程其实很简单。当发起解散请求后&#xff0c;我们会向所有用…...

Cloudflare教程:免费优化CDN加速配置,提升网站访问速度 | 域名访问缓存压缩视频图片媒体文件优化配置

1、启用 Tiered Cache 缓存开关&#xff1a;通过选择缓存拓扑&#xff0c;可以控制源服务器与 Cloudflare 数据中心的连接方式&#xff0c;以确保缓存命中率更高、源服务器连接数更少&#xff0c;并且 Internet 延迟更短。 2、增加浏览器缓存时间TTL&#xff1a;在此期间&#…...

Python设计模式:策略模式

1. 什么是策略模式 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;将每个算法封装起来&#xff0c;并使它们可以互换。策略模式使得算法的变化独立于使用算法的客户。换句话说&#xff0c;策略模式允许在运…...

JavaScript(JS进阶)

目录 00闭包 01函数进阶 02解构赋值 03通过forEach方法遍历数组 04深入对象 05内置构造函数 06原型 00闭包 <!-- 闭包 --><html><body><script>// 定义&#xff1a;闭包内层函数&#xff08;匿名函数&#xff09;外层函数的变量&#xff08;s&…...

C/C++共有的类型转换与c++特有的四种强制类型转换

前言 C 语言和 C 共有的类型转换&#xff1a; 自动类型转换&#xff08;隐式类型转换&#xff09;&#xff1a; 编译器在某些情况下会自动进行的类型转换。强制类型转换&#xff08;显示类型转换&#xff09;&#xff1a; 使用 (type)expression 或 type(expression) 语法进行…...

Nginx 负载均衡案例配置

负载均衡案例 基于 docker 进行 案例测试 1、创建三个 Nginx 实例 创建目录结构 为每个 Nginx 实例创建单独的目录&#xff0c;用于存储 HTML 文件和配置文件 mkdir -p data/nginx1/html mkdir -p data/nginx2/html mkdir -p data/nginx3/html添加自定义 HTML 文件 在每个…...

【蓝桥杯】贪心算法

1. 区间调度 1.1. 题目 给定个区间,每个区间由开始时间start和结束时间end表示。请选择最多的互不重叠的区间,返回可以选择的区间的最大数量。 输入格式: 第一行包含一个整数n,表示区间的数量 接下来n行,每行包含两个整数,分别表示区间的开始时间和结束时间 输出格式:…...

LLaMA-Factory 数据集成从入门到精通

一、框架概述 LLaMA-Factory 框架通过Alpaca/Sharegpt双格式体系实现多任务适配&#xff0c;其中Alpaca专注结构化指令微调&#xff08;含SFT/DPO/预训练&#xff09;&#xff0c;Sharegpt支持多角色对话及多模态数据集成。核心配置依托 dataset_info.json 实现数据源映射、格…...

数据库架构

常见数据库架构类型及其优势解析 1. 集中式架构&#xff08;Centralized Architecture&#xff09; 定义&#xff1a;所有数据存储在单个服务器或主机上&#xff0c;由中央处理器统一管理。核心优势&#xff1a; ✅ 数据一致性&#xff1a;单一数据源避免数据冗余和不一致。 …...

OSPF接口的网络类型和不规则区域

网络类型(数据链路层所使用的协议所构建的二层网络类型) 1、MA --- 多点接入网络 BMA --- 支持广播的多点接入网络 NBMA --- 不支持广播的多点接入网络 2、P2P --- 点到点网络 以太网 --- 以太网最主要的特点是需要基于MAC地址进行物理寻址&#xff0c;主要是因为以太网接口所连…...

MySQL SQL Mode

SQL Mode 是 MySQL 中一个重要的系统变量&#xff0c;它决定了 MySQL 应遵循的 SQL 语法规则和数据验证规则。 什么是 SQL Mode SQL Mode 定义了 MySQL 应该支持的 SQL 语法以及执行数据验证的方式。通过设置不同的 SQL Mode&#xff0c;可以让 MySQL 在不同程度上兼容其他数据…...

Mysql备忘记录

1、简介 Mysql操作经常忘记命令&#xff0c;本文将持续记录Mysql一些常用操作。 2、常见问题 2.1、忘记密码 # 1、首先停止Mysql服务 systemctl stop mysqld # windows 从任务管理器里面停 # 2、更改配置文件 my.cnf (windows是 ini文件) vim /etc/my.cnf 在[mysqld]下面添…...

idea 创建 maven-scala项目

文章目录 idea 创建 maven-scala项目1、创建普通maven项目并且配置pom.xml文件2、修改项目结构1&#xff09;创建scala目录并标记成【源目录】2&#xff09;导入scala环境3&#xff09;测试环境 idea 创建 maven-scala项目 1、创建普通maven项目并且配置pom.xml文件 maven依赖…...

ansible+docker+docker-compose快速部署4节点高可用minio集群

目录 github项目地址 示例服务器列表 安装前 修改变量文件group_vars/all.yml 修改ansible主机清单 修改setup.sh安装脚本 用法演示 安装后验证 github项目地址 https://github.com/sulibao/ansible_minio_cluster.git 示例服务器列表 安装前 修改变量文件group_var…...

使用libcurl编写爬虫程序指南

用户想知道用Curl库编写的爬虫程序是什么样的。首先&#xff0c;我需要明确Curl本身是一个命令行工具和库&#xff0c;用于传输数据&#xff0c;支持多种协议。而用户提到的“Curl库”可能指的是libcurl&#xff0c;这是一个客户端URL传输库&#xff0c;可以用在C、C等编程语言…...

K8S学习之基础七十五:istio实现灰度发布

istio实现灰度发布 上传镜像到harbor 创建两个版本的pod vi deployment-v1.yaml apiVersion: apps/v1 kind: Deployment metadata:name: appv1labels:app: v1 spec:replicas: 1selector:matchLabels:app: v1apply: canarytemplate:metadata:labels:app: v1apply: canaryspec…...

【设备连接涂鸦阿里云】

设备连接涂鸦阿里云 ■ Tuya IoT on Alibaba Cloud■ 控制台操作步骤■ 1. 创建产品■ 2. 添加设备■ 3. 添加设备■ 4. 获取设备MQTT连接参数 ■ MQTTX使用教程■ 1&#xff0c;先在 Tuya IoT on Alibaba Cloud 新建产品和设备■ 2&#xff0c;MQTTX 设置■ 3&#xff0c;MQTT…...

c语言学习16——内存函数

内存函数 一、memcpy使用和模拟实现1.1参数1.2 使用1.3 模拟实现 二、memmove使用和模拟实现2.1 参数2.2 使用2.3 模拟实现 三、memset使用3.1 参数3.2 使用 四、memcmp使用4.1 参数4.2 使用 一、memcpy使用和模拟实现 1.1参数 因为内存中不知道存的是什么类型的地址&#xff…...