[STM32学习笔记]野火MINI开发板ISP一键下载电路

1 什么是ISP

1、ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。

2、ISP通过芯片内部的自举程序(即Bootloader,由芯片厂家烧写好,不得更改)来选定一种串行的外设,对芯片内部的FLASH进行编程。

3、最常用的ISP方式就是通过串口下载,最主要的优点就是成本低,缺点是只能用于下载程序,不能硬件仿真。

4、普通ISP和一键ISP,普通ISP在下载程序的时候需要手动配置BOOT的启动方式,而一键ISP则通过独特的硬件电路和上位机配合使用来达到一键下载的功能。

2 ISP一键下载原理分析

        要了解ISP下载过程,首先要知道BOOT启动方式,BOOT方式如下表所示:

[STM32学习笔记]野火MINI开发板ISP一键下载电路_第1张图片

        在模式1下,芯片从内部存储器运行程序,而选择模式2就是从ISP串口下载程序。

        从外部下载程序的过程就可以表示为以下四个步骤:

        (1)改变BOOT0引脚的电平       0→1

        (2)复位(重新读取BOOT0、BOOT1的电平情况)

        (3)恢复BOOT0的电平             1→0

        (4)复位  (重新读取BOOT0、BOOT1的电平情况)

        

        如果从外部引脚方面切换跳帽会使得下载程序的过程过于繁琐,因此设计了一键下载电路,如下图所示,具体过程如下:

  1. 电路工作时先通过上位机使RTS输出低电平,从而导通S8550,BOOT0经上拉电阻得到高电平。
  2. C65充电至1.8V后,使能74HC1G66GW的EN引脚,导通1和2脚,并通过上位机给DTR置高电平导通S8050,形成将NRST接低电平的通路,复位完成。
  3. 通过上位机控制RTS和DTR恢复状态,关断两个晶体管,BOOT0状态恢复。
  4. 下载程序完毕后,程序自动开始运行,该步骤由上位机软件完成。

[STM32学习笔记]野火MINI开发板ISP一键下载电路_第2张图片

3 上位机如何设置

 (1)搜索到串口

(2)选择要下载的文件

(3)如图选中前两个选项

(4)在软件中选择“DTR的低电平复位,RST高电平进BootLoader

        为什么特意强调“在软件中”呢?这里需要特别注意,实际上上位机需要给出的信号是“RTS低电平进入BootLoader,DTR高电平进入复位”。但由于开发板和烧录软件的电平标准相反,所以设置时也恰好相反。烧录软件的电平标准为232标准,开发板的电平标准为TTL标准,具体如下:

232标准 (mcuisp软件的电平标准):
逻辑1:-3~-15V         低电平
逻辑0:+3~+15V       高电平
TTL标准(开发板的电平标准):
逻辑1:3.3V              高电平
逻辑0:0V                 低电平

[STM32学习笔记]野火MINI开发板ISP一键下载电路_第3张图片

        第一次写博客,也没啥经验,想到哪写到哪了。学习笔记而已,希望大佬轻喷指正!

你可能感兴趣的:(单片机,stm32)