1、MSP430单片机的发展
MSP430系列是一个16位的、具有精简指令集的、超低功耗的混合型单片机,在1996年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。回忆MSP430系列单片机的发展过程,可以看出有这样三个阶段:
开始阶段 从1996年推出MSP430系列开始到2000年初,这个阶段首先推出有33X、32X、31X等几个系列,而后于2000年初又推出了11X、11X1系列。
MSP430的33X、32X、31X等系列具有LCD驱动模块,对提高系统的集成度较有利。每一系列有ROM型(C)、OTP型(P)、和EPROM型(E)等芯片。EPROM型的价格昂贵,运行环境温度范围窄,主要用于样机开发。这也表明了这几个系列的开发模式,即:用户可以用EPROM型开发样机;用OTP型进行小批量生产;而ROM型适应大批量生产的产品。
2000年推出了11X/11X1系列。这个系列采用20脚封装,内存容量、片上功能和I/O引脚数比较少,但是价格比较低廉。
这个时期的MSP430已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。它的许多重要特性,如:片内串行通信接口、硬件乘法器、足够的I/O引脚等,只有33X系列才具备。33X系列价格较高,比较适合于较为复杂的应用系统。当用户设计需要更多考虑成本时,33X并不一定是最适合的。而片内高精度A/D转换器又只有32X系列才有。
寻找突破,引入Flash技术 随着Flash技术的迅速发展,TI公司也将这一技术引入MSP430系列中。在2000年7月推出F13X/F14X系列,在2001年7月到2002年又相继推出F41X、F43X、F44X这些全部是Flash型单片机。
F41X单片机是目前应用比较广的单片机,它有48个I/O口,96段LCD驱动。F43X、F44X系列是在13X、14X的基础上,增加了液晶驱动器,将驱动LCD的段数由3XX系列的最多120段增加到160段。并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。
MSP430系列由于具有Flash存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。这是TI公司推出具有Flash型存储器及JTAG边界扫描技术的廉价开发工具MSP-FET430X110,将国际上先进的JTAG技术和Flash在线编程技术引入MSP430。
这种以Flash技术与FET开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。
另外,2001年TI公司又公布了BOOTSTRAP技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。这为系统软件的升级提供了又一方便的手段。BOOTSTRAP具有很高的保密性,口令可达到32个字节的长度。
蓬勃发展阶段 在前一阶段,引进新技术和内部进行调整之后,为MSP430的功能扩展打下了良好的基础。于是TI公司在2002年底和2003年期间又陆续推出了F15X和F16X系列的产品。
在这一新的系列中,有了两个方面的发展。一是从存储器方面来说,将RAM容量大大增加,如F1611的RAM容量增加到了10KB。这样一来,希望将实时操作系统(RTOS)引入MSP430的,就不会因RAM不够而发愁了。二是从外围模块来说,增加了I2 C、DMA、DAC12和SVS等模块。
在2003年中,TI公司还推出了专门用于电量计量的MSP430FE42X和用于水表、气表、热表上的具有无磁传感模块的MSP430FW42X单片机。我们相信由于MSP430的开放性的基本架构和新技术的应用,新的MSP430的产品品种必将会不断出现。
2、MSP430单片机的特点
MSP430系列单片机的迅速发展和应用范围的不断扩大,主要取决于以下的特点。
强大的处理能力MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在8MHz晶体驱动下指令周期为125 ns。这些特点保证了可编制出高效率的源程序。
在运算速度方面,MSP430系列单片机能在8MHz晶体的驱动下,实现125ns的指令周期。16位的数据宽度、125ns的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如FFT等)。
MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的备用状态时,用中断请求将它唤醒只用6us。
超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。
首先,MSP430系列单片机的电源电压采用的是1.8~3.6V电压。因而可使其在1MHz的时钟条件下运行时, 芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。
其次,独特的时钟系统设计。在MSP430系列中有两个不同的系统时钟系统:基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。有的使用一个晶体振荡器(32768Hz),有的使用两个晶体振荡器)。由系统时钟系统产生CPU和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。
由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在等待方式下,耗电为0.7uA,在节电方式下,最低可达0.1uA。
系统工作稳定。上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。如果晶体振荡器在用做CPU时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。
丰富的片上外围模块MSP430系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A(Timer_A)、定时器B(Timer_B)、串口0、1(USART0、1)、硬件乘法器、液晶驱动器、10位/12位ADC、IIC总线直接数据存取(DMA)、端口O(P0)、端口1~6(P1~P6)、基本定时器(Basic Timer)等的一些外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器;16位定时器(Timer_A和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O端口,最多达6*8条I/O口线;P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;12/14位硬件A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;能直接驱动液晶多达160段;实现两路的12位D/A转换;硬件IIC串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。
方便高效的开发环境 目前MSP430系列有OPT型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。对于OPT型和ROM型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。开发语言有汇编语言和C语言。
MSP430单片机目前主要以FLASH型为主。
适应工业级运行环境MSP430系列器件均为工业级的,运行环境温度为-40~+ 85摄氏度 ,所设计的产品适合用于工业环境下。
⒊MSP430系列与89C51系列的比较
我国的多数读者对89C51系列的单片机是很熟悉的,为了加深对MSP430系列单片机的认识,我们不妨将两者进行一下比较。
首先,89C51单片机是8位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机,采用了精简指令集(RISC) 比较,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。
其次,89C51单片机本身的电源电压是5伏,有两种低功耗方式:待机方式和掉电方式。正常情况下消耗的电流为24mA,在掉电状态下,其耗电电流仍为3mA;即使在掉电方式下,电源电压可以下降到2V,但是为了保存内部RAM中的数据,还需要提供约50uA的电流。而MSP430系列单片机在低功耗方面的优越之处,则是89C51系列不可比拟的。正因为如此,MSP430更适合应用于使用电池供电的仪器、仪表类产品中。
再者,89C51系列单片机由于其内部总线是8位的,其内部功能模块基本上都是8位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。MSP430系列其基本架构是16位的,同时在其内部的数据总线经过转换还存在8位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8位的功能模块,还是16位的功能模块,即使扩展模/数转换或数/模转换这类的功能模块也是很方便的。这也就是为什么MSP430系列产品和其中功能部件迅速增加的原因。
最后,就是在开发工具上面。对于89C51来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一个很大的问题。对于MSP430系列而言,由于引进了Flash型程序存储器和JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。