山东科技大学学士学位论文 绪论
表示存储器容量,数字越大表示ROM和RAM的容量越大。
此外,MSP430系列单片机还针对许多热门应用设计了一系列专用单片机,如水表专用单片机、医疗仪器专用单片机,电能计量专用单片机,这些单片机都是在相同型号的通用单片机的基础上增加专用模块构成的[5]。
MSP430F449单片机的主要性能有:
? 低供电电压范围:1.8V-3.6V及欠电压检测器
? 超低功耗,具有五种省电模式:活动模式:1MHz,2.2V时为280uA;等待模式:1.6uA;关闭模式(RAM保持):0.1uA
? 数字控制的振荡器(DCO)可以在6us内将CPU从休眠中唤醒,这也是实现低功耗的重要手段之一
? 16位精简指令结构,125ns指令时间周期,10个16位的寄存器以及常数发生器,能够最大限度的提高代码的效率
? 具有内部参考电平,采样保持和自动扫描的12位A/D转换器 ? 带有三个或七个捕捉/比较影子寄存器的16位定时器B ? 带有三个捕捉/比较寄存器的16位定时器A
? 串行通讯接口(USART),软件选择异步UART或者同步SPI接口,对于MSP430F44x系列的单片机有两个UART(UART0,UART1)
? 可编程电平检测的供电电压管理器/监视器
? 串行在线编程无需外部编程电压,可编程的安全熔丝代码保护
? 集成多达160段的LCD驱动器
如图2.1所示为MSP430F449单片机的引脚图。该单片机共有100个引脚,大部分引脚是复用的,最多有三种功能模块复用在一个引脚上,主要包括:6个8位的I/O口:P1-P6且P1、P2口具有中断功能;JTAG仿真接口;一个8+4通道的12位A/D转换器(外部8个,内部4个);两个串行通讯模块USART0/1,每个都可用软件选择UAST/SPI模式;一个高精度的比
7
山东科技大学学士学位论文 绪论 较器A,配合其它器件可构成单斜边A/D转换器;具有4个COM端的液晶驱动;液晶接口S0-S31[3][4]。 U0P.4/S1//SS3367P45./4UCOLMK1P4.3/SIMO1/S3850494847464544434241403938373635343332313029282726P4.6/S35P4.7/S34S33S32S31S30S29S28S27S26S25S24S23S22S21S20S19S18S17S16S15S14P2.3/TB2PUTH/SVSOUTP12.1.32/5/TTBBOA1CLLKKACCLLKP1.4/TBC//SMKP2.1/TB0P2.0/TA2P1.7/CA1P1.6/CA0P1.1/TA0/MCLK51525354555657585960616263646566676869707172737475P4.2/STE1/S39COM0P5.2/COM1P5.3/COM2P5.4/COM3R03P5.5/R13P5.6/R23P5.7/R33DVcc2DVss2P4.1/URXD1P4.0/UTXD1P3.7/TB6P3.6/TB5P3.5/TB4P3.4/TB3P3.3/UCLK0P3.2/SOMI0P3.1SIMO0P3.0/STE0P2.7/ADC12CLKP2.6/CAOUTP2.5/URXD0P2.4/UTXD0MSP430F449S13S12S11S10S9S8S7S6S5S4S3S2P5.0/S1P5.1/S0VREF-/VeREF-VeREF+XOUT/TCLKXINVREF+P6.7/A7/SVSinP6.6/A6P6.5/A5P6.4/A4P6.3/A3DVcc1AVssDVss1AVcc25242322212019181716151413121110987654321TDO/TDIXT2IN767778798081828384858687888990919293949596979819090TSDTI/NMIRTMSP6.0TCK/A0P6.1/A1P6.2/A2P1.2/TA1P1.0/TA0XT2OUT 图2.1 MSP430单片机引脚图 2.1.2 MSP430系列单片机超低功耗的原理及实现 MSP430单片机超低功耗的关键是应用其时钟系统,最大化低功耗模式的工作时间,典型的LMP3电流消耗少于2μA,32kHz晶振用于ACLK的时钟,DCO用于CPU激活后的突发短暂运行[1]。 MSP430系列单片机的基本时钟系统操作模式如表2.1所示。运行模式要考虑到三个不同的需求:低功耗、速度和数据的吞吐量;单个外围设备电流消耗的最小限度。在状态寄存器中,用CPU Off、OSC Off、SCG0 和SCG1位配置低功耗方式0~4,可以在中断服务程序中将当前工作状态保存在堆栈中。利用堆栈SR值,程序溢出能返回到不同的工作状态。模式控制位和堆栈能被任何指令访问。当设置任一种模式的控制位时,被选择的工作状8 山东科技大学学士学位论文 绪论
态立刻响应。如果时钟未被激活,用任何禁用时钟操作的外围JTAG口可以进行嵌入式仿真,不需要附加任何外围电路。
表2.1 基本时钟系统操作模式 控制位 SCG1 0 0 0 SCG0 0 0 1 OSC Off CPU Off 0 0 0 0 1 1 活动模式(AM) 低功耗模式0(LMP0) 低功耗模式1(LMP1) CPU、MCLK、SMCLK、ACLK均处于活动状态 CPU、MCLK禁止 CPU、MCLK禁止,在活动模式,如果DCO为用作MCLK及SMCLK,则直接流发生器保持有效;ACLK活动 1 0 0 1 低功耗模式2(LMP2) CPU、MCLK、SMCLK禁止,如果DCO为用作MCLK及SMCLK,则直接流发生器保持有效;ACLK活动 1 1 1 1 0 1 1 1 低功耗模式3(LMP3) 低功耗模式4(LMP4) 仅ACLK有效 CPU及所有时钟禁止 工作模式 CPU状态、振荡器及时钟 MSP430系列单片机的低功耗主要是靠CPU进入休眠状态来实现的,能够将CPU从休眠状态唤醒的条件只有发生中断或复位。因此低功耗和中断之间的关系非常密切。MSP430单片机的所有的大部分功能模块均能够在不需要CPU干预的情况下独立工作且能引发中断,所以在对MSP430进行编程时,软件的基本结构之一就是先向某工作模块发出工作指令,然后CPU休眠,等待模块操作完毕后产生中断,唤醒CPU继续下面的任务,从而将CPU运行的时间降到最少,功耗降到最低。
不仅如此,单片机的SR寄存器保存着低功耗休眠标志位,如果中断发生前是休眠状态,那么从中断返回时CPU仍将是休眠状态。若想返回主程序时退出休眠,可通过一些软件手段在退出中断前修改堆栈内的值。针对这一特殊操作,MSP430系列单片机提供了一个修改堆栈内SR的函数:
__low_power_mode_off_on_exit( )
只要执行该操作,就可以在退出中断后唤醒CPU。定义中断的方式有两种:一种是:
__interrupt [PORT1_VECTOR] void PORT1(void)
9
山东科技大学学士学位论文 绪论
这种方式比较常用;另一种是:
#pragma function=interrupt void PORT1( ) { }
#prama function=default
与前者相比,后者的缺点是编译命令不能提供矢量选项。
此外,MSP430的中断管理机制是把同类的中断合并成一个总中断源,根据需要由软件判断标志位来确定。如对于P1口的任何一个中断,程序都会执行P1口的中断服务子程序,在该程序中根据P1IFG标志位来判断具体是哪一个I/O口发生了中断,如本次系统设计程序中对于键值的判断[15]。
MSP430单片机中有数百个寄存器,数千个控制位,通过这些寄存器可以配置各个模块的工作方式、状态、连接参数等关系。如:
P1DIR=0xff;//将P1口的I/O性质设置为输出 不仅如此,还可以对寄存器的某位进行操作,如: P1DIR|=BIT0; //将P1.0置高电平 P1DIR|=~BIT0;//将P1.0置低电平 P1DIR|=^BIT0;//将P1.0取反
注意:大部分寄存器在上电复位后会自动清零,初始化后各寄存器标志位的值可以用“|=”来赋值,一般不会影响到其他标志位的设置,但一定要保证被赋值的若干标志位在赋值之前为“0”,特别是使用快捷宏定义时,所以,为保证程序执行的正确性,一般在赋值前,先给寄存器送“0”。 2.1.3 方案比较与选择
本次系统设计的核心处理器有两种选择:一个是本科期间学习过的且目前被广泛使用的89C51单片机,另一个就是上文所介绍的具有超低功耗特性的MSP430系列单片机。
10
山东科技大学学士学位论文 绪论
方案一:采用89C51单片机作为主控制器。89C51单片机的工作电压为5V,有两种低功耗模式:待机方式和掉电方式。但是正常情况下消耗的电流为24mA,在掉电状态下其耗电电流为3mA。即使在掉电状态下电源电压降到2V,但耗电电流仍达到50uA,功耗比较大。
方案二:采用MSP430作为主控制器。由于其具有低电压、超低功耗、数据处理能力强大、片内外资源丰富的特点,而且有16个中断源,可以嵌套使用,通过中断将CPU从低功耗模式下唤醒,所以可以编写出实时性很高的程序且实现系统低功耗的要求。
由于在以后的设计和工作中在提高设备性能的前提下对低功耗的要求更加迫切,MSP430则能够满足低功耗的要求,所以选择方案二。
2.2 DS18B20数字温度传感器
2.2.1 DS18B20简介
在传统的模拟信号远距离温度测量系统中,为达到较高的测量精度需要很好的解决引线误差补偿、多点测量切换误差及放大电路零点漂移误差等技术问题。另外一般监控现场的电磁环境都比较恶劣,模拟温度信号容易受到干扰而产生测量误差,影响测量精度,因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案。
DS18B20数字温度传感器是美国Dallas公司继DS1820之后推出的增强型单总线温度传感器,它具有体积更小、精度更高、适用电压更宽、可组网等优点,在实际应用中取得了良好的测温效果。与传统的热敏电阻相比,它具有可根据实际要求设置转换精度并直接将温度值转换为数字量独处的特点。由于采用单总线,而且每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以在同一条单线总线上工作,从而实现多
11