背景
我们常用的单片机主要有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,贴片封装,如下:
文章来源:https://www.toymoban.com/news/detail-462981.html
但是这样也需要开发板上焊上此接口。因此我们同时也在开发板上集成探针接口,由于探针直径较粗,因此其间距选择2.54mm的探针。
在STM32和ESP32上,各引出6个接口,文章来源地址https://www.toymoban.com/news/detail-462981.html
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 | 连接到自动下载电路 |
到了这里,关于STM32与ESP32下载器设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!