Raspberry Pi'nin zaman işleyişi ne kadar doğrudur?


17

Raspberry Pi'nin yerleşik bir donanım gerçek zamanlı saati olmadığından, yeniden başlatma işlemlerinde kalıcılık bir gereklilik olmasa bile , doğru zaman işleyişiyle ilgili bazı sorunların ortaya çıkabileceğini anlıyorum .

Bu, yerel saati sürekli olarak düzelten bir NTP arka plan programı çalıştırarak büyük ölçüde azaltılabilir, ancak Raspberry Pi bir ağa bağlı değilse NTP bir seçenek değildir.

Bir Raspberry Pi'yi başlangıçta doğru zamanda açık bırakırsam, bildirilen zamanın gerçek yerel saatten ne kadar kaymasını beklemeliyim?

Ve yeniden başlatmalar arasında ne dersiniz?


Kim bağlı değilken zaman tutmak yazılım olacak? Zaman tutma yazılımının doğası gereği doğru olduğunu söyleyebilirim.
Jivings

1
Yılda en kötü koşullarda maksimum 10 dakikadan bahsediyorsunuz (-20 ve daha düşük / +60 ve daha yüksek sıcaklıklar) (20 derece çalışma için optimize edilmiştir). O kadar da kötü değil. Şimdi bir gün gerçek zamanlı bir saat sadece atomik zaman tutmak için kullanılır .. gibi .. yürütme süresi veya telaşlı bir şey ölçmek için gereken çok hassas matematiksel fonksiyonlar. Osilatörler ciddi komplikasyonlar olmadan RF sinyalleri veya Video sinyali üretmek için yeterince iyi olduğu için cihazların bir kısmı 32khz kristali düşürür.
Piotr Kula

@ppumkin Bunun için herhangi bir kaynağınız var mı? Chris Stratton'un bahsettiği nedenlerden dolayı (daha az kesinti ve benzeri) daha az doğruluk bekliyordum.

1
Üzgünüm- Sadece alandaki genel bilgim ve kristal yerine osilatör kullanma deneyimim. Eksik kesintiler aşırı mega olacak! Eğer bu kadar kötü olsaydı, herkes bunu yapmazdı.
Piotr Kula

Bu soru gerçekten Raspbian hakkında Pi'nin kendisinden daha fazla. Ve bir Pi'yi bir yıldan fazla bir süre boyunca sürekli olarak çalıştırma fikri o kadar olası değildir ki, yukarıdaki istatistikleri yeniden başlatma sırasında olanlara kıyasla önemsiz kılar.
SDsolar

Yanıtlar:


9

Gerçekten iki sorun var:

1) Osilatörün kendisinin doğruluğu - teklik, yaş, sıcaklık vb. Değişkenleri vardır. Hızlı bir katalog algılaması, tipik mikroişlemci saat kristallerinin milyonda +/- 10-100 parça civarında olduğunu gösterir.

2) Kristal osilatöre göre zaman tutma hatalarına neden olabilecek herhangi bir şey varsa. Bu, kullanılan saat bir PLL çarpanından sonraysa veya saat kısıtlamasından (kullanılıyorsa) etkileniyorsa, kaçırılan kesintiler veya geçiş sorunları gibi şeyler olacaktır.

Bu arada, çok iyi uygulanmadığı sürece NTP , kısa vadede gerçek göreceli zamanlamayı daha da kötüleştirebilir , çünkü yerel saat, kendisiyle tutarlı kalmak yerine harici bir otorite ile tutarlı olacak şekilde değiştirilebilir.


8

Kullandıkları kristale bağlı olacaktır, belki 10 ppm kadar. Gerçi bir yerde belirtilmedikçe gerçekten güvenemezsiniz. Bir ağa bağlı değilse GPS kullanabilirsiniz. Aksi takdirde bir RTC yongası eklenebilir.

RPi'nin güç kaybetme veya çökme şansı varsa, yazılım zamanından daha iyi bir şeye ihtiyacınız olacaktır.

Bir süre sonra GPIO'ya bir RTC bağlamayı umuyorum


3
Kevin Sangeelee, Raspberry Pi susa.net/wordpress/2012/06/…
Steve Robillard

1
Ağa bağlı olmayan bir Pi için başka bir alternatif, burada ele alındığı gibi radyo zaman sinyallerini kullanmaktır. Designspark.com/de/content/atomic-time-raspberry-pi
Steve Robillard

+1 Daha doğru zaman gerektiğinde RTC'yi GPIO'ya bağlamak için. Belki bir atomik alıcı bile .. :-) güzel bir öneri!
Piotr Kula

Burada büyük bir uzmanlığım yok, ama "radyo istasyonu WVVB veya CHU" nun "atomik radyo alıcısı" ya da benzerinden daha doğru bir tanımlayıcı olduğunu söylemek isterim. :) İyi bir öneri. CHU'yu erişenler için, sesi çekmek ve zamanı ayrıştırmak için orada c kodu bile var.
Tai Viinikka

1
Tamam, o zaman işte bir GPS çözümü: raspberrypi.stackexchange.com/questions/68816/…
SDsolar

6

Raspbian çalıştıran bir Raspberry Pi hakkında soru sormak yorumlamak.

İşletim sistemi, Rapberry Pi'nin zaman tutma şeklindeki baskın etkisidir.

Cevap: Harici bir kaynak olmadan, iç saat zamanın kendi başına tutulması açısından oldukça öngörülemezdir.


Son vaka çalışmaları:


Bu, yaklaşık bir saat boyunca aniden şebeke gücünü kaybeden bir Raspberry Pi 3 B veri kaydedicisinin çizimidir:

resim açıklamasını buraya girin

Güç tekrar geldiğinde, önyükleme yaptığını ve veri kaydını yeniden başlattığını açıkça görebilirsiniz.

Fakat Raspbian saati zamanda geriye atlar.

O zaman time.nist.gov bir güncelleme alır almaz doğru zaman ileriye atladığını görebilirsiniz.


Ulusal Standartlar Bürosu, time.nist.gov dosyasının kullanılmasını önerir, çünkü kullanılabilir en hızlı ve en doğru zamanı bulan akıllı bir URL'dir. Hem Linux (ubuntu ve Raspbian) hem de Windows varsayılan olarak Ana Saatten çok fazla atlama yapabilen havuzları varsayılan olarak kullanır.

Raspbian'ı birincil zaman sunucusu time.nist.gov'u kullanacak şekilde nasıl ayarlarım?


İşte yine aynı sistemden daha yeni bir çizim.

Dün kesildiği için (yukarıdaki tabloya bakın)sudo init 0 SD kartı bir bilgisayarda Win32DiskImager ile görüntülemek için düzgün bir şekilde kapatırdım .

Burada görüldüğü gibi, biraz zaman alıyor.

resim açıklamasını buraya girin

Bu birinde Raspbian'ın saatini başlangıçta kaldığı yerden yeniden başlattığını görebilirsiniz. Bir dakika içinde iyi veriler (atlar) kaydetmiş gibi görünüyor.

Ardından zaman güncellemesi alındığında ne olacağını gösterir. İleriye doğru atlar.

İleri atladığı miktar (birkaç saat), SD kart görüntülenirken Raspbian tarafından kaçırılan zamandır.


İşte şaşırtıcı bir bükülme.

Sistem dondu. Hem kırmızı hem de yeşil ışıklar yanıyor, titremiyor.

espeakAna sunucunun veri kayıt cihazlarını böyle bir olay için izleyen ping tabanlı cron işi tarafından birkaç dakika içinde duyurulur (kullanılır ). Bu yüzden birkaç dakikadan fazla sürmedi.

Birkaç saniye güç çekti. Yeniden başlatıldı - LED'ler normal görünüyor.

Bu aksaklık veri kaydını nasıl etkiledi:

resim açıklamasını buraya girin

Raspbian saati, sistem yeniden başlatıldığında 2 saat ileri atladı.

Sonra time.nist.gov'den zaman güncellemesi geri ayarlar.


Cevap: Harici bir kaynak olmadan, dahili saat Gerçek Zaman'ı kendi başına tutmak açısından öngörülemez.


Raspbian'ı birincil zaman sunucusu time.nist.gov'u kullanacak şekilde nasıl ayarlarım?


1
Bunu onaylayabilirim. İnternet bağlantısı veya RTC olmadan ahududu tarih ve saati işe yaramaz.
asukasz Jakubek

İçinde saat demodülatörleri olan VLF radyo alıcıları var. Örneğin, İşte 60 KHz için ayarlanmış bir Kuzey Amerika'daki Colorado'da WWV duyabilir. amazon.com/CANADUINO-60kHz-Atomic-Clock-Receiver/dp/B01KH3VEGS Bunlar, bazı saatlerde kullandıkları modüllerin aynısıdır. Arduino ve Pi ile çalışırlar.
SDsolar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.