历史上的今天
今天是:2024年08月22日(星期四)
2018年08月22日 | STM32串口一键下载电路
2018-08-22 来源:eefocus
在做基于STM32的多功能MP3播放器的课题时,在程序下载这部分时借鉴了正点原子开发板上的一键下载电路,采用CH340G这款芯片设计。
在画PCB初期原理图部分,对采用CH340G设计的一键下载电路不甚了解,于是花了一些时间来研究一下这个电路。
引用正点原子的一键下载电路:
CH340芯片版本:

PL2303芯片版本:
boot跳线帽:
我们通过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#拉低”,即软件设置和实际情况是取非的,相反的。
画个时序图,直观一些:

史海拾趣
|
冲动是魔鬼之——维修德生R-911的资料总集(checked) 本帖最后由 辛昕 于 2018-5-3 16:34 编辑 说起来,我早已忘记当年那个美女研究生小姐姐长什么样了,也根本没成功约过人家....... 倒是这一次疯狂的维修......... 没想到我后来的工作,甚至直到如今,都没改变这种毫无章法的风格.......... 真 ...… 查看全部问答> |
|
我想利用DCO产生一个320K的时钟给SMCLK用。看了手册没明白该怎么设置,手册上所说的8个离散频率是多少啊 有谁会告诉我下,该怎么设置DCO到320K,或告诉我怎么用具体的我自己设置… 查看全部问答> |
|
此实验在本人设计的LPC1114/LPC1343/LPC11U14开发板是验证成功:下面先秀秀图吧,下面是三种芯片三种开发板。SD卡在背面。。。 ...… 查看全部问答> |
|
在板厂制版的时候,大家可能会遇到要求发送光绘文件的情况,关于gerber文件的后缀分别代表什么意思呢?那就看看下面这个说明吧:GTL---toplayer 顶层GBL---bottomlayer 底层GTO---TopOverlay 顶层丝印层GBO---Bottomlayer 底层丝印层GTP---TopPaste ...… 查看全部问答> |
|
中国国际光电产业博览会暨第十七届中国国际激光、光电子及光显示产品展览会 展会场馆:北京朝阳区三环东路六号中国国际展览中心举办时间:2012年10月16日~2012年10月18日 第九届中国国际机器视觉展览会暨机器视觉技术及工业应用研讨会展 ...… 查看全部问答> |
|
Launchpad官网价格翻番9.9刀,论坛活动中正在以25元的价格发售(加触摸板) Launchpad价格已经翻了一番,论坛参加活动还能够25元获得launchpad+触摸板, 活动链接:https://bbs.eeworld.com.cn/TI/201303_MSP430_Launchpad/index.html 这个价格怕是最后一拨了,存货完了,launchpad就回不到25的时代咯。 [ 本帖最后由 wstt ...… 查看全部问答> |
|
DRV8833 为玩具、打印机及其他机电一体化应用提供了一款双通道桥式电机驱动器解决方案。 该器件具有两个H 桥驱动器,并能够驱动两个直流(DC) 电刷电机、一个双极性步进电机、螺线 管或其他电感性负载。 每个H 桥的输出驱动器模块由N 沟道功率MOS ...… 查看全部问答> |
|
用CCS 5 单步 调试时,如果遇到__delay_cycles(782000);怎么直接跳出,这个好像不是函数??? 如果是for循环语句又怎么跳出?? 还有什么调试技巧吗??… 查看全部问答> |




