USB转串口电路—电源与防倒灌设计

news2024/11/25 7:54:15

USB转串口芯片和串口负载(MCU、CPU、其他串口外设等)的供电方式可以分为2个大类:统一供电和独立供电

一、供电说明

统一供电是指USB芯片和串口负载使用同一电源,上下电同步,此时不会存在彼此之间电流倒灌的问题。

独立供电是指USB芯片和串口负载使用不同的电源,对于包含VIO电源引脚的芯片,需要单独考虑VIO引脚电路接法,当VIO和串口负载使用同一电压源不会存在问题,当VDD5、VIO和串口负载未使用同一电压源时,此时需注意上电时序。

  1. 当USB芯片先上电,USB芯片可正常工作。
  2. 当USB芯片后上电,串口负载会先通过USB芯片的串口等引脚灌入一定电流,如果此电流在芯片电源端形成的倒灌电压正好处于芯片正常工作电压的临界值附近,那么会存在一定概率导致USB芯片无法正常工作,现象为:接入计算机无任何反应或出现无法识别的USB设备。

电流倒灌为非正常应用,在实际使用中应尽量避免。若确有非同时上电的工作需求,需注意电路设计。如下以CH343芯片为例(其他带VIO的USB转串口芯片与此同理),列举常见的几种连接方案,可以根据不同的需求灵活选用。

CH343芯片的电源说明

  • 芯片有3个电源端,内置5V转3.3V的电源调节器。
  • VDD5是内部电源调节器的输入端,支持5V或者3.3V电源电压.
  • V3是电源调节器的输出端和USB收发器及内核电源输入端,VDD5电压小于3.6V时连接VDD5输入外部电源,当VDD5电压大于3.6V时外接退耦电容。
  • VIO是I/O端口电源输入端。芯片的VIO引脚用于为串口I/O和其他引脚提供I/O电源,VIO应该与MCU等外设使用同一电源。

二、供电方案说明

方案一、统一供电

USB芯片与串口负载使用同一电源,USB芯片采用以下供电方式:

  • VDD5=VBUS=VIO:使用板载电源/USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源
  • V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。

如上电路设计,当芯片USB口接入计算机,但整板未上电时(VDD5、VBUS、V3与VIO均无电),此时USB芯片不会工作。当整板上电后USB芯片才开始工作。

方案二、独立供电

USB芯片与串口负载使用独立的电源,USB芯片采用以下供电方式:

  • VDD5与VBUS短接:使用USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源
  • V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。
  • VIO:使用USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源/VDD5=5V时V3引脚输出的3.3V电源

如上电路设计,当芯片USB口接入计算机,但串口负载未上电时,即VDD5与VBUS有电但VIO无电,此时芯片不会工作。当串口负载上电后USB芯片才进行枚举。

方案一和方案二使用板载电源的情况下当板载电源未上电,USB芯片不会工作,计算机上无法使用串口。对于某些应用场景会有限制,如:需要冷启动串口下载的MCU/CPU,以及需要读取MCU/CPU/串口外设上电时的串口数据等应用场景。

方案二使用非板载电源时(直接/间接使用VBUS电源),芯片USB口接入计算机,会直接进行枚举生成串口,可解决如上使用场景限制,但此时会存在USB芯片和串口负载因上下电时序不一致产生的电流倒灌问题,电路设计上需要增加额外处理。有如下几种方案可供参考:

三、独立供电时的防倒灌处理

此供电方式下需要先确定导致器件无法正常工作的灌电流通过什么引脚产生,这里以串口的TXD和RXD为例列举常用的防止或减小倒灌电流的电路。

当RXD侧器件无电,采用二极管隔断TXD引脚的对外输出电流。

当RXD侧器件通电时,TXD默认输出高电平,RXD默认为上拉高电平,此时二极管不导通;当TXD输出低电平,低电平期间二极管导通,RXD接收到低电平。

注:若RXD的内部结构非上拉输入,则还需要在RXD端增加上拉电阻以保持默认的空闲高电平状态。 

当TXD侧器件无电,二者之间串联电阻限流,可减小RXD引脚对外的上拉电流。(因RXD脚为输入脚,只能被动接收信号,因此不能采用二极管方案)

使用NMOS管可以完全隔离RXD对外的上拉电流,其工作原理为:RXD连接NMOS的D极,VCC连接NMOS的G极,TXD连接NMOS的S极。

当TXD侧器件无电,NMOS不导通,RXD和TXD之间未导通;

当TXD侧器件通电,驱动TXD为高电平时,NMOS不导通,RXD保持默认高电平;TXD为低电平时,NMOS导通,RXD和TXD直连被下拉为低电平;

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

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

相关文章

ORA-01122 ORA-01200故障处理---惜分飞

由于某种原因客户的数据库启动报ORA-01122 ORA-01200错误 让客户把system01.dbf文件发给我进行分析,发现system01.dbf文件大于32G(在8k的blocksize库中,默认情况system01.dbf文件不会超过32G),这个明显异常 检测坏块情况发现4096000之后的block全部为全0块 通过bbed分析文…

数学建模常用模型(二):插值与拟合

数学建模常用模型(二):插值与拟合 在数学建模中,插值和拟合是常用的数据分析技术,用于从给定的离散数据中推断出连续函数或曲线的近似形式。 插值是通过已知数据点之间的插值多项式来估计未知数据点的值。插值方法的目…

SQL之收集SQL Server线程等待信息

要知道线程等待时间是制约SQL Server效率的重要原因,这一个随笔中将学习怎样收集SQL Server中的线程等待时间,类型等信息,这些信息是进行数据库优化的依据。 sys.dm_os_wait_stats 这是一个系统视图,里面存储线程所遇到的所有的等…

smart Spring:自定义注解、拦截器的使用(更新中...)

文章目录 〇、使用自定义注解的好处和工作原理一、如何使用自定义注解1.自定义一个注解2.在类、属性、方法上进行使用3.元注解 二、使用拦截器的好处和工作原理三、如何使用拦截器参考 本博客源码: 〇、使用自定义注解的好处和工作原理 自定义注解是Java语言提供的…

消息中间件应用场景

提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路。…

JSP网上手机商城系统 用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 网上手机商城系统是一套完善的web设计系统,对理解JSP java SERLVET mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0&a…

Camera API1 简叙述

目录 一、开启相机 1.1创建项目 1.2注册权限 1.3配置相机特性要求 1.4 获取摄像头的个数 1.5 根据 ID 获取 CameraInfo facing 1.6 开启相机 1.7 关闭相机 二、预览 2.1认识 Parameters 2.2 设置预览尺寸 2.3添加预览 Surface 2.4 开启和关闭预览 2.5 校正预览画…

【电路原理学习笔记】第2章:电压、电流和电阻:2.3 电压

第2章:电压、电流和电阻 2.3 电压 正电荷和负电荷之间存在着吸引力,必须以做功的形式施加一定的能量来克服吸引力,才能使正、负电荷分开一定的距离。所以极性相反的电荷由于它们之间的距离而具有一定的势能。电荷之间的势能之差就称为电位差…

一、枚举类型——新特性(switch 中的 case null)

JDK 17新増了(预览)功能,可以在 switch 中引入原本非法的 case null。以前只能在 switch 的外部检查是否为 null,如 old() 中所示: CaseNull.java import java.util.function.Consumer;public class CaseNull {static …

Apache Doris 2.0-beta 盲测性能 10 倍提升,更统一的多场景极速分析体验!

亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0-beta 版本已于 2023 年 7 月 3 日正式发布!在 2.0-beta 版本中有超过 255 位贡献者为 Apache Doris 提交了超过 3500 个优化与修复,欢迎大家下载使用! 下…

UE4/5数字人Metahuman与Style3D的使用【三、用数字人进行布料模拟可能出现的两个问题】

目录 接下来我们简单讲解数字人进行的布料模拟 存在的问题一:肩带滑落问题 存在的问题二: 存在的问题三: 关于前面数字人如何操作以及Style3D的相关知识便不在重复,不了解的可以看: UE4/5数字人Metahuman与Style3…

蓝桥杯专题-试题版含答案-【奋斗的小蜗牛】【兰州烧饼】【对决】【画图】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

GitHub 组织是什么?您应该使用一个吗?

GitHub 作为一个平台,被个人程序员和大型组织所使用。无论您与多少人一起工作,“GitHub Organizations”都为管理多个项目的人员提供了一些不错的工具。 GitHub 组织是什么? GitHub Organizations 是 GitHub 的一项功能,允许您创建一个中心位置,团队成员可以在其中访问和…

中国汽车协会:我国整车出口数量达到43.8万辆,同比增长92.8%

根据中国汽车工业协会发布的数据,今年5月份我国汽车整车出口量达到43.8万辆,较上月增长3.2%,同比增长92.8%。 同时,整车出口金额环比增长8.8%,同比增长1.2倍。而今年1-5月,汽车整车出口量达到193.3万辆&…

杂记 | 使用idea构建SpringBoot项目并远程连接docker运行

文章目录 概述01 连接远程docker02 本地打包03 创建dockerfile文件04 部署并运行 概述 使用docker运行SpringBoot项目是一个不错的选择,传统方式需要手动打包并上传到服务器,在使用docker build构建镜像,再使用docker run启动运行&#xff0…

Flutter 父子组件互调方法

Flutter 父子组件互调方法 文章目录 Flutter 父子组件互调方法一、父组件调用子组件方法1、概述2、代码实现3、效果 二、子组件调用父组件方法1、概述2、代码实现3、效果 一、父组件调用子组件方法 1、概述 使用 GlobalKey:可以为子组件创建一个 GlobalKey 对象&a…

HOT44-二叉搜索树中第K小的元素

leetcode原题链接:二叉搜索树中第K小的元素 题目描述 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 1: 输入:root [3,1…

U-Boot移植 (2)- LCD 驱动修改和网络驱动修改

文章目录 1. LCD 驱动修改1.1 修改c文件配置1.2 修改h文件配置1.3 编译测试 2. 网络驱动修改2.1 I.MX6U-ALPHA 开发板网络简介2.2 网络 PHY 地址修改2.3 删除 uboot 中 74LV595 的驱动代码2.4 添加开发板网络复位引脚驱动2.5 更新 PHY 的连接状态和速度2.6 烧写调试2.7 测试一下…

BERT模型蒸馏完全指南(原理技巧代码)

BERT模型蒸馏完全指南(原理/技巧/代码) 小朋友,关于模型蒸馏,你是否有很多问号: 蒸馏是什么?怎么蒸BERT?BERT蒸馏有什么技巧?如何调参?蒸馏代码怎么写?有现成的吗?今天rumor就结合Distilled BiLSTM/BERT-PKD/DistillBERT/TinyBERT/MobileBERT/MiniLM六大经典模型,…

vscode copilot长时间没反应

检测问题 首先看一下OUPUT插件信息有什么异常 如果没有异常,但是也没输出 那是请求没有相应的原因 可以在vscode里设置一下代理 参考:https://github.com/orgs/community/discussions/29127