2021年3月5日金曜日

VFD_LD8035E_CLOCK 開発日誌(13) オートキャリブレーションについて、

PIC16F19155のRTCCには、RTCCをキャリブレーションできるレジスタ RTCCAL があります。 これは、SOSCのカウントを 1分間に4パルスづつ校正できるレジスタです。



このRTCCALレジスタに1を設定すると 2.0345ppm 校正でき、これは月差で5.27秒程度になります。 適正なキャリブレーション値を設定すれば、月差2.7秒程度まで校正出来る事になります。


計算のもとになる数値は下記の通りです。

  • SOSC(RTCC)周波数 32.768 kHz
  • 1日 1440 分
  • RTCCAL値 1bitで1分に4パルス 校正できる。


上記をもとに1日に校正可能な秒を計算すると、、

  • 4パルスの校正秒/日=1440分÷(32.768kHz × 1000) × 4パルス


つまり4パルスで一日あたり、 0.17578125 秒/日 校正できることになります 


1日に1秒 を校正するには、 

  •  1秒÷ 0.17578125 = 5.6888 RTCCAL値 設定すれば良い事になります。

                                                         ※RTCCAL値 1 = 4パルス 


 以上をもとに例えば、5日で3秒ズレた場合の RTCCAL 値は、

  • 5.6888  × 3秒 ÷ 5日 = 3.413333333 RTCCAL値 を設定すれば良いことになります。


上記の考えを元に、時刻合わせをするたびにRTCCAL値を計算するロジックを組み込みました。 ひと月ごとに何度か時刻合わせをすれば、自動でキャリブレーションがかかるのではないかと考えています。

20210301(+8h)

0 件のコメント:

コメントを投稿

pic16F18326のNCO1の機能を使った信号発生器

pic16F18326のNCO1の機能を使った、信号発生器をテストしました。 8Mhzのセラクロックを内部PLLで4倍し、FOSC 32Mhzを基に動いています。 pic16FのNOC1の仕様上は上限16MHz程度まで発信できるようですが、試していません。 ロータリーエンコーダー...