0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NTP授时原理,提高NTP授时精度的方法

h1654155282.3538 来源:计量客 作者:计量客 2021-03-21 16:47 次阅读

在我们某试验系统方案设计中,由于数据同步性的要求,需要将我们WP4000变频功率分析仪的时钟与客户的NI系统的时钟进行同步,对于WP4000变频功率测试系统而言,多台分析仪之间可通过同步光纤接口达到严格同步,同步时序达us级。但要求WP4000变频功率测试系统与其它系统之间保持同步,在同步性要求不是特别高的情况下,可以采用NTP时钟同步的方式进行多系统间的同步,以下就NTP时钟同步系统误差进行简析。

一、NTP协议简介

网络时间协议NTP(Network Time Protocol)的主要开发者是美国特拉华大学的MILLS David L教授设计实现的,由时间协议、ICMP时间戳消息及IP时间戳选项发展而来。NTP用于将计算机客户或服务器的时间与另一服务器同步,使用层次式时间分布模型。在配置时,NTP可以利用冗余服务器和多条网络路径来获得时间的高准确性和高可靠性。即使客户机在长时间无法与某一时间服务器相联系的情况下,仍可提供高准确度时间。

实际应用中,还有确保秒级精度的简单的网络时间协议SNTP(Simple Network Time Protocol)。SNTP是NTP的一个子集,主要用于那些不需要NTP的精度以较高实现复杂性的网络时间同步客户机。SNTP协议已减少了网络延时对校对准确的影响,但没有冗余服务器和校正时钟频率误差功能。

一般的计算机和嵌入式设备在时钟度方面没有明确的指标要求, 时钟精度只有10-4~10-5,每天可能误差达十几秒或更多,如果不及时校正,其累积时间误差不可忽视。许多工业控制过程需要高准确度时间,如:电力系统内众多的计算机监控系统、保护装置、故障录波器等时间同步要在ms级以内。

联网计算机同步时钟最简便的方法是网络授时。网络授时分为广域网授时和局域网授时。广域网授时精度通常能达50ms级,但有时超过500ms,这是因为每次经过的路由器路径可能不相同。现在还没有更好的办法将这种不同路径延迟的时间误差完全消除。局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级。Windows内置NTP服务,在局域网内其最高授时精度也只能达10ms级。因此,提高局域网NTP授时精度成为一个迫切需要解决的问题。

二、NTP授时原理

NTP最典型的授时方式是Client/Server方式。如下图1所示,客户机首先向服务器发送一个NTP 包,其中包含了该包离开客户机的时间戳T1,当服务器接收到该包时,依次填入包到达的时间戳T2、包离开的时间戳T3,然后立即把包返回给客户机。客户机在接收到响应包时,记录包返回的时间戳T4。客户机用上述4个时间参数就能够计算出2个关键参数:NTP包的往返延迟d和客户机与服务器之间的时钟偏差t。客户机使用时钟偏差来调整本地时钟,以使其时间与服务器时间一致。

pIYBAGBXCFKAVmkXAABMtvWCpXo427.png

图1 Client/Server方式下NTP授时原理

图1中:T1为客户发送NTP请求时间戳(以客户时间为参照);T2为服务器收到NTP请求时间戳(以服务器时间为参照);T3为服务器回复NTP请求时间戳(以服务器时间为参照);T4为客户收到NTP回复包时间戳(以客户时间为参照);d1为NTP请求包传送延时,d2为NTP回复包传送延时;t为服务器和客户端之间的时间偏差,d为NTP包的往返时间。

现已经T1、T2、T3、T4,希望求得t以调整客户方时钟:

o4YBAGBXCGuAbrRJAABHVemTqSI739.png

式(1)

假设NPT请求和回复包传送延时相等,即d1=d2,则可解得“

pIYBAGBXCHeAUjl_AABOfVQmgXM420.png

式(2)

根据式(1),t也可表示为:t=(T2-T1)+d1=(T2-T1)+d/2式(3)

可以看出,t、d只与T2、T1差值及T3、T4差值相关,而与T2、T3差值无关,即最终的结果与服务器处理请求所需的时间无关。因此,客户端即可通过T1、T2、T3、T4计算出时差t去调整本地时钟。

三、NTP授时精度分析

NTP授时精度与NTP服务器与用户间的网络状况有关,主要取决于NTP包往返路由的延时对称程度,往返路由的延时不对称值最大不超过网络延时。式(2)是在假设NTP请求和回复包在网上传送延时相等,即d1=d2=d/2的情况下得出的,而d1、d2的取值范围在(0.。.d)间,由式(3)可以得出最大授时误差是±d/2。一般广域网的网络延时在10 ms~500ms之间;局域网的网络延时在计时操作系统内核处理延迟的情况下通常小于1ms。

假定局域网内NTP延时小于1ms,理论上授时误差小于0.5ms,但对于Windows操作系统内置的NTP客户和NTP服务,并不能达到此精度。Windows NTP时钟分辨率因操作系统和硬件不同而有所不同,时钟分辨率通常为10ms或15ms。基于Windows操作系统内置的NTP授时精度最高不超过10ms。

四、基于NTP减少计算机时钟偏差

01、计算机时钟偏差分析

通用PC机自带两类时钟源:硬件时钟和软件时钟(或称为系统时钟)。不论是硬件时钟还是软件时钟,都是由石英晶体振荡器驱动的,通过累计石英晶体振荡器输出脉冲数,换算出时间。所以计算机时钟的准确度取决于晶振频率准确度。受温度变化、电压、芯片老化等因素影响,晶振频率会发生小幅度波动,其中温度对晶振频影响最大。

由于工艺和材料的原因,同一生产线上标称频率相同的石英晶体,其实际频率是不同的,实际频率与标称频率偏差率从10-4量级到10-9量级不等。以10-4量级为例,时钟每天至少误差8.64 s。

02、基于NTP减少计算机时钟频率偏差

时钟频率偏差是时钟长期计时累积误差的主要原因,要提高时钟长期计时精度,必须补偿时钟频率偏差。联网的计算机可采用NTP方式,可非常方便地校准时钟频率偏差。以NTP服务器时钟为标准时间,在某一时刻设置NTP客户机时间为NTP服务器当前时间T0,经过一段时间后,NTP服务器时间为T0+tsn,NTP客户端时间为T0+tcn。因为存在时钟频率偏差,tsn与tcn并不相等。NTP客户端时间tcn需乘以时钟频率偏差系数k才等于tsn,即tsn=k×tcn,所以k=tsn/tcn。

任何晶振实际工作频率都是不稳定的,只是程度不同而已。即使温度补偿的晶振,在常温范围内(摄氏10℃~35℃)也有大约5×10-7~2×10-6的误差。晶振实际频率是受外界多种因素(温度、电压、老化等)影响而改变的。因此,时钟频率偏差系数k并非恒定不变的。每隔一定时间,NTP客户机要对时钟频率偏差系数k进行校正,才能保证计时精度。

五、进一步提高NTP授时精度的方法

局域网络延相对较大的原因在于时间戳一般都是在应用层加盖。为减少操作系统内核处理延时的影响提高NTP授时精度,发/收NTP包时间戳应尽量接近主机真实发/收包时刻。在不改变硬件的条件下,一个可行的办法是修改网卡驱动程序,将记录NTP包发/收时间戳从应用程序移至网卡驱动程序处,可消除操作系统内核处理延时不确定而引入的误差。这种方法在局域网中可大幅提高NTP授时精度至μs级。

为了减少温度引起晶振频率漂移对时钟准确度的影响,可以采用数字温漂补偿方法,提高时钟长期计时准确度。先测出工作温度范围内温度对应的温漂补偿系数,工作时每隔一定时间,根据实际温度查出对应补偿系数动态地修正时间。

时钟频率偏差和时钟分辨率低是局域网NTP授时精度不高的主要原因。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 精度
    +关注

    关注

    0

    文章

    247

    浏览量

    19821
  • NTP
    NTP
    +关注

    关注

    1

    文章

    93

    浏览量

    13779
收藏 人收藏

    评论

    相关推荐

    基于NTP的高精度时钟同步系统实现

    进一步提高NTP授时精度方法  局域网络延相对较大的原因在于时间戳一般都是在应用层加盖。为减少操作系统内核处理延时的影响
    发表于 09-19 09:21

    请问GSM模块通过国家网络授时中心怎么获取网络时间?

    GSM模块想要获取网络时间同步,之前的用AT+CLTS=1指令失败,总是获取不到。看到阿莫电子论坛上有说连上GPRS,找个NTP服务器连上去呀,或者可以手动设置下,直接把时间按照要求的cclk格式
    发表于 05-07 05:53

    NTP服务的搭建方法

    NTP服务搭建服务端安装检查是否安装NTP [root@jie ~] # rpm -q ntp ntp-4.2.2p1-7.el5安装方式NTP
    发表于 07-15 07:17

    授时的方式

    请问基站有授时模块了,卫星通过原子钟对基站的授时模块进行授时了,那么基站是通过什么编码对周围的产品进行校时?
    发表于 08-24 17:40

    怎样去进一步提高NTP授时精度

    网络时间协议NTP是什么意思?NTP授时的原理是什么?怎样去进一步提高NTP授时
    发表于 11-01 07:12

    介绍一款高精度GPS授时模块SKG12AT

    在基站、通讯、广电等授时领域中,具备自动授时功能的授时系统内一定少不了GPS授时模块,得益于其实用性强、精度高、范围大、不需要通道联系、不受
    的头像 发表于 06-20 11:00 7865次阅读

    如何挑选一款不错的高精度授时模块

            卫星授时应用其实是极为普遍的,比如我们时刻离不开的电力系统、金融系统、通信系统,他们的有效运行都离不开卫星授时的高精度时间同步支持。SKYLAB针对基站、电力、通讯等应用推出了一系列
    的头像 发表于 09-04 12:53 1499次阅读

    授时服务为核心的的物联网高精度GNSS授时解决方案

    将时间计量精度提高到100纳秒以内。目前成熟的高精度GNSS授时模块根据卫星导航系统的不一样,分为GPS授时模块、北斗
    的头像 发表于 12-27 22:23 2310次阅读

    精度GNSS授时模块,工业级小尺寸北斗授时模块SKG09DT

    卫星授时应用其实是极为普遍的,日常生活中不可或缺的电力系统、交通信号灯、通信系统等,都需要卫星授时的时间同步支持。为满足市场中这类客户的高精度时间同步需求,SKYLAB推出了一系列高精度
    的头像 发表于 12-30 17:28 2841次阅读

    NTP授时服务器快速安装手册

    NTP授时服务器快速安装手册免费下载。1、MA-802 系列机架式安装示意图
    发表于 08-30 11:51 1次下载

    赛思x光大证券:建设高精尖北斗授时平台,打造业界领先的自有时间域!

    建设北斗授时平台,为全域6000余台服务器与网络设备提供30纳秒精度的PTP授时服务,1毫秒精度NTP
    的头像 发表于 03-15 16:02 392次阅读
    赛思x光大证券:建设高精尖北斗<b class='flag-5'>授时</b>平台,打造业界领先的自有时间域!

    北斗授时系统是怎样实现授时功能的?

    授时是卫星导航系统的重要功能,授时精度与定位精度、测速精度被称为导航定位系统的三大指标。
    的头像 发表于 06-14 14:20 1026次阅读

    工业网络NTP对时解决方案

    MWG-2620G-NTP精度NTP服务器,支持GPS/北斗,NTP授时精度可达到微秒级,有效
    的头像 发表于 08-18 13:31 727次阅读
    工业网络<b class='flag-5'>NTP</b>对时解决方案

    NTP服务器介绍

    NTP服务器 产品介绍: NTP服务器是—款基于CPLD的高精度时频同步设备。该设备接收GPS、北斗卫星信号,或母钟信号,通过踉踪锁定外部信号驯服内部晶振,采用智能时间优化算法,为用户提供精确、稳定
    的头像 发表于 01-17 09:30 267次阅读
    <b class='flag-5'>NTP</b>服务器介绍

    ntp的同步原理是什么

    NTP(Network Time Protocol,网络时间协议)是一种用于同步计算机系统时间的协议。那么ntp的同步原理是什么呢? ntp最典型的授时方式是Client/Server
    的头像 发表于 01-19 17:24 472次阅读
    <b class='flag-5'>ntp</b>的同步原理是什么