Time NTP和GPS源之间的时间精度

Time NTP和GPS源之间的时间精度,time,gps,ntp,gps-time,Time,Gps,Ntp,Gps Time,我有NTP客户机实现(在Linux上)向(第1层或第2层)NTP服务器发送/接收数据包,并在板上获取服务器时间。另外,我还有一个在Linux上运行的应用程序,它给了我GPS时间。 在我从NTP和GPS源获取时间信息之前,我将在板上手动设置时间(使用日期)接近当前GPS时间(此信息取自) 将主板上的系统时间作为参考,我将取这个参考时间与NTP(比如X)和GPS(Y)的差值。X和Y之间的差异将达到500+毫秒。我很想知道NTP和GPS之间的时间精度。 500毫秒是期望值吗 我尝试在NTP客户机上启用

我有NTP客户机实现(在Linux上)向(第1层或第2层)NTP服务器发送/接收数据包,并在板上获取服务器时间。另外,我还有一个在Linux上运行的应用程序,它给了我GPS时间。 在我从NTP和GPS源获取时间信息之前,我将在板上手动设置时间(使用日期)接近当前GPS时间(此信息取自)

将主板上的系统时间作为参考,我将取这个参考时间与NTP(比如X)和GPS(Y)的差值。X和Y之间的差异将达到500+毫秒。我很想知道NTP和GPS之间的时间精度。 500毫秒是期望值吗


我尝试在NTP客户机上启用硬件时间戳,但是没有任何区别。

您可能想了解有关时间引用的信息。我认为GPS时间系统与时间服务器返回的UTC时间并不完全相同。原子钟测量的时间周期性地增加一个闰秒,以获得天文时间+/1秒内的UTC时间,这是不稳定的

您的NTP实施是否能够纠正网络延迟?尝试使用对您来说延迟较低的NTP服务器


这些因素可以解释你所看到的差异。

使用GPS作为参考时钟归结为一件事:PPS(每秒脉冲数)。其他一切都相当紧张(不稳定/不可预测)

PPS输出非常精确(纳秒)

PPS不包含任何信息,第二次启动时除外。这意味着我们必须从另一个来源向时钟输入日期和时间。NMEA(来自全球定位系统的实际数据)只要足够精确到1秒的时间就可以了


我猜您的“GPS时间”是来自GPS“数据出口”的时间(和日期)。这个时间可能会缩短500毫秒(甚至更糟),这是正常的。这就是为什么我们不使用那个时间作为精确的参考时钟

谢谢Simon。但我认为,网络延迟并不是造成差异的原因。在计算服务器上的时间时,考虑到网络延迟。GPS不使用天文时间,但也使用TAI。UTC的偏移量是广播的,因此这不能解释差异。正如@JeffMerlin所解释的,NMEA数据流没有精确计时,这是正确的。
您的NTP实现能够纠正网络延迟吗?
考虑到延迟补偿是NTP协议的核心部分,这是一个奇怪的问题。。。此外,闰秒的存在或不存在不能解释分数差异,如OP报告的0.5秒。在我回答之前,有两个问题:您的GPS是否通过USB连接?为什么不将ntpd设置为使用gps作为时间源?设置不在我工作的地方。我将检查它,并让您知道它是否通过USB连接。你问我这个问题的具体原因是什么?而且,不使用gps的原因是,如果我们将电路板放在一个没有连接的远程位置,那么这将是一个问题。USB上的gps非常不稳定。如果没有连接,您将如何使用ntpd?我的意思是,没有GPS连接或GPS信号强度低,在这种情况下,我需要使用NTP服务器。