自制STC单片机下载电路,再也不用人工干预了
时间:2022-10-21 23:30:01
关注 星标公众号,不要错过精彩的内容
来源 |TsinghuaJoking
STC下载和使用单片机程序ISP模式,通过微机串口或USB连接到单片机上的特定下载端口进行下载。调试器可以完成单片机的开发,无需任何第三方下载器,使用非常方便,但缺点是每次下载都需要手动复位。
本文介绍了一种全自动STC通过下载电路,整个下载过程不需要人工干预,大大提高了程序的开发效率下载-操作-测试完成程序开发的模式。
STC介绍下载模式
STC单片机ISP下载程序过程具有非常确定的流程,通过以下三个步骤。
PC在TXD每隔10ms发送两个相连的0xff字节;
单片机上电并发送相关信息;
PC重新握手后,继续完成芯片的擦写和下载程序。
其中,冷启动是单片机上电的必要环节。通常在设计单片机时。这部分通过手动机械开关给单片机上电。设计的自动下载电路是替代手动上电。
为避免单片机从下载串口管脚获取电能,需要通过电阻和二极管有效隔离。
下载实验见以下博文:
STC单片机下载实验
STC下载程序界面。最低波特率为19200, 最高波特率设置为115200,下载成功率较高。至于为什么单片机不能下载其他设置,无法解释。
全自动下载电路
1. 基本原理
在串口(或USB转串口)的TXD低电平脉冲出现在管脚上,在整个下载过程中,TXD会有低电平脉冲。设计的电路板可以通过检测低脉冲产生单片机电源上电控制脉冲,使单片机断电,然后重新上电。模拟手动操作过程。
单片机供电部分最初通过开关,现在通过控制继电器开关完成断电和上电过程。
2. 电路功能描述
根据前面描述的原理,全自动下载电路包括有两部分:
USB串口电路:这部分是由PL2303(SOP-8)完成;
电源控制电路:这部分包括有两个单稳态时间定时电路和继电器电路组成;
如下图所示:
关于USB可参见博文转串口Prolific PL2303SA 调试[2]这里省略了内容。
在电源控制电路中,可重复触发单稳态定时器是TXD上脉冲合并成大脉冲。脉冲再次驱动后单稳态定时器形成电源开关脉冲信号,驱动继电器完成单片机电源开关。
观察STC脉冲的最大时间间隔为0.5~一秒钟,因此设计可重复触发的单稳态定时器需要一秒钟以上的时间。
考虑到在单片机断电过程中,电路包括储能电源滤波电容器,需要放电。根据手动测试,断电时间大于1秒基本上可以保证单片机电路的可靠断电。因此,第二个单稳态定时器的时间设置为1秒。
利用继电器控制单片机的电源,可以适应单片机电路的不同电流范围。这比使用半导体开关设备具有更可靠的控制效果。此外,它还可以有效地隔离调试电路的工作电源和下载板的工作电源。
3. 电路原理图
(1)电路图
全自动程序下载接口板的原理图如下图所示。
(2) 电路功能描述
使用施密特反相器74HC14设计HC14包括六个相同的反相器,实际上只需要三个反相器。因此,为了确保工作的可靠性和接近理想状态,HC六个反相器并联成三个反相器。
第一组反相器是对的TXD隔离信号,驱动后面的二极管 RC电路。二极管D1, 电阻R11,电容C1,C2形成可重复触发的单稳态电路,由第二组反相器整形后驱动后面的单稳态定时器。
第二组定时器由电容器组成C20,电阻R12以及D由三极管组成,最后通过第三组反相器形成开关脉冲T1驱动继电器RL完成单片机电源的断开和接入。
PL2303输出的RXD信号也通过继电器RL另一组开关与单片机相连,也可以保证单片机断电时,RXD不会给单片机供电。PL2303的TXD或者通过二极管D与单片机相连,在单片机断电时不能向单片机供电。
(3)辅助电路功能
除上述主要电路功能外,按钮BTN手动控制继电器开关,必要时手动控制下载过程。
发光二极管LED显示可以重复触发单稳态电路的状态。下一个程序只有在它熄灭时才能下载;当LED亮的时候说明最后一个下载过程还没有完成,这个时候不能下载。
4. 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程序下载。此时,全自动下载板将原来手工对电源控制的过程省略,实现了程序的修改-编译-下载-观察的自动过程,提高了程序开发的效率。
下面使用touch命令来模拟修改HEX文件,可以看到可以直接触发ISP程序完成自动单片机程序下载。
▲ 使用touch命令来修改HEX文件,触发自动下载过程
本文所涉及到的电路板的AltiumDesign工程文件可以CSDN中下载。
参考资料
[1]
STC单片机下载实验: https://zhuoqing.blog.csdn.net/article/details/105448141
[2]Prolific PL2303SA 调试: https://zhuoqing.blog.csdn.net/article/details/105442910
声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
------------ END ------------
后台回复『单片机』『嵌入式软件设计与开发』阅读更多相关文章。
欢迎关注我的公众号,回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
欢迎关注我的视频号:
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。