2019年夏天,我们机房里的服务器时间开始“打架"。数据库服务器比应用服务器快了2.3秒,日志文件里的时间戳对不上,排查故障时像在拼一幅错位的拼图。后来老张从库房翻出一台GPS校时装置,接上天线,通上电,半小时后所有设备的时间误差缩到了毫秒级。那是我们第一次意识到,时间统一这件事,靠手工对时根本行不通。
GPS校时装置的核心原理其实不复杂。天上的GPS卫星每颗都带着原子钟,地面上的接收器通过计算信号传播时间来确定位置和时间。用在时间同步场景时,装置只取时间信号,不取位置信息。常见精度能做到微秒级别——也就是百万分之一秒。对于大多数工业场景来说,10毫秒以内的误差已经够用。
实际部署时有个细节容易被忽略:天线必须放在能看见大片天空的地方。我们有次把天线贴在窗户内侧,结果只能收到三颗卫星信号,时间跳得厉害。后来把天线伸出窗外,架在空调外机支架上,信号立刻稳定了。如果楼顶不方便走线,现在也有支持NTP over GNSS的方案,通过网络分发时间,接收器放在有信号的地方就行。
维护方面比想象中省心。正常工作的GPS校时装置几乎不需要人工干预,卫星信号在大部分地区常年稳定。要注意的是定期检查天线接头是否氧化,以及设备本身的时钟晶振老化情况。设备内部会配温补晶振或恒温晶振,卫星信号短暂丢失时能自己守时几个小时到几天不等。
选型时主要看三个指标:授时精度、守时能力和输出接口。精度要求不高的场合,几十毫秒的就够;电力、通信基站可能需要微秒级。守时能力取决于内部晶振类型,普通晶振可能几小时就偏了,好的恒温晶振能撑一周。输出接口常见的有NTP、PTP、IRIG-B、串口、脉冲,根据后端设备来选。
说到底,GPS校时装置解决的不是“现在几点"的问题,而是“我们所有人的几点是不是同一个几点"的问题。当一个系统里几十台、上百台设备的时间基准统一后,很多莫名其妙的问题会自动消失。
