1

为了使 ODroid 上的系统时间尽可能接近实时,我尝试向 ODroid 添加实时时钟。RTC 的精度为 +/- 4ppm。

如果没有实时时钟,我会得到这样的结果(每 60 秒与 NTP 服务器同步)。蓝色是用于比较的橙色 Pi。x 轴是样本,y 轴是 NTP-server 报告的偏移量,以 ms 为单位。

没有 RTC 的时间同步

所以我尝试的是同样的事情(虽然有更多的样本,但间隔相同),但我不只是与 NTP 服务器同步,而是执行了以下操作:

  1. 将系统时间设置为硬件时钟时间。
  2. 与 NTP-server 同步更新系统时间,并记录服务器给定的偏移量
  3. 将硬件时钟更新为系统时间,因为它刚刚同步到实时。

然后我等待 60 秒并重复。我没想到它是完美的,但我得到的东西让我有点震惊。

带 RTC 的 ODroid

我到底在看什么?抖动变得越来越小,几乎是一条直线,但当它达到完美时间(大约 410 分钟......)时,它似乎还在继续,让抖动和偏移再次增长。

谁能解释一下,或者告诉我我做错了什么?这很奇怪!

4

1 回答 1

-1

因此,您正在绘制 RTC 时间和 NTP 服务器时间之间的差异。NTP 服务器位于何处?在第二个图中,您在几百毫秒的范围内工作。NTP 有准确性限制。来自维基百科:

https://en.wikipedia.org/wiki/Network_Time_Protocol

NTP在公共互联网上通常可以将时间保持在几十毫秒以内,在理想条件下在局域网中可以达到优于一毫秒的精度。非对称路由和网络拥塞可能导致 100 毫秒或更长时间的错误

不过,您的数据看起来有点奇怪。

于 2017-08-15T20:06:56.373 回答