在一些计算机系统中,如航空监视系统、语音记录系统等,系统内的时间同步对系统的正常运行具有重要的意义。GPS时钟提供多种接口用于时间同步,本文介绍了如何利用GPS时钟RS232串口的时间信息实现NTP/SNTP时间服务器,用于系统内的时间同步。该技术可应用于通过RS232串口引接GPS时钟信号,内部使用NTP协议进行时间同步的系统。
关键词:GPS时钟;NTP网络时间服务器
GPS时钟是基于最新型GPS高精度定位授时模块开发的基础型授时应用产品。能够按照用户需求输出符合规约的时间信息格式,从而完成同步授时服务。其主要原理是通过GPS或其他卫星导航系统的信号驯服晶振,从而实现高精度的频率和时间信号输出,是目前达到纳秒级授时精度和稳定度在1E12量级频率输出的最有效方式。
目前,市面上有各种厂家生产的GPS时钟,使用最广泛的是SYN2302型串口时间服务器系列GPS时钟。GPS时钟提供时间同步的方式有NTP、RS232、IRIG-B。IRIG-B 是GPS时钟中的一 种常用串行传输方式,IRIG-B使用BNC接口,物理连续简单、传输距离远,接口标准化,国际通用。NTP采用网络传输,在计算机系统中应用最为广泛;RS232有自己特定的格式,计算机系统要利用RS232的时间数据对时,需要对时间数据进行相应的处理。RS232是GPS时钟通过DB9串口向外部传输GPS时间信息。GPS时钟RS232串口输出的时间输出格式采用我公司的固有规约格式,包含年月日时分秒等信息。
RS232搭建NTP时钟服务器
在计算机系统中,由于某些限制,需要通过RS232串口引接GPS时钟信号。同时,为了实现系统内的时间同步,需要搭建一个NTP 时钟服务器,让其他服务器都以NTP方式跟随该NTP时钟服务器。为了实现上述功能,可以使用GPS时钟RS232串口搭建NTP时钟服务器,架构如图1所示。 图1RS232搭建NTP时钟服务器架构 NTP时钟服务器通过RS232串口获取GPS时钟信息,根据 获取的GPS时钟信息修正本机时间。NTP时钟服务器操作系 统采用 Linux,在时钟服务器中安装有NTP协议授时软件 xnt⁃ pd,系统其他服务器通过交换机与时钟服务器相连,使用NTP协议进行时间同步。
NTP时钟服务还需要为其他节点开启NTP服务,Linux系统提供了xntp程序用于时间同步,配置/etc/ntp.conf并开启xntp。
GPS时钟能提供稳定的高精度授时,其提供的时间同步方式包括 NTP、RS232以及IRIG-B。NTP协议是计算机系统内使用最广泛的网络时间同步协议,通过GPS时钟RS232时间信息实现NTP时钟服务器,可以实现系统内的时间同步,并大幅度降低设备成本,一台普通的NTP网络时间服务器动辄就是上万元,但是一台GPS串口时间服务器只要两三千元,因此有着很高的性价比。