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.

CCS/MSP430F6779A: GPIO recommended configuration for LPM mode

Part Number: MSP430F6779A
Other Parts Discussed in Thread: TIDM-AUX-MODULE

Tool/software: Code Composer Studio

Hi everyone. In my application, I intend to make some opperations (memory accesses) just after switching from DVCC to auxiliary supply (supercapacitor) and before enter in LPM 3 mode.

What should I do with the periferic shared and other GPIO pins (used on the PCB board) after detecting switch to auxiliary supply and before entering the LPM?  I didn't find any observation about that on the datasheet. The only found information is that when entering LPM, the PMM module already handles the pins to the lowest power consumption. But what is recommended during my critical data backup?

  • Hello,

    Any unused pin with a secondary function that is shared with general-purpose I/O should follow the Px.y unused pin connection guidelines in Table 4-5 in the MSP430F6779A datasheet. Usually, it means setting the direction as output and setting them low.

    Check out the following thread with a similar question.

    Power consumption and unused pins

    Also, the TIDM-AUX-MODULE reference design may be helpful for you.

    Regards,

    James

  • Thank you James. Sorry for my Table4-5 missing. I have one more question. 


    For some periperal, as UART, for example. It's common to set some bits (depending the intended behavior) of the control registers. To archieve the lowest module consumption is it ok just clear bit UCSWRST for UARTs modules? Or should I clear all control bits for this module? 

     
    It's also applicable to SMCLK usign XT1 oscillator, to get the lowest power consumption is it ok just set SMCLKOFF bit of UCSCTL6 register? Or more clear actions should be performed to reduce power consumption?

     Thank you for the help.

  • Hello,

    Maique Garcia said:
    Thank you James. Sorry for my Table4-5 missing. I have one more question. 

    No problem.

    Maique Garcia said:
    For some periperal, as UART, for example. It's common to set some bits (depending the intended behavior) of the control registers. To archieve the lowest module consumption is it ok just clear bit UCSWRST for UARTs modules? Or should I clear all control bits for this module? 

    UCSWRST is set to 1 by default, so you probably don't need to clear it. That should result in the lowest power consumption.

    Maique Garcia said:
    It's also applicable to SMCLK usign XT1 oscillator, to get the lowest power consumption is it ok just set SMCLKOFF bit of UCSCTL6 register? Or more clear actions should be performed to reduce power consumption?

    I wouldn't recommend using this bit or register. Instead, I would recommend using the Status Register (SR) bits including SCG1, SCG0, OSCOFF CPUOFF and GIE. In our LPMx code examples, you'll see there's an easy way to enter and exit these modes using the following functions. For example, here's what you'd use for LPM3.

    Enter (go to sleep, enable global interrupts)

    __bis_SR_register(LPM3_bits + GIE);

    Exit (useful when returning to main() after finishing ISR)

    __bic_SR_register_on_exit(LPM3_bits);

    For the various low power modes, you can refer to Figure 1-6 and Table 1-2 in the MSP430x5xx and MSP430x6xx Family User's Guide. I'd source ACLK with XT1 in case you'd like to use LPM3 while clocking the RTC or other modules while CPU is sleeping. I'd source SMCLK and MCLK with the high-frequency DCO. This way, the CPU completes things faster and can go back to sleep more quickly. There may be other ways of reducing power consumption.

    Regards,

    James

**Attention** This is a public forum