DTR# RTS#中#意思是逻辑反得意思,stm32中的ISP一键下载原理分析

如果我们的开发板没有一键下载电路的话,我们下载程序时要把boot 0的跳冒从接GND变成接VCC,然后下载,按一下复位按键程序才能烧录,最后再把接VCC变成接GND,并且再按一下复位,这样单片机才能运行程序,每一次烧录程序都很麻烦。而当我们的单片机有了一键下载电路后,就不需要改变boot 0的值,直接烧录就可以运行。下面就我个人来分析一下一键下载电路。

三种工作模式
 BOOT 0     BOOT 1          启动方式
    0                  X         内部FLASH
   1                   0         系统存储器
   1                   1         内部SRAM
 

ISP一键下载电路


上面的图1是正点原子精英版的ISP一键下载原理图,图2是 mcuisp烧录软件。先看图2中我圈出来的序号1中的内容,DTR是低电平,RTS是高电平。再找到图1中对应点DTR#和RTS#,这里的DTR#和RTS#表示反向标志的的意思。因为我们的mcuisp软件使用的是232标准电平,而单片机是ttl电平,他们两者电平是相反的。所以原理图中DTR后面加了一个#表示我们CH340G芯片此时接收到的DTR是高电平与我圈起来的序号1中的DTR低电平相反所以是高电平)。并不是说CH340G芯片会进行逻辑非运算,仅仅只是一个提醒标志而已。

一键下载的过程
首先,看我圈起来的序号1,mcuisp 控制 DTR 输出低电平,则 DTR_N 输出高,然后 RTS 置高,则 RTS_N输出低,这样原理图中三极管Q3 就导通了,BOOT 0 被拉高,此时三极管Q2 也会导通,STM32F1 的复位脚被拉低,即实现设置 BOOT 0 自动为1,并且复位键按下。单片机此时会重启并且进入ISP模式(也就是系统存储器模式)。进入ISP模式后,会锁存住BOOT 0的值(为1)。再看我圈起来的序号2中有一段信息,当我们点击开始编程后,mcuisp这个软件在延时100ms之后会自动令DTR变高,释放复位,RTS维持高电平不变。也就是说会让BOOT 0和RESET还原成原来的状态。当程序下载完成后,程序已经下载到内部FLASH了,需要按一下复位就会运行程序,如果不想手动按复位键,那么就可以勾选我圈起来的序号3,这样单片机就会自动复位运行。

总结
配置BOOT为ISP模式,BOOT 1硬件固定为GND。Q3导通,BOOT 0变为高电平。Q2导通,单片机复位。
进入ISP模式后,BOOT 0和RESET还原成原来的状态。
ISP下载完毕,程序自动运行。
 
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_45402928/article/details/107274860

RTS#DTR#是反相的‌,这是因为当电脑上显示高电平时,RTS#和DTR#引脚输出的是低电平。这种反相的关系在硬件设计中是常见的,特别是在串行通信硬件流控的上下文中。具体来说,RTS#(请求发送)和DTR#(数据终端准备好)的信号是通过RTS#引脚DTR#引脚输出的,这些引脚的状态与电脑上的显示状态相反,即当电脑端显示高电平时,这些引脚实际上输出的是低电平信号。这种反相的关系是硬件设计中的一种常见做法,用于确保正确的信号传输和设备间的通信‌

#就是N,就是取反的意思。 电脑上显示高,那么#/N之后,就是低。

硬件常识

RTS# = RTS_N = nRTS =  

DTR# = DTR_N = nDTR =      

 CH340G的RTS#和DTR#引脚输出_dtr引脚-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值