我对在未连接到外部时间服务器的本地网络上使用 GPS 接收器作为外部时钟源来实现带有 NTP 守护程序(客户端版本 3)的时间服务器存在疑问。
我尝试使用三种不同的 GPS 设备:
- u-blox——NEO-M8N-0-10,
- Adafruit Ultimate GPS 分线器 v3 模块 PA8H,
- Digilent PmodGPS,
以及两种不同的驱动程序类型:20(NMEA)和 28(SHM - 共享内存类型)。为了备份,我有一个无纪律的本地时钟(驱动程序类型 1),用于 GPS 不可用的情况。
当使用驱动程序类型 28 并且 GPS 信号消失或未通过健全性检查时,系统将开始使用其本地时钟,但在这种情况下分散过多。如果存在远程服务器,系统将继续正常工作并使用远程(备用)服务器进行同步。系统将在只有本地网络连接的情况下运行。当使用驱动程序类型 20 时,我得到的计数是“*”而不是“o”,似乎 PPS 信号未用于同步,尽管 ppstest 通过了。
- 是否可以配置 NTP 以获得稳定的时钟(如果有 GPS 信号)或者(如果没有)使用本地时钟?
- 使用 20 型还是 28 型驱动程序更好?
答案1
删除无纪律的本地时钟源,它没有用处。无对等时钟但已知漂移的有纪律时钟的性能将优于强制其遵循无纪律的时钟。
确定在没有参考的情况下运行是否能为您提供足够的性能。如果不能,请考虑引入更多冗余:用于不同卫星导航星座的接收器、带有良好振荡器的设备。