基于CH340G的STC单片机一键下载电路

最近教学弟学妹51单片机,直接用面包板边搭电路边学习,一方面熟悉电路,一方面节约成本。
但是每次下载调试程序都要重新拔插电源的杜邦线,显得有点麻烦。

想到之前看到网上有曾有人做“一键下载电路”,原理是把TTL板上的Txd先通过一块8脚的STC单片机来检测下载流,然后控制三极管、继电器来让我们的单片机断电一会重新上电,以实现冷启动,但成本似乎较高。
基于CH340G的STC单片机一键下载电路_第1张图片
又看了他的程序,发现只能适应1200、2400、4800 这3种波特率,但是“继电器断开:断开STC系统板的电源VCC,同时‘10Ω电阻’短路STC系统版(释放残留电荷)” 这一点设计的很好,可以借鉴一下,我之前就因为这个经常下载程序失败。

一天看到同学的普某科技的开发板可以自动下载,板子上用的也只是CH340芯片,并没有其他芯片,查了原理图发现是通过CH340的RTS脚控制三极管使单片机端断电,然后我又查了CH340芯片发现RTS脚的功能为:MODEM联络信号。
基于CH340G的STC单片机一键下载电路_第2张图片
基于CH340G的STC单片机一键下载电路_第3张图片

虽然不知道具体干嘛用的,但是一定有关系,我在RTS脚上对VCC接了个LED发现只要点击下载或打开串口,LED灯就亮,关闭就灭,说明打开串口时会有一个持续的低电平,直到关闭串口。最后测得我的CH340G的13脚DTR和14脚RTS效果都一样。

设计电路

网上也有用DTR/RTS脚做STM32单片机下载复位的电路,都大同小异,于是我也设计了以下电路:
基于CH340G的STC单片机一键下载电路_第4张图片

(继电器线圈上反接二极管是为了保护三极管)

原理

原理大致如下:
①当没有下载是时候,RTS为高电平,C1两端都为高电平,三极管基极因为有R1,使三极管为导通状态,继电器吸合(上图为未吸合状态),OUT输出电压
②当打开串口时间或下载程序的时候,RTS为低电平,C1左边为0V右边为5V,此时电容开始充电,三极管基极电压为0,三极管截止,继电器不吸合,OUT被R2短接(用于放掉开发板上电容残留的电),C1充电过程需要一定的时间,一段时间后,三极管基极电压上升到一定值,使得三极管导通且继电器吸合。
通过①②以实现断开VCC->等待一段时间(C1充电时间)->再接通VCC,从而实现单片机在现在时需要的冷启动。

制作过程

1. 改造USB转TTL板

TTL板上有GND、RXD、TXD、3.3V、VCC、5.0V共5根排针,实测VCC脚串联了两个二极管到USB的VCC,电压为3.82V,给单片机供电明显不足,单片机用的是5.0V这个口。
用小刀把VCC给隔断,把CH340G的RTS脚接到这根排针上。

基于CH340G的STC单片机一键下载电路_第5张图片
基于CH340G的STC单片机一键下载电路_第6张图片

2. 焊好上面电路图的电路

基于CH340G的STC单片机一键下载电路_第7张图片

3. 测试有效,效果很好

基于CH340G的STC单片机一键下载电路_第8张图片

总结

电路简单,功能强大,用继电器控制比三极管控制的电流更大,虽然在打开串口时也会冷启动单片机,但问题不大。但是在下载器刚插入电脑时RTS脚电平会变化好几次,会让单片机系统板冷启动好多次。

你可能感兴趣的:(51单片机)