打印

MSP430低功耗设计技巧

[复制链接]
2356|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2012-3-29 23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.LPM4:在振荡器关闭模式期间,处理机的所有部件工作停止,此时的电流消耗最小。此时只有在系统上电电路检测到低点电平或任一请求异步响应中断的外部中断事件时才会从新工作。因此在设计应含有可能需要用到的外部中断才采用这种模式,否则发生不可预料的结果。

2.LPM3:在DC发生关闭期间,只有晶振是活动的。但此时设置基本时序条件的DC发生器的DC电流被关闭。由于此电路的高阻设计,使功耗被抑制。当从DC关闭到启动DC需要一段时间(ns~us)

3.LPM2:在此期间晶振和DC发生器是工作的,所以可以实现快速启动

4.LPM1:在此期间振荡器已经工作,所以不存在启动延时问题

_BIS_SR(LPM3_bits)           _BIC_SR_IRQ(LPM3_bits)
LPM3                                 LPM3_EXIT


系统响应中断过程:

1.硬件自动中断服务
a.PC入栈
b.SR入栈
c.中断向量赋给PC
d.GIE、SCG1、CPOOFF和OSCOFF清楚
e.IFG标志位清除(单源中断标志比如WDTIFG

2.执行中断处理子程序

3.执行RETI指令

4.SR出栈

5.PC出栈
低功耗应用
void main(void)
{
    WDTCTL=WDT_ADLY_1000;
    IE1 | = WDTIE;
    P1DIR | = 0X01;
    _EINT();
    for(;;)
      {
            LPM3;
            _NOP();
      }      
}

interrupt[WDT_VECTOR]  watchdog_timer(void)
{
    P1OUT ^ = 0X01;
}

相关帖子

沙发
gaochy1126| | 2012-3-30 09:21 | 只看该作者
请问楼主,进入低功耗模式下,该怎么样才能使它自启动呢?

使用特权

评论回复
板凳
checkcai| | 2012-3-30 09:50 | 只看该作者
:L用中断或者定时器触发事件啊

使用特权

评论回复
地板
拿起书本|  楼主 | 2012-3-30 18:46 | 只看该作者
经常会遇到的事件哦,自己顶一下。

使用特权

评论回复
5
huangfeng33| | 2012-4-1 00:40 | 只看该作者
分析的清晰,方法巧妙。谢谢分享,收了:)

使用特权

评论回复
6
peter_zheng| | 2012-4-2 18:49 | 只看该作者
2# gaochy1126
进入低功耗模式需要用中断唤醒

使用特权

评论回复
7
rulu| | 2012-4-3 15:42 | 只看该作者
原来是这样啊

使用特权

评论回复
8
rulu| | 2012-4-3 15:42 | 只看该作者
自己启发了下

使用特权

评论回复
9
vivilzb1985| | 2012-4-10 16:21 | 只看该作者
我一般在程序中才采用LPM3模式,的却很省电的啊,各位可根据自己外围电路的需求选择不同的低功耗模式滴。。

使用特权

评论回复
10
爱之翼V| | 2012-4-12 12:02 | 只看该作者
1、将不用的I/O引脚设置为高或者低状态,不要让其悬空。
2、在不需要运行时间严格要求的任务,如UART通信或精密脉冲时钟时序等,尽可能使用内 部时钟,这通常是低功耗的首选。
3、关断所有不使用的外设:如PWM模块、AD转换器等等。
4、尽可能在程序代码中使用查找表,而不是让CPU去计算结果。
5、检查所有外部元器件的功耗,减少那些驱动外设,如EEPROM或者外部模拟电路的I/O数目。
总之,要去寻找那些电流消耗的单元,并尽量降低其功耗。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝