历史上的今天
今天是:2024年09月17日(星期二)
2021年09月17日 | 原子的串口ISP一键下载研究
2021-09-17 来源:eefocus
把我弄晕了,CH340的DTR和RTS。。。
原子的原ISP一键下载图:

《STM32F1开发指南-库函数版本_V3.1 》中对下载电路的解释:

更直观的解释应该上张图:

总而言之,就是对BOOT0和BOOT1的赋值,为了简化电路,把BOOT1下拉到地,只需要控制BOOT0即可。
有个问题,不容忽视,复位完之后,进入ISP下载程序,下载完之后,并没有再用上位机控制BOOT0,反而也可以直接执行程序。
网上有人这样解释,

说实话不太能懂。
下载完之后,两个三极管断开,BOOT0,BOOT1全部被硬件上的电阻拉低,然后自动进入了运行模式?!~
附一张今天刚列的直观理解图,注意了,刚看的时候,一直有个误区,我以为DTR和RTS的变化是自动的,但是实际上是可以由上位机控制的!

但是参考《STM32库开发实战指南》P15页,有提到:
“单片机上电瞬间,CH340的DTR和RTS引脚是变化的。”
那刚上电的时候,CH340DTR和RTS的输出电平是什么样的呢?
这个还没实测过,但是看这本书里介绍,“当RTS为低电平的时候,DTR也是低电平”,那也意味着,会处于ISP的边缘,它离ISP只差一个复位脉冲。这两个IO还存在竞争冒险,也有可能出现一个RST的复位情况,此时也会进入ISP模式,但是想着,稳定后RTS和DTR都为高,又定会从程序开始执行。而我们软件控制肯定是等电平稳定之后。似乎这样分析起来没毛病,但是实践才是检验真理的唯一标准。
后期补上DTR和RTS的上电瞬间实测信号,这个应该多测几遍,避免偶然性。(说给自己听)
当然,直观上想避免这种上电的意外不可控情况,我们不想碰到,可以把它给隔过去,如何隔呢?延时。
不然DTR和RTS的变化影响到系统复位,换句话来讲就是,复位在1s后再受ch340的变化为变化不就可以了呢!
具体方案也有很多了,延时电路。。。。
参考资料
1、http://www.openedv.com/forum-2-1.html
2、http://www.cnblogs.com/einstein-2014731/p/4885300.html
3、《STM32F1开发指南-库函数版本_V3.1 》
史海拾趣
|
这个板子采用了STC的2052AD,可以支持8路8位分辨率的AD输入,我设计的这个用了其中4路,其他的IO口作为现实和驱动继电器用,支持1路继电器输出,4位数码管,1路报警蜂鸣器,所有单片机的引脚全部引出可以为外部扩展使用。… 查看全部问答> |
|
娱乐界的颁奖晚会、红地毯炒的沸沸扬扬,吸引N多媒体的目光,而为什么没有专门为科学家和工程师举办多一些这种活动? 美国《纽约时报》专栏作家Thomas L. Friedman提出建议,认为应该大力宣传像是“英特尔科学奖”颁奖晚会这样的活动,让其现场 ...… 查看全部问答> |
|
我想用中国移动的TD-SCDMA模块传输视频,开发板是ARM平台。ARM将视频采集压缩之后通过USB口传给TD模块,现在正确配置之后,能成功拨号并传输视频。 但是,目前传输效果很差,分辨率为352*288的CIF格式视频每秒只能传 ...… 查看全部问答> |
|
里面少几个 #include \".\\inc\\ASCII816.h\" //标准ASCII库 #include \".\\inc\\HZTable.h\" //汉字点阵库(自做) #include \".\\inc\\Menu.h\" //菜单库(自做) 这些文件我去那里找,怎么做请高手回答… 查看全部问答> |
|
请教大虾。。。基于s3c2440的wince下的GPS接收系统 小弟目前正在做毕业设计,题目rt。 ============================================================ 目前硬件已经搭建了,rs232 gps模块+mini2440开发板,在wince 5.0下用串口调试助手和GPSViewer等软件调试过,可以收到6颗星左右,功能还行。 = ...… 查看全部问答> |
|
(公司项目笔记及源码) QTOpia最新版本及Linux内核的arm移植 http://item.taobao.com/auction/item_detail.jhtml?x_id=0db2&item_id=fc0e4ae6d2507c66f0782f153aa43d4e… 查看全部问答> |
|
不知道动了什么东东,我在模拟器的startup中加了些文件并保存了改变,然后在evc中重新编译程序,就发现再也连接不上模拟器了,不知道怎么恢复到先前的状态,重装模拟器问题依然存在,请各位英雄帮帮忙?谢谢… 查看全部问答> |
|
我装的是evc4套件,顺序是:activesync--evc4--sp4--pocketpc2003.能装上,能打开编程环境和运行仿真器,可就是不能把程序下载到仿真器上运行,老是超时,提示:download failed.安装和运行时防火墙全是关闭的。总是出现这样的问题,不知道是怎么回事, ...… 查看全部问答> |




