Electrical – DS3231 on Battery Power and Use of Aging Register

arduinoatmega328pdatasheetrtc

Currently working with DS3231M RTC module with Arduino Uno and also creating a library for this. It is working perfectly but I have a doubt that DS3231M work on both VCC(main current) and VBAT (i.e the battery). So when I switch off the power from VCC it is not possible to communicate from microcontroller to the DS3231M through I2C just want to know why it is happening, is it the normal behaviour of the chip or I am doing something wrong?

Also if anyone can please explain the use of Aging Register in the chip and how it can be helpful to adjust time. Here is the data sheet DS3231M Datasheet. But there it is written, " Use of the Aging Offset register is not needed to achieve the accuracy as defined in the Electrical Characteristics tables."

Thanks to all in advance.

Best Answer

The battery supply is intended principally to keep the timekeeping going while the main supply is absent. It is possible to use I2C while the clock is powered by VBATT, but the load on the battery increases considerably. (It is unclear from the data sheet if the local I2C pullup resistors are powered in this mode from the battery or from another source.) In any case, if there is power to run I2C then it is clearly better to use this to power the DS3231.

The Aging Offset register allows the timebase to be adjusted as an offset from the factory calibrated value. Unless you have a VERY accurate time reference, I suggest that you should leave this alone.