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.

CC430F5137 very high current consumption in LPM4 Mode, why?

Other Parts Discussed in Thread: CC430F5137, CC1101, MSP430F2350, CC430F6137

Hi together,

I am using a CC430F5137 in my design where I have long idle phases and where I want to keep the current consumption as low as possible.

When following the instructions on page 35 of the userguide to switch all unused pins to port funtcion with output direction I get about 14 mA current in LPM4!!!

When switching all unused ports to input function with enabled pullup resistor I get a current consumption of 100 µA in LPM4.

This is still 100 times larger than mentioned in the datasheet with 1.1 µA. What am I doinf wrong?

While in LPM4 I have one port configured as input with interrupt capability, to wake up the controller from LPM4.

Addionally I need one other pin to be configured as output with logical cero.

Besides of this two ports I am using none.

I tried out a similar program on a MSPF2350 together with CC1101 and I got a current consumption of only 2.8 µA.

Does anybody have any good advices?

Thank you very much,

best regards,

Uli

 

  • Uli said:
    When following the instructions on page 35 of the userguide to switch all unused pins to port funtcion with output direction I get about 14 mA current in LPM4!!!

    What about the used ports? This advice is only for port pins which ar enot connected to anything. If on one port pins some external signal is applied (but you don'*t use it), swotching th port to output makes the two signals fight each other, causing a high current consumption.

    Uli said:
    When switching all unused ports to input function with enabled pullup resistor I get a current consumption of 100 µA in LPM4.
    This is still 100 times larger than mentioned in the datasheet with 1.1 µA. What am I doinf wrong?

    The inputs have (if enabled as inputs) some leakage current which is sourced by the pullups. This is why the port pins should be put to outputs.

    You should check which port pin causes the 14mA current when you switch it to output. Then only set the remaining ones to output and keep this one as input (without pullup)

    Uli said:
    Addionally I need one other pin to be configured as output with logical cero.

    And how much does thi sport pin have to drive? (well, driving to GND won't cause much durrent through the MSP, but cause the current to be sourced on the opposite side instead. maybe a series resistor helps keeping the current lower.

    Also (I didn't check the datasheet) on some MSPs the pullups can be active even if the port pins are configured as outputs, on other MSPs, the pullups are deactivated. Maybe another source of excess current.

  • Hi,

    thank you for your advices. I have some progress in my code now.

    When I use the following code I get a current consumption of 10 µA in LPM4:

    //***********************************************************************************************

    P1SEL = 0x00;   
    P2SEL = 0x00;
    P3SEL = 0x00; 


    P1DIR = 0xFF;
    P2DIR = 0xFF;
    P3DIR = 0xFF;
    PJDIR = 0xFF;

     

    //Following is one interrupt capable input port to wake-up the controller from sleep mode

    P2DIR &= ~BIT3;
    P2IE  |=  BIT3;                
    P2IES &= ~BIT3;                 
    P2IFG &= ~BIT3;                
    P2REN |=  BIT3;
    P2OUT &= ~BIT3;

    //The follwing output port is needed to drive the a switch. The switch consumes less than 1 µA.
    P3DIR  |= BIT5;                   
    P3OUT  &= ~BIT5;  

    //To enter the LPM4 following function is used

    __low_power_mode_4();

     

    //***************************************************************************************************************

    When looking in the datasheet of the CC430F513X on page 43 a current consumption of about 1 µA is given.

    Do I still miss some important point? Does anybody have any ideas?

     

    Thank you,

    Uli

     

     

  • Hi together,


    I've tried out something else as well. On a second board I put only the CC430F5137, an 26 MHz Crystall, JTAG Interface, an 47k Resistor for the Reset and a 3V coil cell battery.

    When programing the CC430 with follwing code:


    P1SEL = 0x00;   
    P2SEL = 0x00;
    P3SEL = 0x00; 


    P1DIR = 0xFF;
    P2DIR = 0xFF;
    P3DIR = 0xFF;
    PJDIR = 0xFF;


    __low_power_mode_4();


    I get a current consumption of 3.2 µA. This is less than the previous 10 µA but its still more than the 1 µA from the datasheet of the CC430.

    What could be the source of the higher current consumption?

    Thanks,


    Uli


  • Is theboard connected to the JTAG programmer? then setting PJDIR to 0xFF might be counterproductive as it sets the port to act against the programmer outputs (even if they are inactive).

    Also, there may be some modules stilla ctive (especially those wo do not need a clock) or an active module is requesting a clock such as MODOSC. This may too increase the power consumption.
    What about the Watchdog? It also requires a clock, unconditionally (maybe overriding the LPM settings) which in turn consumes energy.

    Well, you're down from 100µA to 3.2, that's great. I'm sure you'll find the rest too, if you look through your code.

  • Hi Jens-Michael,

    thanks for your advices. When measuring the current I disconnect the JTGA interface. Otherwise the current consumption is 10 times higher.

    I am now down to 1.3 µA current consumption. My problem was that some rest of the flux on the board due to soldering made a connection between pins.  After cleaning the board very carefully I achieved the 1.3 µA.

    When looking in the datasheet there is a value of about 1.1 µA given for LPM4. So I am very close to that.

    On an other projekt I used an MSP430F2350 together with an CC1101 Transceiver. There I got a current consumption in LPM4 of less than 0.5 µA.

    Now I am wondering why the current consumption is increasing when two components are placed on one chip??? (As is in CC430). This is more than 100% more current!!!!!!

    I am working at a projekt where I want to achieve a very long standby time with a coin cell. So every little microamp less counts for me.

    Maybe someone from the TI staff can give some statement on that?

    Thanks alot,

    best regards

    Uli

     

  • Uli,

    in addition to initialize the ports properly (output driving low for most pins), you also need to ensure the system & power management modules are optimized for low power as well. Make sure that the VCORE level of the PMM is reduced to 0. You can use the 5xx/6xx core libary for proper operation of this module. 

    I think the LPM4 = 1.1uA current number that you saw in the datasheet is typical for VCORE level 0. Expect small variations between different devices, so it's possible to see something slightly higher or lower. The precision of your DMM or the rounding error could also contribute to the overall difference between the measured value and the typical spec.

    To address your other question regarding current consumption between a 2xx+CC1101 system and a CC430 system, CC430 is among the first devices that have a new MSP430 core architecture (5xx/6xx families) that have been designed & optimized for low active mode current consumption. The throttling of VCORE [mentioned above] as well as the clock are just a couple of features that contribute to this. For more information on how to take advantage of these features on a 5xx/6xx system, you can browse through the lecture portion of the 5xx One Day Workshop slides: link

    Regards,

    Dung

  • Hi Uli,

    I am using a CC430F6137 and need some help.

    How do you measure yor current consumption?

     

    best regards

    Sebastian

  • Hi Sebastian,

    in my design I use a coin cell for power supply. Directly behind the battery I have a pin connector, so I can use a jumper to switch my board on and off. Instead of the jumper I can insert a Multimeter with ability to measure currents down to micro ampere. This way I measure the current consumption of the hole board which in my case is dominated by the CC430.

    I would recomment when designing your board to insert at the power lines of the different components pads in series (e.g. 0603 pads). Then you solder 0-Ohm Resistors there. If there is a problem you can desolder the 0-Ohm resistors one after the other and you can insert a multimeter in series. This way you can specify the current consumption of the different components on you board.

    If your board is produces without the pads you would have to scratch away the power line which is very uncomfortable.

    Hope I could help,

     

    Regards

    Uli

     

     

  • Uli said:
    I would recomment when designing your board to insert at the power lines of the different components pads in series (e.g. 0603 pads)

    In my designs i use a 'solder-jumper pad' with default connection. It is exposed, so I can easily scratch the connection if I want to, have two half-moon pads on both sides for attaching test pins and I can easily close it with a drop of tin.
    And it does not require a 0R resistor in mass production.

    The same pad is useful for configuration pins. I also have a 3-pad version with one default connection, so I can switch form one to the other if necessary.

    However, 0R resistors are a common approach.

**Attention** This is a public forum