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.

MSP430FR5738: LPM4.5 current consumptions are not stable among MSP430FR5738 IC's

Part Number: MSP430FR5738

Hello all,

I am facing a strange issue. I have custom boards with MSP430FR5738 on them. There are two switches connected on P1.1 and P1.2 in order to read discrete input states (either HIGH or LOW from switches) and a gate of MOSFET connected to P1.4. I assigned P1.4 as peripheral module function and PWM signal is driven from P1.4 with Timer_B0 module. Other pins are some 4-pin JTAG connections, VCC's are 3V and VSS's are ground. Rest of the pins are left open. I am not allowed to share schematic of the circuit since privacy policy of our company, but if you ask about more details, I will try to give more information.

The power consumption of the project is so strict, in order to make my battery life as long as possible, MSP430FR5738 needs to go in LPM4.5 while in sleep. It wakes up with interrupt from either of the switches.

In the datasheet, I found that MSP430FR573x series current is from 0.3 to 2.55 uA in LPM4.5 mode. That is what I exactly need.

So I programmed the microcontroller. In LPM4.5 entry, I configured unused pins of Port1 and Port2 as inputPinWithPullDownResistor, and unused pins of PortJ as inputPinWithPullUpResistor. There are no other ports in this microcontroller series. The two switch pins (P1.1 & P1.2) are left as input with interrupt enabled in order to make microcontroller wake up.

As I observed, some of my boards' current consumption is around 1.5 uA, which is good, but some of the boards' current consumption is around 250 - 300 uA.

I tried other options like setting unused pins as output and drive LOW when entering LPM4.5 but it just got worse. In that case, current consumption goes to 21mA.

We check over and over with hardware engineers and make ourselves sure that hardware is the same among all the boards and same software running on microcontrollers.

Can you please help us how to reduce current consumption of all boards to ~1uA level? Can you please share if there is an erradata workaround?

Best regards,

gorkem 

  • Your symptom -- particularly the fact that switching from input-pullup to output-low dramatically increased consumption -- points at a bus conflict, i.e. the other end of some wire is driving the opposite level. I don't know why this would vary between boards.

    Since the difference between these settings is so visible (and there aren't very many pins), I would at this point be searching pin-by-pin (or maybe divide-and-conquer) to find the culprit pin(s); then I would work backwards to the cause.

    Possibly related: I just noticed that XIN/XOUT (PJ.4-5) in the data sheet [(SLAS639L) Table 6-52] are pre-configured (PJSEL0=1), which seems to conflict with User Guide (SLAU272D) Table 8-3. If you're not using a crystal, you might want to set PJSEL0=0. On e.g. the F2 series, the user guide has a warning about excess current if the XIN/XOUT pins aren't configured properly.

  • Hello,

    So I programmed the microcontroller. In LPM4.5 entry, I configured unused pins of Port1 and Port2 as inputPinWithPullDownResistor, and unused pins of PortJ as inputPinWithPullUpResistor. There are no other ports in this microcontroller series. The two switch pins (P1.1 & P1.2) are left as input with interrupt enabled in order to make microcontroller wake up.

    According to Table 1-4. Connection of Unused Pins in the MSP430FR57xx Family User's Guide, unused port pins should be configured as port function in the output direction (PxDIR.n = 1) in your application code, not as inputs. The same applies to Port J.x pins if they are unused.

    As I observed, some of my boards' current consumption is around 1.5 uA, which is good, but some of the boards' current consumption is around 250 - 300 uA.

    This comment makes me suspect some devices are not in LPM4.5 but could be in a different power mode instead. Can you add some code that toggles an IO or something to indicate when the device is awake versus asleep?

    I tried other options like setting unused pins as output and drive LOW when entering LPM4.5 but it just got worse. In that case, current consumption goes to 21mA.

    That's definitely strange. As mentioned above, they should be configured as outputs. I would check that you're only configuring the IO's once and not re-configuring them differently in other parts of your code.

    MSP430FR5730: How to reduce power consumption in LPM4

    We check over and over with hardware engineers and make ourselves sure that hardware is the same among all the boards and same software running on microcontrollers.

    This is good to check. I would be curious if you've also tried to make sure that nothing else on the board is consuming current. I know it's a custom board, but it would be good to disable power to everything else on the board. Also, be mindful of passives that may be increasing overall static power consumption.

    Can you please help us how to reduce current consumption of all boards to ~1uA level? Can you please share if there is an erradata workaround?

    I would encourage you to follow the instructions in the Configuration for LPMx.5 Low-Power Modes on page 297 in the MSP430FR57xx Family User's Guide.

    Also, these two code examples should be helpful for your testing.

    1. ctpl_ex1_gpio_lpm45_msp-exp430fr5739.c (uses power loss (CTPL) library, based on example below)
    2. msp430fr599x_lpm4-5_01.c
  • Hello James,

    Sorry for late reply i was not able to try your suggestions. Thanks for your detailed answers and help. The issue was simple in the end. Battery voltage connected to P1.3 in order to read as analog input. But when driving it as output low in LPM4.5 enter function, a current flow from battery to microprocessors happens so P1.3 is set high when entering LPM4.5 and thats it. 

  • Great job narrowing down the issue. Thanks for sharing the solution!

**Attention** This is a public forum