USB_CH340一键下载电路

目录标题

  • 1、CH340概述
  • 2、CH340芯片特点
  • 3、CH340系列芯片
  • 4、CH340引脚定义
  • 5、CH340传统的一键下载电路
    • 5.1、Stm32串口下载
    • 5.2、ESP32串口下载
    • 5.3、注意
  • 6、免外围电路下载

1、CH340概述

CH340是一个USB总线的转接芯片,可实现USB转串口或者USB转打印口。

在这里插入图片描述

2、CH340芯片特点

  • 全速USB设备接口,兼容USBV2.0。
  • 仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。
  • 计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。
  • 硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。
  • 支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS。
  • 通过外加电平转换器件,提供RS232、RS485、RS422等接口。
  • CH340R芯片支持IrDA规范SIR红外线通讯,支持波特率2400bps到115200bps。
  • 内置固件,软件兼容CH341,可以直接使用CH341的VCP驱动程序。
  • 支持5V电源电压和3.3V电源电压。
  • CH340C/N/K/E/X/B内置时钟,无需外部晶振,CH340B还内置EEPROM用于配置序列号等。
  • 提供SOP-16、SOP-8和SSOP-20以及ESSOP-10、MSOP-10无铅封装,兼容RoHS

3、CH340系列芯片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:

  • CH340C、CH340N、CH340K、CH340E、CH340X和CH340B内置时钟,无需外部晶振。
  • CH340B内置EEPROM用于配置序列号,以及部分功能可定制等。如需小体积建议用CH343P。
  • CH340K内置三只二极管用于防止独立供电时MCU通过I/O引脚对CH340电流倒灌。
  • CH340K的底板是0#引脚GND,是可选连接;3#引脚GND是必要连接。
  • CH340X基于CH340E改进,增加了3.3V供电时的IO耐受5V特性。
  • CH340X的6#引脚如果外加电阻可以将6#引脚从TNOW切换为DTR#,两种配置详见5.3节。
  • CH340C如果批号4开头且末3位大于B40,则可为8#引脚加4.7KΩ下拉电阻将其改为DTR#。
  • CH340R提供反极性TXD和MODEM信号,已停产。
  • CH340的USB收发器按USB2.0全内置设计,UD+和UD-引脚建议不要额外串接电阻。

4、CH340引脚定义

在设计中,主要关注UD+、UD-、TXD、RXD、DTR# 、RTS#的连接。
在这里插入图片描述

5、CH340传统的一键下载电路

这里以CH340C为例:

5.1、Stm32串口下载

在这里插入图片描述

5.2、ESP32串口下载

ESP32-S3支持串口下载,由于电脑没有串口接口,所以需要一个USB转串口芯片CH340C,该芯片支持一路usb转串口ttl,带有RTS、DTR控制引脚,内部集成晶振大大简化了外部电路。

根据ESP3S3数据手册,进入串口下载模式需要在上电前拉低IO0,上面介绍了CH340C带有RTS、DTR引脚,可以在加入开关控制电路来实现自动复位和拉低IO0,UMH3N芯片内部带有两个三极管并且集成偏置电压,如电路所示利用CH340C的RTS、DTR引脚可以实现自动下载程序。

在这里插入图片描述

5.3、注意

供电 - 注意事项

  • 使用USB的5V电源为CH340供电时:VCC接USB的5V,V3 引脚需外接 0.1uF去耦电容,以使用CH340自身的降压对芯片的工作供电。
  • 使用外部 3.3V电源为CH340供电时:VCC与V3短接,一同连接到外部的3.3V电源上。
    一般情况下,电源推荐使用(1)的方式,电路简单,静态功耗小,且易于CH340的上电掉电。
    而如果对通信电平有严格的3.3V要求,则需要用第(2)种供电方式。

通信电平 - 注意事项

  • 使用USB的5V电源为CH340供电时:CH340各引脚的电平为 5V。

  • 使用外部 3.3V电源为CH340供电时:CH340各引脚的电平为 3.3V。

如果对通信电平有严格的3.3V要求,建议使用 【外部3.3V供电】。可见手册:

实际测量,使用USB-5V供电时,CH340各引脚的电平接近5V,直接与3.3V通信电平的器件连接时需注意电流倒灌和电平兼容。

6、免外围电路下载

链接: 免外围电路的单片机串口一键下载方案

链接: 串口一键下载方案(CH340)——免外围电路的CH32F/CH32V/STM32F系列单片机

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

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

相关文章

OFBiz RCE漏洞复现(CVE-2023-51467)

漏洞名称 Apache OFBiz 鉴权绕过导致命令执行 漏洞描述 Apache OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式…

c++二叉排序树的非递归插入与递归插入,递归之间不同写法的差异和代码示例比对

二叉排序树(Binary Search Tree,简称BST),是一种特殊的二叉树,它具有以下性质: 每个节点都有一个键(Key)和两个子节点,分别称为左子节点和右子节点。 左子节点的键小于其…

腾讯云优惠券(代金券)领取方法及最新优惠活动汇总

腾讯云作为国内领先的云计算服务提供商,一直致力于为用户提供优质、高效、安全可靠的云计算服务。为了回馈广大用户,腾讯云会不定期地推出各种优惠活动,其中包括优惠券的发放。本文将分享腾讯云优惠券的领取方法并汇总最新优惠活动&#xff0…

DNS 域名解析 后续(二)-----主从复制、分离解析

(软件名 bind , 服务名 named) bind主包 yum install bind bind-utils -y 主软件 和 配置包管理软件(工具包) rpm -q bind #检查是否安装dns服务 yum install bind bind-utils -y #安装dns服务,安装bind软件包 &#xff0…

函数的秘密

1. 函数的概念 在数学中我们学习过函数,而在C语言中其有着与数学不同的概念: 在C语言中,函数是指一组执行特定任务的语句,这些语句可以重复使用,并且可以在程序的不同部分调用。通过使用函数,程序员可以将…

docker容器互通方式

目录 docker中容器互通的方式 1、方式一:--link 2、方式二:创建service: docker中容器互通的方式 1、方式一:--link docker run --name mysql-container -d mysql:latest docker run --link mysql-container:app-container -i…

《ARM Linux内核源码剖析》读书笔记——0号进程(init_task)的创建时机

最近在读《ARM Linux内核源码剖析》,一直没有看到0号进程(init_task进程)在哪里创建的。直到看到下面这篇文章才发现书中漏掉了set_task_stack_end_magic(&init_task)这行代码。 下面这篇文章提到:start_kernel()上来就会运行 set_task_…

怎么取消开机密码?4个必备方法!

“每次我开机都要输入密码,感觉有点麻烦,有什么方可以快速取消开机密码的吗?快给我推荐推荐吧!” 为电脑设置开机密码,可以更好地保护电脑中的重要数据。但是用户需要在每次开机时都输入密码。这对于部分用户来说可能是…

常见类型的yaml文件如何编写?--kind: Service

基本说明 在 Kubernetes 中,Service 是一种抽象的方式,用于定义一组 Pod 的访问方式和网络服务。Service 提供了一个稳定的网络端点(Endpoint),使得其他服务或外部用户可以通过 Service 来访问被管理的 Pod。 负载均…

连续整数相加C++

很多整数可以由一段连续的正整数序列(至少两个数)相加而成,比如 25345671213。 输入一个整数 N,输出 N 的全部正整数序列,如果没有则输出 NONE。 输入格式 一个整数 N。 输出格式 每行输出一个满足条件的整数序列。序…

2024.1.13 Kafka六大机制和Structured Streaming

目录 一 . Kafka中生产者数据分发策略 二. Kafka消费者的负载均衡机制 三 . 数据不丢失机制 生产者端是如何保证数据不丢失的呢? Broker端如何保证数据不丢失 消费端如何保证数据不丢失 Kafka中消费者如何对数据仅且只消费一次 四 . 启动Kafka eagle命令 数…

Python数据结构——列表

目录 一、认识Python数据结构 二、列表概述 三、列表切片 (一)概述 (二)常见形式 (三)特别说明 四、列表的基本操作 (一)创建列表 (二)列表元素增加…

全新加密叙事,以Solmash为代表的 LaunchPad 平台如何为用户赋能?

铭文市场的火爆带来“Fair Launch”这种全新的代币启动方式,Fair Launch 的特点在于其为所有人参与 Launch 带来了公平的机会,所有链上玩家们都需要通过先到先得的方式 Mint 资产,VC 在 Fair Launch 中几乎没有话语权,不同的投资者…

CSS伪类:为网页增添交互和样式

CSS伪类是一项强大的特性,它允许开发者根据不同的状态、位置和结构选择器来选择和样式化HTML元素。通过使用CSS伪类,我们可以为网页增添交互性、响应性和样式化效果。本文将深入探讨CSS伪类的概念、常见用法和一些实用示例。 CSS伪类是什么 CSS伪类是一…

qml 传递界面对象指针给c++,以及c++调用qml函数,并在c++中更新ChartView数据

由于QVariant在qml中构建解析大量数据时,效率较低,比如有60万个点时,C++用QVariant传到qml中时,界面就会很卡。所以逆向思维,把qml界面对象指针传给c++,在c++中渲染界面数据。 下面讲具体实现: 1.c++创建对象并暴露给qml,并定义槽函数给qml直接调用 global.h:class…

【AI的未来 - AI Agent系列】【MetaGPT】1. AI Agent如何重构世界

上篇文章我们跑起来了第一个MetaGPT程序。本文主要学习了一下理论,什么是智能体,以及智能体如何重构世界。 0. 什么是智能体 智能体 LLM观察思考行动记忆 多智能体 智能体环境SOP评审路由订阅经济 用人话说,我理解的Agent: 智…

C#MQTT编程01--MQTT介绍

1、前言 近年来物联网的发展如火如荼已经渗透到我们生活的方方面面。从智能家居到工业自动化从智慧城市到智慧农业物联网,正在以前所未有的速度改变着我们的生活。 大家现在可能已经习惯了通过手机控制家里的灯光、空调和电视,这就是物联网在智能家居领域…

完美解决报错Please verify that the package.json has a valid “main“ entry处理方法

出现下图中的错误 ,说明缺少main入口 解决方法: 1.删除 node_modules 和 package-lock.json这两个文件 2.命令行输入npm i 会重新下载包 3.重新执行检查没有报错

QT常见组件

Qt 提供了非常丰富的图形用户界面(GUI)组件,这些组件可以按照功能和用途进行分类。由于Qt库的组件众多且不断更新,以下是一份大致分类及其包含的部分组件示例,并非所有Qt版本或模块都包括以下全部控件,但涵…

01循环算法

1.求小数点的某一位&#xff0c;且超出float和double的精度问题 【题目描述】 分数a/b化为小数后&#xff0c;小数点后第n位的数字是多少&#xff1f; 【输入】 三个正整数a&#xff0c;b&#xff0c;n&#xff0c;相邻两个数之间用单个空格隔开。0<a<b<100&#…