Raspberry Piの計時はどれくらい正確ですか?


17

Raspberry Piにはハードウェアのリアルタイムクロックが組み込まれていないため、再起動後の持続性が要件ではない場合でも、正確な計時に関するいくつかの問題が発生することがあります

これは、ローカル時間を継続的に修正するNTPデーモンを実行することで大幅に軽減できますが、Raspberry Piがネットワークに接続されていない場合、NTPはオプションではありません。

したがって、最初に正確な時間でRaspberry Piをオンのままにした場合、報告された時間は実際の現地時間からどれくらいずれると予想できますか?

そして、再起動の間はどうですか?


それは誰が接続されていないときに時間を維持するソフトウェアでしょうか?時間管理ソフトウェアは本質的に正確だと思います。
-Jivings

1
最悪の場合、1年で最大10分間(最高気温-20以下/最低+60以上)(20度の動作に最適化)について話します。それは悪いことではありません。現在のリアルタイムクロックは、原子の時間管理にのみ使用されます。たとえば、実行時間や多忙なものを測定する必要がある非常に正確な数学関数です。発振器は深刻な合併症なしでRF信号またはビデオ信号を生成するのに十分であるため、多くのデバイスは32khzの水晶を落とします。
ピョートルクラ

@ppumkinこれのソースはありますか?クリス・ストラットンが言及した理由(割り込みの欠落など)により、精度の低下を期待していました。

1
申し訳ありませんが、この分野の一般的な知識と、水晶の代わりに発振器を使用した経験だけです。欠落している割り込みは非常に極端になります!それがそんなに悪いなら、誰もがそれをやっていないでしょう。
ピョートルクラ

この質問は、実際にはPi自体よりもRaspbianについてのものです。また、Piを1年以上継続して実行するという考えはあまり考えられないため、上記の統計情報は、再起動中に起こることと比較して重要ではありません。
–SDsolar

回答:


9

本当に2つの問題があります。

1)発振器自体の精度-一意性、年齢、温度などの変数があります。クイックカタログを読むと、典型的なマイクロプロセッサクロッククリスタルは+/- 100〜100万分の1程度であることが示唆されています。

2)水晶発振器に関連する計時エラーを引き起こす可能性のあるものがある場合。これは、割り込みの欠落や、使用されているクロックがPLL逓倍器の後にある場合、またはクロックスロットリングの影響を受ける場合(使用されている場合)の移行問題などです。

ちなみに、NTPは非常に適切に実装されていない限り、ローカルクロックがそれ自体との一貫性を維持するのではなく、外部機関との一貫性を保つように変更できるため、短期的には正確な自己相対タイミングを実際に悪化させる可能性があります。


8

それは彼らが使用した水晶、おそらく10ppm程度に依存します。どこかに指定されていない限り、実際にそれを当てにすることはできません。ネットワークに接続していない場合は、GPSを使用できる場合があります。それ以外の場合は、RTCチップを追加できます。

RPiが停電したりクラッシュしたりする可能性がある場合は、ソフトウェアの時間よりも優れたものが必要になります。

近いうちにRTCをGPIOに接続する予定です


3
Kevin Sangeeleeは、RTCをRaspberry Piに追加する詳細な記事を投稿しましたsusa.net/wordpress/2012/06/…-
スティーブ

1
非ネットワーク・パイのための別の方法として、ここで説明したようにラジオの時間信号を使用しているdesignspark.com/de/content/atomic-time-raspberry-pi
スティーブ・Robillard

+1より正確な時間が必要な場合にRTCをGPIOに接続します。たぶん、アトミックレシーバーさえ.. :-)良い提案!
ピョートルクラ

ここには専門知識はありませんが、「ラジオ局WVVBまたはCHU」は「原子ラジオ受信機」などに比べてより正確な記述子です。:)良い提案。CHUの手の届くところには、音声を取り込み、時間を解析するためのcコードさえあります。
タイViinikka

1
OK、そしてここでGPSソリューションです: raspberrypi.stackexchange.com/questions/68816/...
SDsolar

6

Raspbianを実行しているRaspberry Piについて質問していると解釈する。

OSは、Rapberry Piが時間をどのように維持するかに影響を及ぼします。

回答:外部ソースがない場合、内部クロックは、それ自体で時間を維持するという点で非常に予測不能です。


最近のケーススタディ:


これは、Raspberry Pi 3 Bデータロガーのプロットで、約1時間にわたって突然電源が切れました。

ここに画像の説明を入力してください

電源が再投入されると、起動してデータロギングが再開されたことを明確に確認できます。

しかし、Raspbianクロックは時間を遡ります。

その後、time.nist.govから更新を取得するとすぐに、正しい時刻にジャンプすることがわかります。


国家標準局は、time.nist.govを使用することを推奨しています。これは、利用可能な最も迅速で正確な時間を見つけるスマートURLであるためです。Linux(ubuntuとRaspbian)とWindowsの両方は、デフォルトでマスタークロックから何ホップも離れたプールになります。

プライマリタイムサーバーtime.nist.govを使用するようにRaspbianを設定するにはどうすればよいですか?


同じシステムからの新しいプロットが再びあります。

昨日中断したため(上記のプロットを参照)sudo init 0、SDカードをイメージするために適切にシャットダウンしていました、PC Win32DiskImagerイメージングました。

ここからわかるように、しばらく時間がかかります。

ここに画像の説明を入力してください

これでは、Raspbianが最初に時計を停止したところから再開したことがわかります。1分以内に良好なデータを記録(ジャンプ)したようです。

次に、時刻の更新を受け取ったときに何が起こるかを示します。右に向かってジャンプします。

それが前方にジャンプする量(数時間)は、SDカードがイメージされている間にRaspbianが見逃した時間です。


ここに驚くべきひねりがあります。

システムは単にフリーズしました。赤と緑の両方のライトが点灯し、ちらつきがありません。

発表(使用 espeakメインサーバーのpingベースのcronジョブによって数分以内に)され、データロガーでそのような発生が監視されます。そのため、数分もかかっていませんでした。

数秒間電源を入れました。再起動しました-LEDは正常に見えます。

このグリッチがデータロギングにどのように影響したかを次に示します。

ここに画像の説明を入力してください

Raspbianクロックは、システムが再起動されたときに2時間早まりました。

次に、time.nist.govからの時刻更新により、元に戻ります。


回答:外部ソースがない場合、内部クロックはリアルタイムを維持するという点では予測できません。


プライマリタイムサーバーtime.nist.govを使用するようにRaspbianを設定するにはどうすればよいですか?


1
確認できます。インターネット接続やRTCなしでは、ラズベリーの日付と時刻は役に立ちません。
ルカシュJakubek

クロック復調器を備えたVLF無線受信機があります。たとえば、60 KHzに調整された1つは、北米全土のコロラドでWWVを聞くことができます。 amazon.com/CANADUINO-60kHz-Atomic-Clock-Receiver/dp/B01KH3VEGS これらは、一部のクロックで使用するモジュールと同じです。ArduinoとPiで動作します。
–SDsolar
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.