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.

Low power sleep modes

I would like to know what is teh best sleep mode to use.

In my application I need to grabb ECG data from SPI interface. The sample rate is 256 sample per sec of 10 bit each sample.

I would like the MCU to sleep between samples. then to wake up oprate an SPI transaction and read the data. 

My MCU can work at 10Mhz while in operation mode.

I would like to know what is the sleep mode that I need to use for saving power and how much time it will take to read each 10 bit on SPI.

I assumed a 3usec of wakeup from sleep mode and a 10usec of operation time to read 10 bits on SPI.

Is this good assumption? 

What MCU can support this?

  • Any msp430 can do this.

    Do you need very accurate intervals?, then attach a 32K crystal and use that for the 3.9ms sleep
    Would use 1Mhz for SPI as 10MHz pcb traces gives all kind of problems/radio.

    The MCU itself could run at 1-10MHz, use SPI IRQ so mcu sleeps between bytes by going in to lpm3 mode.
    SMLK will automatically keep DCO running if it needs it for SPI until last byte is sent.

  • Tony thx.

    Can you explain what is SMLK and DCO?

    If I understand you right - You say that the CPU will sleep on lpm3 mode between reads of bytes from the SPI. What is teh current consumption when on lpm3?

    What is teh wakup time?

    Do you know of a way to trasnfer data from SPI to FRAM with out waking up the CPU? By DMA?

  • Have Main (the code that msp boots up to and is not part of ISR) set lpm3 after it have set up all SPI and Timer peripheral.
    A Timer ISR will now issue __bic_SR_register_on_exit(LPM3_bits); to wake up Main and where you start SPI routine.

    The SPI Routine could also have a ISR too so each byte is handled through it, so MCU (Main) can go to sleep again.
    But not necessary if is it just 2-4 bytes.

    LPM3 uses so little power it's negligible unless you using 100mAh coin battery that you don't even have to use it in calculations.
    Wake-up time is 1uS (e.g the tick of one 1MHz)

**Attention** This is a public forum