1、秉火STM32F103VET6(指南者)自带串口下载电路,配合上位机可实现一键ISP下载,不需要修改开发板上的BOOT设置。
与仿真器Fire-Debugger相比,ISP(In-System Programming,在系统可编程)只能下载程序,不能在线调试且下载速度慢。

2、 安装USB转串口驱动
秉火的STM32开发板用的USB转串口的驱动芯片是CH340,要使用串口,需要先在电脑中安装USB转串口驱动:CH340版本,见图2-1。驱动可在网上搜索下载,或者使用我们论坛里面提供的。

图2-1 串口连接示意图
如果USB转串口驱动安装成功,USB线与板子连接没有问题,依次选择“计算机→管理→设备管理器→端口”,可识别到串口。
如果识别不了串口,请检查USB线是否完好,或换一根USB线试试。

3、硬件连接
如图3-1所示,用USB线连接电脑和开发板的“USB转串口”接口,给开发板上电(见图3-1)。

图3-1 USB转串口驱动安装成功

图3-2 指南者串口连接图

4、 开始下载
打开mcuisp软件,配置如下:①选择“搜索串口”,设置波特率为460800(尽量不要设置得太高);②选择要下载的HEX文件;③勾选“校验”“编程后执行”复选框;④选择“DTR低电平复位,RTS高电平进Boot Loader”选项;⑤开始编程,见图4-1。如果出现一直连接的情况,按一下开发板上的复位键即可。下载成功界面见图4-2。

图4-1 ISP下载配置

图4-2 ISP下载成功

5 ISP一键下载原理分析
5.1 ISP简介
ISP指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。已经编程的器件也可以用ISP方式擦除或再编程。
使用ISP的时候需要用到自举程序(Boot Loader),自举程序存储在STM32器件的内部自举ROM(系统存储器)中。其主要任务是通过一种可用的串行外设(USART、CAN、USB、I2C等)将应用程序下载到内部Flash存储器中。每种串行接口都定义了相应的通信协议,其中包含兼容的命令集和序列。

5.2 ISP普通下载
现在我们针对USART1的ISP进行分析,通常的ISP下载的步骤如下:
1)通过USB转串口线将电脑连接到STM32的USART1,并打开电脑端的上位机;

2)设置跳线保持BOOT0为高电平,BOOT1为低电平;

3)复位单片机使其进入Boot Loader模式,通过上位机下载程序;

4)下载完毕,设置跳线保持BOOT0为低电平,BOOT1为低电平;

5)复位单片机即可启动用户代码,正常运行。

以上步骤有个不好的地方就是:下载程序需要跳线及复位操作,很繁琐。理解了ISP的原理,就理解一键ISP了。它需要做的事情就是用上位机去控制BOOT0引脚和单片机的复位引脚,电路图见图5-1。

图5-1 ISP一键下载电路图

图5-1(续)

5.3 BOOT配置
在ISP下载电路中,需要配置BOOT引脚,BOOT引脚不同的配置会产生不同的启动方式,具体见表3-1。
表5-2 BOOT配置

5.4 ISP一键下载
USB转串口大家都很熟悉,一般是用RXD和TXD这两个引脚。在一键ISP电路中,我们需要用USB转串口的芯片的DTR引脚和RTS引脚来控制单片机的BOOT0和NRST,原理如下:

1)通过上位机控制U6(CH340G)的RTS引脚为低电平,Q1导通,BOOT0的电平上拉为高电平。

2)通过上位机控制U6(CH340G)的DTR引脚为高电平,由于RTS为低电平,Q2导通,U8的2引脚为低电平,U18为一个模拟开关,使能端由4引脚控制,默认为高电平,U18的1引脚和2引脚导通,所以NRST为低电平,系统复位。

3)单片机进入ISP模式,此时可以将DTR引脚设置为低电平,RTS设置为高电平。Q1和Q2处于截止状态,BOOT0和NRST还原默认电平。

4)上位机将程序下载到单片机,下载完毕之后,程序自动运行。

5)有人认为U18、Q1、Q2是多余的,用U6的RTS和DTR直接控制也可以。正常情况下,这样理解没有问题,但是他们忽略了一点,就是在单片机上电瞬间,如果USB转串口连接了电脑,DTR和RTS的电平是变化的,如果处理不好,单片机会一直进入ISP模式,或者系统会复位多次,这种情况是不允许的。

6)于是,就有了全新的一键ISP电路。我们主要是分析上电瞬间的逻辑关系,单片机上电时通过示波器观察波形得知DTR和RTS的电平是变化的,但是也有一个规律就是:当RTS为低电平的候,DTR也是低电平,因此一般情况下Q2不会导通,但由于这两个IO口的电平存在“竞争冒险”,
会出现RTS的下降沿刚好遇到DTR的上升沿,这个时候Q2导通,导致系统复位,而BOOT0此时有可能也为高电平,就会进入ISP模式。这个是不受我们控制的,而我们不想系统出现这样的情况,因此加入了模拟开关来切断这种干扰。

7)加入模拟开关U18,通过控制U18的4引脚的开关来达到隔离干扰电平的目的。下面我们分析一下延时开关电路,上电瞬间,电容C65通过电阻R18来充电,由于电阻100kΩ很大,电容的充电电流很小,电容充电达到U18的4引脚的有效电平2V大概耗时1秒,在这个1秒时间内U18的模拟开关是断开的,因此RTS和DTR的干扰电平不会影响到系统复位。这样就保证了系统正常运行。

STM32F103系列(二):如何使用串口下载程序相关推荐

  1. Remoting系列(二)----建立第一个入门程序

    http://www.cnblogs.com/Ring1981/archive/2006/07/23/455043.aspx Remoting系列(二)----建立第一个入门程序 下面的Remotin ...

  2. STM32串口下载程序(官方下载软件)

    ST官方有一款专门用于串口下载程序的下载软件STM32 Flash loader demonstrator (FLASHER-STM32),目前的最新版本是V2.8.0版,下载链接如下: https: ...

  3. 【CH559L单片机】串口下载程序说明

    [CH559L单片机]串口下载程序说明

  4. STC51系列单片机不断电自动下载程序

    以前在进行单片机编程时比较烦恼的时每次下载程序都需要断电,点击下载,再上电才能将程序下载到单片机,如果偶尔一两次这样操作可以忍受,但是往往我们都是需要调试代码,多次进行下载操作,不断的断电上电无疑对单 ...

  5. STM32通过串口下载程序教程

    在STM32下载程序的方法中,通常有两种,一种是通过STLink下载器下载,另外一种是通过串口下载.在这里介绍串口下载的方法. 需要工具有以下三种 1.STM32最小系统 2.USB转TTL模块 3. ...

  6. stm32,STC89C51使用串口下载程序

    1. 使用USB转串口下载 1.1 STC89C51 一般买的开发板会有一键下载的硬件电路,但是有时候我们自己的最小系统版,为了能够下载,可以使用串口的方式现在程序,这个我买的圈圈教你学USB的开发板 ...

  7. STC15W104 8脚单片机串口下载程序

    单片机串口下载是一种常见的单片机程序下载方式,它通过串口线连接单片机的串口引脚和电脑的串口接口实现.下面是单片机串口下载的基本原理和操作方法: 原理 确定下载模式:大多数单片机芯片都支持串口下载模式, ...

  8. CC1310串口下载程序

    首先要在程序里面使能BootLoader模式.CCFG里面的BL_CONFIG寄存器是只读的,只能在ccfg.c文件里面操作此寄存器.打开.../source/ti/devices/startup_f ...

  9. 02、如何用串口下载程序

    文章目录 1.简介 2.安装USB转串口驱动 3.硬件连接 4.开始下载 5.ISP 一键下载原理分析 5.1.ISP 简介 5.2.ISP 普通下载 5.3.BOOT配置 5.4.ISP 一键下载 ...

  10. STM32 串口下载hex 串口下载程序 CH340串口

    1 接线 STM32的BOOT0接高电平 BOOT1接低电平 2 接线 串口转TTL模块----STM32 3.3---------------------3.3 GND--------------- ...

最新文章

  1. php中文网数据库的搭建,【后端开发】php数据库中文乱码
  2. Excel中删除链接
  3. QUIC实战(一) 通过Quiche部署支持HTTP3 的NGINX
  4. 白话经典算法系列之六 快速排序 快速搞定
  5. android资源透明背景,@谷歌android帝 这是你想要的,全局透明背景教程,两种方法...
  6. 整理下开发中常用的第三方库
  7. Thinkphp3.2在IIS中使用ISAPI_Rewrite去除index.php
  8. Bailian2790 迷宫【DFS】
  9. Newtonsoft 六个超简单又实用的特性【上下篇】
  10. excel文件修复工具_微软修复磁盘清理工具无法完全删除windows.old文件夹问题
  11. MongonDB基本概念和文档操作
  12. 领域迁移机器翻译方案总结
  13. 计算机显示文档在哪打开,我的文档在哪?小编教你找到电脑Windows系统我的文档在哪...
  14. 关键字生成参考文案查找相似款,特卖淘宝达人有福了,自媒体时代的懒人助手
  15. java什么是布尔型_Java新职篇:是什么是布尔型?
  16. QTcpSocket使用过程中的一些问题记录
  17. C语言简单进制转换器
  18. 3.18 使用橡皮擦工具制作图像合成效果 [原创Ps教程]
  19. 共享书籍同类产品调研
  20. Android Q (十四)ANGLE

热门文章

  1. 华为C语言编程规范(精华总结)
  2. 百度输入法皮肤工具提示 CSS,百度手机输入法皮肤布局制作工具
  3. 数据分析:RFM模型
  4. 荷兰国旗问题以及快速排序
  5. 如何选择网页更新提醒工具
  6. 北京亚信科技java笔试题_亚信科技java面试题及答案
  7. 超详细带你用Java实现QQ的聊天功能
  8. 【数据结构】二叉树题目代码总结 (快速排序与汉诺塔的非递归 、判断完全二叉树 、二叉链表交换左右孩子 、01背包问题)
  9. 《SPSS统计分析与行业应用实战》之P2P行业中的应用
  10. 【matlab数字图像处理】数字图像处理中的坐标系