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.

CC430F5137: enter 20 hour long sleep mode and wake up

Part Number: CC430F5137

Hello,

I was trying to implement a 20-30 hours long sleep mode, to save as much power as I can during that period of time. On the pcb board I have a 26MHz crystal for the wireless transmission. 

I'm not quite sure which is the best way to get the lowest power consumption (maybe LPM3 mode, so I can still use ACLK for timer?), as well as most accurate timing control .... Could someone please point out which part of the user guide I should look at?

Thanks in advanced!

  • Hi, I'm moving your post to the MSP Low-Power Microcontrollers forum.
  • The RTC_A module can use either ACLK or SMCLK, and you can set an alarm for one day and six hours. (Calendar mode does not imply that the values must correspond to the actual calendar time.)

    How accurate must the timer be? "20–30 hours" would imply a tolerance of 50 %, and you could use REFO or even VLO instead of the crystal.
  • Thank you! I'll look into that!

    I was using RF to send commands to the mcu and put it into sleep mode. If the command says "20 hours" I was hoping the actually time is within 20 hours plus/minus 5min. Is it possible to do it with REFO or VLO?

  • Hey Clemens,
    The problem is I don't have xt1, the only crystal I have is the 26MHz xt2, so i guess i couldn't use calendar mode?

  • Five minutes is about 4 % of 20 hours; this can be achieved with REFO.

    The clock module can use any clock source for any clock signal, so you could use XT2 for ACLK or SMCLK, if you wanted to. (The 26 MHz crystal would be more accurate than REFO, but eat much more power.)
  • From the user guide, it says -
    The prescale dividers, RT0PS and RT1PS, are automatically configured to provide a 1-s clock interval for
    the RTC_A. RT0PS is sourced from ACLK. ACLK must be set to 32768 Hz (nominal) for proper RTC_A
    calendar operation. RT1PS is cascaded with the output ACLK/256 of RT0PS. The RTC_A is sourced with
    the /128 output of RT1PS, thereby providing the required 1-s interval. Switching from counter to calendar
    mode clears the seconds, minutes, hours, day-of-week, and year counts and sets day-of-month and
    month counts to 1. In addition, RT0PS and RT1PS are cleared.

    It says ACLK must be set to 32768Hz for RTC_A.....

    I guess I can still use timer_a ? trigger an interrupt every 30 seconds, and 2400 interrupts would give 20 hours? I was afraid this way the program might run off....
  • REFO runs at 32768 Hz.

    Anyway, you need 32768 Hz only to get correct calendar values. If you use a clock with a different speed, the calendar counters (minutes, hours, etc.) will run at a different speed, but as long as you know the actual speed, you can compute how to set the alarm to get an actual delay of 20 hours.

**Attention** This is a public forum