MSP430低功耗原理及其在海温测量中的应用
扫描二维码
随时随地手机看文章
摘要:介绍了MSP430系列单片机的低功耗原理及工作模式。分析了各种工作模式之间的快速转换方式。针对电池供电和空间受限的海水温度测量环境,利用MSP430系列单片机低功耗、高性能、多外设的优良特性,提出了海水温度采集系统的设计方案。方案采用MSP430F4794作为运算控制器,NTC热敏电阻作为温度传感器,利用MSP430F4794芯片内部自带的16位A/D转换器进行A/D转换。硬件设计上采用低功耗的外围器件,软件设计上充分利用MSP430提供的多种低功耗工作模式,实现了整个系统的低功耗。
关键词:MSP430;超低功耗;工作模式;海水温度测量
MSP430系列单片机是一款具有精简指令集的16位超低功耗混合型单片机。采用MSP430系列单片机的一个最大优势是它具有低功耗和高集成度,非常适合于电池供电和空间受限的工作环境以及便携式应用场合。
1 MSP430系列单片机的低功耗原理及工作模式
1.1 低功耗原理
MSP430系列单片机能够具有很低的功耗,是由它的结构特点决定的。
1.1.1 灵活的时钟信号
MSP430系列单片机为系统提供不同的时钟信号,用户可以根据实际需要选择合适的系统时钟。MSP430的时钟模块由高速晶体振荡器、低速晶体振荡器、数字控制振荡器DCO、锁频环FLL以及锁频环增强版本FLL+等部件构成。MSP430系列单片机输出3种不同频率的时钟信号:ACLK(辅助时钟)、MCLK(主系统时钟)、SMCLK(子系统时钟)。下面以MSP430F4XX系列单片机的时钟模块为例作介绍。
MSP430F4XX系列单片机的时钟模块有3个时钟源:LFXT1CLK,XT2CLK,DCOCLK。LFXT1CLK为低频时钟;XT2CLK为高频时钟;DCOCLK为片内数字控制RC振荡器,经常用作系统和外设的时钟信号,其稳定性可由FLL+硬件控制。
MSP430F4XX系列单片机时钟模块的结构如图1所示。ACLK来自LFXT1CLK,可由软件选作各外围模块的时钟信号,一般用于低速外设,ACLK经1,2,4,8分频后供外部电路使用,保证了MSP430F4XX和MSP430F1XX的时钟系统相兼容;MCLK可由软件选择来自LFXT1CLK,XT2CLK,DCOC-LK三者之一,然后经1,2,4,8分频得到,主要用于CPU和系统;SMCLK可由软件选择来自XT2CLK或DCOCLK,主要用于高速外围模块。用户根据不同的应用要求和系统条件,通过程序选择低频或高频,3种不同的频率时钟输出给不同的模块,从而合理利用系统的电压,实现整个系统的低功耗。
DCOCLK可以用作MCLK和SMCLK,但由于RC振荡器DCO的频率会因温度和电压的不同而变化,导致输出频率不稳定。MSP430F4XX系列单片机的时钟模块应用了增强型锁频环技术FLL+,可以通过频率积分器和调制器的自动调节使DCOCLK的频率趋于稳定,实现了硬件自动调整DCO频率,而MSP430F1XX系列单片机的时钟模块则需要通过软件调整DCO频率。
1.1.2 完全独立运行的外围模块
MSP430系列单片机的各个模块运行完全独立,定时器、A/D转换器等都可以在CPU休眠的状态下独立运行,从而降低了系统工作时的功耗。例如,用两种方式实现方波的输出。
方式1 为通常单片机使用的方式,使用CPU控制输出端口来实现高、低电平的交替转换。在这种方式下,CPU一直处于工作状态。方式1的程序如下:
方式2 使用MSP430外部模块定时器A1的自动翻转模式来实现高、低电平的交替转换。在这种方式下,CPU在设定了定时器A1的工作模式后,由定时器A1的输出控制波形,完全不需要CPU的参与,CPU可以休眠,降低了系统的功耗。方式2的程序如下:
[!--empirenews.page--]
1.1.3 瞬间唤醒的响应特性
在通常情况下,软件将CPU设定到某一低功耗模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。MSP430可以在极短的时间内唤醒CPU,从而缩短了CPU的活动时间,降低了功耗。MSP430F4XX系列DCO振荡器的响应时间小于6 μs,可支持长睡眠周期和突发事件的执行。
1.2 工作模式
MSP430系列单片机提供6种不同的工作模式:活动模式(AM)、低功耗模式0(LPM0)、低功耗模式1(LPM1)、低功耗模式2(LPM2)、低功耗模式3(LPM3)、低功耗模式4(LPM4)。选用哪种工作模式由CPU的状态寄存器SR中的SCG0、SCG1、OscOff和CPUOFF位控制。通过设置控制位MSP430可以从活动模式进入到相应的低功耗模式,而各种低功耗模式又可以通过中断方式回到活动模式。在各种工作模式下,时钟系统所产生的3种时钟活动状态是各不相同的。各种工作模式、控制位及3种时钟的活动状态之间的相互关系如表1所示。
图2显示了在电压为3 V、周期为1μs时各种工作模式的耗电情况。可以看出,在LPM4工作模式下的耗电量相当低。
灵活的时钟信号、完全独立运行的外围模块和瞬间响应的特性使得MSP430系列单片机可以通过软件设置配置不同的工作模式,通过中断切换不同的工作模式,CPU和各模块都能在最低功耗状态下正常工作。[!--empirenews.page--]
2 海温测量中的应用
作为重要的海洋水文参数,温度测量在海洋监测、开发应用和科学研究中都具有特别的意义,为此人们设计了各种形式的海水温度测量仪器。目前,获取海水温度信息的手段多种多样,如卫星、飞机、船舶、浮标、岸基监测站、海上固定平台、志愿船等。其中抛弃式海水温度探测系统可快速获取海温的实时数据,具有良好的机动性,便于组网。抛弃的测温装置需要单独在海洋中完成海温数据的采集和发送,依靠自身携带的电池供电,这时系统的功耗便尤为重要。因此,采用超低功耗的MSP430单片机来设计抛弃式测温装置的温度采集系统。
2.1 设计方案
系统采用MSP430F4794作为微处理器同时完成数据的采集和处理任务。采用NTC热敏电阻RT作为前端温度传感器,其突出特点是灵敏度高,响应速度快。利用3个标准精密金属膜电阻R1,R2,R3和NTC热敏电阻RT构成测温电桥,用于激励出热敏电阻的差分电压信号。
使用MSP430F4794芯片内部自带的SD16_A(增强型16位的∑-△A/D转换器)模块进行模/数转换。从前端温度传感器送来的差分信号首先经过MSP430F4794内部自带的输入缓存,可以避免直接接入程控放大器造成的测量误差;经过输入缓存后由程控放大器对信号进行差分放大,然后送入SD16_A;最后将转换好的数据存入16位A/D转换专用数据存储器,完成一次数据采集。采集好的数据送运算器进行运算最终获得海水温度测量结果。
MSP430F4794芯片内部有低温漂18 ppm,1.2 V的基准电压,利用其给测温电桥和SD16_A同时提供电压基准,以形成比值测量系统,能够有效消除测量系统中的漂移误差。系统方案原理图如图3所示。
2.2 系统的低功耗设计
2.2.1 硬件的低功耗设计
系统选用了低功耗的处理器MSP430F4794。MSP430F4794为MSP430的4系列单片机,工作电压为1.8~3.6 V;当工作电压为2.2 V,频率为1 MHz时,活动模式下电流为280μA,待机模式下电流为1.1μA;从待机到唤醒的时间不超过6μs。
采用32768 Hz和4 MHz的晶振作为时钟输入,当系统处于温度采集或通信状态时采用高频时钟来获取较高的处理速度,当系统处于待机状态时采用低频时钟来降低系统功耗。这样就较好的解决了电池供电的小电流应用系统中工作频率和功耗之间的矛盾。
选择低的供电电压和低功耗的外围器件来降低功耗。系统采用CR2032电池供电;使用超低功耗的LDO芯片AS1360进行电源管理;选用低功耗的段式液晶显示器LCD048。
2.2.2 软件的低功耗设计
在程序设计上充分利用MSP430提供的多种低功耗工作模式。在进行温度采集时,系统由活动模式转换为LPM0工作模式,CPU处于休眠状态,让A/D转换器独立工作。在不进行温度采集时,系统处于待机模式,进入LPM3工作模式。当需要工作时,发生中断唤醒CPU,处理完后再进入低功耗模式。这样,系统通常运行在LPM3工作模式下,该模式又被称为休眠模式,它是在保持实时时钟活动情况下功耗最低的一种工作模式。通过各种模式之间的灵活转换,实现了降低系统功耗的目的。系统进行一次温度采集时程序的运行状态与对应工作模式的转换如图4所示。
3 结语
随着便携式、低功耗智能仪器仪表的迅速发展,需要有低功耗、高集成度、模拟特性好、处理能力强的微处理器,MSP430系列单片机满足了这样的需求。采用MSP430F4794作为微处理器设计的海水温度采集系统能够适应空间受限、电池供电的海温测量工作环境。测温系统经过修改,可以获取海水的盐度、波浪等其他海洋水文参数,具有推广应用意义。