[time-nuts] RTC DS3231: how well can it be regulated?

Pete Stephenson pete at heypete.com
Tue Dec 31 04:41:01 UTC 2019


On Mon, Dec 30, 2019, at 2:34 PM, Kiwi Geoff wrote:
> At the time there were DS3231 based modules on aliexpress for a
> ridiculous low price, so I bought quite a number of them. However I
> was highly suspicious that they could be real or even work as a XO,
> phony chips, broken or out of spec, etc etc.
> 
> So I powered one up, and compared the 1PPS to GPS, using room
> temperature as the variable to see if they "worked".
> 
> I was pleasantly surprised to see YES my DS3231 modules were actual
> TCXO's and they performed as I would expect. Note how the warming and
> cooling rates follow slightly different paths, but you can clearly see
> on the attached graph the TCXO changing to compensate for the room
> temperature varying.

I had the same experience with several DS3231 modules ordered from eBay. I ended up tearing one apart[1] and it was an authentic Maxim module. Same with a MEMS oscillator-based DS3231M[2].

There's an important difference between the crystal-based and MEMS-based ("M") variants of the DS3231 chips: on the crystal-based chips the 32kHz output is temperature-compensated, while on the MEMS variant it isn't[3].

In an emailed communication I had with a Maxim application engineer, the engineer stated: "The DS3231SN# is a crystal based RTC whose 32kHz output is temperature compensated. So depending on the temperature we will adjust the internal capacitive load to maintain a consistent 32kHz frequency across temperature. However, the DS3231 series is not intended to be used as a 32kHz reference as the design is strictly focused on creating the most accurate 1Hz signal to drive the RTC." Long-term drift will meet the spec, though there may be step changes to the frequency when the frequency steering is applied every 64 seconds. Depending on the OP's needs, this may be acceptable or not.

It's also worth pointing out that the frequency deviation goes non-linear when the aging offset value is non-zero. See page 7 of the datasheet for details[4].

Cheers!
-Pete

[1] https://blog.heypete.com/2017/07/29/a-look-inside-the-ds3231-real-time-clock/
[2] https://blog.heypete.com/2019/06/26/a-look-inside-the-ds3231m-real-time-clock/
[3] https://blog.heypete.com/2017/09/05/major-differences-between-the-ds3231-and-ds3231m-rtc-chips/
[4] https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

--
Pete Stephenson



More information about the Time-nuts_lists.febo.com mailing list