1 引言
STC(宏晶科技)公司推出的STC 89C/S 51XX/52XX 等系列单片机,具有价格便宜、无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等优点,其指令代码完全兼容传统8051 单片机,片内资源非常丰富,且均内置可反复擦写的Flash 存储器,并提供了ISP(In-System Programming)编程模式。STC89C52RC 作为STC 89C/S51XX/52XX 系列单品机的一个典型代表,其特征主要有,8K 字节可编程闪烁存储器、1000 次写/ 擦循环寿命、10 年的数据保留时间、三级程序存储器锁定、512 内部RAM、32 可编程I/O 线、两个16 位定时器/ 计数器、5 个中断源、可编程串行通道、低功耗的闲置和掉电模式以及片内振荡器和时钟电路等。因而这款功能强大和超高性价比的单片机,在国内应用极为广泛。
ISP 在线编程是一种彻底颠覆了传统的编程模式的技术,它不会损坏芯片的引脚,同时下载速度很快,从而缩短了设计时间,降低了研发成本、加速了产品的上市,大大提高了工作效率。一般编程器的采用方法都是使用PL2303、CP2102、FT232 等主控芯片,但往往成本较高,而且有的芯片稳定差,极少数芯片固件版本有Bug,鉴于此,本文提出以国产CH340T 芯片为主体的ISP 编程器的设计方案,经过STC89C52RC 等芯片反复测试,功能稳定,性能出色。
2 系统硬件设计
2.1 系统总体结构图
系统总体结构图如图1 所示。其中USB 供电和数据传输模块主要负责为单片机和CH340T 等模块供电,并将来自计算机的USB串行数据经CH340T 转换为串口数据后和单片机通信,为单片机编程提供数据通道。
2.2 核心芯片CH340T 介绍
CH340T 是南京沁恒电子有限公司设计生产的一款接口转换及单片机外围芯片,支持USB2.0.可以实现USB 转串口、扩展计算机异步串口和USB 转IrDA 红外等功能。本设计仅作USB 转串口使用,转换后的串口为全双工串口,内置收和发缓冲区,支持通讯波特率从50bps 到2Mbps,发送允许波特率误差《 0.3%,接收允许波特率误差《2%.其使用方法比较简单,外围元器件只需要晶体、电阻和电容即可。
CH340T 有20 个标准引脚接口。主要有1、UD+ 和UD- 引脚,这些引脚内置了USB 上拉电阻,可以直接接到USB 总线上。2、GND和VCC,即接地和电源引脚,支持5V 或者3.3V 电源电压。3、数据传输引脚TXD 和RXD,分别为串口数据发送和接收引脚。输入空闲时,一般RXD 是高电平,但是如果R232 引脚为高电平,且启用辅助RS232 功能,RXD 引脚内部会自动插入一个反相器,默认变成低电平;输出空闲时,一般TXD 是高电平。4、其他引脚。包括MODEM 联络信号引脚和辅助引脚。
2.3 系统原理图
原理图如图2 所示。
图中,USB 接口P1 除用于数据传输外,还经过LM7805 稳压后为CH340T 芯片和单片机和其他部件供电,当使用5V 工作电压时,CH340 芯片的VCC 引脚输入外部 5V 电源,并且V3 引脚应该外接容量为4700pF 或者 0.01uF 的电源退耦电容。CH340T 转接芯片将UD1+ 和UD1- 转换为串口信号串口数据和单片机串口进行通信。需要注意的是,CH340T 芯片的串行接收口CRXD 需要和单片机的P3.1(串行输出口TXD)通过PNP 三极管Q1 接成射极发生器的形式,以到达数据的缓冲和隔离的作用。
单片机子系统,采用40 引脚的试验用插座,为了正常编程,外接必备的单片机复位电路和晶振电路。特别地,为提高编程器的适用性,晶振电路采用跳线开关J1 为单片机提供12MHz 和11.0592M共2 种工作频率。
3 系统测试
ISP 编程涉及的软件主要有USB 驱动程序、单片机固件程序和计算机应用程序三部分构成。单片机固件程序用来实现计算机读取和编程STC 单片机内部的E2PROM(数据Flash),已提前固化在单片机内部。
测试之前,必须首先安装USB 驱动软件USB DriverInstaller.exe,该驱动可以将接入计算机USB 接口的编程映射为虚拟串口,一般是COM3 或COM4.然后安装STC 单片机在线编程烧录软件STC-ISP.STC-ISP 是针对STC 系列单片机而设计的软件,可下载STC89 系列、12C2052 系列和12C5410 等系列的STC 单片机,功能强大,使用简便。本编程器要求版本在V3.0 以上。
测试步骤是,将单片机STC89C52RC 插入编程器插座,整体插入计算机USB 接口(或用USB 线将编程器和计算机连接)。然后打开STC-ISP 软件,依次在主界面中选择MCU 单片机型号(MCUTYPE),导入Hex 文件(Open File/ 打开文件),选择串口(COM :
COM3 或COM4 等)和波特率,最后点击下载按钮。下载成功的主界面如图3 所示。
经过多次反复测试本方案所设计的编程器,功能正常,性能可靠。
4 结束语
本文介绍了一种简单实用、价格低的ISP 编程器设计方案。经过反复测试本方案所设计的编程器具有功能稳定、速度快、价格低和易用性强等优点,适合STC 89C/S51XX/52XX 等系列单片机的程序烧录。另外,本系统扩展性较好,原理图稍加改动,借助于SPI 接口,实现对Atmega8515/ Atmega162(AVR 芯片)等更多的单片机的ISP 编程下载。