CASIOさんのサイトにRTC誤差計算ページを作ってみました。
https://keisan.casio.jp/exec/user/1602665236
 

BVMCN52840CFSLRは、高精度な時間計測ができる

さて皆様、BVMCN52840CFSLR使ったことありますか?
このBluetoothモジュール、高精度な時間計測ができるので便利です。
高精度の秘密は、水晶振動子のリアルタイムクロック(RTC)を内蔵しているところにあります。

なんて言いつつ、ちょっと前までRTC精度と時刻誤差の計算方法がわからなかった電気設計の楠川です。
(モジュール設計者は計算方法を理解して作っていますのでご心配なく!)

RTCの誤差計算方法を調べる前までは、
「マイコンって誤差の少ない水晶使って、うまいこと時間計測してるんだよね?しらんけど」
って感じで、モヤッとした知識でした。

ですが、今回RTCを使うプロジェクトが出てきたのでRTCの動作原理などを調べました。

・マクニカ社のRTC説明(リアルタイムクロックの周波数と理由)

https://www.macnica.co.jp/business/semiconductor/articles/intel/133394/
なるほど!RTCのクロックって32.768kHzで動いてて、2^15周期で1秒になるのかっ!!
と理解しました。

・多摩デバイス社(7)リアルタイムクロックの温度特性について

https://tamadevice.co.jp/entry95.htm
ほほー!
温度補償がない通常タイプのデバイスは、温度特性カーブは逆U字になっていて、誤差範囲は温度特性が支配的になっている。
使用温度範囲が広いと誤差範囲が大きくなってしまうのかっ!!
と理解しました。
BVMCN52840CFSLRモジュールの仕様上の誤差範囲の220ppmと結構大きいかも?思っていましたが、使用温度範囲が−20℃から80℃と広いので、水晶振動子の温度特性に従って誤差範囲は広くなってしまうのですね。

・誤差計算してみたけれど面倒くさいし忘れそう

さて本題の誤差計算。
220ppmは1日、1ヶ月、1年・・・それぞれどの程度のズレになるのか計算してみたい。。。
32.768kHzを16回繰り返して1秒になるなら、精度1ppmの場合は100万Hz動いて1ズレる精度になるので、1ヶ月の時刻誤差は・・・??
って感じで迷いながら誤差計算しましたが、面倒くさいので、今後は考えたくありません。

というわけで、計算ページを作りました。

https://keisan.casio.jp/exec/user/1602665236

よかったら使ってみてください。

SNS SHARE