正点原子stm32精英开发板串口一键下载电路原理分析

控制/MCU

1816人已加入

描述

使用串口芯片CH340中的DTR引脚和RTS引脚来控制单片机复位引脚和BOOT0引脚的电平状态,从而实现一键下载。对于这个一键下载电路,重点是这2个地方没问题就足够理解了:1.得有看懂三极管电路开关状态的能力 2.得明白CH340的DTR RTS引脚电平状态是可以由软件来控制的

1.使用串口下载前,先这样连接:单片机串口1的tx1 rx1分别和ch340的rx tx连接,同时boot0 boot1引脚都10k****下拉到地(若直接连地则电平状态无法改变了,也就无法切换boot启动配置了)

2.如图2,10k在这里:boot引脚拉一个10k电阻到排针

STM32单片机

图2

3.图3为正点原子精英板usb转串口的ch340电路,使用flymcu软件来进行烧录。烧录软件的工作流程为:

(1)初始:DTR和RTS的初始电平都是高电平,如图3,此时Q2和Q3都不导通

(2)如图5的阶段1,DTR维持高电平,RTS拉低,此时Q2和Q3都导通,boot0拉高,同时单片机进入复位状态

(3) 如图5的阶段2,DTR也拉低,此时单片机从复位状态释放进行启动,由于boot0已经拉高,参考图4启动模式,单片机将进入系统存储器 。从图6可以看到,这个阶段,主要执行单片机信息查询和程序擦除动作

**(4)如图5的阶段3,DTR拉高,RTS维持低电平,此时单片机再次进入复位状态,同时boot0维持拉高状态

**

(5)如图5的阶段4,DTR再次拉低,单片机从复位状态释放,启动进入系统存储器。从图6来看,这个阶段再次读取单片机信息,然后进行烧录, 烧录完成后发送协议命令(系统存储器里面的bootloader程序,从flymcu打印的log来推断,至少包含了芯片信息查询、程序烧录、跳转到flash执行这三大功能)让单片机跳转到闪存地址执行,注意这里是从系统存储器程序里面直接跳转的(这一步需要在软件勾选 编程后执行 复选框才有的)

(6)收尾:以上烧录完成并执行以后,拉高DTR和RTS,恢复到平时的电平状态,断开Q2和Q3

STM32单片机

图3

4.BOOT0 BOOT1引脚电平对应的启动模式

STM32单片机

图4

5.除了初始和收尾,有四个阶段,用2张图来表示。图5是DTR和RTS的实际波形,图6是flymcu烧录软件打印的log信息。其中图6里面关于DTR和RTS电平的描述和实际波形相反,这是flymcu软件的问题。

STM32单片机

图5

STM32单片机

图6

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分