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.

RTC_B & backup battery duration

Other Parts Discussed in Thread: MSP430F6638, MSP430F5510, MSP430F5659

Hey folks, long time reader first time poster ;)

I'm using a MSP430F6638 in my project & I need to use RTC_B to preserve the time when the device is not plugged into it's primary power source. I've got the RTC working ok when power's applied & the backup battery (coin cell) I've got seems to preserve the time once I've removed the power but it only seems to work for about 20 mins or so. leaving the device unpowered for any longer than that & it looks like the register values are maintained but the value doesn't increase.

I was wondering what are other people's expectations of how long you'd expect RTC_B to keep on trucking when it's only got a coin cell battery backup to run off. No low power modes in action here, the main supply to Vcc gets disconnected.

Many thanks

  • I am working to get the same effect with a coin cell battery.  According to the user guide it should go as long as the backup battery has charge.  In LP3 mode it draws around 2.1uA which means a new battery should last years.  However, I am not as far as you yet.  I am having trouble initializing my RTC.  Could you show me your source for initializing the RTC_B.  I am working with the MSP430F5510.  I find it confusing because RTC_A, RTC_B, and RTC_C all seem to share the same registers.  What am I missing?   Also, there does not appear to be a pin on the F5510 for VBAT.  

    Thanks,

    Tony

  • void HAL_RtcInit()
    {
        /* Local Vars */

        

    #ifdef _HAL_RTC_INIT_COMPILE_TIME
        HAL_rtc_timeFromCompileTime();
    #endif
    
    
        /* Code */
        RTC_setCalendarEvent(RTC_BASE_ADDR, RTC_CALENDAREVENT_MINUTECHANGE);

        

        RTC_enableInterrupt(RTC_BASE_ADDR, RTCRDYIE + RTCTEVIE);

        

        RTC_startClock(RTC_BASE_ADDR);
    
    
    #ifdef __MSP430_HAS_BATTERY_CHARGER__
        while(BAKCTL & LOCKIO)
            BAKCTL &= ~(LOCKIO);
    #endif
    
    
    }
    
    
    that's my initialisation code, called at the beginning of the program.
    
    
    I left two boards running over the weekend with only a coin cell connection to VBAT & the 4n7 cap connected to VBAK as per the schematics of the Dev board TS430PZ100USB. One board was my own PCB & the other was the aforementioned dev board.
    
    
    Checking them just there now this morning, neither of them kept the correct time from when they'd been set on friday. Anyone else observed behaviour like this?
  • Hello Leo, 

    I'am using msp430f5659, And I have a similar problem. I am trying to use backup battery to keep a RTC_B running when main power supply fails, until power comes back in and resume normal code execution. Since my code moves between LPM3 and full performance, I don't know when main power supply will go below SVM and SVS threshold or eventually, get disconnected externally.

    When measuring coin cell current drawn, i see 120uA, and near 2V on DVCC.  Is there a way to isolate DVCC from VBAT? 

    Besides pulling outputs low as noted on the RTC battery backup wiki, is there any other power configuration that might be drawing extra current from the coin cell ? 

**Attention** This is a public forum