基于MSP430F149单片计算机的可编程定时开关设计
摘 要:本文基于MSP430单片机理论,发挥其“低功耗”的特性,以MSP430F149单片机为核心部件、ZLG7290 I2C接口键盘/LED驱动器为输入/显示设备的系统构架设计开发硬件。
关键词:定时开关;低功耗;单片机;MSP430F149
引言
定时开关应用于生产生活的诸多领域。但是,目前市场上大量使用的定时开关系统,控制对象单一,定时时间不可调节。比如说,有的只能控制路灯,有的只能控制单一生产设备等。然而现如今可编程逻辑器件、单片计算机等的蓬勃发展,不但填补了上述欠缺,而且使其应用领域进一步扩大,应用深度也进一步加深。
可编程定时开关[1]的实现方案具有极高的可定制性,有基于简单的C51单片计算机实现的,也有基于可编程逻辑器件FPGA实现的,甚至有基于PC(个人计算机)实现的,但最普遍的还是基于单片机来实现的。单片机实现可编程定时开关控制设计简洁,效果良好,成本低廉。本设计主要通过MSP430F149单片机实现功能。
1 MSP430F149单片机的说明[2]
为了得到最容易实现设计目标且性价比高的机型,在芯片的选型上,主要需考虑系统功耗资源要求、芯片功能要求(考虑引脚、体积)以及系统存储器容量的要求。
MSP430F149单片机集中体现了现代单片机先进的低功耗设计理念,其设计结构完全以系统低功耗运行为核心。单片机采用FLASH存储器作为程序代码及信息存储,因此可实现多次的写入和擦除,也可实现在线写入,且存储空间大,其中ROM为60K,RAM为2K。在单片机内集成了一个12位精度、高效通用的A/D转换模块,即数据采集子系统。片内有一个硬件乘法器,是一个16位的外围模块,它并不集成于CPU中,因此它的运算独立于CPU,也不需要特殊的指令。片内有2个串行通讯接口,支持通用异步协议(UART协议)和同步协议(SPI协议)。片内有2个16位的定时器,且带有多个捕获/比较寄存器,这样寄存器的使用将更加灵活。 MSP430F149单片机具有强大的扩展功能,具有48个I/O引脚,每个I/O口分别对应输入、输出、功能选择、中断等多个寄存器,使得功能口和通用I/O口可以复用,大大增强了端口功能和灵活性,提高了对外围设备的开发能力。
2 ZLG7290 芯片的说明[3]
本设计的输入/显示部分采用ZLG7290 I2C接口键盘及LED驱动器。该芯片能自动完成8位LED数码管的动态扫描和(最多)64按键检测扫描,大大减轻单片机的用于显示/键盘的工作时间和程序负担,使集中资源用于信号的检测和控制。
ZLG7290可采样64个按键或者传感器,可检测每个按键的连击次数。因此,该器件具有很好的键盘去抖动处理、双键互锁处理、连击键处理以及功能键处理能力。
ZLG7290提供两种控制方式:寄存器映像控制和命令解释控制。寄存器映像控制是指直接访问底层寄存器(除通信缓冲区外的寄存器),实现基本控制功能;命令解释控制是指通过解释命令缓冲区中的指令,间接访问底层寄存器实现扩展控制功能,如实现寄存器的位操作,对显示缓存循环、移位,对操作数译码等操作。
ZLG7290 I2C接口键盘及LED驱动器具有I2C 串行接口,可以提供键盘中断信号以方便地用于处理器接口。再次,它能够驱动8位共阴数码管或者64只独立的LED和64个按键,可以同时控制扫描位数以及任一数码管的闪烁。芯片提供数据译码和循环、移位、段寻址等控制,无需外接元件便直接驱动LED数码管,可扩展驱动电流和驱动电压。键盘具有 8个功能键,可检测任一键的连击次数。
3 可编程定时开关设计的模型建立[4]
基于MSP430F149单片机的定时开关实现方案采用MSP430F149单片机作为核心控制部件,显示和输入部分采用的是ZLG7290 I2C接口键盘及LED驱动器,供电采用3.3V直流电源。
MSP430F149单片机保证了系统在低功耗状态下实现定时控制;ZLG7290 I2C接口键盘具有很好的键盘去抖动处理、双键互锁处理、连击键处理以及功能键处理能力,能够将一部分原先需要由软件实现的功能交给了内置硬件去实现,使得程序大大简化;LED数码管分左右共8位,左边4位用于显示定时时间,右边4位用于计数显示,计时以“秒”作为单位;一般基于MSP430F149单片机实现的系统供电都需要5V和3.3V两种,5V供应外设,3.3V供应CPU以及相应的外设,本系统结构较简单,因此只提供3.3V电压。
图1所示是可编程定时开关系统的基本模型。按下ZLG7290 I2C接口键盘“数字”键键入定时时间并在左边数码管显示,然后按下“开始”键,MSP430F149单片机开始计时,并将计数通过ZLG7290的右边数码管显示电路加以呈现,定时时间到,发光二极管呈现闪烁效果。
5 硬件电路设计
MSP430F149单片机系统电路[5]如图2所示。单片机片内有XC1和XC2两个晶体可供选择,如图3所示,本次设计采用了一种比较普遍的连接方式:XIN和XOUT连接时钟晶体超低速晶体32,768Hz,XIN2和XOUT2连接8MHz的高速晶体。
另外,电路还包括简易仿真器JTAG下载线以及RC复位电路。为了使系统上电后能很好地复位,处于更稳定的运行状态,在包含了控制器的电路系统中,都有对应的复位电路。在大多数的MSP430系统中,一般都采用专门的复位芯片来提高系统的稳定性和可靠性。本系统对运行速度要求不高,也并不庞大,因而只采取了一般的RC电路复位。MSP430单片机的JTAG接口是一个14引脚的双排插座,其硬件连接需要经过4个引脚,外加TCLK、TEST、RESET等引脚来实现。4个JTAG引脚分别是TMS、TCK、TDI和TDO。其边界扫描的主要信号为TDO、TDI、TMS、TCK和RST信号。
其电路连接如图4所示。
ZLG7290芯片的电路连接如图5所示。显示电路部分采用的是两片4位共阴式LED数码管,如图6所示,因此左右共8位显示,左边4位用于输入时显示定时时间,右边4位则用于开始计时后的计数显示。由于本设计要求实现的输入效果并不十分复杂,因此在实际使用时键盘选用4×4共16只按键的矩阵键盘即可(K1~K10键设置为“0~9”数字键,F1、F2和F3设置为功能键“START”、“STOP”以及“RESET”),而不必采用本设计中的8×8共64只按键的键盘。
电源电路如图7所示。
整个系统采用3.3V电压供电,考虑到硬件系统要求电压具有稳压功能和纹波小的特点,同时也考虑到硬件系统的低功耗等特点,因此该硬件系统的电源先用桥式整流电路进行整流处理,再用LM1117稳压芯片稳压得到3.3V电压,供给CPU以及相关的外围设备。为了使电源输出的纹波较小和降低其对整个系统的干扰,在输入端和输出端连接两个电容,以滤除高频和低频干扰,在输出端得到稳定的直流工作电压。
系统整体构成包含了MSP430F149单片机电路、ZLG7290键盘输入/数码管显示电路、电源电路以及复位电路、JTAG下载线电路和两个晶振。
MSP430单片机的JTAG接口是一个14引脚的双排插座,其边界扫描信号是TDO、TDI、TMS、TCK和RST信号。MSP430单片机型号不同,对应的时钟模块也是有所不同的,而MSP430F149单片机片内有XC1和XC2两个晶振可选。以上三个电路以及键盘输入电路将不再赘述,只在图8系统总图中加以体现。
5 结束语
本文所设计的是用MSP430F149单片机原理、ZLG7290芯片技术和其他相关理论所实现的可编程定时控制。本系统具有可定制、定时、显示等方面的功能,有比较好的精度和实用性。
可编程定时开关在生产生活的很多方面都有应用,本系统是在实验的基础上所作的设计,从具体的工业定时控制中汲取有价值的参考,对单片计算机、键盘/显示设备以及其它相关的外围设备电路进行调整和改进,在可调性、可操作性方面有了较大的提高。
图7 电源电路
图8 系统电路总图
参考文献
[1]武庆生,仇梅.单片机原理与应用[M].电子科技大学出版社,1998.
[2]谢兴红,林凡强,吴雄英.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.
[3]ZLG7290 I2C接口键盘及LED驱动器[EB/OL].http://
[4]秦龙.MSP430单片机常用模块与综合系统实例精讲[M].北京:电子工业出版社,2007.
[5]谢自美.电子线路设计·实验·测试(第2版)[M].华中科技大学出版社,2000.