基于 RT-Thread 的 CMUX 串口多路复用的详细使用

本文介绍了CMUX软件包,一种用于串口多路复用的技术,特别适用于资源受限的设备。它支持PPP+AT模式的蜂窝模块,并以RT-Thread平台为例展示了如何在工程中集成和配置。文章还概述了工程创建步骤和功能测试过程。
摘要由CSDN通过智能技术生成

一、CMUX 软件包的介绍

 CMUX(Connection Multiplexing ),即连接(串口)多路复用,其功能主要在一个真实的物理通道上虚拟多个通道,每个虚拟通道上的连接和数据通讯可独立进行。
CMUX 软件包常用于蜂窝模块串口复用功能(PPP + AT 模式),以及串口硬件资源受限的设备。
CMUX 软件包特点如下:
1.支持通过真实串口虚拟出多个串口;
2.支持所有基于 GSM0707/ 0710 协议的蜂窝模块;
3.支持无缝接入 PPP 功能;
 目前 CMUX 的 GSM 功能支持 Luat Air720, SIM7600, SIM800C 模块,后续会接入更多蜂窝模块。

二、框架图

在这里插入图片描述
1.CMUX 是一种类似于传输层的协议,用户使用时无法感知该层;数据传输依赖一个真实串口传输,cmux 层负责解析数据用以分发到不同的 virtual uart ;从而实现一个真实串口虚拟出多个 UART 的目的。
2.CMUX 在应用场景中多用于 UART, 如有必要也可以支持 SPI 方式。

三、工程创建

RT-Thread Studio 版本: 2.2.6
RT-Thread 版本:4.1.1
CMUX软件包版本:V1.0.0
开发板:野火stm32f407

基于芯片创建基础工程,修改时钟,编译下载到开发板,测试基础工程是否正常。正点原子串口助手显示如下,程序正常运行,基础工程创建完毕。
在这里插入图片描述
添加 CMUX 软件包
在这里插入图片描述
查看原理图,使用串口2
在这里插入图片描述
CMUX配置,选择配置项进行配置,改为串口2,其余默认,保存即可。
在这里插入图片描述
在这里插入图片描述

软件包结构说明
在这里插入图片描述
在这里插入图片描述

工程增加串口2的驱动
在这里插入图片描述
主函数修改如下
在这里插入图片描述
编译下载到开发板。

设备查看
在这里插入图片描述
开启串口多路复用功能 指令cmux_start

在这里插入图片描述
因为没有接4G模块,所以设备报错。接上设备之后
在这里插入图片描述
查看设备
在这里插入图片描述
已经虚拟出3个设备。

启动过程如下
在这里插入图片描述
在这里插入图片描述

CMUX(Channel Multiplexer)多路复用协议是一种网络协议,用于在传输层将多个独立的串行数据流复用到一个单一的通信链路上。 CMUX协议主要用于解决串行通信中的带宽利用问题。在传统串行通信中,每个串口只能连接一个设备或进行单个数据流的传输。而使用CMUX协议后,可以将多个串口的数据流复用到一个物理通信链路上,实现了多个数据流同时传输,从而提高了带宽利用率。 CMUX协议的工作原理如下:首先,通过一个控制信道进行通信链路的建立和管理。然后,将传输数据流分为多个虚拟通道,每个虚拟通道都有一个唯一的标识符。在发送端,将来自不同串口的数据分别封装在不同的虚拟通道中,并添加相应的标识符进行区分。在接收端,根据标识符将接收到的数据流分配到对应的串口中进行处理。 CMUX协议的优点在于它可以有效地利用串行通信的带宽资源,提高通信效率。同时,它能够支持多种串行通信协议,使得不同类型的设备可以共享同一个物理通信链路。此外,CMUX协议还具备良好的扩展性,可以根据实际需求自由添加或删除虚拟通道。 总之,CMUX多路复用协议是一种可以将多个串行数据流复用到一个单一通信链路上的网络协议。它通过提高带宽利用率、支持多种串行通信协议以及具备良好的扩展性等特点,为串行通信领域带来了更高效、更灵活的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值