在线情况
楼主
  • 头像
  • 级别
    • 积分3
    • 经验205
    • 文章3
    • 注册2012-04-09
    关于CC430芯片的低功耗问题--小白求指教
    最近一直在做项目的测试,入手了几块利尔达的CC430F5133的无线模块,在没考虑低功耗前,程序都改的差不多了,看了说明书,知道进入低功耗就两句话,所以放心大胆的添加上去,没想到电流的大小完全不是我预计的那样。

    下面说下我想问的问题,首先说下我们的模块的基本情况。就是用CC430采集SHT10的温湿度和电压值,然后有两个发光二极管(以后可以去掉),然后没了,加上两个5号电池供电。我没加晶振,采用的都是系统默认的时钟

    我看了TI的官网提供的LPM3的例子,分为两部分:一部分是时钟的选择,选择辅时钟ACLK为32K,其他默认,或者所有时钟均为VLO,想问这个VLO是什么?第二部分是关闭SVSH和SVSM。

    我的问题就来了,首先我如果采用默认的时钟,还需不需要设置的语句?即相关UCS的操作;其次,关于BOR、SVS、SVM几个关于PMM的内容是否是低功耗的关键?其中说明书上说的2uA的电流,是不是要程序进入LPM5然后通过WDT把芯片从掉电模式中唤醒?


    小白跪求大家的意见,谢谢!
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    如果楼主只是纯属是测试MCU部分功耗的话。在测试时可将外部设备关掉。或串联电表在MCU供电中。
    关于时钟这部分,这是决定MCU的功耗的重点因素。你必须要去了解这MCU的时针模块结构,以及其上电后那些模块是被打开的,那些时钟是被默认的。
    最简单来说,CPU时钟---MCLK,这个时钟默认的时钟源是那个?一般来说,在其他系统中一般默认是DCO时钟源(内部的数控振荡器)的。而这个CC东西,也不例外,默认是一般是DCO模块,但这DCO模块又有两路输出。分别有DCOCLK、DCOCLKDIV这两个,默认是那个呢。请自己去查看手册吧...(我不多说)。
    一般情况,比较省电就是DCO了,所以一般默认是这个。当在功耗时,这时钟源会被关闭。当然,不同模式下功耗是有所有差别的。
    有些模块,比如外部晶振荡器在默认的情况下,如果你不是开启的话在默认下是被关闭。所以程序在上电时不必太过故意去处理。这样是比较省电的。其他模块同样地,如果你没用上的,一般不必去理他。因为他们大多数是关闭状态的。
    你在测量时可以尝试着使用不同时钟源或低功耗模式测量其功耗试试...。
    你所问的“VLO”,在手册中也有说的(Internal Very-Low-Power Low-Frequency Oscillator (VLO))。看来你也没细心去查查...
    先自己还是多看看这CC东东的参考手册吧。后面有什么疑问的咱们再多多交流...。
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分3
      • 经验205
      • 文章3
      • 注册2012-04-09
      [P][QUOTE][B]下面引用由[U]DC[/U]发表的内容:[/B]

      如果楼主只是纯属是测试MCU部分功耗的话。在测试时可将外部设备关掉。或串联电表在MCU供电中。
      关于时钟这部分,这是决定MCU的功耗的重点因素。你必须要去了解这MCU的时针模块结构,以及其上电后那些...[/QUOTE]
      [/P][P] [/P][P]我确实没有看仔细,我虚心接受,我再去看。[/P][P]我先在程序里只设置了这几段:[/P][P]  WDTCTL = WDTPW + WDTHOLD; [/P][P]  P1OUT = 0x00; P2OUT = 0x00; P3OUT = 0x00;  P5OUT = 0x00;
        P1DIR = 0xFF; P2DIR = 0xFF; P3DIR = 0xFF;  P5DIR = 0x03;
        PJOUT = 0x00;
        PJDIR = 0xFF;
        UCSCTL4 = SELM__VLOCLK + SELS__VLOCLK + SELA__VLOCLK;[/P][P]  // Turn off SVSH, SVSM
        PMMCTL0_H = 0xA5;
        SVSMHCTL = 0;
        SVSMLCTL = 0;
        PMMCTL0_H = 0x00;
        __bis_SR_register(LPM3_bits);[/P][P]模块的电流为150uA,不知道还有哪边在消耗呢?[/P]
      微控网感谢您的参与
      在线情况
      4
      • 头像
      • 级别
      • 门派
      • 职务总版主
      • 声望+9
      • 财富5
      • 积分3065
      • 经验390701
      • 文章6744
      • 注册2006-03-07
      [P]手上有在用5438的网友们帮他试试吧,有平台有兴趣就试试...。
      否则看这几行代码,没啥可发言的...[/P]
      [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
      Powered by LeadBBS 9.2 .
      Page created in 0.1797 seconds with 5 queries.