CH9101 USB转串口替换FT232R和FT230XQ

学生党一枚,前段时间跟着导师做的项目因为上面用到USB转串口芯片FT232R迟迟买不到,所以打算更换成国产USB转串口芯片CH340,对CH340的认识也很早了,很多年前开始直到现在各种开发板上基本都会标配一颗CH340,像某宝上的STC 51的板子,STM32开发板。串口这种通讯接口基本是MCU必备的,所以通过USB转串口实现MCU和计算机之间的连接十分便捷好用。

言归正传,CH340芯片量产了这么多年,一直以来也没有对这个芯片和其他系列进行过多研究,最近有时间逛了下芯片原厂官网,不看不知道,仅仅USB转串口芯片就更新迭代了这么多型号。单串口和多串口芯片都有很多款可选。

因为咱也不是专门研究这类芯片的,专业的事儿交给专业的人处理,直接发邮件给官方咨询关于芯片选型的问题,主要目的是替代FT232芯片,功能参数方面可以满足我们项目需求即可。意想不到的是,上面表格中的CH9101芯片和FT232RL、FT232RQ、FT230XS、FT230XQ系列的是PinToPin引脚兼容的型号。先去官网看了下芯片手册(说实话,因为懒,很多FT芯片特性的英文资料也没有好好理解,这次有了中文资料和国内技术支持就可以好好研究一番了)。这次主要研究下一些新的特性,直接上图:

 

串口基本特性一目了然,有几个点:

  • 串口波特率可以支持高达3Mbps
  • 提供RS485收发使能控制引脚,可以直接接RS485转化芯片的收发使能。
  • 提供了串口I/O独立供电功能,具体呢就是指无论芯片供电电压是多少,除了USB和电源引脚以外的串口和其他IO口的信号都由单独的VIO引脚的供电电压决定,这个在实际使用中就很方便了,串口可以方便连接1.8V~5V的串口设备,不需要单独的电平转换器件。

 官方参考设计上,还特别预留了选择VIO供电电压的插针,在使用3.3V串口的时候,VIO直接连接V3引脚就可以了,不用再单独用3.3V电压转换芯片了。

除了串口功能以外,CH9101有很多标注为GPIO的引脚,意思指这些都可以作为单独的GPIO引脚来使用的。只需要配合动态库操作就行,具体使用场景嘛大家可以自行脑补。

常规的功能了解清楚后,注意到还有很多其他信号引脚,接着看手册说明和引脚描述。

 关于SUSPEND引脚是和芯片的工作状态相关的,芯片挂起只是USB挂起,比如在计算机睡眠后芯片就会进入此状态。这个时候就可以用SUSPEND的输出状态引脚来控制板上其他外设关闭电源或者执行其他操作了,除了芯片自身挂起节约电流外,还可以通过这个引脚功能进一步节约电流。ACT引脚用于指示芯片USB通讯是否在正常运行,一般也可用于对端检测CH9101的工作状态。

RXS和TXS引脚,手册上写的比较少,是串口接收和发送数据的状态输出引脚。这个我实际测试了下,比传统的直接在TXD和RXD上接LED的准确直观的多。传统方式下受到串口波特率以及通讯间隔的影响,LED闪烁效果不好。

还有个WAKEUP引脚,用于USB唤醒,也就是说当计算机睡眠的时候外部的设备可以通过给WAKEUP一个低电平来唤醒计算机。想了下,这个功能在无人值守的场景下比较实用。比如车间电子看板设备,白天定时通过通过WAKEUP唤醒设备启动工作,下午下班计算机自动睡眠。这样就可以在无人值守情况下系统自动运作,最最重要的是可以极大节约计算机和显示设备的使用寿命。

研究测试完CH9101的这些功能后,也可以看出即使是传统通讯接口,也是在不断发展和与时俱进的,如果大家还发现了什么新玩法,可以一起讨论补充哈~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FT230X芯片的国产化替代

之前有些项目用到FT230XQ芯片,无奈不好买(价格高),想找些替代的型号。原先使用国产CH340芯片比较多,顺带去官网找下有没有其他小封装的芯片型号。导航比较方便,从官网的产品中心,选择“USB”分类…

Java Code之多态

Java代码 package com.iteye.badpie.javacode.duotai; /** * 人民警察 */public interface IPolice { /** * 抓小偷 */public void catchThief(); }package com.iteye.badpie.javacode.duotai;/*** 人民警察*/ public interface IPolice {/*** 抓小偷*/public void catch…

最小生成树之prim

prim是设置一个初始结点,寻找其周围最小的边权值,并将该结点作为初始结点,继续寻找现在结点周围的边权值的最小值,但要注意如果这次寻找的某个边权值没有上次的小的话仍然保留上一次的边权值,即lowcast的值将会不变。 …

element-ui自定义表头;el-table自定义表头;render-header自定义表头

自定义表头有两种方式&#xff1a;一种是使用render-header 一种是通过设置 Scoped slot 来自定义表头 一、render-header方式 场景&#xff1a;给表头设置自定义按钮&#xff0c;点击时候 批量下载或做其他事件 给当前的那列设置 :render-header <el-table-column align&…

vue项目转rem;H5配置rem;px转rem

H5可以配合vant组件库书写项目&#xff0c;和使用rem后vant组件样式变小了解决办法。&#xff08;引入方式&#xff09; 以下是配置rem步骤&#xff1a; 1.安装 flexible和 postcss-px2rem&#xff08;命令行安装&#xff09; lib-flexible 会自动在为你添加 meta name“viewp…

git代码回滚到以前某一版本

1.使用 git log 查看之前提交的版本&#xff0c;每一版对应的hash值&#xff0c;默认展示几条&#xff0c;如果想查看更多&#xff0c;一直按回车。 git reset --hard 目标版本hash值 &#xff0c;注意&#xff1a;这一步操作完后&#xff0c;目标版本之后的代码将全部清掉&am…

python发送各类邮件的主要方法

From: http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html python中email模块使得处理邮件变得比较简单&#xff0c;今天着重学习了一下发送邮件的具体做法&#xff0c;这里写写自己的的心得,也请高手给些指点。 一、相关模块介绍 发送邮件主要用到了smtplib和e…

图片保持比例自适应大小;图片保持比例自动充满父元素;图片保持比例充满盒子

需求&#xff1a;经常会有一个div盒子&#xff0c;里面放入一个img图片。需要是图片保持比例&#xff0c;缩放充满div盒子。 思路&#xff1a; 1.必须给父元素设置固定的宽高。2.给img设置 object-fit: scale-down; 属性 object-fit使用学习 先看效果&#xff1a; <!DOCTYP…

Python序列之元组

系列文章目录 Python序列之列表 Python序列之元组 系列文章目录前言一、元组是什么&#xff1f;二、元组操作1.元组的创建&#xff08;1&#xff09;通过()创建。小括号可以省略。&#xff08;2&#xff09;通过tuple()函数创建。&#xff08;3&#xff09;通过生成器推导式创…

Eclipse 下载 开源项目 maven依赖丢失和 Deployment Assembly 丢失

周末下载了最新的jeecg的源码来瞅瞅&#xff0c;但是下载后发现&#xff0c;pom文件中定义的依赖都丢失了。 如下图 上网搜索了一下啊&#xff0c;发现需要先给这个项目这个项目 disable maven nature 然后再添加上再给这个项目添加maven支持。 如下图&#xff1a; 然后再查看项…

HTML CSS样式表布局

一、position&#xff1a;fixed 锁定位置&#xff08;相对于浏览器的位置&#xff09;&#xff0c;例如有些网站的右下角的弹出窗口。 示例&#xff1a; 二、position&#xff1a;absolute 1.外层没有position&#xff1a;absolute&#xff08;或relative&#xff09;&#xff…

SVN服务器搭建和使用(一)

2019独角兽企业重金招聘Python工程师标准>>> Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 感谢原文博主&#xff1a;http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html 首先来下载和搭建SVN服务器. 现在Subver…

解决vue-pdf报错TypeError: Cannot read properties of undefined (reading ‘catch‘)

使用vue-pdf插件后&#xff0c;报错 解决方法&#xff1a;找到node_modules/vue-pdf/src/pdfjsWrapper.js文件&#xff0c;注释掉下面的代码

Memcached缓存在.Net 中的使用(memcacheddotnet)

From: http://www.cnblogs.com/xibei666/p/4863604.html 缓存对于提高大数据量的网站性能无疑不是一个很好的解决方案&#xff0c;针对缓存的使用网上同仁介绍很多&#xff0c;再次我仅仅分享一下自己对Memcached使用的简单介绍。Memchached的使用通过第三方DLL来完成&#xff…

git合并代码冲突

场景&#xff1a;多人共同更改同一文件代码时候&#xff0c;可能回引发代码冲突。此时需要选择某一方或者双方代码进行合并。 采用当前更改&#xff1a;就是保留本地修改。 采用传入的更改&#xff1a;就是选择线上已有的覆盖更改。 保留双方更改&#xff1a;就是两份都保存。

[转]T4模版引擎之基础入门

本文转自&#xff1a;http://www.cnblogs.com/lzrabbit/archive/2012/07/15/2591085.html 额&#xff0c;T4好陌生的名字&#xff0c;和NuGet一样很悲催&#xff0c;不为世人所熟知&#xff0c;却又在背后默默无闻的奉献着&#xff0c;直到现在我们项目组的人除了我之外&#x…

请问WCF 跟 WebService之间异同

From: http://tommyhu.cn/wcf-WebService-qu-bie/ 问题&#xff1a; WCF与 Web Service的区别是什么&#xff1f; 和ASP.NET Web Service有什么关系&#xff1f; WCF与ASP.NET Web Service的区别是什么&#xff1f; 这是很多.NET开发人员容易搞错的问题。面试的时候也经常遇到…

报错 Cannot read properties of undefined (reading ‘ajax‘); Cannot read property ‘ajax‘ of undefined

jQuery中使用ajax发送请求&#xff0c;报错 Cannot read properties of undefined (reading ajax)&#xff1b; Cannot read property ajax of undefined 错误代码 $.ajax({type:"POST",url:"pageServlet",data:jsonData,dataType:"json",succe…

「初步」Spring与commons的BeanUtil.copyProperties

2019独角兽企业重金招聘Python工程师标准>>> ###org.apache.commons.beanutils.BeanUtils 的是 public static void copyProperties(Object dest, Object orig) throws###org.​springframework.​beans.​BeanUtils 的是 public static void copyProperties(Object…

WCF技术剖析之十一:异步操作在WCF中的应用(上篇)

From: http://www.cnblogs.com/artech/archive/2009/07/08/1519423.html 按照操作执行所需的资源类型&#xff0c;我们可以将操作分为CPU绑定型&#xff08;CPU Bound&#xff09;操作和I/O绑定型&#xff08;I/O Bound&#xff09;操作。对于前者&#xff0c;操作的执行主要利…