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.

MSPM0G3507: Power consumption in SHUTDOWN mode becomes high (over 1uA)

Genius 5995 points
Part Number: MSPM0G3507
Other Parts Discussed in Thread: MSPM0G1507, , SYSCONFIG, ENERGYTRACE,

Tool/software:

Hi experts,

My customer created a prototype board using MSPM0G1507, but the power consumption in SHUTDOWN mode is higher than that of EVM(LP-MSPM03507).

Q1: Could you point out any factors that may cause the power consumption to be higher in the schematics below?
Q2: Could you tell me other possible factors?

  • Schematics
    • The switch part of PA18 is actually an inverter inserted after the switch, so when the switch is pressed, it is fixed to High. Also, when the switch is not pressed, it is fixed to Low.
    • The result does not change even if PA9 and PB1, which are externally pulled up, are changed to inputs.
  • Software: <MSPM0 SDK install>\examples\nortos\LP_MSPM0G3507\driverlib\sysctl_shutdown

The measured result at 3V in the above schematics and program was 8μA. Also, if you leave it for a while, the measured value slowly fluctuates between 8 and 14μA.
(The inverter in the switch part consumes less than 1μA. EVM has confirmed that it is less than 1uA.)

CCS has confirmed that PMODECFG.DSLEEEP=10b.
During SHUTDOWN, only the wakeup port is active, but I suspect that an unexpected wakeup may be occurring.

They replaced the M0 from other manufacturer, but they are in trouble because the original mcu consumes less power.

Best regards,
O.H

  • Hi,

    The R42 and R44 will consume about 2.2uA here. The other part seems okay from my side. 

    Have the code configured all the unused pin as output low in sysconfig?

    Best regards,

    Cash Hao

  • Hi,

    Thank you for your reply.

    The R42 and R44 will consume about 2.2uA here. The other part seems okay from my side.

    Will share with customers.

    Have the code configured all the unused pin as output low in sysconfig?

    Sorry, information was leaked. All unused pins are set to low output. They turned off optimization just to be sure, but it made no difference.

    Q3: Are there any typical figures for how much power ROSC consumes?

    Best regards,
    O.H

  • Hi,

    The FCL only take affect when the SYSOSC is enabled. However, in SHUTDOWN mode, the SYSOSC is disabled, so the FCL, ROSC will not consume current under this mode. 

    BTW, the internal data shows when enable FCL function, the current will be about 10uA higher than disable FCL function. 

    Best regards

    Cash Hao

  • Hi,

    I'm sorry. I was not able to send an additional question. It would be appreciated if you could answer this as well.

    Thank you for your reply.

    The FCL only take affect when the SYSOSC is enabled. However, in SHUTDOWN mode, the SYSOSC is disabled, so the FCL, ROSC will not consume current under this mode. 

    BTW, the internal data shows when enable FCL function, the current will be about 10uA higher than disable FCL function. 

    I uderstood.

    The current consumption has not yet dropped below 8uA, and the goal is to reduce it to around 2uA, the level of the previous microcontroller.
    I have some additional questions, could you please confirm them?

    Q4:When the device switches to SHUTDOWN, does the internal Pull Up/Down resistor function that was enabled become disabled? Or does it remain disabled?

    Q5:Is the Hi-Z state the same as when the GPIO output is disabled? Or is it a Low output?

    Q6:The current consumption increased when an unused pin (unconnected) output was set to High. Is this caused by the internal circuitry?

    Q7:Is there a way to use the ULP Advisor in MSPM0? It's not showing up in Properties.


    Best regards,
    O.H

  • Sorry for the late reply.

    I used EnergyTrace to measure the customer's board and confirmed some results compared with the EVM. Measured the steady-state current consumption during SHUTDOWN.
    In conclusion, the current consumption increased when using UART and I2C.

    Q8: When using UART and I2C, are there any cases where the current consumption of the chip increases in the SHUTDOWN state?
    Q9: If so, could you tell me the possible causes and countermeasures?

    [Conditions]
    For the customer's board, each peripheral used was added based on the sample code "sysctl_shutdown_LP_MSPM0G3507_nortos_ticlang", and each peripheral was deleted in order. The peripherals used were RTC, I2C1, UART0, 1, Timer, DAC, ADC, and VREF, and the pins used by these were unchanged.
    All unused pins other than PA11, AP17, PA18, PA28, and PA31 are set to low output.

    The EVM adds UART, I2C, and GPIO individually based on the sample code "sysctl_shutdown_LP_MSPM0G3507_nortos_ticlang". All unused pins output low.

    [Reasons for increased current consumption on customer boards]
    - Default (when all peripherals are used) = 1.1518mA
    - When UART1 (PB6, PB7) is removed, it decreases by about 1.14mA
    - When UART0 (PB1, PA10) is removed, there is no decrease
    - When I2C1 (PA29, 30, with/without Internal PU) is removed, there is a decrease of about 8uA
    - When GPIO (PB13, without Internal PU) is added = increas by about 20uA
      (No increase when Internal PU is present)
    - When UART1 (PB6, PB7), I2C1 (PA29, 30, same with/without Internal PU) is removed = Decreased by 1.15mA (= about 0.3uA)

    [EVM measurement results]
    - Default = 0.1uA
    - When UART1 (PB6, PB7) is added = No increase
      When PA18 is added = increases of about 50uA.
    - When UART0 (PB1) is added, it increases by about 3uA at the beginning of startup and stabilizes with no increase after a while.
    - When adding I2C1 (PA29, 30, no internal PU) = increase of about 80uA
      (If there is an internal PU, there is no increase)
    - When adding GPIO (PB13, no internal PU) = no increase

    [Latest version Schematics]

    Best regards,
    O.H

  • Hi,

    - When I2C1 (PA29, 30, with/without Internal PU) is removed, there is a decrease of about 8uA

    Sorry.

    There was a resistor around the I2C (PA29, 30) on the customer's board. After removing it and enabling the internal pull-up resistor of I2C (PA29, 30), 0.4uA was confirmed in the SHUTDOWN state.

    Only UART1 has an increased current consumption during SHUTDOWN on both the customer's board and the EVM.
    Also, because different pins are used, it is not possible to determine whether the problem is with the chip or the board.

    - When UART1 (PB6, PB7) is removed, it decreases by about 1.14mA
    - When UART1 (PB6, PB7) is added = No increase
      When PA18 is added = increases of about 50uA.

    Best regards,
    O.H

  • Hi,

    Sorry for rush you. Is there any update?

    Best regards,
    O.H

  • Hi O.H:

    There are two ways you could try to disable UART power (one of below):

    1. Disable Asynchronous Fast Clock Request function (It may wakeup SYSOSC to 32MHz when UART RX is not pull up) of UART1 by add sentence before entering SHUTDOWN mode:

                      UART1->GPRCM.CLKCFG = (1<<8) | (0xA9 << 24). 

    2. Config UART pin to analog function before SHUTDOWN mode by API below. And you could try to config all other used pins to analog function before entering SHUTDOWN mode, to avoid all any impact of external schematic to MCU power consumption.

                      DL_GPIO_initPeripheralAnalogFunction().

    Best Regards,

    Pengfei

  • Hi Pengfei,

    Thank you supports.

    1. Disable Asynchronous Fast Clock Request function (It may wakeup SYSOSC to 32MHz when UART RX is not pull up) of UART1 by add sentence before entering SHUTDOWN mode:

                      UART1->GPRCM.CLKCFG = (1<<8) | (0xA9 << 24). 

    I confirmed that the current drops to about 0.4uA at initial startup, but after a certain amount of time it stabilizes at about 50uA(EVM).

    2. Config UART pin to analog function before SHUTDOWN mode by API below. And you could try to config all other used pins to analog function before entering SHUTDOWN mode, to avoid all any impact of external schematic to MCU power consumption.

                      DL_GPIO_initPeripheralAnalogFunction().

    I confirmed that it drops to 1uA or less. (EVM=0.1uA, Customer board= 0.5uA)

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    while (1) {
    //add Fixed2
    DL_GPIO_initPeripheralAnalogFunction(GPIO_UART_1_IOMUX_TX);
    DL_GPIO_initPeripheralAnalogFunction(GPIO_UART_1_IOMUX_RX);
    //
    __WFI(); /* Enter selected power policy */
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I have a question based on the above results.

    Q10:What causes the current consumption to increase in PA18 on the EVM?
    Is it the effect of the small current flowing through the 0Ω resistor (R23) or ESD (TPD6E004RSER)?

    And, It would be helpful if you could add this countermeasure to the document below
    Troubleshooting Guidelines for MSP Devices 3.1 High Current Consumption

    Best regards,
    O.H

  • Hi O.H.

    Q10:What causes the current consumption to increase in PA18 on the EVM?
    Is it the effect of the small current flowing through the 0Ω resistor (R23) or ESD (TPD6E004RSER)?

    Sorry for late reply. I'm not sure what do you mean of "add PA18", configuring it as input or output-high or output-low?

    Actually, if you want to measure LP-MSPM0G3507 power, all the jumpers except J101 in Launchpad needs to be removed. 

    By the way, do you test the power by EnergyTrace in XDS110?

    Best Regards,

    Pengfei

  • Hi Pengfei,

    Sorry for late reply.

    Sorry for late reply. I'm not sure what do you mean of "add PA18", configuring it as input or output-high or output-low?

    Actually, if you want to measure LP-MSPM0G3507 power, all the jumpers except J101 in Launchpad needs to be removed. 

    By the way, do you test the power by EnergyTrace in XDS110?

    Let me summarize again.

    The following current consumption measurements were performed using XDS110's EnergyTrace.

    1. Wrote "sysctl_shutdown_LP_MSPM0G3507_nortos_ticlang" to LP-MSPM03507 and added UART1
      1. All pins and jumpers other than the switch are open, and J101 is connected only to GND, 3V3, SWDIO, and SWLCK.
      2. Result: Confirmed that current consumption increases only when using PA18 (RX) (unrelated to Pull Up/Down)
    2. -Wrote software based on "sysctl_shutdown_LP_MSPM0G3507_nortos_ticlang" on the customer's board and deleted UART1.
      1. Added ADC, DAC, Vref, RTC, Timer, I2C1, and UART0/1 to the software .syscfg, and did not change the .c file.
      2. All pins other than the switch and blue LED are open, and J101 is connected only to GND, 3V3, SWDIO, and SWLCK.
        (See [Latest version Schematics].)

        [Latest version Schematics]

      3. Result: It was confirmed that the current consumption decreased only when UART1 (PB6, PB7) was removed.

    From the above results, it was confirmed that some of the pins of UART1 can affect the increase in current consumption even when they are open. I wonder whether this depends on the chip or the board circuit.
    However, since the current consumption decreased when "DL_GPIO_initPeripheralAnalogFunction()" was used, I think it is due to the influence of the board circuit.

    The last question is, I could not understand the reason why the current consumption increased even though PA18 was open in the EVM.

    Best regards,
    O.H

  • Hi O.H,

    Sorry for missing the information that PA18 is the RX pin of UART. Actually, the floating of UART RX pin will be thought as "UART active", which will result a Asynchronous Fast Clock Request and re-enable SYSOSC. So when using DL_GPIO_initPeripheralAnalogFunction(), the pin PA18 (or PB6/PB7 of customer's board) will be disconnected to UART mode, and there will be no extra power consumption. 

    Best Regards,

    Pengfei

  • Hi Pengfei,

    Thank you for your support.

    Actually, the floating of UART RX pin will be thought as "UART active", which will result a Asynchronous Fast Clock Request and re-enable SYSOSC. So when using DL_GPIO_initPeripheralAnalogFunction(), the pin PA18 (or PB6/PB7 of customer's board) will be disconnected to UART mode, and there will be no extra power consumption. 

    I understood. Since the current consumption value when using UART1 corresponds to STOP/STANDBY (on the order of uA), I think this makes sense.

    However, according to the documentation it does not seem to correspond to SHUTDOWN.
    If it is not stated, please revise or add to the TRM.

    Best regards,
    O.H

  • Hi O.H,

    Thanks for your so much test work on the power consumption in SHUTDOWN mode.

    We do had some test on Standby mode before, and met the same situation about UART, but not test SHUTDOWN mode yet.

    But according to your test and description, I thinks it is the same thing. And I will check with design team and push the update of it.   

    Best Regards,

    Pengfei

  • Hi Pengfei,

    Thank you for your loop. I understood.

    Best regards,
    O.H