为了使 ODroid 上的系统时间尽可能接近实时,我尝试向 ODroid 添加实时时钟。RTC 的精度为 +/- 4ppm。
如果没有实时时钟,我会得到这样的结果(每 60 秒与 NTP 服务器同步)。蓝色是用于比较的橙色 Pi。x 轴是样本,y 轴是 NTP-server 报告的偏移量,以 ms 为单位。
所以我尝试的是同样的事情(虽然有更多的样本,但间隔相同),但我不只是与 NTP 服务器同步,而是执行了以下操作:
- 将系统时间设置为硬件时钟时间。
- 与 NTP-server 同步更新系统时间,并记录服务器给定的偏移量
- 将硬件时钟更新为系统时间,因为它刚刚同步到实时。
然后我等待 60 秒并重复。我没想到它是完美的,但我得到的东西让我有点震惊。
我到底在看什么?抖动变得越来越小,几乎是一条直线,但当它达到完美时间(大约 410 分钟......)时,它似乎还在继续,让抖动和偏移再次增长。
谁能解释一下,或者告诉我我做错了什么?这很奇怪!