ISP下载失败的解决过程(硬件)

ISP下载失败的解决过程(硬件)

最近在做一个硬件项目,所用到的主控芯片是STC的STC8H1K16,在用STC官方的ISP烧录软件(v6.92)进行程序下载时出现了一些问题。在此记录一下发现的问题和解决过程:
下载工具用的是网上买的常见的USB转TTL模块,如下图
USB转TTL模块
线束连接为:5V—VCC, Tx—Rx,Rx—Tx,GND—GND,软件配置如下图
ISP软件
按网上的教程选择好单片机型号,配置好COM,波特率,选择程序文件。并按照STC的资料进行冷启动下载:先连接好GND,Tx,Rx后,点击“下载/编程”按钮,等右侧窗口区显示“正在检测目标单片机”后,再接上VCC给单片机上电。正常情况下,当单片机上电后,软件空白窗口区域会显示下载进度和一些参数。但我的软件界面始终显示“正在检测目标单片机”,多次尝试均是同样的现象
检测不到单片机
起初我怀疑是我用的USB转TTL模块坏了(看图片里模块已经伤痕累累了),就打算换一个模块,但是手头有没有现成的模块。无奈想到了手上的STM32开发板上有USB转TTL的电路,打算用开发板上的电路给STC8H1K16下载,如下图所示。
用开发板的ch340电路转接下载
将1处的跳线帽取下,将开发板的RXD和TXD与STC8H1K16连接,执行上述的冷启动步骤,结果发现问题依然存在,仍然是检测不到单片机。
接下来我逐步排查了一些可能的原因。首先是供电,检测了USB转TTL模块的供电,5V没问题;然后测量stm32开发板的5V供电,也是正常。然后用万用表二极管挡检测Tx和Rx信号线是否短路,也是一切正常。
在网上查阅资料后发现,ch340竟然能通过Tx引脚给单片机供电,实际用万用表测量发现在不连接VCC,只接串口和GND的情况下,单片机VDD引脚竟然有3.85V的电压。也就是这个电压使芯片不处于断电状态,也就无法冷启动了。像下图所说的这样:
电流倒灌现象

而图中给出的方法使ch340的Tx反向串联一个二极管,使电流无法倒灌进MCU。
随后又去查阅ch340的芯片手册,发现当ch340芯片和MCU使用同一电源和各自独立电源时,对于硬件电路有不同的设计。当ch340芯片和MCU使用同一电源,ch340和MCU同时上电和失电,无电流倒灌问题,电路图如下所示,串口线直连即可。
ch340手册,统一供电

而STC8H1K16烧录程序须冷启动,ch340和MCU不同时供电,芯片手册给出的建议电路如下所示:
ch340手册,独立供电

对于Tx和Rx,均采取了防倒灌措施。对电路的描述如下:
描述

对于我这次的问题,我重点关注二极管D6和NMOS Q5的作用。其中提到的MCU内部二极管,我在STC8H1K16的手册中发现确是是这么回事,总结起来是下图所展示的这样。
电流倒灌路径

我查阅了STM32开发板的原理图,发现其中没有硬件防倒灌的设计(ch340与mcu同电源,无防倒灌可以理解)。而那个USB转TTL模块,也是没有防倒灌二极管,应该是为了节省成本。
最后的最后,虽然搞清楚了原因,但我的冷启动下载还是搞不定。经过多番搜索,在51论坛中,找到了网友的办法,虽然看起来很奇怪,但是一试还真成功了。具体办法就是先接好串口线,点击下载按钮后同时插VCC和GND,这样就完成了冷启动过程(佩服佩服!!)。这里贴上链接:电流倒灌怎么冷启动下载
这次的问题总结起来,是没有仔细查阅芯片手册,CH340这种常用芯片的外围电路应该熟练掌握才对!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值