单路USB转多路串口方案分享

简介: 单路USB转多路串口方案分享

串口,对于从事电子行业的朋友应该再也熟悉不过了,它是一种非常通用的设备通信的协议,大多数台式机箱都有RS232-DB9的接口,而且还有多个USB接口。笔记本电脑通常只有3个USB口,而没有DB9端口,如果想使用串口功能,只能使用USB-TTL模块。

640.png


如果需要多个串口时,就要占用多个USB口,再加上鼠标、调试器等,PC提供的USB口就不够用了。


本文分享几种使用单USB口转多路串口的方案,串口之间相互独立,互不干扰。

640.jpg


1. CH9342单芯片实现双串口


如果你最多只需要两路串口,那么CH9342是个不错的选择,它是一款单路USB转双串口芯片,提供两组全双工的9线异步串口UART0/1,用于为计算机扩展异步串口,或者将普通的串口设备升级到USB总线。

640.jpg


应用电路:

640.jpg


评估板:

640.jpg


2. CH9344单芯片实现4路串口


如果两路串口不够用,不用担心,我们还有4路串口芯片,CH9344是一款单路USB转4串口控制芯片,提供4组全双工的异步串口UART0/1/2/3,用于为计算机扩展异步串口,或者将普通的串口设备升级到USB总线。


外部只需要一个30M的晶体和少量的电容即可使用,支持波特率1200-7.8125Mbps,LQFP-48封装。

640.png


应用电路:

640.jpg


评估板:

640.jpg


3. CH934X+CH438实现多串口


如果需要更多的串口,可以试试CH934X配合CH438的方式。CH943X是USB转多串口控制芯片,主要负责处理USB接口所有数据传输,并通过并行接口操作CH438,实现多个串口数据的接收和发送。


安装好驱动后,插入USB转串口模块,在电脑上会出现多个串口,这些串口操作方式上和电脑自带的串口一模一样,各个串口相互独立,互不干扰。USB转多串口应用图如下:

640.jpg


N可以为2、4、8、16,波特率支持1200-921600bps,各个串口操作与电脑自带硬件串口一模一样,相互独立,互不干扰。在官网上并没有找到相关的应用资料,可能需要联系厂家获取资料。


4. GL850G + 串口芯片实现多路串口


有了4路串口芯片,如果你想要6路、8路、12路、16路串口芯片怎么办呢?很简单,只需要加一片USB Hub芯片即可。GL850G是一款USB 2.0 HUB芯片,市面上很多USB扩展器就是基于这款芯片的,它最多可以把1个USB口扩展为4个USB口。


为了支持串口功能,我们需要然后在扩展出的每个USB口上,再加一片USB-TTL芯片,串口芯片的选择就多了,单路串口有国产CH340/CH341系列,国外的FT232,PL2303,CP2102等等,这几款串口芯片的价格相差较大,最大支持的波特率也有区别,根据自己需要选择。多路串口的有,2路串口的CH9342,4路串口的CH9344芯片。


如果你要实现多路串口,可以参考以下组合方案:

  • 6路串口:GL850G + 3片CH9342
  • 6路串口:GL850G + 1片CH9342 + 1片CH9344
  • 8路串口:GL850G + 2片CH9344


这里分享一种基于GL850G的两路串口扩展 + 1路USB的应用方案。GL850G最多支持扩展4路USB,我只使用了其中的3路,其中2路为串口,另外1路为母头USB,可用于两个模块的级联,或者用于连接调试器、鼠标键盘等USB设备。

640.png


成品图

640.jpg


其中CH340E是MSOP-10封装的,在CH340系列中是体积最小的了。另外沁恒最近又新出了SOP-8封装的CH340N,只有8个引脚。


CH340系列

640.jpg


串口芯片选型

640.png

目录
相关文章
|
NoSQL Linux 编译器
Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
交叉编译gdb和gdbserver 1、下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本。当然,凡事无绝对。我们以gdb-7.2.tar.bz2 这个文件为例。
8523 1
|
SQL 存储 数据库连接
什么是分库分表,为什么要分库分表?
笔者经常将缓存、分库分表、消息队列定义为高并发三剑客。开发互联网应用系统时,分库分表是一个绕不开的技术点。 这篇文章,我们会探讨如下问题:
|
弹性计算 安全 API
大模型终于能“听懂”云操作了?
本文通过 MCP Server 和大模型的结合,实现云产品管理的自然语言操作,极大提升开发者的操作效率和用户体验。
621 17
|
数据可视化
Signac R|如何合并多个 Seurat 对象 (2)
Signac R|如何合并多个 Seurat 对象 (2)
606 11
Signac R|如何合并多个 Seurat 对象 (2)
|
网络协议 算法 Linux
通过实验深入了解 TCP 数据的发送和接收
本系列文章是组内写给新人和实习生的 TCP入门系列教程,结合了理论和实践,本篇为第二篇,建议先读上篇《通过实验深入了解TCP 连接的建立和关闭》。
|
数据采集 存储 数据挖掘
使用Python实现高效的数据清洗
数据清洗是数据分析和挖掘中必不可少的一环,但手动清洗大量数据非常繁琐,容易出错且耗费时间。本文将介绍如何使用Python编写高效的数据清洗程序,通过代码实现数据清洗过程,提高清洗效率和数据准确性。
|
机器学习/深度学习 传感器 算法
行人闯红灯检测:基于计算机视觉与深度学习的智能交通解决方案
随着智能交通系统的发展,传统的人工交通违法判断已难以满足需求。本文介绍了一种基于计算机视觉与深度学习的行人闯红灯自动检测系统,涵盖信号灯状态检测、行人检测与跟踪、行为分析及违规判定与报警四大模块,旨在提升交通管理效率与安全性。
|
存储 物联网 计算机视觉
|
传感器 机器学习/深度学习 自动驾驶
【多模态融合】CRN 多视角相机与Radar融合 实现3D检测、目标跟踪、BEV分割 ICCV2023
本文介绍使用雷达与多视角相机融合,实现3D目标检测、3D目标跟踪、道路环境BEV分割,它是来自ICCV2023的。CRN,全称是Camera Radar Net,是一个多视角相机-雷达融合框架。 通过融合多视角相机和雷达的特性,生成语义丰富且空间精确的BEV特征图。实现3D物体检测、跟踪和BEV分割任务。
2019 57
|
Kubernetes Cloud Native Dubbo
全链路灰度的挑战、实现思路与解决方案
全链路灰度的挑战、实现思路与解决方案
1559 105