Seberapa akurat ketepatan waktu Raspberry Pi?

17

Saya menyadari bahwa karena Raspberry Pi tidak memiliki jam real-time perangkat keras yang terpasang, beberapa masalah dengan ketepatan waktu yang akurat dapat muncul dengan sendirinya, bahkan ketika kegigihan di seluruh reboot bukanlah keharusan .

Ini sebagian besar dapat dikurangi dengan menjalankan daemon NTP yang akan terus memperbaiki waktu lokal, tetapi NTP bukan pilihan jika Raspberry Pi tidak terhubung ke jaringan.

Jadi jika saya membiarkan Raspberry Pi dinyalakan dengan waktu yang akurat di awal, berapa yang harus saya harapkan waktu yang dilaporkan melayang dari waktu setempat yang sebenarnya?

Dan bagaimana dengan antar reboot?

SDsolar
sumber
Ini akan menjadi perangkat lunak menjaga waktu ketika tidak terhubung siapa itu? Saya akan mengatakan waktu menjaga perangkat lunak secara inheren akurat.
Jivings
1
Anda berbicara tentang maksimum 10 menit paling buruk per tahun (suhu ekstrim -20 dan lebih rendah / +60 dan lebih tinggi) (dioptimalkan untuk operasi 20 derajat). Tidak seburuk itu. Jam real-time sekarang hanya digunakan untuk menjaga waktu atom .. seperti .. fungsi matematika yang sangat tepat yang perlu mengukur waktu eksekusi atau sesuatu yang sibuk. Alot perangkat menjatuhkan kristal 32khz karena osilator cukup baik untuk menghasilkan sinyal RF atau sinyal Video tanpa komplikasi serius.
Piotr Kula
@ ppkinkin Apakah Anda punya sumber untuk ini? Saya agak mengharapkan akurasi kurang karena alasan yang disebutkan Chris Stratton (terjawab interupsi dan semacamnya).
1
Maaf - Hanya pengetahuan umum saya di lapangan dan pengalaman menggunakan osilator bukan kristal. Interupsi yang hilang akan menjadi mega ekstrim! Kalau begitu, semua orang tidak akan melakukannya.
Piotr Kula
Pertanyaan ini sebenarnya lebih tentang Raspbian daripada tentang Pi itu sendiri. Dan ide menjaga Pi berjalan terus menerus selama lebih dari setahun sangat tidak mungkin sehingga membuat statistik di atas tidak signifikan dibandingkan dengan apa yang terjadi selama reboot.
SDsolar

Jawaban:

9

Sebenarnya ada dua masalah:

1) Keakuratan osilator itu sendiri - yang memiliki variabel seperti keunikan, usia, suhu, dll. Pembacaan katalog cepat menunjukkan kristal jam mikroprosesor khas berada di urutan +/- 10-100 bagian per juta

2) Jika ada sesuatu yang dapat menyebabkan kesalahan ketepatan waktu relatif terhadap osilator kristal. Itu akan menjadi hal-hal seperti interupsi yang terlewat, atau masalah transisi jika jam yang digunakan adalah setelah pengganda PLL - atau dipengaruhi oleh pelambatan jam (jika digunakan).

Secara kebetulan, NTP kecuali diimplementasikan dengan sangat baik sebenarnya dapat membuat waktu self-relative tepat lebih buruk dalam jangka pendek, karena itu berarti jam lokal dapat diubah agar konsisten dengan otoritas eksternal, daripada tetap konsisten dengan dirinya sendiri.

Chris Stratton
sumber
8

Itu akan tergantung pada kristal yang mereka gunakan, mungkin 10ppm atau lebih. Anda tidak dapat benar-benar mengandalkannya kecuali itu ditentukan di suatu tempat sekalipun. Anda mungkin dapat menggunakan GPS jika tidak terhubung ke jaringan. Kalau tidak, chip RTC dapat ditambahkan.

Anda akan membutuhkan sesuatu yang lebih baik daripada hanya waktu perangkat lunak jika ada kemungkinan RPi dapat kehilangan daya atau rusak.

Saya berharap bisa menghubungkan RTC ke GPIO dalam waktu dekat

John La Rooy
sumber
3
Kevin Sangeelee telah memposting tulisan rinci tentang menambahkan RTC ke Raspberry Pi susa.net/wordpress/2012/06/…
Steve Robillard
1
Alternatif lain untuk Pi non-jaringan adalah menggunakan sinyal waktu radio seperti yang dibahas di sini designspark.com/de/content/atomic-time-raspberry-pi
Steve Robillard
+1 Untuk menghubungkan RTC ke GPIO jika diperlukan waktu yang lebih akurat. Mungkin bahkan penerima atom .. :-) saran yang bagus!
Piotr Kula
Saya tidak memiliki keahlian yang hebat di sini, tetapi saya ingin mengatakan bahwa "stasiun radio WVVB atau CHU" adalah deskriptor yang lebih akurat daripada "penerima radio atom," atau serupa. :) Saran bagus. Bagi mereka yang dalam jangkauan CHU bahkan ada kode c di luar sana untuk menarik audio dan mengurai waktu.
Tai Viinikka
1
OK, maka berikut ini adalah solusi GPS: raspberrypi.stackexchange.com/questions/68816/…
SDsolar
6

Menafsirkan pertanyaan yang akan ditanyakan tentang Raspberry Pi yang menjalankan Raspbian.

OS adalah pengaruh dominan dalam cara Rapberry Pi menjaga waktu.

Jawaban: Tanpa sumber eksternal, jam internal sangat tidak dapat diprediksi dalam hal menjaga waktu sendiri.


Studi kasus terbaru:


Ini adalah plot dari Raspberry Pi 3 B datalogger yang tiba-tiba kehilangan daya utilitas selama sekitar satu jam:

masukkan deskripsi gambar di sini

Anda dapat dengan jelas melihat bahwa ketika daya hidup kembali, ia boot dan memulai kembali pencatatan data.

Tetapi jam Raspbian melompat kembali ke masa.

Kemudian Anda dapat melihatnya melompat ke waktu yang tepat segera setelah mendapat pembaruan dari time.nist.gov


Biro Standar Nasional merekomendasikan penggunaan time.nist.gov karena URL cerdas yang menemukan waktu tercepat dan paling akurat yang tersedia. Baik Linux (ubuntu dan Raspbian) dan Windows default untuk kumpulan yang dapat banyak lompat jauh dari Master Clock.

Bagaimana cara mengatur Raspbian untuk menggunakan waktu server time.nist.gov primer?


Ini plot baru dari sistem yang sama lagi.

Karena terputus kemarin (lihat plot di atas) saya biasa sudo init 0mematikannya dengan benar, untuk gambar kartu SD dengan Win32DiskImager pada PC.

Butuh beberapa saat, seperti yang bisa dilihat di sini.

masukkan deskripsi gambar di sini

Di sini Anda dapat melihat Raspbian awalnya menyalakan kembali jamnya tepat di tempat yang ditinggalkannya. Sepertinya itu telah mencatat data yang baik (melompat) dalam satu menit.

Kemudian itu menunjukkan apa yang terjadi ketika menerima pembaruan waktu. Melompat ke depan ke kanan.

Jumlah yang dilompati (beberapa jam) adalah waktu yang terlewatkan oleh Raspbian saat kartu SD sedang dicitrakan.


Ini twist yang mengejutkan.

Sistem hanya membeku. Lampu merah dan hijau menyala, tidak berkedip.

Diumumkan (menggunakan espeak) dalam beberapa menit oleh pekerjaan cron berbasis server utama server yang memonitor data logger untuk kejadian seperti itu. Jadi tidak lebih dari beberapa menit.

Daya tarik selama beberapa detik. Boot ulang - LED terlihat normal.

Inilah bagaimana kesalahan ini memengaruhi pencatatan data:

masukkan deskripsi gambar di sini

Jam Raspbian melonjak maju 2 jam ketika sistem di-reboot.

Kemudian pembaruan waktu dari time.nist.gov mengembalikannya.


Jawaban: Tanpa sumber eksternal, jam internal tidak dapat diprediksi dalam hal menjaga Real Time sendiri.


Bagaimana cara mengatur Raspbian untuk menggunakan waktu server time.nist.gov primer?

SDsolar
sumber
1
Saya dapat mengkonfirmasi itu. Tanpa koneksi internet atau tanggal dan waktu RTC dari raspberry tidak berguna.
Łukasz Jakubek
Ada penerima radio VLF dengan demodulator jam di dalamnya. Misalnya, Berikut adalah satu disetel ke 60 KHz dapat mendengar WWV di Colorado di seluruh Amerika Utara. amazon.com/CANADUINO-60kHz-Atomic-Clock-Receiver/dp/B01KH3VEGS Ini adalah modul yang sama yang mereka gunakan di beberapa jam. Mereka bekerja dengan Arduino dan Pi.
SDsolar