您的位置 首页 IOT

MSP430省电办法的两种唤醒办法

1MSP430省电方式简介MSP430以其低功耗著称于世,它可以外接2个时钟源——XIN、XT2IN,内部还有1个DC0振荡器,可以产生高达8MHz的内部时钟

1MSP430省电方法简介

MSP430以其低功耗著称于世,它能够外接2个时钟源——XIN、XT2IN,内部还有1个DC0振荡器,能够发生高达8 MHz的内部时钟。一般XT2IN的频率为高频,按实践使用时的要求来选用;XIN为低频,能够是32 768Hz。XIN的用处主要是在低功耗时使体系坚持“活着”。MSP430共有5种省电方法,即LPM0~4。其间,

LPM0:CPU、MCLK封闭,SMCLK、ACLK翻开,功耗79uA;
LPM1:CPU、MCLK、DCO封闭,SMCLK、ACLK翻开,功耗4luA;
LPM2:CPU、MCLK、SMCLK、DC0封闭,DC发生器、ACLK翻开,功耗17uA;
LPM3:CPU、MCLK、SMCLK、DC0、DC发生器封闭,ACLK翻开。功耗2uA;
LPM4:CPU及一切模块都封闭,功耗0.1 uA。

体系在LPMO-3方法下能够被唤醒,LPM4则不能。大多数使用场合都期望MSP430平常进入睡觉状况,下降功耗,然后守时或被外界中止唤醒,履行相应的程序后再次进入睡觉状况,然后再次被唤醒,其间因为LPM3是满足要求且功耗最低的一种方法,所以它被使用得最多。本文就来评论这种方法下的睡觉与唤醒。

2 睡觉与唤醒

主程序循环运转的流程如图1所示。

每一次循环中都要判别睡觉条件是否建立,若建立则切换时钟,进入睡觉方法。至此,CPU不再履行任何程序,直到CPU被唤醒后才持续履行。唤醒条件能够是守时中止、外部I/O中止,或串行口中止。下面的PowerManagement代码为进入睡觉前后和被唤醒后履行的相应操作。SerialReceiveInterrupt代码为串行口接收到1个字符中止后进行的相应操作,TimerBInterrupt代码为守时器B5守时时刻到后进行的相应操作。2个中止程序中,在唤醒CPU之前均将时钟调整到正常作业时的高速时钟源上,设置相应的标志,然后再履行唤醒子程序clrLPM3。编译软件为IAR embedded workbench 1.26。


3 睡觉时长

假如睡觉是靠串行口中止来唤醒,则睡觉时长为不定长,什么时候来了中止,什么时候醒来。所以在此只评论守时器发生中止来唤醒的状况。

守时器B的操控寄存器的阐明如图2所示。


图2 守时器B的操控寄存器

CNTLx:计数器长度,00=16位,MSP430守时器B的计数器TBR最大为0xFFFF;01=12位,TBR最大为0x0FFF,10=10位,TBR最大为0x03FF,11=8位,TBR最大为0xFF。

TBSSELx:守时器B的时钟源挑选,00=TBCLK,01=ACLK,10=SMCLK,11=INCLK。

IDx:守时器B的时钟源分频因数,00=不分频,01=2分频,10=4分频,11=8分频。

MCx:守时器B的计数方法挑选位,00=暂停计数,01=加计数方法,10=接连计数方法,11=加减计数方法。具体内容请参阅MSP430的数据手册。

前述程序中守时器B的操控字TBCTL=TBSSEL0+ID0+ID1+MC1+TBCLR。守时器B的时钟源挑选为TBSSEL0,该值在MSP430x14x.h头文件中的界说为0x0100,即挑选的时钟源为ACLK(32768hz)。ID0在MSP430x14x.h界说为0x40,ID1在MSP430x14x.h界说为0x80,二者相加为0xC0,即守时器B的时钟源为8分频。MC1在MSP430x14x.h界说为0x20,即守时器B选用接连计数方法。

以上时钟挑选了ACLK为32 768,再进行8分频,等于4 096,则守时器B的时钟终究运转频率为4 096 Hz,每计1个数所需时刻为(1/4 096)S。又因为前面把守时器B5的计数值设为TBR-10=0xFFFF-10=0xFFF0=65 536-10=65 526,则计满65 526数需求的时刻为65 526×(1/4 096)s=15.997 s≈16 s。因而,用守时器守时到发生中止作为唤醒源,最大睡觉时刻不超越16 S。假如使命不需求这么快履行一次,能够每次醒来后先不去履行使命,而是给1个计数变量加1,然后持续进入睡觉状况,直到计数变量等于想要的时长后再履行。

结语

MSP430是一款非常好的低功耗单片机,用好它的省电功用,能够大大延伸电池的寿数。因而该产品被广泛地使用于电池供电的工控产品中。本文的代码都是实践使用中的程序代码,经过了实践的查验。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/254462.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部