リアルタイムクロック(RTC) の DS3231 と DS3231M は別物
リアルタイムクロックのDS3231の使い方や精度についていろいろ調べてきました。
関連記事→RTC3231のカテゴリはこちら
流石にTCXOだけあって、本物(?)のDS3231なら、エージングレジスタを調整することで月差1秒以内の精度まで追い込むことが出来ました。しかし、世の中で手に入るDS3231には精度の悪いもの(偽物?)が混ざっていて、そういうデバイスでは月差10秒くらいまでしか追い込めないようです。
ここまでがこれまでの私の認識だったのですが、今回新たな情報を入手しました。どうも名前が同じ、つまりDS3231でも仕様の違うものが売られているようです。この記事ではその内容を説明していきたいと思います。
▼DS3231を使ったRTCモジュール

左のモジュール(A)は月差1秒以内に調整出来ました。しかし、中央(B)と右(C)のモジュールはそんな高精度に調整することは出来ませんでした。
こんなに精度の悪い物が出回っていたら、誰かが問題にしても良さそうなものです。そんなことを思いながら調べてみると、そのものずばりの記事がありました。
それは、HeyPete.com Blog さんの、Major differences between the DS3231 and DS3231M RTC chipsという記事です。
詳しくはその記事を読んでいただくのが一番ですが、ポイントを整理すると、
1) DS3231 と DS3231M では内部の部品や回路構成が全く異なっている。データーシートも別で、DS3231 の精度は 2ppm だが、DS3231M の精度は 5ppm。DS3231 は水晶振動子を使っているが、DS3231M はMEMS振動子。但し I2C インターフェイスからは同じに見える。
【データーシートへのリンク】
DS3231のデーターシート :https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
DS3231Mのデーターシート:https://datasheets.maximintegrated.com/en/ds/DS3231M.pdf
2) DS3231 は水晶振動子の負荷容量を調整することで周波数を調整している(TCXO)。したがって、出力されている32.768kHzの周波数の精度はRTCの時計の精度と同じ。
3) DS3231M はMEMS振動子の出力を回路(+ソフト?)で補正して時間基準の1秒パルスを生成。この時、同時に温度補正も実施。なお、32K信号が出力されているが、これはMEMSオシレータ出力を分周しただけのものなので、精度は±2.5%とかなり悪い。また1秒パルスとの位相差は不定。
4) DS3231 は64秒間隔で温度補正を実施。DS3231Mは、電源供給時は1秒間隔、バッテリーバックアップ時は10秒間隔で温度補正。
これほど仕様に違いがあるのなら、型番の番号を変えれば良いと思うのですが、なぜか同じになっているのが話をややこしくしています。DS3231はベストセラーなので、その名前を踏襲して売り易くしたい、というビジネス側の判断があったような気がします。
ともかく、こんなふうに仕様に大きな違いがあるのにもかかわらず、AliExpressから購入すると、どちらが届くか判らないのは困ったものです。もちろん国内の信頼のおけるサプライヤーから買えば大丈夫なんでしょうが、貧乏なアマチュアにはお付き合いは無理です。
私の持っているチップのマーキングをよく見ると、
▼モジュールAは、DS3231N

これ、精度が高かったものです。
▼モジュールBは、DS3231M

▼モジュールCは、DS3231M

モジュールBとCは DS3231M のようです。どうりで精度が悪かった訳です。書くのが後になりましたが、型番末尾のMはMEMSのMを表しているのではないかと思います。
◆まとめ
冒頭に書いたように、DS3231 を使ったRTCモジュールには精度の悪いものがあるので、中華マーケットでよくある偽物だと思っていました。実際に過去の記事の中にそういうことを書いたことがあります。
ところが、精度の悪い物はDS3231M だったようで、仕様書を見ると精度が悪くても当然だなーと思える方式になっていました。なお、精度が良くても悪くてもそのデバイスが本物だとは限らない、つまり両方偽物の可能性もあるので闇は深いです。
ちなみに、上の写真のモジュールAのマーキングは DS3231N となっていますが、正規のマーキングなら DS3231S# (0~70℃) あるいは DS3231SN# (-10~85℃) となっているはずです。ということで、これは偽物である可能性が高いです。
Amazon でもこのRTCを使ったモジュールが売られていますが、そのユーザーの評価はばらついています。「すばらしい精度」と高く評価をする人がいる一方で、「機械式の時計の精度のほうがマシ」とまで言う人がいたりします。たぶん本物/偽物、水晶/MEMSバージョンなどが玉石混交で売られているような気がします。
DS3231Mのパッケージには300ミルの16ピンSOP以外に 8ピンSOPの物もあります。DS3231Mの本来の使われ方は8ピンパッケージの方のような気がします。これならフットプリントが小さく、MEMS振動子なのでショックにも強くて使い易いと思います。
関連記事→RTC3231のカテゴリはこちら
流石にTCXOだけあって、本物(?)のDS3231なら、エージングレジスタを調整することで月差1秒以内の精度まで追い込むことが出来ました。しかし、世の中で手に入るDS3231には精度の悪いもの(偽物?)が混ざっていて、そういうデバイスでは月差10秒くらいまでしか追い込めないようです。
ここまでがこれまでの私の認識だったのですが、今回新たな情報を入手しました。どうも名前が同じ、つまりDS3231でも仕様の違うものが売られているようです。この記事ではその内容を説明していきたいと思います。
▼DS3231を使ったRTCモジュール

左のモジュール(A)は月差1秒以内に調整出来ました。しかし、中央(B)と右(C)のモジュールはそんな高精度に調整することは出来ませんでした。
こんなに精度の悪い物が出回っていたら、誰かが問題にしても良さそうなものです。そんなことを思いながら調べてみると、そのものずばりの記事がありました。
それは、HeyPete.com Blog さんの、Major differences between the DS3231 and DS3231M RTC chipsという記事です。
詳しくはその記事を読んでいただくのが一番ですが、ポイントを整理すると、
1) DS3231 と DS3231M では内部の部品や回路構成が全く異なっている。データーシートも別で、DS3231 の精度は 2ppm だが、DS3231M の精度は 5ppm。DS3231 は水晶振動子を使っているが、DS3231M はMEMS振動子。但し I2C インターフェイスからは同じに見える。
【データーシートへのリンク】
DS3231のデーターシート :https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
DS3231Mのデーターシート:https://datasheets.maximintegrated.com/en/ds/DS3231M.pdf
2) DS3231 は水晶振動子の負荷容量を調整することで周波数を調整している(TCXO)。したがって、出力されている32.768kHzの周波数の精度はRTCの時計の精度と同じ。
3) DS3231M はMEMS振動子の出力を回路(+ソフト?)で補正して時間基準の1秒パルスを生成。この時、同時に温度補正も実施。なお、32K信号が出力されているが、これはMEMSオシレータ出力を分周しただけのものなので、精度は±2.5%とかなり悪い。また1秒パルスとの位相差は不定。
4) DS3231 は64秒間隔で温度補正を実施。DS3231Mは、電源供給時は1秒間隔、バッテリーバックアップ時は10秒間隔で温度補正。
これほど仕様に違いがあるのなら、型番の番号を変えれば良いと思うのですが、なぜか同じになっているのが話をややこしくしています。DS3231はベストセラーなので、その名前を踏襲して売り易くしたい、というビジネス側の判断があったような気がします。
ともかく、こんなふうに仕様に大きな違いがあるのにもかかわらず、AliExpressから購入すると、どちらが届くか判らないのは困ったものです。もちろん国内の信頼のおけるサプライヤーから買えば大丈夫なんでしょうが、貧乏なアマチュアにはお付き合いは無理です。
私の持っているチップのマーキングをよく見ると、
▼モジュールAは、DS3231N

これ、精度が高かったものです。
▼モジュールBは、DS3231M

▼モジュールCは、DS3231M

モジュールBとCは DS3231M のようです。どうりで精度が悪かった訳です。書くのが後になりましたが、型番末尾のMはMEMSのMを表しているのではないかと思います。
◆まとめ
冒頭に書いたように、DS3231 を使ったRTCモジュールには精度の悪いものがあるので、中華マーケットでよくある偽物だと思っていました。実際に過去の記事の中にそういうことを書いたことがあります。
ところが、精度の悪い物はDS3231M だったようで、仕様書を見ると精度が悪くても当然だなーと思える方式になっていました。なお、精度が良くても悪くてもそのデバイスが本物だとは限らない、つまり両方偽物の可能性もあるので闇は深いです。
ちなみに、上の写真のモジュールAのマーキングは DS3231N となっていますが、正規のマーキングなら DS3231S# (0~70℃) あるいは DS3231SN# (-10~85℃) となっているはずです。ということで、これは偽物である可能性が高いです。
Amazon でもこのRTCを使ったモジュールが売られていますが、そのユーザーの評価はばらついています。「すばらしい精度」と高く評価をする人がいる一方で、「機械式の時計の精度のほうがマシ」とまで言う人がいたりします。たぶん本物/偽物、水晶/MEMSバージョンなどが玉石混交で売られているような気がします。
DS3231Mのパッケージには300ミルの16ピンSOP以外に 8ピンSOPの物もあります。DS3231Mの本来の使われ方は8ピンパッケージの方のような気がします。これならフットプリントが小さく、MEMS振動子なのでショックにも強くて使い易いと思います。
- 関連記事
-
- リアルタイムクロック (RTC) DS3231の温度特性の測定
- リアルタイムクロック(RTC) の DS3231 と DS3231M は別物
- RTC (DS3231) の誤差変動の測定
- GPSとArduinoでRTC (DS3231) の誤差の原因を徹底調査
- GPSとArduinoでRTCの誤差(確度)を精密測定