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.

MSP430FR2111: Appropriate low-power mode selection (LPMx) for desired functionality

Part Number: MSP430FR2111

Hello, I have certain functionality that I need to achieve but want to choose the lowest power mode.  I do not have any external crystals connected so I am limited to internal clock sources

Only using 2 peripherals (ADC and UART) and want to achieve lowest power possible by turning off peripherals when not in use and select appropriate clock sources.

a. Using the ADC at 3Hz, sampling 2 channels.  What clock source should I use?

b. UART bus at 9600 baud.  32 bits of data is requested at 2Hz from the MSP430 over this bus

Thanks,

E

  • Hi Eduardo,

    the answers to your questions are not so easy, as usual. But please let me give you some starting points.

    ADC

    The ADC can operate independently of the CPU and the rest of the system and is also able to handle the required clock source for sampling and conversion autonomously, reducing this way the current consumption as far as possible. The clock source usually used for this purpose is the MODOSC.

    Now the other thing the ADC needs, is some kind of a mechanism to trigger a conversion. As you want to have a pretty low repetition rate of conversions with 3Hz, you cannot use back to back conversion, but need some trigger generated from a Timer, running in the background, generating the 3Hz triggers. The lowest power for this would be clocking a Timer with the VLO. But the downside of the VLO is its inaccuracy. So it depends on your requirements on the accuracy for the 3Hz pattern, whether you can go with this option or not. The other possibility with a higher power consumption is using the REFO.

    UART

    UART and LPM with MSP430 FRAM might be a challenge. The reason is the startup time of the used oscillator. So there will be a delay resulting from the oscillator start (please see the datasheet for further details). Dependent on the used baudrate and the system setup this might work or not.

    Why am I mentioning system setup in addition to baudrate? Now if the baudrate is so fast, that the delay due to oscillator startup makes you loosing synchronization, this would of course corrupt the UART communication. But dependent on the flexibility on the master side, there might be mutliple options to solve this.

    e.g.

    1. You will utilize the UART TX from the master just as a trigger to send data. This means you can use a simple port interrupt to trigger UART TX, and probably can live with any baudrate.

    2. You can use a protocol on the master side, which simply sends a dummy byte upfront, to trigger the wake up of the MSP430, and only the 2nd and following bytes for information. The first byte again would be used just for wake up, e.g. by a GPIO interrupt, then configuring and starting UART during the "reception" of the 1st byte.

    There might be potentially additional flavors of these methods...

    If having the flexibility of all these options, you might be able to to go down even to LPM4.

    Best regards

    Peter

**Attention** This is a public forum