标题: MSP430F149进入低功耗模式还有200多uA电流解决方法! [打印本页]

作者: hange_v    时间: 2018-12-27 19:42
标题: MSP430F149进入低功耗模式还有200多uA电流解决方法!
MSP430F149进入低功耗模式还有200多uA电流解决方法!!!
前段时间基于MSP430F149和BC95设计了一套井盖监控系统,用的3.6V锂亚电池和一个肖特基二极管给单片机供电,使用了电源看门狗,焊了8M和32.768K晶振,BC95平时通过MOS切断电源,通过时钟芯片定时外部中断唤醒单片机,用的水银开关做报警触发。然后单片机进入低功耗之后一直有200多uA电流。尝试了各种方法(改程序,拆芯片等),最后还是在TI论坛发现的问题:使用__low_power_mode_4();函数进入低功耗之前要加上BCSCTL1 |= XT2OFF;这一句来关闭外部8M晶振,问题就解决了,电流直接从220uA掉到了1.6uA(整个系统),外部中断触发之后再重新开启8M晶振就行了。进入其他等级功耗同理。同时记得把没用的IO输出为低!!!


作者: f556    时间: 2019-1-16 21:05
本帖最后由 f556 于 2019-1-17 17:33 编辑

楼主正解,前年就验证过了。但是要注意是XT2高频外部晶振启动的情况下是这样的,MSP430各类略有不同,F4xx是通过32768倍频来获得高频MCLK,F2xx可以让DCO到16MHz,F14X的DCO可以高5MHz。我的两个项目把的8M晶体拆除不用了,直接用DCO。最主要用XT1=32768,方便进出低功耗。

    BCSCTL1 |= DIVM_3;                 // MCLK/4
    //        delay_ms(125);
    WDTCTL = WDT_ADLY_1000;               // 32 8 0_5 0_064
    IE1 |= WDTIE;                       // Enable WDT interrupt


        LPM4;                        // Enter LPM3
        BCSCTL1 |= XT2OFF;              //不关闭,LPM3时还有100uA(AM:140uA),关闭则LPM3:1.2uA,LPM3exit:38uA   

见最后一行!(2016年8月12日 程序)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1