分享一个可用于ESP8266/ESP32模块自动下载的USB转串口的方案,可以很方便的给安信可ESP-01S下载程序、升级固件、串口调试等,并且支持Arduino IDE、乐鑫flash_download_tools 等下载软件,可以实现一键自动下载。
项目地址:
一、下载模式
ESP8266/ESP32的运行状态是由GPIO0引脚决定的,如图所示
而进入代码下载烧录模式,ESP8266/ESP32芯片内的时序则需要满足,在IO0保持低电平的期间,nRST引脚产生一个上升沿,如下所示:
注:后续会对自动下载过程进行详细的分析,本文不做详细分析。
二、电路设计
2.1 降压电路
由于ESP系列MCU的工作电压为2.5V-3.6V,通常取3.3V电压,而电脑USB口的输出电压为5V,因此需要对电源进行降压处理,本项目降压电路采用的是AMS1117-3V3这一款LDO方案,同时为CH340C芯片和wifi模块供电。
2.2 USB转串口电路
USB转串口电路采用的方案是WCH(南京沁恒)的CH340C这款接口芯片,该芯片内置晶振,可以省去晶振电路,节省BOM成本。
2.3 自动下载电路
下载电路类似RS触发器,其中nRST和GPIO0信号连接到NPN型三极管集电极,通过上拉电阻(注:上拉电阻在ESP-01标准接口电路部分)连接到VCC。
下载电路的目的即利用USB转串口芯片DTR和RTS信号控制三极管的通断来改变GPIO0和nRST的电平,最终产生上述所说的时序(GPIO0低电平期间,nRST引脚触发一个上升沿)即可完成自动下载功能。
2.4 ESP-01标准接口电路
本项目的对外接口以ESP-01模块的引脚定义为标准,使调试下载的接口标准化。
2.5 指示灯电路
该项目板子上带一颗蓝色的电源指示灯;一颗红绿双色的数据指示灯,用于显示串口的数据收发情况。