最近在玩ESP8266,做了些东西,比如考研倒计时器、网络闹钟、网络灯(用手机控制亮度)、气象站等等。
ESP8266本身挺简单的,倒是这个自动下载电路,我还是第一次玩,以前玩51也用过串口下载,都是自己冷启动,玩STM32用的ST-LINK,直接下载。
现在才发现其实可以设计一个自动下载电路,根据不同的MCU下载的条件不同,电路设计也有区别。
这里我就简单说一下ESP8266的自动下载电路以及CH340芯片的一个坑。
原理图如下:

使用的是CH340C,实际上其他型号也差不多,CH340C相比CH340G就是少用个晶振。
可以看到相比普通的串口,此电路中将CH340的RTS(注意不是RST)和DTS引出,通过右侧电路,构成自动下载电路。

那么ESP8266如何进入下载模式呢。很简单,两句话。
1.在复位上升沿时,如果BOOT为1,则进入运行模式,此时内部程序正常运行。
2.在复位上升沿时,如果BOOT为0,则进入运行模式,此时可通过串口下载程序。
那么要想进入下载模式,一开始我的想法是应该是RST和BOOT都为0,然后RST置为1,这样RST就有一个上升沿,且BOOT为0。这句话先放这,我们再来看。
那么现在分析一下右侧电路逻辑。
DTR = 0,RTS = 0,此时Q1截止,Q2截止,RST= 1,BOOT= 1;
DTR = 0,RTS = 1,此时Q1截止,Q2导通,RST= 1,BOOT= DTR = 0;
DTR

本文详细解析了ESP8266的自动下载电路设计及其工作原理,并介绍了如何利用CH340芯片实现该功能。同时,文中还讨论了在实际应用中遇到的问题及解决方案。

2213

被折叠的 条评论
为什么被折叠?



