详细图文剖析STM32单片机串口一键下载电路与操作方法

2023-07-26  

在此介绍STM32单片机串口一键下载电路与操作方法详解。

2310553542-0.jpg

231055L07-1.jpg

STM32三种启动模式对应的存储介质均是芯片内置的,它们是:

1)用户闪存 = 芯片内置的Flash。

2)SRAM = 芯片内置的RAM区,就是内存啦。

3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。

要了解STM32的几种启动模式.

BOOT0接GND,BOOT1接GND.那就是正常的启动模式,从flash加载代码.

而BOOT0接V3.3,BOOT1接GND.则是ISP模式,也就是串口更新代码.

其次,你要了解STM32ISP下载代码的过程.

首先BOOT0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串口下载程序了.

最后再来看看一键下载是怎么实现的呢?

从原理图可知:DB9串口的RTS控制BOOT0,DTR控制RST.

我们要达到下载的目的,就必须先让RTS拉高BOOT0(设置BOOT0为1),然后再让DTR控制RST为低(STM32为低电平复位).然后再释放RTS为高(停止复位),然后再开始串口下载代码(此时BOOT0可以为高,也可以为低).

所以我们看到mcuisp连接过程是:

DTR电平置高(3-12V),复位(DTR接了RST)

RTS置低(-3--12V),选择进入BootLoader(RTS接了BOOT0)

...延时100毫秒

RTS电平变高(+3-+12V)释放复位(释放复位,但是此时BOOT0为高,所以进入ISP模式)

开始连接...4, 接收到:1F (连接成功)

在串口COM0连接成功@230400bps,耗时437毫秒


DTR维持高

【需要注意的是 DTR_N是DTR的反相电平 RTS_N是RTS的反相电平】

注:此电路不需要USB转串口芯片,只要一个普通的DB9串口就可以完成程序下载工作。对于那些只有串口的单片机控制板无疑是一个完美的选择。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。