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.

MSP430 LPM3 is not working... help

Other Parts Discussed in Thread: MSP430F2132, MSP-TS430PW28

Hi, I´m new to MSP430 and I´m working on MSP-TS430PW28 kit using a MSP430F2132. I just try to put LPM3 and monitor current consumption, and It never goes below 70uA, I read the spec and I think there is something wrong, it says the current consumption should be lower. I´m using MSP-FETU430IF tool.

By the way, when I disconnect the debugger and reset the board the current goes to 137uA.

Note: I´m using external VCC to power the board and set JP1 to ext VCC.

 

The code:

void Ini_Sys(void)

{

      WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

      if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                    

      { 

      while(1);                               // If calibration constants erased

                                            // do not load, trap CPU!!

      }  

      BCSCTL1 = CALBC1_1MHZ;                    // Set DCO

      DCOCTL = CALDCO_1MHZ;

       

}

 

void main(void)

{

      Ini_Sys();   

      __bis_SR_register(LPM3_bits + GIE); // Enter LPM3, interrupts enabled

       

}

 

Any idea why the current is too high?

 

  • Hi Samuel,

     

    The connection of the FET could affect the current measurement.  Therefore, I would suggest making the current measurements with the FET tool disconnected.  Did you try running the LPM3 code example provided for the device?  With this example are you getting the same results?

  • Thanks Devin, you are right !  My mistake, I did not read all guide lines in CCSv4 User´s Guide p22:

    9. When making current measurements of the device, ensure that the JTAG control signals are
    released, otherwise the device is powered by the signals on the JTAG pins and the measurements are
    erroneous. See FAQ Debugging #10.
    10. When the debugger has control of the device, the CPU is on (i.e., it is not in low-power mode)
    regardless of the settings of the low-power mode bits in the status register. Any low-power mode
    condition is restored prior to STEP or GO. Consequently, do not measure the power consumed by the
    device while the debugger has control of the device. Instead, run the application using Release JTAG
    on run.

    I try the demo code and It works, just 1.1uA !!  , and concern to the 137uA extra when I disconnected the debugger, really I do not know why...

    Other change I made on CCSv4 was remove the software breakpoints, then I try the code I post before and ...it works.

  • If using an experimenters board or a breakout board, often some/many of the port pins are connected to a jumper field or a connector.

    To achieve minimum power consumption, all port pinst must be either set as outputs or tied to either VCC or GND.
    After power-up, all port pins are set to high-impedance input and any floting input pin might catch radio waves (noise) and cause excess current drawn inside the input circuitry. So if the board layout noes not tie all unused port pins to gnd/vcc, you should set all ports to low output (second best to a low input) before entering LPM.

    Also, if there is a watch crystal attached, it will be active by default in all LPMs except LPM4, even if not used. The current values for LPM3 differ by ~0.2uA whether ACLK is sourced from LFXT1 or VLO (LFXT1 is the default) with the crystal active in both cases. Without crystal (or OSCOFF = 1) ACLK will fall back to VLO automatically and additional ~0.2uA are saved by not driving the crystal.

**Attention** This is a public forum