unity串口 连接多个串口崩溃_CMUX 软件包发布 | 不一样的串口复用

1. 什么是 CMUX

CMUX( Connection Multiplexing ),即连接(串口)多路复用,其功能主要在一个真实的物理通道上虚拟多个通道,每个虚拟通道上的连接和数据通讯可独立进行。

CMUX 的设计需求来自于蜂窝模块:蜂窝模块作为一种基础通信模块,设计时就有电话,短信,上网等需求,但通常模块上的片上外设资源比较少,于是 GSMMUX 应运而生。

GSM0707/GSM0710 协议提供了解决问题的方法,在同一个串口上同时传输 AT, PPP, MODEM 等数据而互不干扰,也就是可以传输电话,上网,短信等数据。

2. 为什么使用 CMUX

GSMMUX 可以解决在一个串口上与蜂窝模块通信传输多种数据的场景,那 CMUX 就同样可以解决在两个 CMUX 上只使用一个物理串口传输多种 APP 数据的使用场景。

这就是我们 CMUX 软件包推出的目的,一方面可以兼容 GSMMUX ,实现 PPP 与 AT 模式同时进行,解决之前 PPP 数据单独占用物理串口,而无法实时查询模块状态的问题;另一方面,也可以由两块 MCU 在搭载 CMUX 的情况下仅使用一个物理串口实现多种传输场景的需求。

3. 软件包介绍

3.1 框架图

8991d8bc5d06ecca6426b2c94d9d9a03.png

  • CMUX 是一种类似于传输层的协议,用户使用时无法感知该层;数据传输依赖一个真实串口传输,cmux 层负责解析数据用以分发到不同的 virtual uart ;从而实现一个真实串口虚拟出多个 UART 的目的

  • CMUX 在应用场景中多用于 UART, 如有必要也可以支持 SPI 方式

3.2 功能介绍
支持所有基于 GSM0707 / GSM0710 协议的蜂窝模块
  • 兼容 PPP_DEVICE 软件包,实现 CMUX+PPP 场景,在一个串口上同时传输 AT 命令与 PPP 数据;解决PPP 通信独占一个物理串口的问题

  • CMUX 的 GSM 功能已经在 Luat Air720, SIM7600, SIM800C 模块测试通过

550d02d2b30e0c939b886baaa6db9b39.png

支持通过一个真实串口虚拟出多个串口

  • CMUX 协议限制,理论上一个物理串口最多可以虚拟出 63 个虚拟串口

  • 虚拟出的串口使用与真实串口一致,拥有 open,write,read 操作,设置 rx_indicate 接收回调

  • 两方的 MCU 接收时要注意 DLCI ( Data Link Connection Identifier ) 数据链路连接接标识,相同的 DLCI 才可以互相正常通信

低资源占用

235d4ea3aeeeaad9ed3fe5eacbec627f.png

使用 GSM 支持时,对 PPP_DEVICE 软件包同时开启的情况,做了一些处理,以节省 ROM 资源占用。

因为解析出的数据,挂载在不同虚拟端口的链表上,理论上占用 RAM 的大小只与链表上数据个数与长度相关,1.57 K 是在 CMUX + PPP 环境下测出。

4.相关资料+测试案例

测试案例领取方式:

作者使用了RT-Thread CMUX - latest 、ppp_Device – latest 、AT_Device – 1.6.0这三款软件包实现了 4G模块 CMUX+PPP 拨号上网 ,并完成测试。现在已将测试工程和文档开放,请大家关注公众号,并回复数字 “6” 领取测试工程+文档!

CMUX 软件包地址: https://github.com/RT-Thread-packages/cmux CMUX 协议介绍: https:/ /g ithub.com/RT-Thread-packages/cmux/blob/master/docs/cmux_basic.md (以上链接请复制至外部浏览器打开) 9b141ac2b672ca2a88297b9c1a524c23.png欢迎转发海报 让知识流行起来转发后添加 微信17775982065,还可以 抽奖 开发板

ffd7eb44e45d81caab286b5aed60fb75.png


你可以添加微信17775982065为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群! c5f359f95fd6e1523643880c05460f5a.png

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

211d904ea48faf0b172b7ed181222c27.gif 6576572c792a3161bc6ea66addeb057e.png 点个“在看”,让知识流行起来
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值