Hi Team,
We are referring to RTC battery application note https://www.ti.com/lit/an/slaa665b/slaa665b.pdf and source code www.ti.com/lit/zip/slaa665.
As per reference code www.ti.com/lit/zip/slaa665, source code performs:
- Check if RTC backup supply was drained or not.
- If drained reset RTC time.
- If not retain RTC values.
- in continuous application loop(While(1)):
- Enter into low power mode 3 and enable global interrupt
- On exit from low power mode due to RTC interrupt:
- Check RTC Oscillator fault,
- if RTC oscillator fault occurred, then reset RTC time and perform other operations related to oscillator fault.
- If no oscillator fault, then Print/ send current time value from global time variable(which was updated in RTC ISR) to UART port.
- RTC ISR:
- On RTC second interrupt:
- Toggle GPIO
- load current time value to global time variable.
- Exit from controller low power mode 3.
- On oscillator fault:
- disable RTC_B_OSCILLATOR_FAULT_INTERRUPT.
- Exit from controller low power mode 3.
- On RTC second interrupt:
From above sample code we observed RTC continuous update even after supply removed to controller.
That is RTC operation working properly even after controller power off.
The above reference test code has application with low power mode scenario.
As in our product application always be in normal power.
Then we tried with some following changes in reference test:
while(1)
{
//__bis_SR_register(LPM3_bits + GIE);
__bis_SR_register(GIE);
__no_operation();
Where we disabled low power mode entry and enabled only global interrupt.
With above changes we observed that, After controller power OFF RTC time values are not being updated, As on power ON observed same RTC time values as same before power OFF.
As per reference to https://www.ti.com/lit/an/slaa665b/slaa665b.pdf:
- On Reset LOCKBAK after RTC configuration, RTC values should operate normally even there is no Vcc or LMPx.5 mode.
After above exercise, it seems to be that after controller power OFF RTC time values getting updated, only if controller was in LPM3.
Please do suggest us if anything missing from our end.