我意识到,由于Raspberry Pi没有内置的硬件实时时钟,因此即使不需要重新启动的持久性,也可能会出现一些与精确计时有关的问题。

通过运行NTP守护进程可以连续地更正本地时间,这在很大程度上可以缓解,但是如果Raspberry Pi没有连接到网络,则NTP是不可选的。 >因此,如果我在一开始就以正确的时间打开Raspberry Pi,我应该期望报告的时间与实际的本地时间相差多少? >

评论

不连接时将由软件保持时间吗?我说计时软件本质上是准确的。

您说的是每年最坏的情况下最长10分钟(极端温度为-20和更低/ + 60或更高)(针对20度运行进行了优化)。它没有那么坏。现在是几天的实时时钟仅用于原子时间保持,例如需要测量执行时间或繁忙时间的非常精确的数学函数。设备分配器掉落了32khz晶体,因为振荡器足以产生RF信号或Video信号,而没有严重的复杂性。

@ppumkin您有任何相关资料吗?由于克里斯·斯特拉顿(Chris Stratton)提到的原因(缺少中断等),我有点期望准确性较低。

抱歉-我的专业知识和使用振荡器代替晶体的经验。缺少中断将是一个极端!如果那样糟糕,每个人都不会这样做。

这个问题实际上更多地是关于Raspbian,而不是Pi本身。而且,使Pi连续运行一年以上的想法不太可能,以至于与重启期间相比,上述统计数据显得微不足道。

#1 楼

确实存在两个问题:

1)振荡器本身的精度-具有诸如唯一性,寿命,温度等变量。快速浏览目录表明典型的微处理器时钟晶体大约为+/- 10-100百万分之一

2)如果存在任何可能导致相对于晶体振荡器计时错误的情况。这可能是丢失的中断之类的问题,或者如果使用的时钟在PLL乘法器之后,或者由于时钟节流(如果使用)而受到转换的影响。精确的自相关定时在短期内会更糟,因为这意味着可以将本地时钟更改为与外部权限一致,而不是与其自身保持一致。

#2 楼

这将取决于他们使用的晶体,也许是10ppm左右。除非在某处指定,否则您不能真正依靠它。如果未连接到网络,则可以使用GPS。否则,可以添加RTC芯片。

如果RPi可能会掉电或崩溃,您将需要的不仅仅是软件时间。

我希望即将在某个时间将RTC连接到GPIO

评论


Kevin Sangeelee发布了将RTC添加到Raspberry Pi的详细文章susa.net/wordpress/2012/06/…

–史蒂夫·罗比拉德(Steve Robillard)
2012年8月1日23:37

非联网Pi的另一种选择是使用无线电时间信号,如此处所讨论designspark.com/de/content/atomic-time-raspberry-pi

–史蒂夫·罗比拉德(Steve Robillard)
2012年8月1日23:52



+1用于在需要更精确的时间时将RTC连接到GPIO。甚至一个原子接收器.. :-)不错的建议!

– Piotr Kula
2012年8月2日在13:07



我在这里没有专业知识,但我想说的是“无线电台WVVB或CHU”比“原子无线电接收器”或类似术语更准确。 :)好建议。对于CHU可以触及的用户,甚至还有C代码可以提取音频并解析时间。

– Tai Viinikka
13年7月25日在0:50



好的,这是GPS解决方案:raspberrypi.stackexchange.com/questions/68816/…

– SDsolar
18年6月20日在1:29



#3 楼

解释要询问有关运行Raspbian的Raspberry Pi的问题。

操作系统是Rapberry Pi如何保持时间的主要影响力。

答案:如果没有外部源,则内部时钟就很难保持其时间。拥有。


最新案例研究:


这是Raspberry Pi 3 B数据记录器的图,它突然失去了大约一个小时的市电: br />


您可以清楚地看到,当重新通电时,它会启动并重新启动数据记录。

但是Raspbian时钟跳回时间。

然后,您就可以看到它在时间更新后立即跳到正确的时间。nist.gov



国民标准局建议使用time.nist.gov,因为它是一个智能URL,可以找到最快,最准确的时间。 Linux(ubuntu和Raspbian)和Windows都默认使用与主时钟相距许多跳的池。


如何设置Raspbian使用主要时间服务器time.nist.gov?


这是来自同一系统的较新图再次。

由于昨天中断(请参见上图),我使用sudo init 0将其正确关闭,以便使用Win32DiskImager在PC上对SD卡进行映像。

需要一些时间,如此处所示。



在这一部分中,您可以看到Raspbian最初重新启动了它的时钟离开。似乎在一分钟内记录了良好的数据(跳出)。

然后显示收到时间更新后会发生什么。它向前跳转到右侧。

向前跳转的数量(几个小时)是在对SD卡进行成像时Raspbian错过的时间。


这是一个令人惊讶的转折。

系统只是冻结了。红色和绿色均点亮,没有闪烁。

主服务器的基于ping的cron作业在几分钟之内宣布(使用espeak),该作业监视数据记录器是否发生这种情况。所以它没有超过几分钟。

接通电源几秒钟。重新启动它-LED看起来正常。

此故障是如何影响数据记录的:



Raspbian时钟向前跳了2个小时重新启动系统时。

然后从time.nist.gov重新设置时间。


答案:如果没有外部源,则内部时钟就无法独立保持实时性。


如何设置Raspbian使用主时间服务器time.nist.gov?

评论


我可以确认。没有互联网连接或Rasp的RTC日期和时间是没有用的。

–ŁukaszJakubek
18年6月19日在14:24

其中有带时钟解调器的VLF无线电接收器。例如,这里是一个调谐到60 KHz的声音,可以听到北美整个科罗拉多州的WWV。 amazon.com/CANADUINO-60kHz-Atomic-Clock-Receiver/dp/B01KH3VEGS这些是某些时钟中使用的相同模块。他们使用Arduino和Pi。

– SDsolar
18年6月19日在19:36