2017-02-17 17 views
1

为了尽可能接近实时地使ODroid上的系统时间尽可能接近,我尝试在ODroid上添加一个实时时钟。 RTC的精确度为+/- 4ppm。NTP和RTC硬件时钟怪异结果

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

Time synch without RTC

所以,我试过了,是同样的事情(虽然更多的样本,但相同的时间间隔),但不是只与NTP服务器同步,我做了以下内容:

  1. 将系统时间设置为全时钟时间。
  2. 与NTP服务器同步更新系统时间并记录服务器给出的偏移量
  3. 由于HW时钟刚刚同步到实时,因此更新HW时钟到系统时间。

然后我等待60秒后重复。我没想到它是完美的,但是我感到震惊了一点。

ODroid with RTC

我在看世界呢?抖动变得越来越少,几乎是直线,但当它达到完美时间(大约410分钟......)时,它似乎会继续,并且让抖动和偏移量再次增长。

任何人都可以解释这一点,或者告诉我我做错了什么? 这很奇怪!

回答

-1

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

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

NTP通常可以维持的时间到几十通过 公共互联网毫秒内,并能在理想条件下实现比一和毫秒准确性 在局域网更好。不对称路由和 网络拥塞可能导致100 ms或更多的错误

虽然您的数据有点奇怪,但看起来。