基于CH340的一键下载电路
一、CH340简介
CH340 是一个 USB 总线的转接芯片,实现 USB 转串口或者 USB 转打印口。CH340是国产芯片,应用场合居多,市场占有率很高。常用的USB转串口芯片还有CP2102、PL2303、FT232等,相比之下CH340性价比最高。通过CH340转串口连接到单片机MCU的片上UART可以实现程序的一键烧写功能。CH340有以下特点:
- 全速 USB 设备接口,兼容 USB V2.0。
- 计算机端 Windows 操作系统下的串口应用程序完全兼容,无需修改。
- 硬件全双工串口,内置收发缓冲区,支持通讯波特率 50bps~2Mbps。
- 支持常用的 MODEM 联络信号 RTS、DTR、DCD、RI、DSR、CTS。
- 软件兼容 CH341,可以直接使用 CH341 的驱动程序。
- 支持 5V 电源电压和 3.3V 电源电压甚至 3V 电源电压。

二、CH340G在Arduino上的下载电路应用
2.1硬件电路


2.2电路说明与注意事项
- 该电路为本人实际应用在Atmega2560-16AU芯片上的可行电路,对于大部分单片机具有通用性。
- CH340的TXD脚应该接单片机的RXD脚,RXD脚接单片机的TXD脚,这样一发一收才能进行通信。
- CH340芯片内置了USB上拉电阻,UD+和UD-引脚应该直接连接到USB总线上。这里R1、R3两个22R的小电阻可以去除,实际应用不影响。
- CH340G需要外部提供12MHz的晶振,振荡电容选择两个22pF电容。
- 5V供电时芯片V3引脚需要接一个104电容到地,3.3V供电时直接将V3脚与3.3V电源引脚短接就可以了。V3的引脚除了在不同电压供电模式下接法不同,对于电容数值选用也是需要注意的。V3引脚的电容用于内部电源节点退耦,来改善USB传输过程中的EMI,通常容量在4700pF到0.1uF范围,建议容量为0.01uF,即103电容。
- CH340芯片的发送引脚TXD上接一个反向二极管,然后再连接到对端IC。在接收引脚上加一个限流电阻来防止对端IC对CH340倒灌电。通过反向二极管的原理是:在CH340发送数据时,发送高电平时二极管截止,但是由于对端RXD默认上拉也是高电平不会有采样问题,而发送低电平时二极管导通,对端RXD接收到低电平,因此可以正常通讯。并防止了CH340的TXD发送引脚将电流倒灌到对端IC。通过限流电阻的原理是:倒灌电流导致芯片工作甚至闩锁效应,是由于引脚电流过大超过了芯片设计时容忍的上限导致芯片内部电路出现异常。因此加一个限流电阻就可以了,其他通讯场景也可以仿照此方法进行尝试。
- Arduino单片机需要复位以实现下载,DTR引脚通过一个104电容接到MCU的RESET上,以实现自动复位和一键下载。
- Arduino需要预先烧写BootLoader(如果芯片内没有BootLoader的话)方能下载。
三、CH340G在STM32上的下载电路应用
3.1硬件电路

3.2电路说明与注意事项
- 该电路为原子的串口下载电路
- 与Arduino等单片机不同的是,stm32单片机在串口下载时,不仅需要控制RESET来复位,还需控制BOOT0、BOOT1来选择启动位置
- DTR#和RTS#都是 输出类型, MCUISP(一键下载工具),会控制CH340这两个引脚的高低电平状态,通过控制DTR#和RST#这两个引脚的高低电平状态,从而控制STM32的BOOT0 和 RESET.
- DTR#、RST#初始状态的时都是高电平,在启用下载的时候,DTR#维持高,RST#拉低,此时两个三极管Q2 和Q3 导通,那么BOOT0 为高电平,RESET为低电平复位,然后DTR#变低,Q2不导通,复位结束,此时BOOT0 为高电平。stm32的启动模式变为从系统存储器启动,启用串口下载,STM32 和 MCUISP下载软件进行通信,进行代码下载,等到代码下载结束时 RST#先变为高电平,然后DTR#在变成高电平。
四、CH340驱动程序下载
说明:解压安装即可,如果安装失败,先点击卸载再点击安装。
参考资料:CH340G电路设计注意事项
基于CH340的一键下载电路的更多相关文章
- 关于CH340在STM32实现一键下载电路的研究(转)
源:关于CH340在STM32实现一键下载电路的研究 在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB ...
- CH340在STM32实现一键下载电路
在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不 ...
- STM32 ~ CH340在STM32实现一键下载电路
在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计. 在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不 ...
- STM32单片机串口一键下载电路与操作方法详解
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash.2)SRAM = 芯片内置的RAM区,就是内存啦.3)系统存储器 = 芯片内部一块特定的区域,芯片出 ...
- 基于CentOS7系统一键配置Aria2 实现服务器离线下载工具
我们有些网友购买的海外VPS主机并不是用来做网站的,而是用来作为下载资源工具使用的.确实用这样的工具搭建之后是比本地下载速度快,因为有些资源.软件等是海外资源,而且挂载在服务器上不占用本地的资源.在这 ...
- STM32一键下载电路设计原理
先放原理图(补充:图中的BOOT0通过10K的电阻接到地),再解释为什么这么设计: STM32启动方式:BOOT0和 BOOT1用于设置 STM32的启动方式 ,见下表: BOOT0=1,BOOT1= ...
- You-Get 一键下载全网视频资源
下载视频 无论是单纯的下载视频收藏,还是以便离线收看,都离不开“下载”,好的工具让你把注意力更好的放在视频的本身,而不用考虑要如何下载视频.下载视频从来不乏方法,之前也介绍了下载 Youtube ...
- 【转】Image Cyborg 一键下载存储网页所有图片
下午仿照网上例子写了个抓取网页中图片并保存到本地的Python的例子,好奇就google了下是否有类似的在线抓取图片的外挂工具. 接着就找到了Pseric写的这篇文章 - Image Cyborg 一 ...
- Android之基于HTTP协议的下载
Android之基于HTTP协议的下载 http://www.blogjava.net/zh-weir/archive/2010/05/02/319892.html http://www.qianfa ...
随机推荐
- Write File
Write to File with C++ #include <iostream.h> #include <fstream.h> int main() { const cha ...
- PolyCluster: Minimum Fragment Disagreement Clustering for Polyploid Phasing 多聚类:用于多倍体的最小碎片不一致聚类
摘要 分型是计算生物学的一个新兴领域,在临床决策和生物医学科学中有着重要的应用. 虽然机器学习技术在许多生物医学应用中显示出巨大的潜力,但它们在分型中的用途尚未完全理解. 在本文中,我们研究了基于聚类 ...
- 一起做RGB-D SLAM(7) (完结篇)
第七讲 添加回环检测 2016.11 更新 把原文的SIFT替换成了ORB,这样你可以在没有nonfree模块下使用本程序了. 回环检测的阈值作出了相应的调整. 请以现在的github上源码为准. 简 ...
- xcconfig
[xcconfig] 1.When you can use a .xcconfig file? Use .xcconfig files if you find yourself changing th ...
- centos环境下登录mysql报 ERROR 1045 (28000)怎么解决
centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...
- Introduction to Razor Pages in ASP.NET Core
https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/ 从ASP.NET Core 2.0.0版本之后,添加了新的特性Razor p ...
- VS2015安装失败
[16D4:18C8][2017-06-24T13:44:01]e000: Error 0x80091007: Hash mismatch for path: D:\Visual Studio 201 ...
- HDU1301&&POJ1251 Jungle Roads 2017-04-12 23:27 40人阅读 评论(0) 收藏
Jungle Roads Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 25993 Accepted: 12181 De ...
- spring+quartz的任务调度
公司网站有个功能是自动投标,还有定时更新用户的排名信息,这些都是spring+quartz实现的. 手机了一些资料,做一个小demo,加深理解,记录一下,以后使用的时候不会出什么问题. 需要的包,主要 ...
- docker怎么导出导入镜像
https://blog.csdn.net/dest_dest/article/details/80612231 把某个docker镜像保存到本地文件,命令如下docker save -o 镜像名.t ...