89976
spresense main boardを長期作動していたところ、時刻が１か月で90秒程度ずれることが分かりました。  
水晶の部分の回路を確認したところ以下のようでした。

[![水晶回路](https://i.stack.imgur.com/I8suQ.png)](https://i.stack.imgur.com/I8suQ.png)

試用されているCXD5247GFのマニュアルを見ると  
以下のように書かれているのですが

[![CXD5247GF_manual](https://i.stack.imgur.com/O01VY.png)](https://i.stack.imgur.com/O01VY.png)

CLは、(1pF*1pF)/(1pF+1pF)+ICの持つ容量(マニュアルに記載の9.5pF?)=10pFが理想かと思うのですが、  
SC-20Sは仕様を見るとCLは6.0pF、7.0pF、9.0pF、12.5pFが選べるようで  
どれなのか不明ですが、理想に近い9.0pFなどになっているのでしょうか。

C57,C58,X3を変更することで、長期作動時の時刻精度が上がる可能性はあるでしょうか。

用途としてはGPSが受信できる場所で時刻校正し、以降は比較的温度が一定なGPS受信不可となる場所で測定するものを想定しています。  
時計はどうやってもずれるとは思いますが、ハードウェアの微調整で改善する余地があるのか考えていました。  
みなさまのコメントを見て、温度補償付きの高精度クロックを追加する方法が無難かと考えました。
CC BY-SA 4.0
2022-07-14T08:21:42.150
89971
2022-07-15T00:51:21.803
2022-07-15T00:51:21.803
36346
36346
question
spresense
spresense main board 時刻精度に関して
そこんところの容量を調整することで、時刻精度を調整することができます
CC BY-SA 4.0
2022-07-14T08:44:34.117
89972
2022-07-14T08:44:34.117
27481
89971
answer
どんなに高精度を目指しても、時間は必ず狂います。  
また、同じハードウェアでも複数あればそれぞれ狂い方が変わってきます。  
従って、時計校正の機能を組み込むことを検討する方がいいと思います。  
校正の方法はいろいろあります。  
例えばNTPで時間を取得するとか、GPSを搭載してGPSから時刻を取得するなどです。
CC BY-SA 4.0
2022-07-14T09:23:10.923
89974
2022-07-14T09:23:10.923
24490
89971
answer
細かい説明する元気がないので [リアルタイムクロック.com](https://xn--ccke7aa1f0a5rwcky.com/rtc-
accuracy.html) とかを参照してほしいのですが

32.768kHz 水晶振動子の周波数が 20ppm ずれると月差が約 60 秒生じ  
32.768kHz 水晶振動子は X カット (音叉カット) であって 25 ℃を基準に設計してあり、つまり温度が動くと（この夏みたいに 40
℃とか行っちゃうと +15 ℃の差が出る）それだけで 20ppm の誤差は簡単に生じる

ので、負荷容量の微調整程度でこの辺のずれをなくすことは原理的に不可能です。（ spresense
の役割上こんなところにコストかける余力はない）用途と目的次第でとるべき手段は変わりますが

  * 別回路から精度の良い時間を取得するとか（既に別回答にある通り）
  * 温度補償タイプの水晶振動子に交換して負荷容量の最適値を実測するとか
  * 恒温槽に入れて運用するとか
  * あきらめるとか

になりそうです。
CC BY-SA 4.0
2022-07-14T10:50:33.750
89976
2022-07-14T10:50:33.750
8589
89971
answer