前几天看到了卓晴公众号写的三篇关于STC系列单片机的下载电路,然后结合了其他的文章,对下载电路有了更加深入的了解,在这里我梳理一下自己的学习过程,附上完整的资料,方便日后查看,也方便有兴趣的同学交流讨论,也请大家批评指正。

分析已有的下载电路

这是开发板原理图下载电路部分的电路图,见图1-1。

关于看原理图,注意到电路图只有一个芯片 CH340 ,因此先查看这个芯片的数据手册。
找到这个原理图中 CH340 芯片所需要用到的引脚,我用黄色标记出来。见 图1-2
然后是 CH340 的功能说明,我用黄色标注了一些重点参数,见 图1-3
我把 CH340 的概述截图出来,供大家了解,就不解释了。

最后,查找单片机手册关于下载电路的部分:STC89C51系列 在系统可编程(ISP)典型应用线路
由于电脑只有USB口,是5V供电,单片机只有串口,需要5V供电,因此找到USB转串口这个应用电路。见图1-4.

对CH340的分析

为了能够理解 图1-1 所示的电路图,先根据 图1-2 CH340 引脚。
VCC引脚 :正电源输入端,需要外接0.1uF退耦电容,也就是图1-1中电容 CC5 ,值为104,VCC接电脑的5V供电。

V3引脚 :根据图1-2中的说明,外接0.01uF退耦电容,也就是图1-1中电容 CV1 ,值为103,至于他左边的电容C9,应该是原理图忘记删掉了,实物中没有找到这个电容。

XI/XO引脚 :晶振12M,电容的参考值在 图1-2 中没有,但是参考 图1-4 后,电容取22pF,和图1-1相匹配。

TXD/RXD :初看 图1-1 ,本来是TXD和RXD和单片机交叉相连的,怎么TXD和TXD连接起来,结果一看MCU的接线,原来在MCU部分,网络标号已经是交叉相连了,见下图1-5。
特别注意的是 ,参考图1-4, CH340 TXD RXD 要加一个反向二极管和电阻。这里我引用一下其他文章里面的解释。

CH340芯片的发送引脚TXD上接一个反向二极管,然后再连接到对端IC。在接收引脚上加一个限流电阻来防止对端IC对CH340倒灌电。通过反向二极管的原理是:在CH340发送数据时,发送高电平时二极管截止,但是由于对端RXD默认上拉也是高电平不会有采样问题,而发送低电平时二极管导通,对端RXD接收到低电平,因此可以正常通讯。并防止了CH340的TXD发送引脚将电流倒灌到对端IC。通过限流电阻的原理是:倒灌电流导致芯片工作甚至闩锁效应,是由于引脚电流过大超过了芯片设计时容忍的上限导致芯片内部电路出现异常。因此加一个限流电阻就可以了,其他通讯场景也可以仿照此方法进行尝试。

对CH340外围电路的分析

在这里,我把 CH340 DTR RTS 引脚构成的电路成为CH340外围电路。关于这部分电路的理解,需要参考STC89C51数据手册,关于 在系统可编程(ISP)原理使用说明 ,见下 图2-1。

图2-1
在这里插入图片描述
对于 冷启动 这个名词,还有 复位 ,需要参考STC89C51数据手册,关于复位的解释,如下图2-2。

结合上述两张图可以得出这样一个结论,下载程序必须要 冷启动 ,冷启动检测是否有下载命令流的这个过程在复位操作前,因此复位,即热启动,是无法下载程序的,必须要让单片机完全掉电再上电。

通过和学长的交流,我知道了冷启动以后是执行 bootloader 程序,是芯片启动文件,检测到下载流以后,会进入程序下载模式,这个程序是在复位操作前的。

说了这么一大堆,那么这个到底和外围电路有什么关系呢?

不妨把 图1-1 中外围电路去掉,但是USB5V直接接单片机VCC,这样在下载程序过程中,对于下载电路引出的4个脚,VCC,GND,TXD,RXD,其他引脚要先用杜邦线连接好,但VCC必须要先断开,在电脑上点击下载后,再立马插上去,这样才能做到冷启动下载程序,不过必须要在很短时间内用杜邦线插好VCC,不然就过了程序流检测时间,无法下载。

因此,这种操作比较麻烦,由此引申出 一键下载电路 这个概念,CH340的外围电路就是实现 一键下载 功能的。下面来具体分析这个电路是如何实现的。

一键下载电路

在分析之前,需要了解 CH340 DTR RTS 引脚的作用,我参考 图1-2 时没有理解他写的意思,查了其他文章之后,才知道,这两个引脚由下载软件控制。

1、初始 :默认均为高电平。
2、下载开始 :RTS先变为低电平,DTR后为低电平。
3、下载结束 :RTS先变为高电平,DTR后为高电平。

搞清楚这个以后,再看 图1-1 Q1 ,是表贴PNP型的BJT,PCB丝印为 2TY ,型号为 S8550

Q11 ,根据实物的PCB丝印,是丝印为 A1SHB ,型号为 PL2301 的MOS管。

基于BJT和MOS管分析,可以发现外围电路就是构成了逻辑门电路,参考数字电路第三章。这里默认 POWER 开关是闭合的。

1、初始 RTS DTR 均为高电平,发射结电压为0,CE之间断开,MOS管G极接下拉电阻得到低电平,由于是耗尽型PMOS,G极低电平使MOS管导通,当使得D极供给了单片机电源,同时点亮了LED指示灯,此时执行最新烧写进的程序。

2、下载开始 :当点击软件的下载键时, RTS 先变低,此时发射结正偏,BJT导通,这时G极的电平就是 DTR 的电平,即高电平,MOS管截止,单片机掉电。
接着, DTR 变低,BTJ截止,MOS管导通,单片机上电。就是这个下载开始的过程,实现了单片机的冷启动,整个过程只需要点一次鼠标,不需要插杜邦线,称之为 一键下载

3、下载结束 :这个过程也体现了图1-1电路的巧妙之处, RTS 先变高, DTR 后变高,整个过程保证了单片机一直处于有电状态,如果电路设计不当造成变化是相反的结果,单片机就会掉电出问题。

如果要换成我们自己设计下载电路,就需要紧紧结合器件的 数据手册 ,严格参数和选型,手册是最重要的依据,当手册看不懂的时候可以查阅别人写的文章,需要多看多想。至于MOS管,BJT,二极管,电阻的选择,更需要结合他本身的参数去计算 静态工作点 ,当然也需要知道常规的经验值和型号。花了几天时间理解了这个电路,我将目前学到的很多知识融会贯通,解决了一个实际问题,还是很兴奋的,当然关于下载电路还有很多其他需要考虑的,这里也只是浅显地谈了谈自己的认识,希望读者批评指正交流。

最后附上清华大学卓晴公众号的文章链接及其他文章:
全自动STC下载电路设计 . Prolific PL2303SA 调试 . STC单片机下载实验 . 基于CH340G的STC单片机一键下载电路 . 正点原子stm32f103mini版串口下载BOOT0引脚与与CH340G芯片引脚RTS、DTR、的关系原理 .

下面是我第一次写博客,然后保留的一些新手教程,可直接忽略。

撤销: Ctrl/Command + Z
重做: Ctrl/Command + Y
加粗: Ctrl/Command + B
斜体: Ctrl/Command + I
标题: Ctrl/Command + Shift + H
无序列表: Ctrl/Command + Shift + U
有序列表: Ctrl/Command + Shift + O
检查列表: Ctrl/Command + Shift + C
插入代码: Ctrl/Command + Shift + K
插入链接: Ctrl/Command + Shift + L
插入图片: Ctrl/Command + Shift + G
查找: Ctrl/Command + F
替换: Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次 # ,并按下 space 后,将生成1级标题。
输入2次 # ,并按下 space 后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用 TOC 语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

H 2 O is是液体。

2 10 运算结果是 1024.

插入链接与图片

链接: link .

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置 页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片 .

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

创建一个自定义列表

Markdown Text-to- HTML conversion tool Authors

如何创建一个注脚

一个具有注脚的文本。1

注释也是必不可少的

Markdown将文本转换为 HTML

KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

  1. 注脚的解释 ↩︎

前几天看到了卓晴公众号写的三篇关于STC系列单片机的下载电路,然后结合了其他的文章,对下载电路有了更加深入的了解,在这里我梳理一下自己的学习过程,附上完整的资料,方便日后查看,也方便有兴趣的同学交流讨论,也请大家批评指正。分析已有的下载电路文档资料这是开发板原理图下载电路部分的电路图,见图1-1。图1-1关于看原理图,注意到电路图只有一个芯片CH340,因此先查看这个芯片的数据手册。... DS(14脚):串行数据输入端,级联的话接上一级的Q7脚; Q7(9脚):级联输出端,将他接载下一个595的DS端。; SH_CP(11脚):上升沿时数据从DS串行输入。移位寄存器的数据移位。Q0->Q1->Q2->…–>Q7. ST_CP:上升沿时数据从Q0----Q7并行输出。 /MR:低电平时将移位寄存器的数据清零。通常将它接在VCC。 /OE:高电平时禁止输出(高阻态),通常将她接在GND.
网上有好多关于CH340G的原理图,既然都用贴片芯片了,为什么不用免外加晶振的CH340C芯片呢?于是我就做了一个CH340C的下载模块兼串口通信!下附元件清单、原理图和实物图。 元件清单: CH340C芯片 *1 贴片转直插转接板SOP16 *1 万能板 *1 B型USB接口 *1 104瓷片电容 *2 LED...
基于STC89C51单片机的温湿度检测系统电路原理主要包括传感器模块和控制模块两部分。传感器模块检测环境中的温度和湿度,并将检测结果通过模拟信号输出给控制模块。控制模块通过模拟信号转换芯片将模拟信号转换为数字信号,然后使用ADC采样器将数字信号转换为数字量,最后将数字量传输给STC89C51单片机进行处理。 传感器模块通常由DHT11/DHT22温湿度传感器和放大电路组成,放大电路可以将传感器输出的微弱模拟信号进行放大和滤波,使信号更加稳定和准确。控制模块由STC89C51单片机、ADC采样器、LCD液晶屏幕和连接接口等组成。STC89C51单片机负责驱动ADC采样器进行采样和转换,将数字结果存储在内部存储器中并通过串口传输给LCD液晶屏幕,最终在屏幕上显示。 在电路中,还可以加入一些保护和驱动电路来保证系统的安全和可靠。例如,可以加入继电器电路和报警电路,当温湿度超出设定范围时,继电器将自动切断电源并触发报警器进行报警,从而实现对温湿度环境的实时监测和保护。 总之,基于STC89C51单片机的温湿度检测系统电路原理非常简单明了,具有方便快捷、准确稳定和安全可靠等优点,可以在家庭、办公室、工厂和实验室等不同应用场合中广泛使用。