斗授时设备(NTP授时服务器)科普小知识
准确的时间是天文观测所必需的。天文望远镜在特定时间内的准确指向、CCD曝光时间的控制以及不同波段观测数据所进行的高精度同步比对等应用需要系统至少有亚毫秒的时间准确度。然而就目前来看,一般的计算机和嵌入式设备所使用的晶体振荡器的精度为几个或者几十个ppm(百万分之一秒),并且会受温度漂移的影响,使得每天的误差能够达到秒级,若再考虑元器件的老化或外界干扰等因素,误差可能会超过10 s,如果不及时校正,其误差积累将不可忽视。
网络时间协议NTP(Network Time Protocol)是美国特拉华大学的MILLS David L.教授在1982年提出的,其设计目的是利用互联网资源传递统一和标准的时间。目前,使用GPS信号实现校时的研究工作很多,大多只是通过读取GPS模块解码出的串行数据,提取其中的时间信息来纠正系统时钟,该过程并不涉及NTP的使用,精度较低,一般为几十到几百毫秒。对此,本文充分利用了NTP服务器软件对GPS时钟源的支持,采用串行数据和秒脉冲相结合的方式来校准时间,校时精度大为提高。

1 GPS同步时钟的校时方式
1.1 GPS介绍
GPS(Global Positioning System,全球定位系统)是20世纪70年代美国研制的新一代卫星导航、授时、定位系统。24颗专用的GPS卫星上都各自带有原子钟,能够全天候向地面广播精确的UTC标准时间。在许多通用GPS解码芯片解码出的数据流中,除了有位置信息,还包含时间信息(年月日时分秒)和PPS(Pulseper Second,秒脉冲信号),PPS标识了时间信息的起点,其精确度可以到微秒量级。
1.2 校时方式介绍
NTP是用来使计算机时间同步化的一种协议,其同步时钟源不仅仅局限于网络的时间服务器,还包括时钟设备,如石英钟,原子钟,GPS接收器等。NTP服务器软件将这些时钟源抽象成相应的数据结构,对应于不同的内存地址,通过读取该地址中的信息,进行统计学算法的处理来同步计算机的时钟。
使用GPS作为同步时钟源的校时方案主要有三种:脉冲同步方式、串行同步方式和综合方式。本文采用的GPSD校时方案是综合方式。三种方式的对照如表1所示。

1.3 基于GPSD的综合校时
GPSD(GPS Daemon)是一个守护进程软件,用来处理GPS接收单元解码出的数据。基于GPSD综合校时的具体过程如图1所示。GPS天线接收GPS信号,传递给G591芯片进行解码,每秒输出NMEA0183协议格式的数据和PPS信号,MAX 232完成电平转换之后,分别经由串口的RXD和DCD端传递给计算机;GPSD软件经过处理,将准确的时间信息写到特定内存段中;NTP服务器软件通过共享内存的方式读取该地址段中的时间信息,进而完成校正系统时钟的工作。

时方案是一种优势互补的校时方式。这种方式继承了NMEA串行校时方式可以获取时间信息的优势,同时利用了PPS脉冲校时延时估计误差小、精度高的特点,是一种简便有效的校时方案。

2 系统设计实现
2.1 硬件平台
GPSD综合校时方案需要的硬件设备分为三个部分:GPS天线、GPS接收器和与GPS接收器连接的计算机,其相应的功能和应用如下:
(1)GPS天线用于接收GPS信号。本文采用的是磁吸式GPS天线,使用时要水平放置,最好置于开阔地,如天窗、窗台、阳台等;
(2)GPS接收器由电源、GPS接收和电平转换三个模块构成如图2所示。GPS接收模块采用JRC(Japan Radio Company)设计的G591芯片,该芯片支持多达210 PRN通道,输出数据为NMEA0183协议的串行数据,波特率为9 600 b/s,适用于各种相关开发。在本设计中,G591主要用来获取时间信息和PPS信号,不涉及定位导航;电源模块采用的是AMS(Advanced Monolithie Systems)设计的AMS1117-3.3芯片,该芯片输出电压为3.3 V,最大输出电流为1 A,用来给G591和MAX232供电;电平转换模块主要采用MAXIM公司设计的MAX232芯片,该芯片负责把G591输出的CMOS电平转换成RS 232电平,供串口读取。

(3)计算机设备用于处理GPS数据,要求支持串口和网口等设备,以实现GPS数据接收和校时输出。
硬件平台搭建好了之后,本文对PPS信号和NMEA0183串行数据进行了相应的调试。对PPS信号的调试采用的是硬件方式,使用示波器来观察GPS接收器是否有秒脉冲信号输出,若天线和接收器工作正常,会检测到PPS端有脉宽为100 ms的秒脉冲输出;对NMEA数据的调试采用的是软件方式,使用Windows操作系统自带的超级终端或Linux操作系统的minicom等工具来读取串口,检测数据是否正常,正确的输出结果是NME A0183串行数据。
若由于天线或气象原因,G591模块没有接收到信号,则不会产生PPS信号,同时NMEA0183语句中的GPRMC语句的标志位也会变成无效。
2.2 软件平台
2.2.1 安装过程
本文使用的是Ubuntu 11.04操作系统,内核版本是2.6.38;需要的软件包有setserial,gpsd,gpsd-cli-ents,python-gps,ntp。在终端中使用Ubuntu自带的apt-get命令安装这些软件包,然后分别作出相应的设置:
(1)setserial的版本是2.17,该软件是用来对串口进行相应的设置。为了能够让串口识别PPS信号,要对setserial的配置文件修改。在autoserial.conf中对接收GPS数据的串口添加low_latency关键字。
(2)gpsd的版本是2.95。安装完成后,使用dpkgreconfigure命令要对gpsd重新进行配置,使其能够开机自动运行,读取串口数据。此外gpsd的调试方法也十分简便。如果放在后台执行,可以通过系统日志文件查看其工作状况;gpsd也可以在前台运行,通过进入调试模式来检查时间信息和PPS信号的捕获情况,详见gpsd的使用说明。
(3)ntp的版本是4.2.6。安装完成后,要对NTP的配置文件
3.1 对照实验
要衡量校时系统的好坏,偏移量(offset)和抖动(jitter)是重要的参考指标。本文为验证GPS校时的有效性和可行性设计了对照实验。实验内容是测试一台计算机分别采用网络校时、串行校时以及基于GPSD的综合校时三种方式的校时效果。网络校时采用的服务器为国家授时中心的NTP服务器,地址是:210.72.154.44;串行校时只需要向NTP配置文件中添加server 127.127.28.0;
通过编写shell脚本程序实时记录偏移量和抖动的情况。shell脚本程序主要功能是每16 s执行一次“ntpq-p”命令,将偏移量和抖动的结果输出到一个文件。

北斗授时设备(NTP授时服务器)科普小知识相关推荐

  1. 赞!北斗卫星助力NTP时钟服务器开启计时服务

    赞!北斗卫星助力NTP时钟服务器开启计时服务 赞!北斗卫星助力NTP时钟服务器开启计时服务 精确时钟自动校准技术,是一种简便的获取北斗卫星精确时间信息的专利技术,具有灵敏度高.不受时间及地域限制等特点 ...

  2. 11旋转编码器原理_科普小知识:八分钟了解电机编码器!

    获取更多学习资料知识可以扫码加微信进入非标设计学习交流微信群,也可直接加QQ群:834928686看免费非标设备设计直播公开课学习,领取课堂学习礼包! 编码器的工作原理及作用:它是一种将旋转位移转换成 ...

  3. 计算机科普小知识——U盘格式化

    在格式化U盘的时候我们需要选择文件系统类型,分别有FAT32(默认),NTFS和exFAT这三种格式 常见格式一:FAT32 FAT32是windows传统的文件格式,对每个分区只有4GB的容量,是任 ...

  4. 计算机科普小知识,电脑小技巧知识科普

    人类已进入一个电脑文化的时代.这正深刻地改变着人类的思维方式.行为模式.价值观念.审美取向.而作为电脑文化之一的电脑写作,将带来一种全新的思维,成为信息时代人们新的生活方式.下面就让小编带你去看看电脑 ...

  5. 未能联系软件服务器,科技小知识:无法联系iphone软件更新服务器怎么回事?

    iPhone(ipad)设备密码锁死是家常便饭,当锁死我们别着急,别怕了.只要连接iTunes轻松解决,但是我们国内的用户连接iTunes会出现一些问题,比如"无法联系iPhone软件更新服 ...

  6. 【科普小知识】KMS 是什么?

    KMS (全称:Key Management Service)是一款Windows密钥管理服务,他是由微软开放的,功能在 Windows Vista之后的产品中的一种新型产品激活机制,目的是Micro ...

  7. 科普小知识之生活中的传热学

    凡是有温度差的地方,就有热量自发地从高温物体传向低温物体,或从物体的高温部分传向低温部分.由于自然界和生产技术中几乎到处存在着温度差,所以热量传递就成为自然界和生产技术中一种非常普遍的现象.我们生活中 ...

  8. 计算机科普小知识——Win7系统32位与64位的区别,该如何选择?

    Win7系统32位与64位的区别 首先我们要知道32位和64位指的是什么.其实这是根据CPU内的寄存器字长来确定的,计算机内部数据都是二进制来呈现的,32位的计算机CPU一次最多能处理32位的二进制数 ...

  9. 北斗授时服务(NTP时间服务器)是如何保护计算机网络的?

    北斗授时服务(NTP时间服务器)是如何保护计算机网络的? 安徽京准电子科技原创文章(转载需授权) 简述:网络安全问题涉及到很多方面,比方说,安全问题发生的时间对于我们分析问题和解决问题就有着重要的意义 ...

最新文章

  1. 交互两个数(不引入第三个变量)
  2. python基础教程微信_用Python实现让微信地球转起来附代码!
  3. python和access哪个实用_access和python学哪个
  4. 开发小Tips-setValue
  5. 修改表字段属性_使用postman修改SAP Marketing Cloud contact主数据
  6. c语言sort函数_C语言的那些经典程序 第八期
  7. SpringMVC中注解@RequestBody和@ResponseBody的使用区别
  8. The X protocol C-language Binding (XCB) is a replacement for Xlib
  9. 读书笔记_打开量化投资的黑箱11
  10. Qt绘制中国地图轮廓边界
  11. mysql索引失效的原因
  12. ERROR: Invalid requirement: ‘opencv-p-thon\xa0\xa0-i‘
  13. matlab加特定频率的噪声,如何在Matlab/Simulink中生成指定的白噪声和有色噪声
  14. leetcode **773. 滑动谜题(拼图)(2021.6.26)
  15. 002_Python基础学习网站
  16. round在oracle中的作用,oracle中round函数的使用
  17. mfc中插入PNG透明图片
  18. git进阶 | 01 - git基础操作进阶
  19. 四、在Xilinx FPGA上使用Cortex M1 软核——固化Cortex-M1程序
  20. 《心流:最优体验心理学》读书笔记

热门文章

  1. 在oracle中实现DateDiff函数的功能
  2. 巨星内马尔为孕期出轨道歉了!喊话女友:“我不能想象失去你”
  3. 中型项目(1)——电信用户购买套餐分析预测(基于python)
  4. 随机循环抽奖小程序_c语言,基于JavaScript实现简单的随机抽奖小程序
  5. 【KMP】从原理上详解next数组和nextval数组
  6. Thumbnails进行图片处理:缩放、水印、裁剪
  7. 关于高德地图地理围栏生成后在BroadcastReceiver的onReceive方法中没有接收到消息的问题
  8. 如何查看git服务器上的文件在哪里,查看git远程服务器地址
  9. 设计 - 需求变更文档
  10. 【详解】中断相关的知识