This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430FR2433: Reducing power consumption in active mode?

Part Number: MSP430FR2433

Hi,

i just recently got a development board with this chip. Still finding my way trough the MSP430 ecosystem, so i apologize for the ignorance.

I was wondering what options do i have to reduce power consumptions in active mode?

Thing is, a custom board will eventually run on a solar panel, with no battery. That means i'll have unlimited capacity, but limited power.

The "energy trace" tool shows current consumption around 0,4mA, @3MHz. I switched to the VLOCLK at 10kHz, an it reads at 0,2mA, which sounds much to high in comparison. I'm guessing i must be doing something wrong.

Any pointers or suggestions?

Thanks

  • Hi Vato,

    The first thing I would recommend is take a look at the users guide, section 1.4.  There you will find information about the various low power operating modes.

    The basic idea is when the CPU is not doing anything important it should be placed into one of the low power modes.  You need something, however, to wake the CPU back up.  Typically the ACLK  (using an external 32KHz xtal or REFO clock source) clocks one of the MCU's timer while the CPU is stopped.  BTW, when clocking a timer in this way, the MSP consumes about 1uA while in the low power mode. You want to set up the timer to generate a periodic interrupt, which wakes up the CPU.  The CPU can then perform whatever task it needs to do, then go back into low power mode.

    Here is an example that demonstrate this.

    Does this help?

  • Thank you for the reply. I've been looking up the LPMs yes.

    I must say, i'm probably going to use both the LPM and a slow MCLK clock to run the CPU. 

    I'd like to ask then...if is it normal to see around 200uA, running an idle chip (in active state) at 10kHz with the "energy trace" tool? As mentioned, i'm using an out of the box dev board, all I/O pins as inputs.

    As mentioned, i'm seing only a 2x current reduction between 1MHz and 10kHz, which to me seems odd. It could be an error on my part of course.

    Thanks again

  • To reduce power, you should make all unused I/Os output low.
    Also, if all you need is a short burst of active MCU power, invest into a tiny rechargeable battery. They have them in ~5mah in a tiny 6mm packages.
  • Hi Vato,

    Mike makes a very good suggestion to make sure you set all the unused GPIO to output and drive them low.

    Another possible source of at least some of the current consumption can come from running the MSP in debug mode. The EEM (debug module) will consume about 20uA. Terminate debug mode and reset the MCU.

    One tip to help isolate what the contribution of the CPU is to simply place the CPU in LPM mode 3 and then measure the current. In that mode the CPU and all system clocks are stopped (except maybe ACLK if used to run timer, etc). Try this and let me know what you measure.
  • Excellent idea. I'm going to try to shut down most of the chip and wake it up with an external signal. I'll report back.

    Thank you both.

  • I've tested it. In LPM3+I/O low i get around 30uA, which in my book is good enough.

    I did however found a potential issue. Seems i've killed Pin 1.5 sometime in the past. I do recall having shorted the thing accidentally once. It doesn't seem to cause any other issues, so i'm running with it. When i finish my standalone board i'll do some real measurements.

    Either way thanks for the tips, i think i got most of it.



    PS. If there's anyone out there that can measure the difference in consumption between 10kHz and 1MHz, i'd much appreciate if you can drop a word here. Thanks in advance.
  • Hi Vato,

    I set up an experiment with the MSP430F2433 running a simple while(1) loop at both 10Khz and 1MHz. I verified the frequency using a logic probe on P1.3 (it is possible to select the MCLK to appear on this pin).

    Here is what I measured with a bench meter:
    1MHz = 220uA (which is within spec according to the datasheet)
    10KHz = 110uA

    Next, I reprogrammed it so it would enter LPM0 (CPU stopped, but other system clocks remain active).
    In this way I can now see what the contribution the CPU has on the overall current.

    1MHz = 158uA
    10KHz = 90uA

    So this tells us that @ 1MHz the CPU is consuming about 60uA out of the 220uA, and @ 10KHz the CPU consumes about 20uA out of the 90uA.

    Hope this helps.
  • Correction:
    So this tells us that @ 1MHz the CPU is consuming about 60uA out of the 220uA, and @ 10KHz the CPU consumes about 20uA out of the 110uA.
  • Thank you very much for the reference benchmark Dennis. It will help me a lot for troubleshooting my device.

**Attention** This is a public forum