ESP32硬件设计知识点

自从接触ESP32之后,就被它优秀的硬件资源与软件开发环境所吸引。为了方便后续基于ESP32的各种制作,我制作了这一款通用的下载器。 从乐鑫 ESP32官方开发板原理图中可以看到,与下载相关的电路除了CP2102N芯片工作所必须的电路之外,还有两个三极管与两个电阻组成的,控制IO0与RST,这部分电路如下图所示:

这部分电路主要是保证串口芯片的RTS与DTR引脚均为低时,EN和IO0可以释放为高电平。这主要是因为某些串口调试工具在退出时或串口芯片在默认状态下会的将RTS与DTR拉低,若没有这两个三极管构成的电路,芯片将一直处于复位状态,无法正常工作。

官方开发板使用了CP2102N作为USB转串口芯片。除了CP2102N之外,其实还有许多其他芯片可供选择,如下表所示。

|芯片型号|最高波特率 |备注| |---|---|---| |CH340G| 2000000 | 驱动的CPU占用率较CP2102高,且供电波动时有蓝屏现象| |CH343 | 6000000|驱动问题同上,提供QFN16小封装,支持免驱的CDC驱动| |CP2102 | 921600 |芯片已经不推荐用于新设计,速度较慢但稳定| |CP2102N | 3000000 | 有QFN20、QFN24与QFN28三种封装,兼容CP2102与CP2104| |CH9102 |4000000| 兼容CP2102,有QFN24与QFN28封装,支持免驱的CDC驱动|

下载模式

ESP8266/ESP32的运行状态是由GPIO0引脚决定的,如图所示

而进入代码下载烧录模式,ESP8266/ESP32芯片内的时序则需要满足,在IO0保持低电平的期间,nRST引脚产生一个上升沿,如下所示:

电路设计

由于ESP系列MCU的工作电压为2.5V-3.6V,通常取3.3V电压,而电脑USB口的输出电压为5V,因此需要对电源进行降压处理,本项目降压电路采用的是AMS1117-3V3这一款LDO方案,同时为CH340C芯片和wifi模块供电

USB转串口电路

USB转串口电路采用的方案是WCH(南京沁恒)的CH340C这款接口芯片,该芯片内置晶振,可以省去晶振电路,节省BOM成本

自动下载电路

下载电路类似RS触发器,其中nRST和GPIO0信号连接到NPN型三极管集电极,通过上拉电阻(注:上拉电阻在ESP-01标准接口电路部分)连接到VCC。

下载电路的目的即利用USB转串口芯片DTR和RTS信号控制三极管的通断来改变GPIO0和nRST的电平,最终产生上述所说的时序(GPIO0低电平期间,nRST引脚触发一个上升沿)即可完成自动下载功能。

文档信息

版权声明:可自由转载(请注明转载出处)-非商用-非衍生

发表时间:2023年7月4日 16:07