上一篇链接
http://www.cnblogs.com/yangfengwu/p/8743936.html
这一篇说一下自己板子的 51 单片机自动冷启动下载原理, 我挥舞着键盘和鼠标, 发誓要把世界写个明明白白, 突然想起来第一行代码的那句话了.
当接上 usb 线连接到电脑上的时候
看一下 RTS 引脚的变化, 这个信号是连络信号
所以很多用继电器实现的自动下载在接上电的时候会先啪啪啪的动作一下继电器
说一下当点击下载的时候 CH340G 的 RTS 和 DTR 引脚的变化
先说一下平时 RTS 和 DTR 都是高电平, 正常的串口通信也是高电平,
下载的时候会变化, 这样的时候也会变化
不过只有第一次打开使用的时候才会有信号, 其余都是高电平
按照上面的接法当点击
咱们就是利用这个信号, 其实应该利用两个信号, 我是为了简单实用所以只用的 RTS 信号
我的最初的想法是在 RTS 来一个下降沿的时候触发一个什么延时电路控制一个三极管或者场效应管(管子为 51 提供电源), 断电,
不知道亲们看没看过我这篇文章
http://www.cnblogs.com/yangfengwu/p/4933033.html
利用 74hc123 是最好的选择
我把 RTS 的信号接到 123 的 A 引脚上来一个下降沿 Q 引脚就会输出一个高脉冲, 脉冲的时间利用电阻 R 和电容 C 控制, 然后 Q 引脚接到 PNP 三极管
或者 P 沟道的场效应管上就可以实现, 点击一下下载单片机就会断电上电, 然后程序就下进去了, 自己没有用 123 是因为 123 的引脚太多... 占空间................
看一下我的原理图
先说 NE555 的电路
这种接法是 NE555 的 2 引脚来一个低电平 3 脚就会输出一个高脉冲(脉冲时间由 C25 和 R66 决定), 记住 2 引脚是来一个低脉冲信号
如果 2 引脚一直是低电平那么 3 脚就会一直输出高....
这里就不说大约延时的时间了亲们可以自己去查资料, 或者直接示波器去量, 因为我也不知道...................
所以我的做法
一开始稳定的时候 2 脚是高电平, 当 RTS 来一个低电平, 由于是突然一下子, 电容 (可以用一个电容就可以) 以为是交流电呢, 所以低电平就过来了, 2 脚是低电平, 3 脚开始输出高电平, 如果 RTS 保持了低电平一会电容开始充电哈, 然后 2 脚又变成了高电平, 这样的话 2 脚就相当于来了一个低脉冲. 3 脚会根据延时多少再变回低电平.
不过呢实际的信号
一通电的时候, 2 引脚是高电平而且电压大于了 A2 比较器的反向输入端 所以 S 输出高 S=1;
常理来讲
6 引脚和 7 引脚突然的一上电由于有电容 C25(先给电容充电)所以 6 引脚和 7 引脚应该是低电平(不是真的低, 是不太高的电平)
当然 5 脚也接了一个电容, 但是呢, 容值小一点, 所以 5 脚是大于 6 脚的, 所以 R 也是 1......
都是 1 不定态.......... 现在就要看不定态输出的数高还是低了
我用示波器看的, 测量的 3 引脚和 6 引脚, 发现都是低电平, 当然一上电的时候稍微有一点高的波动(电压不是很高大约 0.5V 的波动)
所以一上电的时候 Q 输出的是 1
里面的三极管导通
所以 6,7 引脚输出的都是低电平
现在呢让 2 引脚来一个低脉冲信号 (只要小于 1/3 的 VCC) 就会小于比较器的反向输入端, 记得哈是低脉冲信号, 最后 2 是高电平, 所以 S 输出 0
R 咱知道是 1, 所以
然后
经过了一个非门 所以 3 输出高
当然因为 Q 是 0 所以三极管截止,,, 开始给 C25 充电
假设 2 脚中途没有信号过来了, 当充电达到 6 脚电压大于 5 脚电压的时候经过比较器, 所以 R==0
现在 3 脚就会输出低电平, 三极管也会导通, 又开始给电容放电...................... 然后又变成了原来的样子
假设 2 引脚中途又有低脉冲信号
2 引脚先来下降沿的时候, 按照上面说的 3 引脚确实输出 1;
现在呢又来了一个上升沿, 来上升沿的时候 6 引脚的电压还没大于 5 引脚的电压呢,,, 因为我放的电容和电阻较大, 充电慢些, 所以 R 输出 1
R=1,S=1, 不定态,,,,,, 一看 3 脚电压输出的是低................................ 不定态的时候 Q 输出的是 1
所以才会造成了
当然可以前级加一些电路让它只有一个下降沿, 我是为了用的芯片最少
注意哈
这个电容最好是用有极性的, 我用 10UF 是因为自己板子上常用 10UF 的
这个充电的电阻最好大于 20K, 让单片机有充足的断电时间, 单片机的电路可千万别加储能电容哈,,,, 要是有的话还要考虑放电
亲们可以根据自己的信号去分析别人的一键下载哈,
还有一个地方要说一下
4 引脚接电容然后接 5V 和接 GND,RTS,DTR 产生的信号是不一样的, 后期用示波器测量后补上,
有时候参考资料只是参考资料, 很多东西还是要靠自己动手去实践, 实践才出真知. 很多人都喜欢用懒来给自己找借口, 你自己不做出改变, 谁都救不了你, 你也别指望谁会救你, 你要靠自救.
为什么我接电容然后 5V, 因为自己测试发现如果接一个电容接地, 有时候会出现无法识别设备....
来源: https://www.cnblogs.com/yangfengwu/p/8757036.html