你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

单片机ISP自动下载程序电路设计原理

[复制链接]
yang9397 发布时间:2021-4-23 16:34
单片机ISP自动下载程序电路设计原理
6 g* o2 z% g" K/ G+ ]2 Y
STM32 单片机有Boot启动方式,在用UART串口下载程序时,需要手动设置Boot的启动方式,可能有点麻烦,通过设计电路可以实现自动ISP下载。下面和大家分享一下设计原理。STM32支持仿真器和串口下载程序。将要介绍的内容,属于串口下载,即我们通常说的ISP下载。

4 ^0 I$ ?4 M2 e
手动ISP下载程序,我们已经知道了,控制BOOT0引脚实现。STM32上电,会自动检测BOOT0引脚是什么电平,如果是高电平,等待用户下载程序;如果是低电平,运行用户之前下载到单片机的程序。所以我们需要把BOOT0引脚引出,然后控制其接地或接VCC来下载程序或者运行程序。在调试过程中,我们需要不断的控制BOOT0,非常麻烦。那么,自动ISP就该出场了。

. ~2 G' c$ H; Y! ]* \9 m
自动ISP,把BOOT0与地直接连接,那么每次上电就会运行程序,而且只要点击电脑上的“下载”按钮,就开始下载程序,下载完程序,就开始执行。实现此目的,需要借助串口握手信号DTR和RTS。
* O2 L5 Q& _1 s9 I% T! M
下面是深圳鹏远电通科技有限公司研发的免费ISP下载软件,请看红色的框里面的部分。
: B  [* R" A/ `% H! C. S9 r: r1 I8 y
4.1.jpg

# R# n& j: Q2 W9 _
DTR连接RESET(复位引脚),控制复位,RTS连接BOOT0,用来控制程序运行或者等待下载。

/ D( s) ?* [4 I& t1 e6 y" r5 ?
下面说明如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图所示:

" M) d1 ?: k! x* N7 T
4.2.png

2 Q; }3 V7 J- P! K" a# j: O
CH340芯片,DTR和RTS引脚在一般情况下是高电平,低电平有效。因为STM32的RESET引脚,也是一般情况下是高电平,低电平复位,所以DTR可以与RESET直接连接。但是BOOT0是高电平下载程序,低电平运行程序,正好与RTS相反,所以我们需要把它反相,加一个NPN三极管即可。电路如下图所示:
& O# b& X/ ^  `7 ~1 E% g$ r
4.3.jpg

) R# e% z0 w6 c) f% t
ISP软件的选择:
. }. q. g. Y! J  ~* ~
4.4.png
* B2 Z8 }3 m0 P% N& x: w1 [0 I; I
看了上图的选择,有些人一定会产生疑虑。按道理应该是低电平复位,然后低电平进入BOOTLoader呀。但是,有一点需要注意,它这里讲的高低电平,是针对电脑原始的9针串口的,也就是“232电平”,我们用的USB转TTL芯片是“TTL电平”,正好相反。
. S) X1 W9 ?% |; k
下载过程和结果如下图所示:
. k! L9 ]5 E  v3 r7 {
4.5.jpg
- Q- K1 a) c  O+ s' X6 j8 z' i
注意:CH340在刚上电,稳定需要几秒钟时间,在此期间,DTR引脚会有两次或者三次的变低情况,这样会引起单片机上电后复位两三次,稳定后不会影响程序运行。如果不想让单片机上电复位好几次,上电的时候把DTR与RESET断开即可。

; h: ^) W' w3 `4 e- Q5 R( N
文章出处:瑞声网
' K; z8 s' [  K8 g! X  L
收藏 评论0 发布时间:2021-4-23 16:34

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版