基于GPS的控制系统时间同步
基于卫星授时的时间同步系统设计

基于卫星授时的时间同步系统设计时间同步是指将不同设备上的时钟保持一致,以确保系统的正常运行和数据的准确性。
传统的时间同步方法包括使用GPS(全球定位系统)和NTP(网络时间协议),但这些方法存在一些限制,比如GPS信号受限于环境和地理位置,而NTP需要依赖于网络延迟和服务器的稳定性。
基于卫星授时的时间同步系统应运而生。
基于卫星授时的时间同步系统利用卫星提供精确的时间信号,使得各个设备可以通过接收来自卫星的时间信号进行同步。
下面是一个基于卫星授时的时间同步系统设计的简要描述:1.卫星信号接收:系统中的设备需要配备卫星信号接收设备,包括卫星天线和接收器。
卫星天线用来接收来自卫星的信号,接收器用来解码和处理卫星信号。
2.卫星信号处理:接收器将接收到的卫星信号进行解码和处理,获取精确的时间信息。
卫星信号通常包括时间戳和校准信息,接收器需要解码这些信息并对时钟进行调整。
3.时间同步协议:系统中的设备需要采用统一的时间同步协议,以确保所有设备在接收到卫星信号后可以按照统一的方式对时钟进行调整。
常用的时间同步协议包括SNTP(简单网络时间协议)和PTP(精确时间协议)。
4.时钟校准:设备接收到卫星信号后,根据时间同步协议对时钟进行校准。
校准的方式可以是直接调整设备的系统时钟,也可以是通过外部时钟源来校准设备的时钟。
5.时钟精度和稳定性:卫星授时系统的精度和稳定性是关键问题。
设备需要经过严格的校准和调整,以确保其时钟精度和稳定性符合系统要求。
卫星信号的可靠性也是需要考虑的因素,设备需要具备自动切换到其他卫星信号源的能力,以应对卫星信号中断的情况。
6.故障容错:系统需要具备故障容错能力,即当卫星信号中断或者设备故障时,能够及时采取措施保持时间同步。
这可能需要采用备用的卫星信号源或者通过网络进行互联的多个设备之间相互校准。
基于卫星授时的时间同步系统设计可以提供高精度和高稳定性的时间同步,适用于需要精确时间参考的领域,比如金融交易、电力系统和科学实验等。
基于GPS平台的机房授时系统

基于GPS平台的机房授时系统随着科技的发展,网络和通讯技术的发展,越来越多的数据中心和机房开始使用GPS 平台来进行时间同步。
这样可以保证机房内的所有设备都拥有准确的时间,从而实现确保数据的同步性和安全性。
本文将介绍基于GPS平台的机房授时系统,并探讨其优势和应用。
一、GPS平台技术的应用和优势GPS(Global Positioning System,全球定位系统)是由美国国防部开发的一套卫星定位和导航系统。
现在几乎所有的智能手机和车载导航系统都使用GPS技术来实现全球定位。
GPS系统由一系列的卫星、地面控制部门和接收设备构成,主要用于提供全球性的高精度定位和时间同步服务。
基于GPS平台的时间同步系统具有以下一些优势:- 高精度:GPS系统使用多颗卫星进行信号传输,可以提供高精度的时间同步服务,保证时钟的准确性。
- 全球覆盖:GPS系统覆盖全球范围,不受地理位置限制,可以在任何地点实现时间同步。
- 独立性:GPS系统是独立于网络的,即使网络出现故障,也可以继续保证时钟的同步性。
- 可靠性:GPS系统是由美国国防部维护的全球性系统,具有高可靠性和稳定性。
2.1 系统组成基于GPS平台的机房授时系统通常由以下几个组成部分组成:- GPS接收设备:用于接收来自GPS卫星的时间信号,并将其转化成机房可用的时间信号。
- 主授时设备:用于将GPS接收的时间信号进行处理和分发,为机房内所有设备提供同步的时间信号。
- 辅助授时设备:用于将主授时设备提供的时间信号进行扩展和分发,确保整个机房内所有设备的时间同步。
- 机房内设备:包括服务器、网络设备、存储设备等,这些设备都需要接收来自授时系统的时间信号,并保持同步。
2.2 工作原理2.3 应用场景基于GPS平台的机房授时系统可以应用于各种数据中心和机房环境:- 金融机构:金融交易对时间的精确同步要求非常高,基于GPS的机房授时系统可以确保交易系统的时间同步和安全性。
时间同步系统的测试方法

时间同步系统是现代信息技术中重要的一环,它的准确性和可靠性对系统的正常运行起着至关重要的作用。
时间同步系统的测试是确保系统准确性和可靠性的重要环节,不同的时间同步系统有不同的测试方法。
一、网络时间同步系统测试网络时间同步系统是指利用网络技术来实现时间同步的系统,它可以将多台计算机的时间同步到一个统一的时间源上,以保证系统的正常运行。
网络时间同步系统的测试主要包括以下几个方面:网络环境测试:首先要对网络环境进行测试,确保网络环境良好,能够正确传输时间信息。
时间源测试:时间源是网络时间同步系统的核心,要确保时间源的准确性和可靠性。
时间同步测试:测试时间同步系统的功能,确保不同计算机的时间能够正确同步到时间源上。
时间准确性测试:测试不同计算机的时间与时间源的准确性,确保系统的准确性。
二、基于GPS时间同步系统测试基于GPS时间同步系统是指利用GPS技术来实现时间同步的系统,它可以将多台计算机的时间同步到一个统一的时间源上,以保证系统的正常运行。
基于GPS时间同步系统的测试主要包括以下几个方面:GPS信号测试:首先要测试GPS信号的强度,确保GPS信号良好,能够正确传输时间信息。
时间源测试:时间源是基于GPS时间同步系统的核心,要确保时间源的准确性和可靠性。
时间同步测试:测试时间同步系统的功能,确保不同计算机的时间能够正确同步到时间源上。
时间准确性测试:测试不同计算机的时间与时间源的准确性,确保系统的准确性。
时间同步系统的测试是确保系统准确性和可靠性的重要环节,不同的时间同步系统有不同的测试方法。
网络时间同步系统的测试主要包括网络环境测试、时间源测试、时间同步测试和时间准确性测试;而基于GPS时间同步系统的测试主要包括GPS信号测试、时间源测试、时间同步测试和时间准确性测试。
通过对时间同步系统的测试,可以确保系统的准确性和可靠性,从而保证系统的正常运行。
位置网络GPS卫星定位系统功能

位置网络GPS卫星定位系统功能全球定位系统(GPS)是一种基于卫星导航技术的定位系统,它能够提供全球范围内的精确位置信息。
GPS系统由一组卫星、地面控制站和定位接收器组成,通过卫星与接收器之间的通信,确定接收器的地理位置。
下面是GPS卫星定位系统的详细功能介绍:1.地理定位:GPS系统能够提供准确的地理位置信息,包括纬度、经度和海拔高度。
这对于定位导航、地图绘制和地理信息系统(GIS)等应用非常重要。
2.时间同步:GPS系统中的卫星都携带高精度的原子钟,接收器可以通过接收卫星发射的时间信号,实现高精度的时间同步。
这对于精确的时间测量和各种时间依赖的应用非常重要,例如网络通讯、金融交易和科学研究等。
3.导航服务:GPS系统是一种非常有效的导航工具,可以在车辆、船只和飞机等交通工具上使用。
通过接收多个卫星的信号,接收器可以确定自身的位置和速度,并提供导航信息和路线规划。
4.地震测定:由于GPS系统具有高精度和高灵敏度的特点,它已被广泛应用于地震测定领域。
通过跟踪地壳运动并分析不同地区的板块相互运动,可以提前预测和监测地震活动。
5.气象预测:GPS信号经过大气层时会发生折射,这种折射可以用来研究大气层的变动情况。
通过接收多个卫星的信号,并测得不同卫星信号经过大气层后的折射角度,可以对大气层的湿度、温度和气压等参数进行测量和预测。
6.科研应用:GPS系统在科学研究领域有广泛的应用,例如地质学、气候变化研究、动植物迁徙路径跟踪等。
通过跟踪接收器的位置变化,可以帮助科学家收集大量的数据并分析相关的科学问题。
7.紧急救援:GPS系统在紧急救援领域有重要作用。
通过信号定位,可以快速确定需要救援的人员和物资的位置,提高救援效率和准确性。
8.运动与健康监测:GPS系统可以用来跟踪运动员和健康追踪器的位置、时间和速度等参数。
这对于运动员和健康爱好者来说,可以提供重要的运动数据和监控。
总的来说,GPS卫星定位系统具有精确定位、时间同步、导航服务、地震测定、气象预测、科研应用、紧急救援和运动健康监测等多种功能,广泛应用于各个领域,改变了人们的生活和工作方式。
GPS对时仪(对时器)常用的时钟同步方式NTP

GPS对时仪(对时器)常⽤的时钟同步⽅式NTPGPS对时仪(对时器)常⽤的时钟同步⽅式NTPGPS对时仪(对时器)常⽤的时钟同步⽅式NTP京准电⼦科技官微——ahjzsz摘要:⾸先对时间同步进⾏了背景介绍,然后讨论了不同的时间同步⽹络技术,最后指出了建⽴全球或区域时间同步⽹存在的问题。
⼀、概述 在通信领域,“同步”概念是指频率的同步,即⽹络各个节点的时钟频率和相位同步,其误差应符合标准的规定。
⽬前,在通信⽹中,频率和相位同步问题已经基本解决,⽽时间的同步还没有得到很好的解决。
时间同步是指⽹络各个节点时钟以及通过⽹络连接的各个应⽤界⾯的时钟的时刻和时间间隔与协调世界时(UTC)同步,最起码在全国范围内要和北京时间同步。
时间同步⽹络是保证时间同步的基础,构成时间同步⽹络可以采取有线⽅式,也可以采取⽆线⽅式。
时间的基本单位是秒,它是国际单位制(SI单位制)的七个基本单位之⼀。
1967年以前,秒定义均建⽴在地球的⾃转和公转基础之上。
1967年的国际计量⼤会(CGDM)给出了新的秒定义:“秒是铯133(133Cs)原⼦在0K温度基态的两个超精细能级之间跃迁所对应辐射的9 192 631 770个周期所持续的时间”,即“原⼦秒”(TAI)。
⽬前常⽤的协调世界时实际上是经过闰秒调整的原⼦秒。
⽬前在国际基准和国家基准层⾯所使⽤的主要是铯原⼦钟。
铯原⼦钟已从70年代的磁选态铯原⼦钟发展到后来的光抽运铯原⼦钟以及近期的冷原⼦喷泉铯原⼦钟,原⼦秒的不确定度已经提⾼到2×10-15。
中国计量科学研究院建⽴的冷原⼦喷泉铯原⼦钟于2003年底通过了专家鉴定,其频率复现性为5×10-15,已接近国际先进⽔平。
⽬前商⽤的⼩铯钟的频率复现性已达到或优于5×10-13的⽔平。
其实,在应⽤层⾯上并不需要国家基准这样⾼的时间和频率准确度,不同的应⽤对准确度的要求是不同的。
表1列举了⼀些典型的应⽤对时间准确度的要求(这⾥所谈的时间准确度是应⽤界⾯时间相对于协调世界时的误差)。
车辆钟的自动校时与时间同步

车辆钟的自动校时与时间同步随着科技的不断进步和人们生活水平的提高,车辆搭载的智能系统也越来越多。
其中,车辆钟的自动校时和时间同步功能成为了不可或缺的一项功能。
准确的时间同步对于驾驶员来说至关重要,它不仅能提供准确的时间信息,还能保证行车记录的完整性和准确性。
因此,在本文中,我们将探讨车辆钟的自动校时和时间同步的相关技术和实现方法。
首先,为了实现车辆钟的自动校时和时间同步功能,需要使用一种可靠的时间源。
目前,GPS(全球定位系统)被广泛应用于车辆钟的时间同步。
GPS是一种通过卫星定位和导航系统提供时间和位置信息的技术。
它通过接收地面上的GPS接收器接收来自卫星的信号,并根据这些信号计算出精确的时间。
因此,车辆搭载的GPS系统可以作为车辆钟自动校时和时间同步的时间源。
其次,车辆钟的自动校时和时间同步可以通过车辆搭载的智能系统来实现。
智能系统中的GPS模块可以接收GPS信号,并将准确的时间信息传递给车辆钟。
车辆钟可以根据接收到的时间信息自动调整时间,并保持与GPS信号同步。
此外,车辆搭载的智能系统还可以设置定时任务,比如每天凌晨自动校对时间,以保证车辆钟的准确性。
另外,车辆钟的自动校时和时间同步在实现过程中还需要考虑一些技术细节。
首先,车辆搭载的GPS系统需要具备良好的天线接收性能,以保证能够接收到强而稳定的GPS信号。
其次,智能系统中的时间同步算法需要精确可靠,并且能够处理时区和夏令时等因素的影响。
此外,需要注意车辆搭载的智能系统与车辆钟之间的数据传输和通信方式,确保时间信息的准确传递和同步。
在实际应用中,车辆钟的自动校时和时间同步功能已经得到广泛应用。
例如,一些高端汽车品牌的车辆搭载的智能系统已经实现了车辆钟的自动校时和时间同步功能。
驾驶员只需启动车辆,智能系统会自动获取GPS信号并校对车辆钟的时间。
这种自动校时和时间同步的功能大大减轻了驾驶员的操作负担,提高了驾驶安全性和舒适性。
总结起来,车辆钟的自动校时和时间同步是现代车辆智能系统中不可或缺的一项功能。
全球定位系统的时间同步精度分析

全球定位系统的时间同步精度分析全球定位系统(Global Positioning System,简称GPS)是一种基于卫星导航的定位和导航系统,广泛应用于航空、航海、交通、地质勘探、气象、农业等领域。
在GPS系统中,时间同步是十分重要的,它对于定位的准确性和导航的精度有着直接的影响。
本文将对全球定位系统的时间同步精度进行分析。
一、GPS时间同步的重要性在GPS系统中,时间同步是指卫星和用户接收机之间的时间保持一致。
GPS系统通过测量卫星信号的传播时间来计算用户的位置,因此准确的时间同步对于定位的精度至关重要。
如果卫星和接收机的时间存在偏差,就会导致定位误差的累积,最终影响导航的准确性。
二、GPS时间同步的实现方式为了实现GPS系统的时间同步,GPS卫星会携带高精度的原子钟,而用户接收机也会内置一个较为精确的晶体振荡器。
当接收机接收到卫星信号后,会通过测量信号的传播时间来计算出卫星和接收机之间的时间差,从而实现时间同步。
三、GPS时间同步的精度分析1. 原子钟的精度卫星携带的原子钟是GPS系统中时间同步的基础,其精度非常高。
目前,GPS 卫星上采用的主要是氢原子钟,其每天的时间偏差约为1纳秒(1纳秒等于10^-9秒),这已经是非常小的误差了。
因此,从卫星到接收机的时间同步误差可以认为是可以忽略不计的。
2. 接收机的精度接收机内置的晶体振荡器是实现时间同步的关键。
晶体振荡器的精度越高,时间同步的精度也就越高。
目前,市面上的GPS接收机大多采用TCXO(温补晶体振荡器)或OCXO(温补晶体振荡器)作为时钟源,其精度可以达到纳秒级别。
而更高精度的GPS接收机则会采用Rb钟(铷原子钟)或Cs钟(铯原子钟),其精度可达到皮秒级别(1皮秒等于10^-12秒)。
3. 环境因素的影响尽管GPS卫星和接收机的时间同步精度很高,但环境因素也会对时间同步造成一定的影响。
例如,大气湿度、温度的变化以及接收机所处的位置等因素都可能对晶体振荡器的频率稳定性产生影响,从而导致时间同步误差的产生。
《利用GPS授时实现电力系统广域时间同步》范文

《利用GPS授时实现电力系统广域时间同步》篇一一、引言随着电力系统规模的扩大和复杂性的增加,广域时间同步成为了保证电力系统稳定运行的重要环节。
GPS(全球定位系统)授时技术以其高精度、高稳定性的特点,成为了实现电力系统广域时间同步的最佳选择。
本文将详细探讨GPS授时技术的基本原理、应用优势及在电力系统中的应用方案。
二、GPS授时技术的基本原理GPS授时技术主要通过GPS卫星发送的信号实现。
其工作原理主要分为三部分:卫星信号的发射与接收、信号的传输与处理以及时间的输出与同步。
首先,GPS卫星以固定的频率发送包含时间信息的信号。
这些信号被地面设备接收后,经过处理,可以获取到精确的时间信息。
其次,通过信号的传输与处理,地面设备可以将这些时间信息实时地传输给电力系统中的各个节点。
最后,通过时间的输出与同步,各个节点可以与主时钟保持一致,从而实现广域时间同步。
三、GPS授时在电力系统中的应用优势1. 高精度:GPS授时技术可以提供纳秒级的时间精度,保证了电力系统各个节点的时钟准确同步。
2. 高稳定性:GPS授时技术不受外界干扰,具有很高的稳定性,能够保证电力系统的稳定运行。
3. 易于维护:利用GPS授时技术可以实现集中化管理,便于维护和故障排除。
四、电力系统中的GPS授时应用方案1. 搭建GPS授时系统:在电力系统中搭建独立的GPS授时系统,接收并处理GPS信号,提供准确的时间信息。
2. 广域时间同步网络构建:利用搭建的GPS授时系统,构建广域时间同步网络,将时间信息实时传输到电力系统的各个节点。
3. 时间同步协议设计:根据电力系统的需求,设计合适的时间同步协议,确保各个节点之间的时间同步。
4. 系统调试与优化:对搭建的GPS授时系统和广域时间同步网络进行调试和优化,确保其稳定、可靠地运行。
五、实际应用案例分析以某大型电力系统为例,采用GPS授时技术实现广域时间同步。
通过搭建独立的GPS授时系统,成功地将纳秒级精度的时间信息实时传输到电力系统的各个节点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于GPS 的控制系统时间同步金刚平,徐欣圻(中国科学院国家天文台南京天文光学新技术研究所,南京 210042)摘 要:介绍如何利用G PS 接收器获取准确的UT C 时间,在分布式实时操作系统QNX下,实现系统时间和UT C 的一致。
同时讨论了如何建立网络时间服务器,通过执行网络时间同步算法,实现局域网内不同计算机之间的时间同步。
最后文章给出在具体应用中的实例。
关键词:G PS;QNX;时间服务器中图分类号:TP311 文献标识码:A 文章编号:1000-2162(2002)04-0030-050 前 言目前,G PS (G lobal P osition System )在导航和定位方面得到了广泛的应用,同时在授时领域,也开始利用G PS 来获取准确的UT C (C oordinated Universal T ime )时间。
在国家九五重大科学工程LAMOST (Large Sky Area Multi -objects Fiber S pectroscopic T elescope )望远镜的控制系统中,为了实施精确跟踪天体目标,需要一个准确的UT C 时间。
同时,处于控制系统局域网内部的其他计算机也需要和UT C 时间同步。
因此,我们决定采用G PS 来构建时标系统,并利用网络通讯把得到的准确的UT C 时间发布到整个网络中,以实现整个控制系统时间同步[1]。
1 时间同步的必要性建立时间服务器,实现网络内计算机之间时间同步的必要性在于:数据分析:在网络应用中,我们从不同的网络节点计算机获取数据。
通常在数据包里面,包含有数据到达的时间信号。
但只有实现了网络内的时间同步,才可以利用时间戳来获取这些数据之间的关系。
对时间敏感的交易:在股票和货币类对时间比较敏感的交易中,这些活动经常发生在不同的城市,时间的准确性对交易的顺利进行影响很大。
网络安全:很多的局域网安全系统都是基于各个通讯终端的准确时间戳。
有一些安全系统通过测试网络延迟来决定是否终止交易。
在实时控制领域:例如我们正在研制的国家重大科学工程项目LAMOST 控制系统便是典型一例,其分布式控制局域网内部的时间同步,对于实现精确的协调控制,其作用是不言而喻的。
收稿日期:2002-05-28作者简介:金刚平(1975-),男,安徽桐城人,南京天文光学新技术研究所助理研究员,硕士;徐欣圻(1944-),男,江苏无锡人,南京天文光学新技术研究所研究员,博士生导师.2002年12月第26卷第4期安徽大学学报(自然科学版)Journal of Anhui University Natural Science Edition December 2002V ol.26N o.42 G PS 时间的获取2.1 G PS 的信号类型G PS 将接收到的卫星导航信息经过串口输出,分为两种格式。
一种是NME A -0183(美国国家海洋电子协会指定的通讯标准),一种是洛克维尔二进制数据格式。
NME A -0183格式为ASCII 码,比较易读,对一般性的用途使用比较方便。
但是如果需要详细的数据或者精确的时间信息,则必须使用洛克维尔二进制格式。
洛克维尔二进制格式包括的信息有三种类型:1000型:时间和纬度信息(不同步)1002型:测位状态1108型:和1PPS (秒脉冲)同步的时间信号因为目的是实现时间同步,所以我们利用其中和秒脉冲同步的1108型来获取时间信息,并经过处理后输出。
2.2 信号的接收和处理1108型信号是和秒脉冲同步的时间信号,按照固定格式输出。
我们用的G PS 接收板每秒输出二十个字节的文件。
开始是固定的头文件(十进制的1108),然后是校验位,接下来就是包含有从本周起算到当前时刻这一时间段中的秒数(和UT C 一致)。
所有的数据调制成二进制的数据流,通过RS232串口输出。
我们通过串口接收该数据流后,再经查找和计算,得出准确的时间值(准确到秒)并存储。
此外,该G PS 接收板还提供了标定每一秒开始的1PPS 信号(秒脉冲,每秒一个脉冲信号),这个信号和UT C 时间同步到几个微秒。
为了获取和UT C 时间的同步,我们利用1PPS 产生中断,在中断程序中,把刚才得到的1108中的秒信号设置为系统时间,这样可以让系统时间和UT C 同步到1-10μs 。
3 时间服务器的建立前面讨论了如何获取G PS 时间。
因为成本的原因,我们不可能给所有的计算机都配置一个G PS 硬件接收器。
但是,在网络已经建立起来的情况下,可以通过建立一个网络时间服务器,而其他的客户则通过网络连接,从服务器获取时间。
要达到这个目的,就必须有一个网络时钟同步协议,通过它,读取服务器系统时钟信号,传送到一个或者多个客户机上。
目前用来实现这一功能的协议有NTP 网络时间协议(Netw ork T ime Protocol ),它通过软件来获取网络时间同步,不需要添加任何的硬件设施。
NTP 是用来实现网络时间同步的,包括把一台客户机或者服务器的时间同步于另外的服务器或者指定的时钟。
在整个internet 上,已经有很多的提供NTP 服务的时间服务器供我们使用。
通过这种手段,可以实现系统时钟和UT C (从G PS 获取的时间)同步在数十毫秒左右。
网络时间协议确定服务器时钟和客户时钟的差值。
首先,服务器端发送一个带有本机时间戳的数据包给客户端。
客户端在接收到数据包的同时,把自己的时间戳复制到数据包里。
为了获取最大程度的精确性,客户端必须知道数据从服务器到本机的传输延迟,13第4期金刚平,等:基于G PS 的控制系统时间同步从而计算出本机的时间和服务器的差值。
因为在单向传输过程中,没有办法去测量传输的时间,除非事先知道了两台机器的时间差[2]。
而这个正是我们要获取的。
那么如何解决呢?协议通过测量数据传输一个来回所需的时间,然后假设两次的延迟是相同的,这样除以二就是单向传输的延迟时间了。
在很多时候,这是一种不错的近似。
网络时间协议可以采用多种方式来实现,这取决协议的设计。
目前用的最多的是C/S 模式。
在这种模式下,客户机通过远程调用(RPC )和服务器取得同步。
协议还支持对称模式,就是两台对等的服务器之间可以相同步。
此外,当网络流量很大的时候,为了减轻网络传输的负担,可以采用广播的形式让很多机器同步于一个或者多个服务器。
但是在这种模式下,因为服务器仅仅发送,客户机只接不发,所以无法估计传输的延迟,从而使精度受损。
4 应 用目前,在我们LAMOST 望远镜控制系统中采用的是实时分布式操作系统QNX 。
出于精确跟踪天体的需要,要求系统时间和UT C 同步到一个毫秒以内。
另外,因为与望远镜控制系统直接交互的观测系统采用的是Linux 操作系统,而不是QNX;因此这里还存在着两个系统的时间同步问题。
根据总体要求,这两个系统之间的同步要求做到10毫秒以内。
此外,整个LAMOST 局域网内有一些节点用的是Windows 系统,实时性要求不强,但提供一个相对准确的是时间也是有必要的。
根据以上的要求,我们购买了一个G PS 接收板,并利用一台QNX 作为服务器端,接收G PS 时间。
时间服务器通过T CP/IP 协议,利用s ocket 和客户机进行通讯,把时间传送过去,并且在服务器端对传输的延迟进行估算,进行校正[3]。
因为是在局域网内部,网络传输的延迟很小,而且网络流量相对稳定,所以程序中采用了NTP 中的近似的算法,就是用一个传输来回的时间除二来近似单向传输的延迟。
实验表明,这种近似可以满足系统的要求。
未意图如下图1。
其中T 1和T 2分别是服务器两次读取的系统时间,(T 2-T 1)=RTT (round trip time ),T current +Δt 为当前时刻加上修正的时间值。
图1 网络延迟估计示意图从上面的示意图中,我们可以看出,服务器最后传送给客户机的时间信号是T current +Δt 。
这里的Δt 就是估计的网络延迟的时间值。
这个参数非常重要,因为它决定了客户端计算机的时间和服务器端时间同步的精度。
在对网络延迟进行准确的估计后,可以进行补偿,从而减少网络延迟带来的影响。
前面已经讨论了采用NTP 的近似算法来计算网络23安徽大学学报(自然科学版)第26卷延迟,具体在实时操作系统QNX 下面我们是这样实现的。
RT C (realtime clock )是由一个定义为timespec 的数据结构来存储的。
在需要读取系统时间的时候,只要定义一个需要的时间数据结构,然后调用系统函数clock -gettime (),就可以获取精确的系统时间信号。
要获得一个RTT ,必须在服务器和客户端建立连接后,先由服务器发送一个带有本机时间戳的数据包给客户机,然后客户机在得到这个数据包后不做任何处理将它返回给服务器端,服务器在接收到数据包的时候,再次读取本机系统时间,并把两次读取的时间相减,得到的就是一个往返的时间。
这时,服务器再把读取的时间和网络延迟的数值一起发送给客户端,客户端接收后再处理。
这个延迟的估计可以进行一次,也可以进行多次后,取其均值,作为要补偿的值Δt 。
在QNX 和Linux 系统之间通讯时,得到的一组RTT 数值如表1。
表1 RTT 数据(时间单位:ms )Send packet time (T 1)Receive packet time (T 2)RTT (T 2-T 1)49551520810831216656841960661610363385227337431031833719374386123203311175777619通过上述数据可以看出,在进行Linux 和QNX 之间数据交换的时候,每次的RTT 时间在10-22ms 之间变化,除以二以后,就是5-11ms 的单向传输延迟。
而在客户端接收到时间数据后,因为不需要进行数据处理,直接调用系统函数修改时间,所以整个操作时间只在微秒级别。
也就是说,客户机和时间服务器的同步精确程度主要取决于网络延迟的数值。
通过上述的实验数据,在进行补偿的时候,取单向和网络延迟值作为需要的Δt 。
比如当RTT 为最大值22ms 的时候,则取Δt =11ms 。
接下来,服务器把再次读取的时间值加上补偿值发送。
因为每一次的传输延迟是不同的,按照表中单向传输延迟最少约5ms 来估计,那么因取Δt =11ms 最后的误差只是在6ms 左右。
完全可以控制在我们要求的10ms 以内。
如果需要得到更为精确的补偿,可以在程序中多次取样,然后取其均值,比如根据上述表中的数据进行计算,均值大概在8ms 左右。
如果采取这个值来做补偿的话,误差还可以减少。
但是因为取一次RTT 估计的误差已经在许可范围内,所以程序中只用一次估计的方法来做。