您现在的位置是:首页 >技术杂谈 >STM32与ESP32下载器设计网站首页技术杂谈

STM32与ESP32下载器设计

江安吴彦祖 2024-06-27 06:01:02
简介STM32与ESP32下载器设计

背景

我们常用的单片机主要有STM32和ESP32,其中STM32下载要求SWD下载接口,ESP32下载要求串口,但需要控制ESP32 IO0和EN口高低电平的时序。
对于STM32,一般我们电路板上不会集成下载器。
对于ESP32,我们电路板上也不会集成USB转TTL。
因此,如果有一种下载器,与电路板上进行接线进行下载和调试,我们使用时就会很方便。

STM32下载器

使用现成的DAPlink

STM32下载器我们选择DAP下载器,其引脚图如下:
在这里插入图片描述
在这里插入图片描述
其除了带下载功能之外,还带一个虚拟串口。
注意,DAP下载器的RST引脚用于连接单片机的复位引脚,用于下载后软件复位功能。这里我们并非必须,不连接此引脚。
我们选择连接的引脚如下:

引脚连接到
3V3连接到3V3
SWD连接到单片机的SWD
SCK连接到单片机的SCK(CLK)
GND连接到单片机的GND
GND连接到单片机的GND
TX连接到单片机的RX
RX连接到单片机的TX
3V3连接到单片机的3V3
我们画个转接板,将其转接为小尺寸的连接接口连到我们的单片机板子上即可。

选择自制DAPlink

DAPLink是ARM推出的一款调试器方案,支持SWD接口的Cortex-M系列MCU,或JTAG接口的Cortex-A系列MPU,软件代码使用Apache2.0许可,因此可以自由地用在个人和商业项目上。
因此,我们可以使用单片机按照开源的协议写代码,自己做一个DAPLink。目前有许多开源的DAPLink固件,这里选择梁山派的固件,固件链接如下:
固件链接

参考链接:
DAP介绍

ESP32/ESP8266下载器

ESP32下载时需要控制ESP32 IO0和EN口高低电平的时序,可以通过按键手动按来实现,也可以使用RTS和DTR来实现,电路图如下:
在这里插入图片描述
关于电路图中的DTR和RTS,如下:
在这里插入图片描述
单片机自动下载电路介绍
其时序图为:
在这里插入图片描述
在ESP32官方的下载程序里面,在下载时,会自动去控制DTR和RTS电平时序,实现自动下载功能。

连接接口

我们下载器的目的是在开发板上不需要集成下载器电路,从而缩小电路板的体积。因此,对于连接接口,我们选择尺寸较小的连接接口:
这里选择的连接接口为:SH1.0接口,其间距为1mm,贴片封装,如下:
在这里插入图片描述

但是这样也需要开发板上焊上此接口。因此我们同时也在开发板上集成探针接口,由于探针直径较粗,因此其间距选择2.54mm的探针。
在这里插入图片描述
在STM32和ESP32上,各引出6个接口,

STM32接口

引脚连接到
3V3连接到3V3
GND连接到单片机的GND
SWCLK连接到单片机的SCK(CLK)
SWDIO连接到单片机的SWD
TX连接到单片机的RX
RX连接到单片机的TX

ESP32接口

引脚连接到
3V3连接到3V3
GND连接到单片机的GND
RX0连接到单片机的TX0
TX0连接到单片机的RX0
EN连接到单片机的RX
IO0连接到单片机的TX
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。