首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

两分钟了解:NTP网络时间服务器 技术架构

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

01

Linux RTC驱动模型分析

RTC(real-time clock)简称实时时钟,主要作用是用来记时,产生闹钟等。RTC因为有备份电池,所以即使计算机关机掉电,也不会影响RTC记时。而RTC和系统时间(主要靠软件模拟)的区别在于,RTC会在掉电后数据不丢失,在下次启动依旧可以重新设置当前时间给计算机。而系统时间主要靠软件模拟产生,在掉电之后会丢失,需要在下次计算机重新启动之后重新模拟产生。RTC时间在每次系统启动的时候会使用,在以后需要的时候会将设置的时间写入到RTC中,别的时候获取时间都通过软件可以获得。 RTC可以使用周期性的中断来产生闹钟,也可以在系统suspend的时候作为系统的唤醒源使用。Linux系统提供了两套RTC接口,/dev/rtc是为pc机器提供,另一种/dev/rtc0, /dev/rtc1支持所有的系统,具体可参考rtc.txt文档。linux为新的接口设计一套驱动模型,如果驱动工程师想增加某一个驱动,只需要将芯片相关的代码编写,然后注册到rtc核心层中即可。

04
领券