关于CH340在STM32实现一键下载电路的研究(转)

源:关于CH340在STM32实现一键下载电路的研究

  在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计。

  在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不甚了解,于是花了一些时间来研究一下这个电路。

  引用正点原子的一键下载电路:
 
  我们通过RTS#和DTR#两个输出信号来控制STM32 IC的BOOT0和BOOT1两引脚来选择启动模式,如下表:
  当烧写程序时,我们希望BOOT0=1,BOOT1=0。当烧写完成后我们希望BOOT0=0,BOOT1=0(这个模式BOOT1可以是0可以是1,这里我们让BOOT1拉低,即整个过程BOOT1都为L接地,简化电路设计)。这里我们只需考虑BOOT0的高低。

查看STM32的参考手册,如下图:

 
 注意表6下方第一句话:“ 在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。

OK,综上所诉,我们可以得到:

1、系统上电,BOOT0需为L,进入模式一。上电复位后,在SYSCLK的第4个上升沿,BOOT引脚的值将被锁存,进入主闪存存储器,执行我们烧写的代码。

2、当我们编译好程序,生成HEX文件。在烧写HEX文件时,BOOT0需为H,进入模式二。然后,系统必须复位一次(因为由1知道,系统上电后默认执行代码,即模式一),让系统重新锁存BOOT引脚。系统进入模式二,开始烧写HEX文件。
3、烧写完成后,我们希望系统再次进入模式一,执行代码。但正点原子的一键下载电路并没有让系统完成烧写程序后再次复位重新锁存BOOT引脚进入模式一。这个原因应该是MCUISP软件帮我们配置好了,在烧写完成后会有报告:“成功从08000000开始运行”。在参考手册中有这样一段话:
 
   从另一个方向来理解它,可以这么说:主闪存存储器从地址(0x0800 0000)访问,不管是系统自动的还是软件配置的,只要系统指针跳到 主闪存存储器的地址(0x0800 0000)处开始执行代码,就可以了,结果是我们想要的。
 
  以上就是一键下载电路需要实现的功能,原子兄帮我们设计出来了。如果看不懂的话,可以参考我下面的解释。
 
  我们需要注意一点:CH340G上电后DTR#和RTS#都为高电平,在用MCUISP烧写软件时,我们在软件下方选择“DTR的低电平复位,RTS高电平进BootLoader”,CH340G IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是取非的,相反的。
画个时序图,直观一些:
 
 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32 CH340C是一种常见的单片机开发板,它具有USB串口功能。一键下载电路是指通过一个简单的操作就可以将程序下载STM32芯片中。 在STM32 CH340C开发板上,一键下载电路一般由两部分组成:USB串口芯片和串口下载电路。USB串口芯片(CH340C)将电脑的USB信号换成串口信号,使得开发板可以与电脑进行通信。串口下载电路包含了下载复位电路和BOOT0电平切换电路一键下载电路的工作原理如下: 1. 首先,将开发板连接到电脑的USB接口上。此时,USB串口芯片会自动识别,电脑会安装相关的驱动程序。 2. 在电脑上打开开发环境(如Keil或Arduino),编写好程序并编译生成二进制文件。 3. 在下载之前,需要在开发板上设置好BOOT0电平。一般情况下,将BOOT0电平设置为高电平,以选择从系统存储器(Flash)运行。这可以通过开发板上的跳线或按钮进行设置。 4. 点击开发环境的下载按钮,软件会自动将二进制文件发送给USB串口芯片。 5. USB串口芯片接收到二进制文件后,会将其传输到开发板上的串口下载电路中。 6. 串口下载电路会负责将接收到的二进制文件写入STM32芯片的Flash存储器中。 7. 下载完成后,系统会自动复位,并从Flash存储器中运行程序。 通过使用一键下载电路,我们可以方便地将程序下载STM32 CH340C开发板中,实现了快速开发和调试的功能。 ### 回答2: STM32 CH340C一键下载电路是一种特殊的电路设计,用于在将程序烧录到STM32芯片时简化操作步骤。 常规的STM32芯片下载需要连接多个引脚和设备,如SWD引脚、串口线以及ST-Link下载器等。而CH340C是一种USBUART芯片,可以将USB接口换为串口通信接口。一键下载电路利用CH340C芯片可以直接通过USB接口与计算机进行通信,从而简化了下载过程。 一键下载电路的工作原理如下:首先,将STM32芯片的BOOT0引脚接地,将芯片设置为下载模式;然后,通过USB线将CH340C芯片与计算机连接;接下来,使用串口助手或其他下载软件选择正确的串口号和波特率;最后,将需要烧录的程序文件发送给STM32芯片,CH340C芯片会将接收到的数据解码并通过SWD接口将程序烧录到芯片中。 这种一键下载电路能够简化STM32芯片下载的步骤,方便了开发者和工程师。通过仅需连接一个USB线即可完成下载的操作,提高了开发效率。而且该电路设计成本较低,具有较好的可靠性和稳定性。 总的来说,STM32 CH340C一键下载电路通过利用CH340C芯片将USB接口换为串口通信接口,简化了STM32芯片下载的操作步骤,提高了开发效率和便利性。 ### 回答3: STM32 CH340C一键下载电路是一种用于STM32单片机与CH340CUSB串口芯片之间的下载电路。它的主要功能是通过USB接口实现电脑与STM32单片机之间的通信和程序下载。 该电路主要由以下几个部分组成: 1. CH340C芯片:CH340C是一种USB串口芯片,它具有USB串口和USBI2C功能。它可以将PC机上的串口数据换为STM32单片机能够识别的串口信号。 2. USB接口:该电路使用USB接口连接电脑和下载电路实现电脑与STM32单片机之间的通信。USB接口提供了数据传输和电力供应的功能,通过USB线缆将数据发送到STM32单片机。 3. 下载线:下载线连接CH340C芯片和STM32单片机,用于传输程序到STM32单片机。下载线上的引脚按照标准规定连接到STM32单片机的BOOT0、BOOT1和NRST引脚上,以实现下载功能。 在使用STM32 CH340C一键下载电路时,首先需要通过USB线缆将电脑和下载电路连接起来。然后,使用合适的下载软件配置相关参数并选择下载模式,比如串口或I2C。接下来,将STM32单片机连接到下载线上,将下载线的引脚正确插入到STM32单片机的BOOT0、BOOT1和NRST引脚上。最后,点击下载软件上的下载按钮,软件会将程序通过下载线传输到STM32单片机,完成程序下载。 总而言之,STM32 CH340C一键下载电路通过USB接口实现了电脑与STM32单片机之间的通信和程序下载功能,方便了开发人员进行STM32单片机的开发和调试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值