一种基于USB带自动冷启动功能的STC-ISP下载器设计
2016-11-22粟慧龙韩雪
粟慧龙,韩雪
(1.湖南铁道职业技术学院 湖南 株洲 412001;2.湖南铁路科技职业技术学院 湖南 株洲 412001)
一种基于USB带自动冷启动功能的STC-ISP下载器设计
粟慧龙1,韩雪2
(1.湖南铁道职业技术学院 湖南 株洲 412001;2.湖南铁路科技职业技术学院 湖南 株洲 412001)
设计了一种基于USB带自冷启动功能的STC单片机下载器,文中对下载器的电路原理、软件编程以及关键控制信号进行了详细阐述和分析。下载器以STC15F104E作为主控单元,通过解析计算机USB端口与CH340T芯片通讯的MODEM联络信号,适时对目标单片机的电源进行控制,对其进行冷启动引,以实现单片机目标代码的自动下载,从而有效地解决目前笔记本和台式电脑没有RS232串口,无法进行STC单片机程序下载的问题。
USB;自动冷启;单片机;STC下载器;程序下载
近年来,STC单片机以保密性好、功能强、价格低、在线可编程等优点,在众多智能电子产品中作为核心控制器件广泛使用。STC单片机在出厂时已经为用户写入程序做了充分的准备,在单片机内部设计了ISP在线下载模块,通过厂家提供的STC-ISP下载软件,连接上RS232通讯电路,程序烧录前进行单片机的冷启动即实现程序下载。
目前一般的计算机,特别是笔记本电脑,大多没有配置RS232串口,而只配置了USB串口,为此,市面上针对STC单片机的USB转RS232串口下载器应运而生,通过对现有USB转RS232串口下载器的研究分析发现有以下特点:1)采用分立元件实现下载器的自动冷启动控制,电路比较复杂;2)有些型号的下载器不能实现程序的连续下载,需要进行USB的热拔插才能继续工作;3)不带自动冷启动功能,需要手动操作实现STC单片机冷启动才能完成程序的下载。针对现有STC单片机下载器的上述不足,文中设计了一种基于USB带自动冷启动功能的STC-ISP下载器。
1 STC单片机程序下载过程
STC单片机内部设计了在线编程模块,即ISP模块。经过对数据流的验证直接写入用户程序区,完成用户程序下载动作。
在线下载用户程序的过程如图1所示,先由PC机端发起ISP下载命令流,单片机冷启动,启动后先运行在出厂时已经写入ISP监控程序区的ISP监控程序[1-2]。当ISP监控程序检测到RXD引脚上存在ISP命令流时应答一组握手信号[3-4]。握手成功之后,PC机下载程序将单片机用户程序发送给单片机,单片机的ISP模块将接收到的用户程序写入用户程序区[5]。
当接收到PC机发来的数据传送完成标志后,单片机执行软复位指令,将程序指针指向用户程序区的起始地址,进而执行用户程序,从而完成用户程序下载的全过程[6]。
图1 STC单片机ISP过程
2 下载器硬件设计
2.1 下载器电路组成
下载器硬件主要由USB接口、USB-RS232串口转换电路、程序下载冷启动控制电路和下载接口组成。下载器电路原理如图2所示,U1、C1~C4、Y1构成USB-RS232串口转换电路,其中,C1、C2为电源滤波电容,Y1、C3、C4构成时钟振荡电路,给CH340T提供时钟脉冲;C5、U2、R1、Q1构成程序下载冷启动控制电路,STC15F104E的INT0脚与CH340T的RST引脚相连,用于检测CH340T的MODEM联络信号,INT0脚通电阻R1与Q1相连,通过控制Q1的通断实现对下载芯片的电源控制。
2.2 STC单片机冷启动控制原理
下载器通过USB接口,接收到上位机软件STC-ISP的ISP指令流后,USB-RS232转换芯片CH340T的RST引脚会输出一串由低电平引导的MODEM联络信号[2],STC15F104E的INT0脚检测到MODEM信号后,INT1脚输出2秒的高电平,关断Q1,使程序下载的单片机断电2 s。然后INT1脚保持低电平输出,Q1饱和导通,目标单片机得电,冷启动过程完成,MODEM联络信号及STC15F104E冷启动控制信号波形如图3所示。
图2 下载器电路原理图
图3 MODEM联络信号与冷启动信号波形图
3 下载器软件设计
下载器软件设计的关键是对CH340T的MODEM联络信号进行检测,并根据MODEM联络信号控制STC单片机的冷启动,从而确保单片机程序下载过程的顺利完成。下载器软件模块主要由MCU初始化子程序、MODEM联络信号起始边延检测中断子程序、MODEM电平脉宽测量中断子程序、冷启动定时中断子程序和主程序构成。
3.1 MODEM联络信号检测与冷启动处理
当用户使用STC-ISP软件发出程序下载命令,CH340T接收到ISP命令流后,CH340T的RST引脚会产生约5.3 s的MODEM联络信号,MODEM联络信号由3 s的低电平和若干个20 ms左右的方波脉冲信息号构成。
根据MODEM联络信号特点,结合STC15F104E的外部中断和定时器功能,采用了边沿检测和脉宽滤波的方法对MODEM联络信号进行检测,为确保MODEM联络信号的起始下降沿检测的准确性,首先对CH340T的RST引脚高电平脉宽进行测量,即在RST引脚产生下降沿之前,高电平脉宽必须大于50 ms,此时的边沿即为MODEM联络信号的起始下降沿,然后进行2 s的定时,同时关断目标单片机的电源,定时结束后再次将其电源开启,完成ISP过程中目标单片机的冷启动。通过对CH340T的RST引脚高电平脉宽的检测,能有效滤除MODEM联络信号周期内高电平脉冲对起始边沿检测的干扰,确保单次程序下载命令周期内只对单片机进行一次冷启动操作。
3.2 MODEM信号检测与冷启动软件实现
MODEM信号检测与冷启动软件由MODEM联络信号起始边延检测中断子程序、MODEM电平脉宽测量中断子程序、冷启动定时中断子程序3部分组成,3个中断子程序协同工作实现STC单片机自动冷启和程序下载功能。
1)RST电平脉宽检测
如图3所示,MODEM联络信号包含多个方波窄脉冲,为了准确检测起始边延信号,在程序设计时开启了单片机TIMER0的定时功能,对外部输入RST引脚高平进行脉宽测量。根据MODEM联络信号的方波脉冲特点,脉宽测量以50 ms作为阀值,即只有高电平脉宽大于50 ms时所引导的下降才为MODEM联络信号的起始下降沿,同时触发TIMER0定时中断,并开启冷启标志位Rst_Flg,软件代码如下所示:
2)MODEM联络信号起始边延检测
MODEM联络信号边延检测采用单片机外部中断INT0的边沿触发方式,当下降沿引导脉宽大于50 ms即冷启动复位标志Rst_Flg为‘1’时,INT1引脚输出高电平‘1’,关断目标单片机的电源,进行冷启动断电操作。同时启动定时器1,进行2 s的定时,让目标单片机的电源关断2 s,然后上电,完成冷启过程。软件代码如下所示:
3)冷启动时间控制
在兼顾下载效率和稳定性的同时,确保下载器稳定可靠的工作,通过反复测试,冷启动断电的时间在2 s最为合适。冷启动时间采用单片机定时器timer1进行控制,每次定时50 ms,循环累计定时40次,定时结束,同时INT1引脚输出低电平‘0’,开启目标单片机的电源,冷启动结束,程序进入自动下载模式,直至程序烧录完成,软件代码如下所示:
4 结束语
本文设计的STC单片机下载器电路简单、下载速度快、工作稳定可靠,能有效地解决目前笔记本和台式电脑没有配制RS232串口,无法进行程序下载的问题。此外,下载器具备自动冷启功能,可实现目标代码的自动烧录和批量下载功能,具有一定的实用和推广价值。
[1]王桂喜,胡平平.STC单片机集成下载器的设计与实现[J].北京信息科技大学学报:自然科学版,2011(5):75-79.
[2]黄同,邵思飞.一种基于CH340T的STC89C52RC编程器设计[J].电子测试,2013(12):16-17.
[3]郭陈一,高鲁楠,庞宇擎.基于USB接口的单片机烧写器设计与实现[J].电子制作,2015(4):1.
[4]邢凯,吴礼燕.基于STM32的STC单片机脱机下载器的设计与实现 [J].广西民族大学学报:自然科学版,2013(4): 64-67.
[5]徐岳清.STM32系列单片机脱机批量烧录器的设计与实现[J].长春工程学院学报:自然科学版,2015(1):115-119.
[6]孙璐,姜久春,尹航.基于MC9S12系列单片机的程序下载器设计[J].微计算机信息,2010(11):64-66.
[7]林凌,李蒙,李刚.一种基于ISP技术的单片机多功能教学平台[J].实验技术与管理,2009(3):64-67.
[8]翁哲.STC单片机程序下载器设计[J].西安文理学院学报:自然科学版,2010(3):45-47.
[9]黄根岭,陈志红,吕春峰,等.基于STC单片机的ISP下载线设计[J].电子世界,2010(9):29.
[10]卢轶楠,王学伟.STC15F104E的STC单片机自动下载系统设计[J].单片机与嵌入式系统应用,2011(11):76-77.
[11]付文悦,黄民.STC系列单片机不断电下载程序应用技术[J].电子科技,2013(2):76-78.
[12]童一帆.STC单片机程序下载器设计[J].石家庄职业技术学院学报,2009(2):45-47.
[13]黄克亚.浅谈自制51单片机编程器方法和策略[J].黑龙江科技信息,2009(25):11.
[14]唐德礼,王襄.单片机学习机及编程器的设计与制作[J].现代电子技术,2005(12):117-120.
[15]李祖明,唐辉.AT89S系列单片机ISP下载线设计[J].电子与封装,2011(8):22-24.
Based on USB with automatic cold start function of STC-ISP downloader design
SU Hui-long1,HAN Xue2
(1.Hunan Railway Professional Technology College,Zhuzhou 412001,China;2.Hunan Vocational College of Railway Technology,Zhuzhou 412001,China)
This paper presents a USB-based cold start function with self-STC microcontroller Downloader,the text of the circuit principle downloader,software programming and critical control signals are described and analyzed in detail.Downloader to STC15F104E as the main control unit,by analyzing the computer’s USB port to communicate with chip CH340T MODEM communication signals,timely and on target device power control,its cold start lead to SCM object code automatically downloaded,thereby effectively to resolve the current notebook and desktop computers no RS232 serial port,can not be STC microcontroller program download problem.
USB;automatic cold start;SCM;STC downloader;download
TN710
A
1674-6236(2016)15-0168-03
2015-12-04 稿件编号:201512043
湖南省科技计划项目(2013GK3133);湖南省教育厅科学研究项目(15C0914);湖南铁路科技职业技术学院校级课题(HTKY-KT2015-20)
粟慧龙(1982—),男,湖南常德人,硕士,讲师,工程师。研究方向:嵌入式技术。