当前位置: 首页 > news >正文

CH9101芯片应用—硬件设计指南

CH9101芯片属于沁恒第三代USB转串口芯片系列的单串口型号,基于经典版CH340芯片完成技术革新,实现USB转高速异步串口,支持最高6Mbps串口波特率。CH9101提供了5种封装,CH9101U、CH9101H、CH9101Y、CH9101R、CH9101N。其中CH9101U/CH9101H和FT232RL/FT232RQ/PL2303GC/PL2303HXD引脚兼容,CH9101Y/CH9101R和FT230XS/FT230XQ引脚兼容,CH9101N和PL2303GL引脚兼容。

电源设计

CH9101芯片有3个电源端分别是VDD5、V3和VIO,芯片内置3.3V的LDO电源调节器。VDD5是内部LDO的输入端,V3是内部LDO的输出端,USB收发器和内核电源均从该引脚输入,VIO是单独的串口IO等引脚的电源输入。

常见问题1—VDD5和V3如何连接

VDD5支持5V或3.3V电源电压,当VDD5引脚输入5V工作电压(实际上大于3.8V)时,内部LDO工作,V3引脚会输出3.3V电源供芯片内部USB收发器使用。当VDD5引脚输入3.3V工作电压(实际上小于3.6V)时,V3引脚需要和VDD5连接,同时输入外部的3.3V工作电压。

VDD5和V3引脚外部需要外接电源退耦电容,默认104规格,且PCB布局时靠近芯片引脚放置。

常见问题2—VIO如何连接

CH9101芯片的VIO引脚用于为串口I/O和其他如RST引脚提供I/O电源,支持电压范围1.8V~5V。因此默认情况下VIO引脚应该与CH9101芯片所连接的串口设备采用同一电压,此时双方串口电压匹配。VIO引脚支持的电压输入范围是线性的,在如上范围内可随意调节。如可直接使用CH9101实现USB转1.8V串口,USB转2.5V串口,USB转3.3V串口,USB转5V串口等。

芯片V3引脚在芯片5V供电时可以输出3.3V电压,因此使用3.3V串口时,VIO也可以直连V3引脚节省一个外部LDO。

常见问题4—CH9101与串口外设(如MCU)的电源连接方案

 CH9101内部结构框图

串口设计

CH9101芯片的串口引脚包含数据传输引脚和MODEM信号引脚。数据传输引脚包括:串口数据发送引脚TXD、串口数据接收引脚RXD。MODEM信号引脚包括:RTS、CTS、DTR、DSR、RI、DCD。

常见问题1-TTL串口设计

常规情况下使用TTL串口通讯,仅需要使用TXD和RXD信号即可,部分场合需要硬件流控功能时还需要使用RTS和CTS信号。其余MODEM信号引脚若使用不到可直接悬空处理。

常见问题2-RS232串口设计

使用CH9101可以实现全MODEM信号的RS232串口,也可以仅使用部分串口信号实现简版RS232串口,和TTL类似,不使用的信号悬空处理。

常见问题3-RS485串口设计

使用CH9101可以实现RS485串口通信,RS485收发转换芯片需要单独进行收发方向控制,CH9101芯片的TNOW引脚用于该方向控制切换。

辅助引脚ACT的使用

芯片的ACT引脚为USB设备配置完成状态输出(当芯片接收到主机的设置配置请求并操作完成时会输出低电平,默认该引脚上电为高电平),该引脚可用作芯片的USB工作状态指示,也可以用于通知MCU等串口设备CH9101 USB转串口芯片的工作状态。

辅助引脚SUSPEND的使用

芯片的SUSPEND引脚为芯片工作状态输出指示较,芯片支持挂起低功耗模式(芯片正常工作时SUSPEND脚为高电平,挂起后该引脚输出低电平),该引脚可用作芯片的USB工作状态指示,也可以用于通知MCU等串口设备CH9101 USB转串口芯片的工作状态。当连接其他电平转换芯片时,还可以用于控制电平转换芯片的电源端或低功耗控制引脚节约整板功耗。

辅助引脚TXS和RXS的使用

芯片的TXS和RXS为串口收发状态指示引脚,当芯片物理串口有进行数据发送或接收时该引脚会以一定频率输出低电平脉冲信号,连接LED指示灯显示通讯状态。相对于传统的TXD、RXD上并联LED方式效果直观,且不影响串口信号质量。

GPIO引脚的使用

CH9101芯片部分引脚支持GPIO复用功能,当使用GPIO功能,需要安装厂商VCP驱动软件,以及配合应用程序库来实现GPIO访问。CH9101U/CH9101H提供6路GPIO,CH9101Y/CH9101R提供4路GPIO。

 

 

 

 

相关文章:

  • [NCTF2019]True XML cookbook
  • 湖仓一体电商项目(十二):编写写入DM层业务代码
  • 遥感生态指数(RSEI)——四个指数的计算
  • 9--RNN
  • JDBC的使用
  • 《Mycat分布式数据库架构》之数据切分实战
  • SpringBoot使用spring.config.import多种方式导入配置文件
  • 【框架】Spring Framework :SpringBoot
  • Linux内核之waitqueue机制
  • 前端面试:webpack整理
  • 7. PyEcharts
  • springboot启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘
  • 5、Kafka海量日志收集系统架构设计
  • Linux命令--压缩/解压缩--使用/实例
  • Lua脚本如何调用C/C++模块,Windows以及Linux版本演示
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • co模块的前端实现
  • ES10 特性的完整指南
  • fetch 从初识到应用
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java新版本的开发已正式进入轨道,版本号18.3
  • leetcode-27. Remove Element
  • MySQL QA
  • Python打包系统简单入门
  • React-生命周期杂记
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 百度小程序遇到的问题
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 记录一下第一次使用npm
  • 今年的LC3大会没了?
  • 如何编写一个可升级的智能合约
  • 使用docker-compose进行多节点部署
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 交换综合实验一
  • 容器镜像
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​TypeScript都不会用,也敢说会前端?
  • ​插件化DPI在商用WIFI中的价值
  • #### go map 底层结构 ####
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #LLM入门|Prompt#3.3_存储_Memory
  • $.proxy和$.extend
  • (1)常见O(n^2)排序算法解析
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (待修改)PyG安装步骤
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (三)模仿学习-Action数据的模仿
  • (四)鸿鹄云架构一服务注册中心
  • (五)c52学习之旅-静态数码管
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。