Recently i was building a precise timeclock with mega328 and GLCD and DS3231.I was using a Casio G-shock(Pretty accurate I think) as my reference.I found that my DS3231 clock was about 17sec slow as compared to my reference Casio after a 12hr runtime.At the whole time,DS3231 as well as the whole circuit was powered by external 5v(not by internal battery of DS3231).I was reading the DS3231 every second and was updating the reading to the GLCD.Then i thought to sync after every 5 mins.This time i ran the clock for nearly 24hr and found a delay of nearly 2s with my reference clock.
Now I upgraded the hardware(pulled up the sqw line and changed the cpu to mega32 for higher pincount) and set the DS3231 to give a square wave output of 1hz.Now the Idea is to sync every second for update without reading the RTC using level change interrupt.I have planned to read the RTC only two times a day(every am to pm conversion or vice-versa).
Is it normal for the DS3231 to get slow if reading it frequently??I have read the datasheet but found no such illustration.Someone faced this sort of things??Previously I have used DS1307,but in that case also,it was getting damn slow.So i thought t ask the experts......and here I am.