全自动STC下载电路设计
本文介绍了STC下载的过程,并设计全自动STC下载电路,使得整个下载过程不需要人工干预,这就大大提高的程序的开发效率,使得通过下载-运行-测试 模式完成程序的开发。
STC下载模式介绍
STC单片机ISP下载程序过程具有非常确定的流程,通过以下三个步骤。
- PC在TXD每隔10ms发送两个相连的0xff字节;
- 单片机上电,并发送给相关的信息;
- PC重新握手后继续完成芯片的擦写和下载程序。
其中单片机上电,进行冷启动是一个必要的环节。往往在单片机设计的时候。这部分通过手动的机械开关来给单片机上电。设计的全自动下载电路就是来替代手动上电的环节。
为了避免单片机从下载串口管脚获取电能,则需要通过电阻和二极管来进行有效的隔离。
相关的下载实验参见下面的博文:
- STC单片机下载实验
STC下载程序界面。其中最低波特率设置为19200, 最高波特率设置为115200下载的成功率比较高。至于其它的设置为何单片机无法下载,还无法进行解释。
▲ STC-ISP(V6.87C)下载程序界面
全自动下载电路
1. 基本原理
计算机下载程序时,会在串口(或者USB转串口)的TXD管脚上出现低电平脉冲,并且在整个下载程序过程,TXD都会有低电平脉冲。设计的电路板可以通过检测该低脉冲,来产生单片机电源上电控制脉冲,使得单片机断电,然后重新上电。模拟原本手工操作的过程。
单片机供电部分,原本通过一个开关,现在是通过一个受控继电器开关完成掉电和上电过程。
2. 电路的功能描述
根据前面描述的原理,全自动下载电路包括有两部分:
- USB转串口电路:这部分是由PL2303(SOP-8)完成;
- 电源控制电路:这部分包括有两个单稳态时间定时电路和继电器电路组成;
电路功能框架如下图所示:
▲ 全自动下载电路框图
关于USB转串口部分可以参见博文“Prolific PL2303SA 调试”中的内容,在这里就省略了。
电源控制电路中,可重复触发单稳态定时器是将微机串口TXD上的脉冲合并成一个大的脉冲。该脉冲再驱动后面的单稳态定时器形成一个电源开关脉冲信号,驱动继电器完成单片机的电源开关。
观察STC的下载程序的波形,可以看到在整个下载过程中,脉冲中的最大时间间隔在0.5~1秒钟,所以设计可重复触发的单稳态定时器的时间常数需要大于一秒钟。
▲ STC下载程序过程
考虑到单片机掉电过程中,电路中包括有储能电源滤波电容,需要放电,根据手工测试,掉电时间大于1秒钟基本上可以保证单片机电路可靠掉电。所以第二个单稳态定时器的时间设置为1秒钟。
使用继电器来控制单片机的电源,可以适应单片机电路工作不同的电流范围。这比使用半导体开关器件有更加可靠的控制效果。另外,这也可以将调试电路的工作电源与下载板的工作电源有效的隔离。
3. 电路原理图
工程目录: AD\Test\2020\STCTest\AutoDL
(1)电路图
全自动程序下载接口板的原理图如下图所示。
▲ 全自动程序下载接口板
(2) 电路功能描述
定时器使用施密特反相器74HC14来设计。由于HC14中包括有六个相同的反相器,而在实际中只需要三个。所以为了保证工作的可靠和接近理想状态,就将HC14中六个反相器并联成三个反相器。
第一组反相器是对TXD信号进行隔离,并驱动后面的二极管+RC电路。二极管D1, 电阻R11,电容C1,C2组成了可重复触发的单稳态电路,有第二组反相器整形后,驱动后面的单稳态定时器。
第二组定时器是由电容C20,电阻R12以及D3组成,最后经过第三组反相器形成开关脉冲,通过三极管T1驱动继电器RL1完成单片机电源的断开与接入。
PL2303输出的RXD信号也通过继电器RL1另外一组开关与单片机相连,这样也可以确保在单片机断电的时候,RXD不会给单片机供电。PL2303的TXD还是通过二极管D2与单片机相连,可以在单片机掉电时不向单片机供电。
(3)辅助电路功能
除了上面主要电路功能之外,按钮BTN1可以实现手动控制继电器的开关,在必要的时候手动控制下载过程。
发光二极管LED显示可重复触发单稳态电路的状态。当它灭的时候,才能够进行下一次程序下载;当LED亮的时候,说明上一次下载过程还没有完成,此时不能够进行下载程序。
4. PCB板
绘制实验电路,其中为了适合快速单面制版,对电路元器件的布局和布线做了考虑。如果使用商业制版,可以考虑双面排布元器件,以便进一步缩小电路的面积。
▲ 全自动程序下载接口PCB板
经过快速制版和焊接,形成的量全自动下载电路的测试版。如下图所示:
▲ 快速制版后的测试电路板
根据原理图设计,下载板的五个引线的功能定义如下表所示:
序号 | 功能 | 符号 |
---|---|---|
1 | 工作电源 | +5V |
2 | 单片机电源 | +5VC |
3 | 底线 | GND |
4 | 串口输入 | RXD |
5 | 串口输出 | TXD |
功能测试
1. 测试单片机系统
使用STM15W415AS单片机的实验板作为测试,利用面包板固定测试单片机电路板。将下载板的接口通过面包板与测试单片机板的电源、下载串口线相连。
▲ 全自动下载板与测试电路
2. 测试过程
设置STC的ISP程序,选择MCU型号,调入测试程序。设置最低波特率为19200, 最高波特率115200。
(1)测试下载程序
按动下载/编程按钮,便可以开始下载程序。此时下载板上的继电器会自动断开一秒钟,然后重新上电。ISP程序完成握手信号之后,对单片机进行擦除、编程等过程。当操作成功之后,经过大约2秒钟,下载板上的LED熄灭。之后便可以进行下一次的程序下载了。
▲ 自动下载程序
(2)测试“检测MCU选项”
按动“检测MCU选项”,可以自动完成单片机的选项测试。
小结
在单片机开发中,为了简化调试过程,可以通过迭代“下载-运行”过程完成程序的开发验证过程。使用全自动下载电路板,则可以避免在程序下载过程中的手动开关,提高程序开发的效率。
在STC-ISP程序中,包括有“当目标文件变化时自动装载并发送下载命令” 选项,利用该选项,可以在程序开发IDE完成对工程文件编译之后,自动触发ISP程序下载。此时,全自动下载板将原来手工对电源控制的过程省略,实现了程序的修改-编译-下载-观察的自动过程,提高了程序开发的效率。
本文所涉及到的电路板的AltiumDesign工程文件可以CSDN中下载。
参考博文:
- STC单片机自动下载调试器设计
全自动STC下载电路设计相关推荐
- 51单片机usb烧录电路_STC51单片机自动ISP下载电路设计 - ch340g单片机下载程序电路原理...
STC51单片机自动ISP下载电路设计 1.51单片机程序下载原理 51单片机程序烧写接口为RXD和TXD,即UART口,这两个接口是通信口,配合不同的芯片可以实现不同的通讯方式.如果连接MAX232 ...
- STM32F103C8T6下载电路设计
STM32F103C8T6烧录下载方法大体上有三种,分别为JTAG下载,SWD下载,以及串口下载. JTAG下载,JTAG全名为Joint Test Action Group,即为联合测试行动小组,是 ...
- 【ESP8266 快速入门】硬件:ESP12S/ESP12F最小系统设计及typeC自动下载电路设计
[ESP8266]ESP12S/12F 最小系统设计及typeC自动下载电路设计 0.引言 ESP8266面向物联网应用的,高性价比.高度集成的 Wi-Fi MCU. 芯片ESP8266EX采用的QF ...
- 测试几款STC下载电路
对于手边的一盒STC单片机,测试一下它们使用相同的ISP方案在下载过程中是否都可以按照相同的方式完成程序的下载.同时对它们建立各自的元器件库,以便于后期的应用. ▲ STC单片机 1. STC15W4 ...
- STC 下载 自动波特率 设计
虽然STC的资料和网站土了一点,但是单片机用起来还可以的. 由于下载软件STC-ISP界面十分丑陋,并且不稳定,经常下载失败,所以产生了分析下载协议,重新编写软件,以及制作脱机下载器的想法. 第一 ...
- 硬件设计--stm32自动下载电路设计
1 参考博客: 1.Stm32 一键下载电路详解 2.启动模式,BOOT0和BOOT1详解 3.STM32自动ISP电路设计 4.STM32 USB接口 一键下载电路详解与过程分析 2 下载软件分享: ...
- ESP01S CH340 一键下载电路设计
ESP01S BOOT 选择 从图中可以看到,只要在下载模式将 GPIO0 拉低,运行模式拉高就可以实现一键下载. 对于 CH340G 这款 USB 转串口,可以利用 DTR 在下载程序是为低电平,程 ...
- CH340C的ESP8266一键下载电路设计
▶ 概述 CH340 是一个 USB 总线的转接芯片,实现 USB 转串口或者 USB 转打印口.在串口方式下,CH340 提供常用的 MODEM 联络信号,用于为计算机扩展异步串口,或者将普通的 串 ...
- STC单片机功率控制下载板
作者:卓晴博士,清华大学自动化系 更新时间:2020-09-06 Sunday 01为什么制作下载功率板? 在调试中,使用 STC8单片机下载电路 调试电路开发板的时候,如果电路板的功率比较大,直接使 ...
最新文章
- 异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
- Java数据结构和算法:数组、单链表、双链表
- YJango的循环神经网络——实现LSTM YJango的循环神经网络——实现LSTM YJango YJango 7 个月前 介绍 描述最常用的RNN实现方式:Long-Short Term Me
- 生产者、消费者问题之闹钟
- SAP 电商云 Spartacus 5_0.md 迁移文档的编写格式
- URAL 1830 Help in the RNOS 思路,读题 难度:1
- 微型计算机机房湿度不宜过大对,2013年计算机等考三级PC技术练习题及答案(1)...
- PaddlePaddle(1)——让人拍案叫绝的创意都是如何诞生的
- 卷积神经网络中的参数计算(转载)
- 集丰照明|如何深度解读 LED 标准?
- ArcGIS矢量图层面积计算方法
- 一本笔记,看懂《未来简史》!
- 扎堆涌入“慢病管理”赛区,互联网医疗们看见了怎样的未来?
- NFT Insider #62:The Sandbox宣布与狮门影业达成合作,红杉资本继续扩大Web3领域投资
- 四时之气,汇聚英豪胆略
- redhat 7.4 安装php,在 CentOS 中安装 PHP 7.4 的方法
- UDP协议、广播、组播和多路复用(网络编程二)
- 以太坊天价手续费转账真相:资金盘项目GoodCycle上演误杀瞒天记!
- 怎样调用星图地球数据云的开发接口?
- mysql between优化_10 分钟搞明白 MySQL 是如何利用索引的!
热门文章
- 一段使用cURL实现的网页抓取源码,支持POST,Cookies,代理,自定义头.
- 关于MYSQL中like 检索汉字问题。
- mysql单机多实例——方法1
- hdu1166 敌兵布阵
- Thinkphp怎样修改模板标签定界符
- Scala --- 第三章 数组相关操作
- SSRS 2012 仪表 -- 关键绩效指标
- hadoop之 Zookeeper 分布式应用程序协调服务
- location.href使用方法总结
- 100% .NET Control_使用CurrencyManager 创建一个导航条来控制DatagGrid的XNavBar控件(VB.NET)....