I'm using a DS3232M that works great for keeping track of the time until I try to write to the SRAM on the chip. When I use the SRAM it slows the updates of the seconds register or stops them all together. I'm writing 18 bytes to the SRAM once per second and the data is not overwriting the timekeeping registers, but it does seem to be preventing the timekeeping registers from updating. As a side note the 1 Hz output pin is outputting a 1 Hz square wave with a 50% duty cycle when I'm not writing to the SRAM, but when I start writing to the SRAM the duty cycle drops to 33%. Why can't I write to the on board SRAM and keep good time?
Received this response from Maxim technical support:
After further investigation, we concur that there is a chip problem.
If you begin a write to SRAM at an even address boundary (18h, 20h, 28h, etc.) the internal RTC counter chain is improperly being reset. This reset action is visible if SQW happens to be high when you wrote to the memory.
SRAM locations 14h-17h do not appear to have this anamoly.
1) Avoid writing to SRAM locations 18h-FFh
2) Write to SRAM prior to setting the RTC
We will fix the chip. Thank you for bring this to our attention.
Maxim has published this errata covering the issue.