ESP32 自动下载电路

2022-03-11 18:28:41 浏览数 (3)

在研究烧录模块的时候,我对照着ESP32开发板的原理图发现了这个电路。因为在自己之前学习的印象里对固件的软件流烧录无非就VCC、GND、Rx、Tx这四条线需要与烧录器相连,EN端保持高电平IO0通过开关按下保持一段时间低电平即可进行烧录(乐鑫官方硬件指南),就对这两个三极管的存在感到很迷惑,仔细观察这个电路的作用他是两个射级互联基级的OC门做输出,粗看本质上就是RTS接EN以及DTR接IO0,如果自己设计USB模块加上这个电路一是更占用板子的空间二是三极管并不属于常见器件还需要单独的购买,感觉就是可以省略的。(连接RTS和DTR既可以硬件流烧录也可以软件流烧录)

Fig.1 ESP32大部分开发板内部会自带的npn,pnp双三极管自动下载结构Fig.1 ESP32大部分开发板内部会自带的npn,pnp双三极管自动下载结构

这边顺便提一下单个OC门的输出:由于三极管的导通原理,在下图的情况下输出可以做到与输入反向的作用,此处1,0非电压值,代表高低电平的意思,上拉电阻也起到重要的确定电平作用,没有上拉电阻在vout为1的时候它不一定为1。

Fig.2 单OC门相当于反相器Fig.2 单OC门相当于反相器

有了OC门的知识基础,就不难理解一图中真值表代表的意思也正是通过真值表,我们可以看到我们忽视的一个东西,即当DTR和RTS都为低电平时EN和IO0仍为高。

这边也有被我们忽视的东西,在ESP32的开发板里EN端和IO0都是通过上拉电阻接VCC了,他们初始状态都是高电平,那么就不难理解这个自动下载电路的目的了,他预防了当RTS和DTR都为低电平的时候影响到电路的正常的使用,毕竟EN端至低电平整个芯片就重启。

了解了这个知识就可以放心的预留我的烧录管口了正常情况下这两个三极管起到的作用确实是可有可无的,只要别一直接着en和RTS也是不会突然重启的,但由于要考虑到各种板子各种设计情况,这两个三极管在官方开发板上是有必要的。

参考:

ESP8266/ESP32自动下载电路原理分析 - 知乎 (zhihu.com)

Auto program Boot Flasher is still mysterious! - ESP32 Forum

0 人点赞