目录

一、什么是一键ISP下载?

二、怎么使用FlyMcu下载程序?(对F407可能会下载不了)

二、怎么使用STM32CubeProgrammer(官方工具)下载程序?(还未尝试成功)

三、一键ISP是怎么实现的?


一、什么是一键ISP下载?

目前我们使用的野火霸天虎的板子自带串口下载电路,所以配合上位机下载程序时可以不修改开发板的BOOT设置。

ISP下载的方式与仿真器相比,只能下载程序,不能在线调试且下载速度慢。

目前USB转串口芯片已经集成到板子上,所以我们想要使用串口要先安装USB转串口驱动。

硬件平台:STM32F407ZGT6开发板如下

其中1代表的就是USB转串口接口,2代表的是RXD/TXD 通过跳冒接PA9和PA10,连接图:

3表示的是BOOT引脚,其中BOOT0和BOOT1默认接地。

二、怎么使用FlyMcu下载程序?(对F407可能会下载不了)

FlyMcu上位机软件是基于232逻辑电平标准

232电平标准与TTL电平的不同:

232 标准与 TTL 标准在逻辑电平上是相反的,所以导致实际硬件上是 DTR 高电平复位, RTS 低电平进入 bootloader,而上位机软件设置为 DTR 低电平复位, RTS 高电平进入 bootloader。

二、怎么使用STM32CubeProgrammer(官方工具)下载程序?(还未尝试成功)

1、BOOT0接1&BOOT1接0;

2、USB转串口USB线接电脑,开发板上电;

3、打开STM32CubeProgrammer,连接方式选UART,并选择端口号,点击连接。

此时我的因为之前用FlyMcu时芯片已经锁了,提示:

这时STM32CubeProgrammer就能解锁它,在连接之前勾选读出解除保护:(目前还没有尝试成功)

① 选择串口连接、 ② 用跳帽将 BOOT0 跳 3V3、 ③DTR 选为 1、 ④ 勾选 Read Unprotect(MCU) 解除读保护,即可连接串口下载程序。连接过程也可能会失败,确保 BOOT0 接 3.3V,需要多重启板子或者重启这个软件试。

三、一键ISP是怎么实现的?

还回到起初的问题:这样跳来跳去的太麻烦,而最优解--一键 ISP 需要做的事情就是用上位机去控制 BOOT0 脚和单片机的复位脚。

由图可知,一键ISP会使用到CH340芯片的DTR和RTS引脚来控制单片机的NRST和BOOT0。

分析:

1、通过上位机控制U5(CH340C)的RTS引脚为低电平Q5导通,BOOT0的电平上拉为高电平。上位机->U5 RTS低->ISP电路 Q5通->BOOT0高,即RTS低BOOT0高

2、通过上位机控制U5(CH340C)的DTR引脚为高电平,由于RTS为低电平Q3导通,U18的2脚为低电平,U18是一个模拟开关,使能端由 4 脚控制,默认高电平, U18 的 1 脚和 2 脚导通,所以 NRST 为低电平系统复位。上位机->U5 DTR高->由于RTS低,所以U18 2脚低->U18已使能,即1和2通,1通NRST,即NRST低 即DTR高NRST低

3、单片机进入ISP模式,此时可以将DTR 脚设置为低电平, RTS 设置为高电平。 Q3 和 Q5 为截至状态, BOOT0 和 NRST 还原默认电平。

4、上位机将程序下载到单片机,下载完毕之后,程序自动运行。

至此,很多人还会认为 U18、 Q3、 Q5 是多余的,用 U5 的 RTS 和 DTR 直接控制也可以。正常情况下,这样理解没有问题,但是我们忽略了一点,就是单片机上电瞬间如果 USB 转串口连接了电脑, DTR 和 RTS 的电平是变化的,如果不处理好,单片机会一直进入 ISP 模式,或者系统会复位多次,这种情况是不允许的。

于是,就有了我们全新的一键 ISP 电路。我们主要是分析上电瞬间的逻辑关系,单片机上电时我们通过示波器观察波形得知 DTR 和 RTS 的电平是变化的,但是也有一个规律就是:只要 RTS为低电平的时候, DTR 的电平也是低,因此一般情况 Q3 不会导通,但由于这两个 IO 口的电平存在“竞争冒险”,会出现 RTS 的下降沿的时候刚好遇到 DTR 的上升沿,这个时候 Q3 导通,导致系统复位,而 BOOT0 此时有可能也为高电平,就会进入 ISP 模式。这个是不受我们控制的,我们不想系统出现这样的情况。因此加入了模拟开关来切断这种干扰
加入模拟开关 U18,通过控制 U18 的 4 脚的开关来达到隔离干扰电平的目的。下面我们分析一下延时开关电路,上电瞬间,电容 C1 通过电阻 R43 来充电,由于电阻 100k 很大,电容的充电电流很小,等电容充电达到 U18 的 4 脚的有效电平 2V 时,大概耗时 1S,在这个 1S 时间内 U18的模拟开关是断开的,因此 RTS 和 DTR 的干扰电平不会影响到系统复位。系统正常运行。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐