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。有很多使用stm32做成的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接口

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

ESP32接口

引脚 连接到
5V 连接到5V
GND 连接到单片机的GND
3V3 连接到3V3
GND 连接到单片机的GND
RX0 连接到单片机的TX0
TX0 连接到单片机的RX0
IO0 连接到自动下载电路
EN 连接到自动下载电路

猜你喜欢

转载自blog.csdn.net/wcc243588569/article/details/130868002
今日推荐