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.

Power consumption and unused pins

Other Parts Discussed in Thread: MSP430F5438A

Hi to all,

Once again I have problems with the uC power consumption. I work with MSP430F5438A and a custom board.  In these custom boards we have several peripheral, FLASH, temperature sensor, etc communicating by SPI or I2C.

We control the power of the external peripheral with a uC GPIO, that controls the power supply to the external peripheral modules . So, when we want to enter in LPM, we reset this pin, and all external peripherals turn off, not a low power mode. With this situation, we are obtaining a power consumption out of the range, and we are not talking about uA, we are talking about mA.

In the users' guide, it is mentioned that the unused pins have to set to output direction with low values when the code goes to LPM. Are the pins, that go to turned off peripheral,  considered as unused pins? I have observed that if I configure the PXSEL register but we turn off or not use the peripheral (I2C communication with the pull up resistor in the lines), the power consumption is reduced, but it maintains out of range. In other hand, if these pin are configured as output with high level during LPM, the power consumption increases.

Until now, I configure as low output all pins that are not inputs, but it seems that does not work.

If we have to work with input with pull-up during LPM, could they produce a power consumption increment? (the lines go to particular signals, not floating)

What is the correct pin configuration for low power mode if we work with  SPI and I2C devices and input with pull-ups? Any help or guide?

Thanks in advance.

  • Is T da S said:
    In the users' guide, it is mentioned that the unused pins have to set to output direction with low values when the code goes to LPM.

    Not only when going into LPM. If you don't use a pin, it should generally tied to a certain logic level. Doing so by setting it to low output, or enabling the pulldown resistor (if available) is as good as an external pullup or pulldown resistor.

    Is T da S said:
    Are the pins, that go to turned off peripheral,  considered as unused pins?

    No, they go to peripheral and are therefore used.

    However, if you removed power form the peripheral, it has no supply voltage. It is a bad idea to apply and signal voltage to their inputs then as it means the inputs are above their supply. This will likely cause current into these inputs (not really low power then) and perhaps destroy the inputs of the unpowered peripherals.

    So whiel those pins are not 'unused', it is still a good idea to turn them into low outputs. Not (only) because of low power, but also to protect the unpowered peripherals (which is a general electronic design consideration, even on not-low-power systems).

    Is T da S said:
    Until now, I configure as low output all pins that are not inputs, but it seems that does not work.

    Even inputs, if not actively driven by a peripheral but 'floating', should be pulled up or (better) down by internal or external pulldown resistor when the signal is not actively driven anywhere.

    Is T da S said:
    If we have to work with input with pull-up during LPM, could they produce a power consumption increment?

    If you use external, fixed pulldown resistors, then yes, as any high level signal will cause current flow through the resistors to GND.

    When using the itnernal pullup of the MSP (if aailable), you can deactivate the pulldown (by clearing the PxREN bit) right before you reactivate the peripherals.

**Attention** This is a public forum