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.

MSP430FR5994: LPM3 current draw > 1mA

Part Number: MSP430FR5994
Other Parts Discussed in Thread: ENERGYTRACE,

Hello,

I am trying to use the MSP430FR5994 in LPM3, but I'm reading >1mA using EnergyTrace (verified with an ammeter). The datasheet specifies 0.7uA. Using EnergyTrace, I can see that the uC is in LPM3, and that only the RTC, LO freq clock and VLO are enabled.

Thoughts?

  • 1) Make sure there are no floating pins.

    2) Make sure there are no bus conflicts on connected pins. If you're using the Launchpad, remove the RXD and TXD jumpers from J101.

    3) Turn off the ADC internal reference (REFCTL0:REFON)

    It may be worth looking at example msp430fr599x_lpm3_02.c:

    http://dev.ti.com/tirex/explore/node?node=AAeWpvsnHIgaFbdPJYpWOg__IOGqZri__LATEST

    [Edit: See also

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/753915/2788314

    From which I re-learned:

    4) Be sure to use Free Run

    5) Make sure the Launchpad LEDs (P1.0-1) are off

    6) Remove the Launchpad SD card

    ]

  • Hello Bruce,

    Thanks for the reply...  Unfortunately, we attempted those suggestions...  As of now, prior to entering sleep mode, we:

    • Disable the WDog
    • Set all pins to GPIO output, and drive low
    • Power off the Reference Generator (for ADC output to custom HW)
    • Stop our active interrupt timers
    • shut down the High frequency clock
    • Turn off the SVS in the PMM

    At this point, we enable the RTC for leaving sleep mode, sourcing the ACLK (32KHz) and then enter sleep mode via the "__bis_SR_register(GIE | LPM3_bits);" instruction...

    We do have EnergyTrace and EnergyTrace+ running on some tests, and we do see that the only modules running are the RTC, ACLK, and VLO.  MCU is 100% in LMP3 mode, just too much current draw...

    Any other thoughts as to what we can possibly shut off?  I tried shutting off the "PMMREGOFF", but that ended placing the MCU into LPM3.5, which I do not want (and current draw was still in the mA range)...

    Thanks,

    -mike (on behalf of Matt and team)

  • I'll just mention that the "output low" trick is easy to do, but is a recipe for bus conflicts. The most common one I see in the Forum is the Launchpad RXD line, which is driven high externally, but on your board there may be others.

    If you're trying to retrofit, I suspect the next thing is the "light switch" procedure ("If you turned it on, turn it off"). Most of the items won't matter much, but you might see something you forgot.

    If you're running the RTC from VLOCLK, you're presumably not using ACLK. Maybe try LPM4 (LPM3+ACLK=off)?

  • Another question - Is there a backfeeding path from DVCC to AVCC (by an ESD diode or similar)? We have circuitry that's fed only by AVCC that we do not want fed by DVCC under certain conditions (ie when we go to sleep).

  • I'm not a EE, so I'm probably not the one who should be answering this.

    But I'm pretty sure you can't turn off the AVCC source (even in sleep mode), since it always has to be within 0.3V of DVCC. [Ref data sheet (SLASE54C) Sec 5.1 and 5.3, particularly Sec 5.3 Note (1)] So I'm not sure how your situation can arise.

  • Hi Bruce,

    I saw that note in the datasheet, too. I'm guessing there's an ESD schottky diode between AVCC and DVCC, which would provide a backfeeding path.  

**Attention** This is a public forum