找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3856|回复: 2
收起左侧

STM32自动ISP电路设计

[复制链接]
ID:94349 发表于 2015-12-8 05:22 | 显示全部楼层 |阅读模式
STM32%E8%87%AA%E5%8A%A8ISP%E7%A1%AC%E4%BB%B6%E7%94%B5%E8%B7%AF.jpg
STM32支持仿真器和串口下载程序。将要介绍的内容,属于串口下载,即我们通常说的ISP下载。
手动ISP下载程序,我们已经知道了,控制BOOT0引脚实现。STM32上电,会自动检测BOOT0引脚是什么电平,如果是高电平,等待用户下载程序;如果是低电平,运行用户之前下载到单片机的程序。所以我们需要把BOOT0引脚引出,然后控制其接地或接VCC来下载程序或者运行程序。在调试过程中,我们需要不断的控制BOOT0,非常麻烦。那么,自动ISP就该出场了。
自动ISP,把BOOT0与地直接连接,那么每次上电就会运行程序,而且只要点击电脑上的“下载”按钮,就开始下载程序,下载完程序,就开始执行。实现此目的,需要借助串口握手信号DTR和RTS。
下面是深圳鹏远电通科技有限公司研发的免费ISP下载软件,请看红色的框里面的部分。
STM32ISP%E8%BD%AF%E4%BB%B6%E4%B8%ADDTR%E5%92%8CRTS.png
DTR连接RESET(复位引脚),控制复位,RTS连接BOOT0,用来控制程序运行或者等待下载。
下面说明如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图所示:
CH340G.png
CH340芯片,DTR和RTS引脚在一般情况下是高电平,低电平有效。因为STM32的RESET引脚,也是一般情况下是高电平,低电平复位,所以DTR可以与RESET直接连接。但是BOOT0是高电平下载程序,低电平运行程序,正好与RTS相反,所以我们需要把它反相,加一个NPN三极管即可。电路如下图所示:
STM32%E8%87%AA%E5%8A%A8ISP%E7%94%B5%E8%B7%AF.png
ISP软件的选择:
STM32%E8%87%AA%E5%8A%A8ISP%E8%BD%AF%E4%BB%B6DTR%E5%92%8CRTS%E7%9A%84%E9%80%89%E6%8B%A9.png
看了上图的选择,有些人一定会产生疑虑。按道理应该是低电平复位,然后低电平进入BOOTLoader呀。但是,有一点需要注意,它这里讲的高低电平,是针对电脑原始的9针串口的,也就是“232电平”,我们用的USB转TTL芯片是“TTL电平”,正好相反。关于此部分,亲们可以参考我写的另一篇文章:http://www.51hei.com/bbs/dpj-41013-1.html
下载过程和结果如下图所示:
STM32%E8%87%AA%E5%8A%A8ISP%E8%BF%87%E7%A8%8B.jpg

注意:CH340在刚上电,稳定需要几秒钟时间,在此期间,DTR引脚会有两次或者三次的变低情况,这样会引起单片机上电后复位两三次,稳定后不会影响程序运行。如果不想让单片机上电复位好几次,上电的时候把DTR与RESET断开即可。

                                       
                                我是瑞生,毫无保留的给大家透露电子设计经验,不定时分享实用的落地的电子设计技巧,希望能够帮助到大家。        
回复

使用道具 举报

ID:99938 发表于 2016-1-13 15:00 | 显示全部楼层
显示连接不上,怎么回事?需要什么驱动吗?
回复

使用道具 举报

ID:592342 发表于 2019-7-30 10:01 | 显示全部楼层
shenjinliang 发表于 2016-1-13 15:00
显示连接不上,怎么回事?需要什么驱动吗?

PA9和PA10跳线帽掉了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表