你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STC单片机下载的过程

[复制链接]
gaosmile 发布时间:2020-11-22 10:19

STC单片机的程序下载使用ISP模式,下载程序通过微机上串口,或者USB转串口,与单片机上特定的下载端口相连进行下载。不需要任何第三方的下载器,调试器便可以完成单片机的开发,使用起来非常方便。

微信图片_20201122101506.jpg

本文介绍了STC下载的过程,并设计全自动STC下载电路,使得整个下载过程不需要人工干预,这就大大提高的程序的开发效率,使得通过下载-运行-测试 模式完成程序的开发。

STC下载模式介绍

STC单片机ISP下载程序过程具有非常确定的流程,通过以下三个步骤。

  • PC在TXD每隔10ms发送两个相连的0xff字节;
  • 单片机上电,并发送给相关的信息;
  • PC重新握手后继续完成芯片的擦写和下载程序。

其中单片机上电,进行冷启动是一个必要的环节。往往在单片机设计的时候。这部分通过手动的机械开关来给单片机上电。设计的全自动下载电路就是来替代手动上电的环节。

为了避免单片机从下载串口管脚获取电能,则需要通过电阻和二极管来进行有效的隔离。

相关的下载实验参见下面的博文:

  • STC单片机下载实验[1]

STC下载程序界面。其中最低波特率设置为19200, 最高波特率设置为115200下载的成功率比较高。至于其它的设置为何单片机无法下载,还无法进行解释。

微信图片_20201122101510.png ▲ STC-ISP(V6.87C)下载程序界面‘

全自动下载电路


1. 基本原理

计算机下载程序时,会在串口(或者USB转串口)的TXD管脚上出现低电平脉冲,并且在整个下载程序过程,TXD都会有低电平脉冲。设计的电路板可以通过检测该低脉冲,来产生单片机电源上电控制脉冲,使得单片机断电,然后重新上电。模拟原本手工操作的过程。

单片机供电部分,原本通过一个开关,现在是通过一个受控继电器开关完成掉电和上电过程。

2. 电路的功能描述

根据前面描述的原理,全自动下载电路包括有两部分:

  • USB转串口电路:这部分是由PL2303(SOP-8)完成;
  • 电源控制电路:这部分包括有两个单稳态时间定时电路和继电器电路组成;

电路功能框架如下图所示:

微信图片_20201122101515.png ▲ 全自动下载电路框图

关于USB转串口部分可以参见博文“Prolific PL2303SA 调试[2]”中的内容,在这里就省略了。

电源控制电路中,可重复触发单稳态定时器是将微机串口TXD上的脉冲合并成一个大的脉冲。该脉冲再驱动后面的单稳态定时器形成一个电源开关脉冲信号,驱动继电器完成单片机的电源开关。

观察STC的下载程序的波形,可以看到在整个下载过程中,脉冲中的最大时间间隔在0.5~1秒钟,所以设计可重复触发的单稳态定时器的时间常数需要大于一秒钟。

微信图片_20201122101520.gif ▲ STC下载程序过程

考虑到单片机掉电过程中,电路中包括有储能电源滤波电容,需要放电,根据手工测试,掉电时间大于1秒钟基本上可以保证单片机电路可靠掉电。所以第二个单稳态定时器的时间设置为1秒钟。

使用继电器来控制单片机的电源,可以适应单片机电路工作不同的电流范围。这比使用半导体开关器件有更加可靠的控制效果。另外,这也可以将调试电路的工作电源与下载板的工作电源有效的隔离。

3. 电路原理图
(1)电路图

全自动程序下载接口板的原理图如下图所示。

微信图片_20201122101523.png ▲ 全自动程序下载接口板


(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板

绘制实验电路,其中为了适合快速单面制版,对电路元器件的布局和布线做了考虑。如果使用商业制版,可以考虑双面排布元器件,以便进一步缩小电路的面积。

微信图片_20201122101530.png ▲ 全自动程序下载接口PCB板

经过快速制版和焊接,形成全自动下载电路的测试版。如下图所示:

微信图片_20201122101534.png ▲ 快速制版后的测试电路板

根据原理图设计,下载板的五个引线的功能定义如下表所示:

[td]
序号
功能
符号
1工作电源+5V
2单片机电源+5VC
3底线GND
4串口输入RXD
5串口输出TXD
功能测试1. 测试单片机系统

使用STM15W415AS单片机的实验板作为测试,利用面包板固定测试单片机电路板。将下载板的接口通过面包板与测试单片机板的电源、下载串口线相连。

微信图片_20201122101537.gif ▲ 全自动下载板与测试电路


2. 测试过程

设置STC的ISP程序,选择MCU型号,调入测试程序。设置最低波特率为19200, 最高波特率115200。

(1)测试下载程序

按动下载/编程按钮,便可以开始下载程序。此时下载板上的继电器会自动断开一秒钟,然后重新上电。ISP程序完成握手信号之后,对单片机进行擦除、编程等过程。当操作成功之后,经过大约2秒钟,下载板上的LED熄灭。之后便可以进行下一次的程序下载了。

微信图片_20201122101541.gif ▲ 自动下载程序


(2)测试“检测MCU选项”

按动“检测MCU选项”,可以自动完成单片机的选项测试。

小结

在单片机开发中,为了简化调试过程,可以通过迭代“下载-运行”过程完成程序的开发验证过程。使用全自动下载电路板,则可以避免在程序下载过程中的手动开关,提高程序开发的效率。

在STC-ISP程序中,包括有“当目标文件变化时自动装载并发送下载命令” 选项,利用该选项,可以在程序开发IDE完成对工程文件编译之后,自动触发ISP程序下载。此时,全自动下载板将原来手工对电源控制的过程省略,实现了程序的修改-编译-下载-观察的自动过程,提高了程序开发的效率。

下面使用touch命令来模拟修改HEX文件,可以看到可以直接触发ISP程序完成自动单片机程序下载。

微信图片_20201122101545.gif
▲ 使用touch命令来修改HEX文件,触发自动下载过程

本文所涉及到的电路板的AltiumDesign工程文件可以CSDN中下载。



1 收藏 评论1 发布时间:2020-11-22 10:19

举报

1个回答
grayloach 回答时间:2020-11-23 19:44:38
这位兄台研究的东西好多哈!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版