yw永旺快投网

目今位置:首页检测中心基础知识 │ NTP时钟同步原理及误差简析

NTP时钟同步原理及误差简析

  • 浏览次数:14663次
  • 宣布时间:2017/11/20 17:11:46
  • 作者:pl_yinhe

  在我们某试验系统计划设计中 ,由于数据同步性的要求 ,需要将我们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 ,天天可能误差达十几秒或更多 ,若是不实时校正 ,其累积时间误差不可忽视。许多工业控制历程需要高准确度时间 ,如:电力系统内众多的盘算机监控系统、;ぷ爸谩⒐收下疾ㄆ鞯仁奔渫揭趍s级以内。

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

NTP授时原理

  NTP最典范的授时方法是Client/Server方法。如下图1所示 ,客户机首先向效劳器发送一个NTP 包 ,其中包括了该包脱离客户机的时间戳T1 ,当效劳器吸收到该包时 ,依次填入包抵达的时间戳T2、包脱离的时间戳T3 ,然后连忙把包返回给客户机 ?突Щ谖盏较煊Π ,纪录包返回的时间戳T4 ?突Щ蒙鲜4个时间参数就能够盘算出2个要害参数:NTP包的往返延迟d和客户机与效劳器之间的时钟误差t ?突Щ褂檬敝游蟛罾吹鹘馔獾厥敝 ,以使其时间与效劳器时间一致。

Client/Server方法下NTP授时原理

图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以调解客户方时钟:

a....................................................式(1)

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

b.....................................式(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;赪indows操作系统内置的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授时精度不高的主要缘故原由。


Copyright 2010-2017 www.vfe.ac.cn, All Rights Reserved yw永旺快投网 版权所有 湘ICP备09002592号-5
【网站地图】【sitemap】