STM32串口下载BOOT0引脚与CH340G芯片引脚RTS、DTR、的关系原理

 

1、由CH340G芯片资料可以知道这两个引脚的功能都为输出

RTS:信号输出,初始状态为高电平,表示芯片接收数据已经准备就绪,下载程序时会变成低电平,下载结束之后又会恢复到高电平。

DTR:信号输出,初始状态为高电平,下载程序时会变成低电平(但是,是在RTS变为低电平之后才为低),下载结束之后又会恢复到高电平。

 

可以先把BOOT1直接接地,单独控制BOOT0来调节启动模式;

 

当BOOT0为低电平时,系统执行flash中的代码,当BOOT0为高时,可用串口下载程序到flash(且系统必须复位才可以)

 

2、对串口下载电路的分析

当程序下载完成后CH340G的引脚RTS、DTR都变为高电平,使得BOOT0恢复原来的低电平状态,之后系统开始读取存储器flash的地址的程序,执行代码。

 

上电前;首先BOOT1接地先。BOOT0下拉10K电阻,保证开始为低电平(在stm32f103板子上电的时候,保证能直接读取flash中的程序),且RTS、DTR都为高,所以BOOT0初始为低电平,reset初始为高电平(低有效)。

 

当串口开始传输数据前(打开串口软件时mcu),”DTR为高,RTS为低“,这样图中Q1导通reset为低开始复位,Q2导通BOOT0变为高,开始写程序准备。之后DTR变为低,复位结束,开始写程序。写完后DTR,RTS都为高电平,Q1,Q2截止,BOOT0自动恢复到低电平读取flash的状态,或者可手动复位。stm32就可以执行flash中下好的程序了。

 

这里需要说明一点BOOT0非常敏感,在下载程序时仅仅需要一点点时间的高电平就可以下载程序,,且不需要保持到下载程序结束。这是硬件电路设计常用的串口下载的方式,是为了可以直接给客户hex文件即可,此电路兼容SWD下载和ISP下载的方式。

 

咨询