-
2017-09-01 14:36:42
1.串口与USB转串口 这两种方式都可以实现android下软件与硬件的通信,串口要早于usb出现,在行业应用范围广,不过传输速度及便携性要逊于usb;
2.android 下与串口通信不需要或者很少需要驱动,使用jni调用linux 方法读写硬件设备;
3.而usb转串口则实现了串口与usb之间的转化,这种方式为没有串口的计算机提供快速的通道,并且将传统的串口设备变成了即插即用的usb设备;串口转换为usb(或者说通过usb的方式来操控串口设备)一般都需要驱动,常见的驱动程序有PL23xx, CP21xx, FTD, CDC_ACM, CH34XX, 驱动程序一般都被植入到硬件设备中,作为一块驱动芯片存在,如果没有内植驱动芯片想要转换为usb,也可以购买usb转串接口实现外部转换;每种驱动都有一套自己的操作方式,因此在android 上操作usb转串设备,先要区分驱动类型,根据不同驱动来读写设备,如果不按驱动类型来操作,一般软件上会报错或设备读写没有反应或接收的字节异常;android UsbDevice 就是linux下的usb设备反应到android上的对象,操控UsbDevice即可实现对usb设备的读写;
4.通过android API查询当前系统下挂载的usb设备,android 的实现则是遍历linux下节点设备,并转化为android UsbDevice,usb 设备因为其热插拨的特性,因此不能被固定的方式识别即UsbDevice并不是唯一性的,不过被固化在andrid 主板上的串口接口却是不变的;
我用kotlin写了一个usb转串及串口通信的框架usb-with-serial-port,查看源码应当会对android usb转串及串口通信方式有更多的理解,项目有其他问题也欢迎指出,另外也可以参考串口通信官方,usb转串口项目
更多相关内容 -
U转串口助手工具
2018-06-26 15:41:18用于嵌入式开发,打印串口输出,做调试功能用,能够很好的看到打印数据,分析程序 -
HL340 u转串驱动
2013-05-10 16:31:47HL340 u转串驱动for winxp/win7 32位 -
win7和xpu转串驱动
2013-11-02 23:27:51u转串口驱动口 -
U转串串口驱动大全(可用于市面上各种系统)
2014-01-15 13:38:42支持各种Linux、 mac、 win xp、 win98 、win7等等。 -
32位和64位U转串CH340驱动
2016-01-29 10:33:2632位和64位U转串CH340驱动,使用起来很简单,驱动更新或者直接双击EXE进行安装 -
u32和字符串的转换函数
2016-04-02 14:58:47u32和字符串的转换函数 -
USB转多串口/单串口方案
2022-01-26 10:41:58在日常开发或产品设计时,会遇到不少使用串口通讯或者调试的情况,一个串口时使用USB转单路串口则可优雅解决,但若是多个串口时则可能需要占据多个USB口,颇为麻烦,所以探索了单路USB转单/多路串口的方案提供给大家...单路USB转单/多路串口方案
在日常开发或产品设计时,会遇到不少使用串口通讯或者调试的情况,一个串口时使用USB转单路串口则可优雅解决,但若是多个串口时则可能需要占据多个USB口,颇为麻烦,所以探索了单路USB转单/多路串口的方案提供给大家,以便不时之需。
1、CH343 USB转单串口芯片
常见的肯定是单路USB转单串口了,此处推荐使用CH343。提供VIO独立供电功能,通过控制输入VIO引脚的电压大小可以使其和不同电压的串口进行通讯,实现两端串口的电平匹配,能更好适用于不同串口信号电平使用需求,串口信号电压范围1.8V~5V。
波特率支持50bps~6Mbps,在满足基本调试的同时也可以进行一些特殊的高速串口数据上传,同时也可使用高波特率进行串口下载。
其中DTR引脚可复用为TNOW引脚即串口发送状态引脚,可直连RS485转换芯片的DE和RE引脚来控制其发送和接收使能,同时支持外接电平转换芯片实现RS232、RS422等的转换。目前有SOP-16/ESSOP10/QFN16_3X3三种封装型号。
技术手册:http://www.wch.cn/downloads/CH343DS1_PDF.html 驱动程序: Windows:http://www.wch.cn/downloads/CH343SER_EXE.html Linux :https://github.com/WCHSoftGroup/ch343ser_linux MacOS :http://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html 应用电路: 参考链接:http://www.wch.cn/downloads/CH343EVT_ZIP.html
USB转TTL串口电路参考
2、CH342 单路USB转双路串口
CH342是一个USB总线的转接芯片,实现单路USB转两个异步串口,串口相互独立互不影响。每个串口都支持高速全双工,支持波特率范围50bps~3Mbps,支持奇偶校验,提供了常用的MODEM联络信号(RTS、CTS、DTR、DSR、RI、DCD),外接其他电平转换芯片则可快捷转换成RS232、RS422、RS485等接口。同时也支持串口I/O独立供电,可一路串口用于下载一路用于调试或者同时联调两个串口设备。
目前提供QFN24和ESSOP10及QFN12三种封装,信息如下:
技术手册:http://www.wch.cn/downloads/CH342DS1_PDF.html 驱动程序: Windows:http://www.wch.cn/downloads/CH343SER_EXE.html Linux :https://github.com/WCHSoftGroup/ch343ser_linux MacOS :http://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html 应用电路: 参考链接:http://www.wch.cn/downloads/CH342EVT_ZIP.html
USB转TTL串口参考电路
USB转RS232参考电路
USB转RS485参考电路
官网评估板说明
3、CH344/CH9344单路USB转4路串口
CH344和CH9344都是单路USB转4路串口的转接芯片,其中CH344L为USB2.0全速接口,CH344Q和CH9344为USB2.0高速接口,其都提供 4 组全双工的异步串口UART0/1/2/3。两者之前区别如下:
芯片型号 CH344Q CH344L CH9344L 接口类型 高速USB2.0接口 全速USB2.0接口 高速USB2.0接口 支持波特率 1200bps~6Mbps 1200bps~230400bps 1200bps~12Mbps GPIO数量 16 12 12 串口信号电压 3.3V供电 支持5V电源电压和3.3V电源电压 串口0/1/2及部分I/O独立供电,支持3.3V和2.5V甚至1.8V电源电压。串口3支持3.3V供电 串口参数 支持8个数据位1个停止位支持奇校验、偶校验以及无校验 支持8个数据位1个停止位支持奇校验、偶校验以及无校验 5、6、7、8个数据位以及1个或2个数据位支持奇、偶、无校验、SPACE、MARK校验 USB配置功能 支持自定义配置 支持自定义配置 不支持自定义配置 目前提供LQFP48封装,信息如下:
技术手册: CH344 :http://www.wch.cn/downloads/CH344DS1_PDF.html CH9344:http://www.wch.cn/downloads/CH9344DS1_PDF.html 驱动程序: (CH344和CH342使用同个驱动,此处为CH9344驱动) Windows:http://www.wch.cn/downloads/USBMSER_exe.html Linux :https://github.com/WCHSoftGroup/ch9344ser_linux 应用电路: 参考链接: CH344 :http://www.wch.cn/downloads/CH344EVT_ZIP.html CH9344:http://www.wch.cn/downloads/CH9344EVT_ZIP.html
CH344-USB转TTL参考电路
CH9344-USB转TTL参考电路
CH9344-USB转RS232参考电路
官网评估板说明
4、CH348 单路USB转8路串口
CH348为单路USB转8路异步串口的转接芯片,串口之间互相独立,支持1200bps6Mbps波特率,CH348L串口I/O支持独立供电,电压范围1.8V3.3V,支持最多48路GPIO输入输出功能,八串口皆支持常用的MODEM联络信号(RTS、CTS、DTR、DSR、RI、DCD),支持TNOW串口发送状态引脚,通过电平转换芯片可实现USB转8路RS232/RS422/RS485电路。
内置EEPROM,可配置芯片的PID、VID、最大电流值、厂商和产品信息字符串等参数。
目前提供LQFP48/LQFP100封装,信息如下:
技术手册:http://www.wch.cn/downloads/CH348DS1_PDF.html 驱动工具: Windows:http://www.wch.cn/downloads/USBMSER_exe.html Linux :https://github.com/WCHSoftGroup/ch9344ser_linux 应用电路: 参考链接:http://www.wch.cn/downloads/CH348EVT_ZIP.html
CH348-USB转TTL参考电路
CH348-USB转RS232参考电路
官网评估板说明(CH384L)
5、USB转32路串口
如何达到USB转32路串口呢,结合4端口高速USB HUB控制器芯片CH334+CH348则可实现USB转32路串口,具体方案可参考WCH的官网
http://www.wch.cn/application/583.html
总结
基于USB转单/多串的方案,以上都是基于单芯片实现,其可节约更多的PCB布板面积,使其体积小巧,更方便于嵌入式工程师们使用与携带,同时若是用在项目上,也会更好的避免板面积限制、重量限制等问题。若还需远超8串口以上的方案,则需结合USB HUB芯片来实现了
参考链接: USB转串口方案选型:http://www.wch.cn/application/357.html 串口芯片选型:http://special.wch.cn/zh_cn/produce/
-
U口转串口驱动通用驱动下载
2010-02-28 23:26:15U口转串口驱动通用驱动通用下载,二代身份证扫描设备驱动 -
python去掉 unicode 字符串前面的u方法
2021-01-20 04:54:02我们要想得到正确的 unicode 字符串首先就必须先将这个字符串转成非 unicode 字符串, 然后再进行解码。按照普通的办法进行 encode 肯定是不行的,因为这不是一个正确的 unicode 字符串: In [1]: u'\xe4\xbd\xa0\... -
U转串口驱动安装
2014-05-21 10:45:49对设备管理器里的U转串口设备从本地更新驱动,选择下图文件 系统弹出红色提示框(是否安装XXXX驱动),选择安装,随后该设备由无法启动变为工作正常。 在Win8 64位系统上 安装驱动后,出现下图情况,设备无法...在装有Win7 32位系统的台式机上
先卸载旧驱动,再重新安装。
对设备管理器里的U转串口设备从本地更新驱动,选择下图文件
系统弹出红色提示框(是否安装XXXX驱动),选择安装,随后该设备由无法启动变为工作正常。
在Win8 64位系统上
安装驱动后,出现下图情况,设备无法启动(错误代码10)
选择08年的驱动后,串口恢复正常。
总结
这些驱动有很多不兼容的,特别是在高级Windows版本或64位系统上,解决的思路就是多尝试安装各种版本,并根据串口状态调整安装策略。
-
【史上最全】常用USB转串口芯片特性比较
2021-12-16 00:32:49学电子设计少不了使用串口通信,但是现在的笔记本电脑基本上不带串口了,好在现在有USB转串口可以使用。市场上常见的USB转串口芯片主要有4个系列:CP2102、CH340、FT232、PL2303。本文主要介绍常见的这几种USB转串口...学电子设计少不了使用串口通信,但是现在的笔记本电脑基本上不带串口了,好在现在有USB转串口可以使用。市场上常见的USB转串口芯片主要有4个系列:CP2102、CH340、FT232、PL2303。
本文主要介绍常见的这几种USB转串口的功能、特性,并对其输出波形进行了测试和对比。
(有些特性是特殊应用下的需求,自己摸索测试出来的,网上也找不到,标题党一把,史上最全,O(∩_∩)O哈哈~)
1)主要功能对比
首先,一张表比较它们的各种特性:
CP2102/2103
CH340系列
FT232R
PL2303HX
生产厂家
Silicon
南京沁恒
FDTI
Prolific
最高速率
1M
2M
3M
12M
Bit位数
5、6、7、8
5、6、7、8
7、8
5、6、7、8
校验位
奇/偶/1/0/无
奇/偶/1/0/无
奇/偶/1/0/无
奇/偶/1/0/无
停止位
1、1.5、2
1、2
1、2
1、1.5、2
硬件流控
有
有
有
有
时钟
内部
内部/外部
内部/外部
内部/外部
多串口支持
同系列2108
同系列342、344
同系列2232、4232
稳定性
好
好
最好
差
价格
中
低
高
低
由上述表格可以看出,它们的区别还是有一些的。不过一般情况下都够用,比如5、6位数据发送,一般是很少用到的;高于1M的波特率对设计和应用场合要求比较高,容易出现误码,也用的很少;去除这些不太常用的特性,他们功能基本是一样的。
2)串口波形测试
我们来测试一下它们的串口输出波形。
这里使用的芯片具体型号是:CP2102、CH340E、FT232RL、PL2303HX。其中CP2102、PL2303是3.3v供电,CH340E、FT232RL是5V供电。
a)先设置为115200波特率、偶校验、1停止位,发送数据为连续的0x55,测试各芯片波形如下,基本一致:
b)设置为115200波特率、偶校验、2停止位,发送数据仍为连续的0x55,测试各芯片波形如下,也是基本一致的:
可以看到,2停止位时,和上一组图片相比,在两个字节之间,上一个字节的停止位到下一个字节的起始位间的宽度变宽了,变成了2个bit宽度。
c)设置为921600波特率、偶校验、1停止位,发送数据仍为连续的0x55,测试各芯片波形如下,可以看到各芯片的波形有明显不同,主要是上一个字节的停止位到下一个字节的起始位的间隔:
仔细观察可以发现:FT232芯片的输出波形是最标准的,前一个字节的停止位到下一个字节的起始位间隔是一个bit的宽度;其他芯片的字节间隔都比一个bit宽度要宽一些,CP2102大于2个bit的宽度,CH340E等于2bit宽度,PL2303在1bit~2bit宽度之间。
所以,只有FT232芯片的字符是严格连续发送的。
d)设置为921600波特率、偶校验、2停止位,发送数据仍为连续的0x55,测试各芯片波形如下:
对比上一组1停止位的波形,可以发现,2停止位的波形:CP2102、PL2303芯片的字符间隔还是偏大,大于2个bit宽度;而CH340E、FT232芯片的波形是标准的,间隔刚好2bit宽度。
综合上述现象可以看出,在波特率较低时(115200),各芯片都能输出较为校准的波形;在波特率较高时(921600),FT232芯片发送的字符是严格连续的,其他芯片字符间都有不同程度的延时。
3)收数测试
CP2102、PL2303、CH340E这三种芯片在发送时字符间有延时,那么接收时会不会也有延时要求,导致丢数呢?
经过测试,使用FT232作为发送端,其他几款芯片作为接收端,传输中没有出现丢失数据的情况。所以,即使发送端的数据字符间是连续无间隔的,这几款芯片的收数功能也是完全正常的,不会有丢数问题发生。
4)总结
a)这几种USB转串口的芯片,FT232系列的芯片稳定性是最好的;如果工作在高波特率,而且要求字符间没有间隔,那么需选用FT232芯片;很多知名厂家的工业测试设备都使用的它作为串口实现;价格较贵;
b)PL2303是台湾厂家的产品,稳定性较差,有出现过某些计算机高波特率使用时会蓝屏的情况,而且这个芯片市场上仿造、假冒的也比较多,做产品不建议使用;
c)一般的应用,如果价格敏感,可以选用CH340系列或CP2102系列,在业内的口碑都是很不错的;
d)这里特别提一下国产芯片CH340,价格和稳定性上都做的不错,有多种封装可选,国内踏踏实实做产品的典范,它家的其他类型的接口转换芯片也做得很不错。
好了,本节篇文章就到这里了。
欢迎大家关注我的公众号:小白白学电子,不定期分享电子行业的干货知识:
-
USB转串总结
2016-11-01 10:41:45一 Usb转串模块原理: 原理:单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平或者TTL电平... -
python: 关于解决'\u'开头的字符串转中文的方法
2019-01-21 00:06:46转自 https://www.cnblogs.com/hahaxzy9500/p/7685955.html 爬虫爬到的内容是这样的: 如果直接打印出来是这样的: python3的解决办法:字符串.encode('utf-8').decode('unicode_escape') python2:字符串.decode... -
将\u的字符串转化为中文
2019-07-19 14:56:59笔者这里涉及到这么一个场景: 本地保存了一张图片,图片路径为: ...a=“C:/Users/Administrator/Desktop/testCorrect711/\u667a\u6167\u8bfe\u5802/1B2A00000FB0.png”,并且我在通过该路径找本地图片... -
USB转串口线无法使用解决方法
2020-07-08 15:01:33驱动问题 下载并安装U转串驱动程序 http://www.wch.cn/download/CH341SER_EXE.html 安装并使用驱动精灵,插入串口线即可。 串口线问题 接口接触不良。 线坏了。 -
USB转RJ45串口调试线(console线)
2021-03-12 07:13:13USB转RJ45串口调试线(console线)1 介绍一般常用芯片console线图示2 接线定义参考 1 介绍 Console接口是典型的配置接口。使用Console线直接连接至计算机的串口,利用终端仿真程序(一般使用Windows自带的“超级终端... -
Z-TEK USB转串口驱动
2016-05-17 09:37:33Z-TEK USB2.0转 2*RS232 通用串口线驱动,USB2.0 转串口驱动 FTDI-FT2232 -
USB转串口线无法正常工作解决
2016-09-18 11:05:42下载并安装U转串驱动程序 可以下载离线驱动包,或者使用驱动精灵 2、不能正常输入命令行 U转串驱动已安装,并且中设备管理中看得到 确保USB转串口线是完好的 如果出现能接收开发板的串口信息,但执行指令时无法正常... -
Windows10 部分系统无法安装USB转串口驱动问题解决
2021-04-02 10:18:51拿到一台红米电脑,发现系统无法自动识别并安装u转串驱动,于是找了相关资料。 问题 以下是问题图片 在我安装系统自带驱动的时候遇到了这样的问题 于是只能在网上找CH340的驱动。 解决方案 下面是驱动下载链接 ... -
CH340G USB转串口接口定义
2019-03-06 13:42:03RS-232C接口定义(DB9) 引脚 定义 符号 1 载波检测 DCD(Data Carrier Detect) 2 接收数据 RXD(Received Data) 3 发送数据 TXD(Transmit Data) 4 数据终端准备好 DTR(Data Terminal Ready) ... -
解决win10 USB转串口无法使用
2019-09-25 22:58:33交换机接电脑后,设备管理器中无“端口(COM和LPT)”,且无法在“操作”中添加过时硬件时:安装USB转串口驱动https://dl.pconline.com.cn/download/827570.html 转载于:... -
将U16类型转换成u32,float,u8字符串
2021-10-18 17:54:15此文章实在modbus数据格式转换上所做的修改,不仅可以用于保持寄存器,也可以用去其他自定义的u16类型的数组 common.h 头文件 #ifndef __COMMON_H #define __COMMON_H #include "sys.h" /*浮点数与IEEE754格式转换... -
Win10下Linux子系统使用串口(不是USB转串口)
2019-08-23 19:49:361.Win10的串口,在Linux子系统可以直接使用,其对应关系就是 Win10的COMx对应Linux子系中的/dev/ttySx, ... 有了这个对应关系,在Linux子系统中使用picocom命令: # picocom -b 115200 /dev/ttyS30 ... -
python中‘\u‘开头的字符串编码转中文
2021-01-05 11:13:01python中’\u’开头的字符串编码转中文 如图所示 解决办法: 当字符串中遇到以\u开头的编码转换成中文显示可以这样做: python3的解决办法:字符串.encode(‘utf-8’).decode(‘unicode_escape’) python2:字符串.... -
(三)串口调试工具和串口下载工具的区别:ST-LINK、J-LINK、U-LINK;SWD、JTAG、SWIM
2020-05-02 11:49:18串口连接方式一般分为两种: (1)USB线(USB转TTL串口):通过USB/串口转换电路,常见的转换芯片CH340/PL2303实现USB信号和串口的信号转换,此时电脑PC端需要安装一个USB转串口的驱动CH340,虚拟出一个COM口。... -
打包的U口转串口驱动
2012-07-28 13:43:37一个打包的U口转串口驱动,资源分设置成0分,方便大家下载 -
解决PL2303_Prolific U转串驱动在win64位系统下报error 10错误
2016-01-04 13:09:36一般来讲驱动都是新版本比较好, 什么修复bug增加功能等等, 然而PL2303_Prolific不在此列, 某宝买的一个u转串在win10 64位系统下串口驱动总是感叹号, 错误启动码error 10, google一番原来是驱动版本太新…是的, 太新... -
USB转串口不能被识别
2014-12-21 10:46:03USB转串口不能被识别可能有以下几个原因: 1:注册表被修改,在运行中输入regedit,打开注册表编辑器,修改USB的注册表项 2:重新安装驱动,但是这一个方法可能不行,因为驱动都是最新的 3:USB供电不足,在设备... -
Ubuntu下使用USB转串口——识别串口
2013-07-28 11:14:37同事们用CH340做了个USB转串口模块,我拿去用了,在WIN7上面可以正常使用,但在虚拟机上怎么也识别不了。后来才发现,要激活虚拟机窗口后,再接入USB转串口模块才能被虚拟机的Ubuntu识别出来。网上有前辈说,