Raspberry Pi的计时精度如何?


17

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

通过运行可连续纠正本地时间的NTP守护程序,可以在很大程度上缓解此问题,但是如果Raspberry Pi未连接到网络,则NTP不可选。

因此,如果我在一开始就以正确的时间打开Raspberry Pi,我应该期望报告的时间与实际本地时间相差多少?

两次重启之间如何?


不连接时将由软件保留时间。我说计时软件本质上是准确的。
吉文斯

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

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

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

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

Answers:


9

实际上有两个问题:

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

2)是否存在任何可能导致相对于晶体振荡器计时错误的问题。如果所用的时钟在PLL乘法器之后-或受时钟节流影响(如果已使用),那将是丢失中断或过渡问题。

顺便说一句,除非实施得当,否则NTP实际上会在短期内使精确的自相关定时变得更糟,因为这意味着可以更改本地时钟以使其与外部权限一致,而不是与其自身保持一致。


8

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

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

我希望很快将RTC连接到GPIO


3
凯文Sangeelee发布了一个详细的写了加入RTC的树莓派的susa.net/wordpress/2012/06/...
史蒂夫罗比拉德

1
非联网Pi的另一种选择是使用无线电时间信号,如此处所
Steve Robillard

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

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

1
OK,那么这里是一个GPS解决方案: raspberrypi.stackexchange.com/questions/68816/...
SDsolar

6

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

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

答:如果没有外部时钟源,内部时钟就很难自行保持时间。


最近的案例研究:


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

在此处输入图片说明

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

但是Raspbian时钟跳回了过去。

然后您可以看到它从time.nist.gov获得更新后立即跳到正确的时间。


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

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


这又是来自同一系统的新图。

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

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

在此处输入图片说明

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

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

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


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

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

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

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

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

在此处输入图片说明

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

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


答:如果没有外部源,就无法保持内部实时,就无法预测内部时钟。


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


1
我可以确认。没有互联网连接或RTC从树莓派的日期和时间是没有用的。
卢卡斯Jakubek

其中有带时钟解调器的VLF无线电接收器。例如,这里是一个调谐到60 KHz的声音,可以听到北美整个科罗拉多州的WWV。 amazon.com/CANADUINO-60kHz-Atomic-Clock-Receiver/dp/B01KH3VEGS 这些是某些时钟中使用的相同模块。他们与Arduino和Pi一起工作。
SDsolar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.