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

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

3天内不再提示

基于PTP的工业控制网络实现网络时间同步

电子设计 作者:电子设计 2018-09-21 09:12 次阅读

随着数字网络的不断发展,基于网络协议(IP)的技术不断涌现,因为它足够的方便、灵活和可扩展性。局域网(LANs)、广域网(WANs)以及蜂窝网络都是IP网络应用的常见例子。当我们在工业控制、测试和测量领域、传输声音、视频信息的数据主干应用方面采用IP网络技术时,时间的同步是我们考虑的关键要点。例如声音和视频质量对不确定性的延迟和抖动非常的敏感,装配生产线上的机器人彼此之间也需要严格的同步。

图1:数字化显示齿轮帮助同步时间

IP网络和以太网最初设计时并没有考虑同步问题,但是这在现在非常的有必要。如果你的产品需要时间同步需要在设计上采取哪些措施呢?目前已经有几种解决方案,这里我们与大家讨论四种常见的解决方案:网络时间协议(NTP)、精简的网络时间协议(SNTP)、精确的时间协议(PTP)以及借助导航系统时间同步,比如全球定位系统GPS。幸运的是从架构的角度来看这些不同的实现方案有很多的共同之处。

主时钟源

同步网络通常都会有一个主时钟,它的来源一般都是协调世界时(UTC),UTC是基于地球的自转而确立的公立时间。UTC与国际原子时(TAI)保持着固定的关系,两者之间的固定关系是根据地球自转减慢的速度而周期性的增加到UTC上的闰秒时间而保持的,目前UTC时间比TAI时间快了将近36秒。另一个度量标准是UT1,它是以平子夜作为0时开始的格林格林威治平太阳时加上人工极移校正后的时间标准,UTC与UT1之间的关系保持在9秒以内。

目前有很多个时间服务器,但是在美国最常用的就是来自国家科学技术研究所(NIST)提供的时间,NIST提供的时间是基于UTC、UTC1和网络时间协议(NTP)服务器的,其他网络的计算机和主时钟源都是根据这个服务器来确定的,然而还有很多的辅助服务器存在,而且时间信息也可以来自于导航卫星。

时间研究要素

在网络设计中存在异步和同步的时间模型,所有同步的方法都需要有一个内聚层次的定时解决方案。参考时钟对于网络元素的同步是必须的,网络元素通常需要一个电压控制的晶体振荡器(VCXO)、锁相环(PLL)或者时钟生成器通过调整实现同步状态。目前比较流行的方案包括Abracon公司推出的超低相位噪声的VXCO和IDT公司推出的82P33814-1NLG同步管理单元,支持多种同步模式。

无论选择哪种解决方案,设计系统都需要能够提供适当的抖动衰减和相位噪声剔除,并且与网络中的其他元素保持适当的同步公差。时间设计方面要包括一定的保持特性,即在被通知同步状态之前保持时钟的能力以防止主时钟或参考时钟出现故障。

常用的同步解决方案

网络时间协议(NTP)和精简网络时间协议(SNTP)

最常用的公共网络时间同步方法就是NTP以及其精简版SNTP,公共的NTP子网在所有大陆甚至在海底都设有服务器,为全球互联网上无数的计算机提供时间支持服务。NTP服务器时间是基于UTC的,但是NIST组织架设了一个基于UT1的NTP服务器。

NTP协议使用软件时间戳来实现精确的时间同步,精度范围从100µs 到100ms 或者更大。很多因素会导致差异,但是通常都是由于网络延迟、硬件操作系统、环境温度变化引起的振荡器漂移以及时间更新引起的时间间隔引起的。

当我们确定需要对客户端的本地时间进行调整时,还需要将往返时间延迟考虑在内。NTP和SNTP使用相同的过程来确定校正因子,计算结果是假设往返两方向的延迟都是相同的而确定的,因此在客户端与服务端之间一共发生了四个数据包交换。

NTP和SNTP之间的主要区别是SNTP客户端需要周期性的直接从单个SNTP服务器同步它们的时间,因此,SNTP主要用于不需要太高精度要求的应用程序,NTP则采用基于状态的复杂算法来提升精度。

基于PTP的工业控制网络实现网络时间同步

图2:前三层的同步路径

NTP支持多播/任播、客户端-服务器、点对点模式,而SNTP通常应用于客户端-服务端模式,NTP系统广播时间信息是分层的并建立不同的层级,每个级别被分配给一个对应层级(Stratum)的序号,Stratum 1服务器是最底层,提供全局的时间同步服务,上层的需要根据底层的时间信息来同步。(网络事件结构为进一步研究提供了很好的使用信息来源,并且提供了一个参考实现方案称为NTPd,适用于Unix和Windows操作系统)

IEEE 1588 精确时间协议(PTP)

PTP迅速变成以太网数据包网络首选的时间同步解决方案,尤其适用于工业控制、电信、测试与测量等应用,相比NTP协议它更加的精确、更加的确定。PTP协议与NTP协议有很多相似之处,但是有几个关键的区别。首先客户端的时间戳采用硬件来实现而不是软件,并尽可能的将其放在接近网络接口的地方,从而消除与客户端软件相关的不规则延迟,这样会提升几纳秒的精确性,其次PTP网络主时钟选择过程更具健壮性。

基于PTP的工业控制网络实现网络时间同步

图3:同步机制和延迟计算-便宜校正=ó

在PTP协议中,时间信息会以主从结构的形式分层次的贯通到整个网络中,事件源是基于TAI标准的,“最好主时钟(BMC)”软件算法会从所有可用时钟源中选择最合适的时钟,时间信息会被传递给PTP的所有子网络中。

PTP协议的所有子网络中的主时钟的选择也采用BMC算法,多播传输是时钟的主要传输方式,但是终端客户端会采用直接通信的方式与主时钟进行同步,以单播的形式定时发送时间同步请求。当然还会存在一个“透明时钟”的可能性,即网络交换机有可能在将PTP消息传递给PTP子网的过程中修改时间戳。这种修改是通过计算本地设备延迟来提升接收子网的时间戳的精确性。

完美的PTP解决方案肯定存在,但是选择还是要归结于收发器的解决方案结合微控制器控制的PTP软件协议栈或者基于微控制器的解决方案和协议栈。网络时间组织提供了一个开源的PTP协议栈实现方案称为PTPd,可以免费下载。最广泛的分布式解决方案是TI公司推出的DP83640,作为通用模块在不同操作模式下都会输出一个从时钟,这个时钟与主时钟在频率和相位都保持同步,然后传递给下级子网络,精度在亚纳秒范围内,当然它也具有NTP协议的时间戳,TI公司提供了详细的应用说明,比如如何进行配置,如何实现较高的精度等。

全球定位系统(GPS)

图4:基于空间的导航系统包含一组环绕地球的卫星,这些系统能够提供非常精确的时间和位置信息

基于空间的导航系统包括一组环绕地球的卫星,这些系统能够提供非常精确的时间和位置信息。美国系统成为“全球定位系统(GPS)”,俄罗斯称之为“全球导航卫星系统(GLONASS)”,中国的“北斗导航卫星系统(BeiDou-2)”,以及印度的“印度区域导航导航卫星系统(IRNSS)”,当然其他国家也都在开发自己的导航系统。

GPS卫星上都具备原子时钟,它们之间互相同步并且定期进行调整与地面时钟同步。时间是根据至少四颗卫星周期性发送来的时间戳来计算出来的,延迟的计算也相对简单,因为信号以光速进行传播,卫星会定期发送其位置信息。

与NTP和PTP协议不同,GPS系统的可变延迟问题则不一样,因为时间信息都直接来自于卫星,唯一限制的因素是接收器必须有一条畅通无阻的通路,大气环境以及卫星相对接收器的位置都会对精度产生影响。因为给每个网络元素都集成一个接收器会很昂贵,因此工程师们会有效的控制成本,不过GPS时代相关产品已经便宜很多了,使得实际的解决方案的同步精度能够达到100ns以内。

GPS系统接收器还有一个好的特性就是它可以应用于封闭网络,即没有互联网连接。它们同样可以为PTP网络提供精确的主时钟源。

总结

除了上文提到的时间同步方法,当然还有其他的方案比如“同步网络(SyncE)”和“范围内仪表组时间编码(IRIG)”,这些都值得我们深入去研究。这些技术都是通过分发信号实现同步但是都需要专用的硬件平台。“同步网络”已经成为一种标准受到越来越多的欢迎,传统的时间划分多路复用网络演变为基于IP的切换和多路复用实现方案(上文提到的DP83640就是基于SyncE技术实现的)。为了进一步的探索,可以参考国际电信联盟相关标准:ITU-T Rec.G8261,62,64。网络时间同步解决方案也可以通过上文提到的方法组合来实现,比如基于PTP的工业控制网络可以从GPS接收器获取其主时钟源,当然也可以从NTP衍生服务器获取。许多可行的方法和组合可以一起工作,最终目标是通过网络实现精确的时间同步,但是每种技术都有自己独特的功能特性,而且随着网络和技术的发展逐渐都能够满足现代应用的大部分需求。

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

    关注

    22

    文章

    2743

    浏览量

    164257
  • IP
    IP
    +关注

    关注

    5

    文章

    1397

    浏览量

    148262
  • 局域网
    +关注

    关注

    5

    文章

    691

    浏览量

    45280
收藏 人收藏

    评论

    相关推荐

    网络时间协议和精简网络时间协议同步解决方案

    协议(NTP)、精简的网络时间协议(SNTP)、精确的时间协议(PTP)以及借助导航系统时间同步,比如全球定位系统GPS。幸运的是从架构的角
    的头像 发表于 11-09 09:18 1.1w次阅读
    <b class='flag-5'>网络时间</b>协议和精简<b class='flag-5'>网络时间</b>协议<b class='flag-5'>同步</b>解决方案

    如何利用PTP协议实现一主多从网络时间同步

    在开发项目中用到了PTP时钟同步协议,遇到一些问题,希望得到帮助: 1,所有设备使用了:XMC_ETH_MAC_InitPTPEx(ETH_LWIP_0.eth_mac,config, txTime
    发表于 03-12 06:53

    如何实现PTP协议的精准同步时钟?

    尊敬的技术大牛们,你们好! 现有一项目需要用到贵公司的STM32F4系列产品,由于业务场景对时钟同步精度要求很高。所以需寻求你们的技术支撑,提供关于STM32F4系列的PTP协议或IEEE1588协议的参考代码!以便实现
    发表于 03-26 07:57

    如何在STM32MP157C DK2上实现管脚输出PTP的PPS信号?

    我看了STM32MP157C 的datasheet 和reference manual, 它是支持PTP 协议(网络精确时钟同步)的,但是在最新的OPENSTLINUX 系统中有没有实现
    发表于 04-11 07:18

    无线传感器网络时间同步协议的实现

    同步协议  由于ZigBee无线传感器网络的传输速率小,带宽小等特点,便采用了降低PTP协议在网络中的开销来实现本系统的
    发表于 11-07 16:01

    通过实时网络实现多轴运动控制同步

    电机相位的高端和低端PWM。请注意PWM信号是如何与网络流量同步的。总结实时以太网广泛用于运动控制系统,一些协议可实现精度小于1 μs的时间
    发表于 03-30 09:38

    用什么函数,可以获取NTP网络时间

    什么API可以用来获取网络时间呢?答案是有这么一个函数gizwitsGetNTP( )可以获取网络时间,我们机友用这个函数实现了水墨画定时
    发表于 08-27 08:25

    智能驾驶数据网络时间同步

    智能驾驶数据网络时间同步PTP时钟服务器)分析随着汽车电子的日益复杂化以及汽车电子电气架构(EEA)的升级,人们对于联网智能汽车的需求也在逐步上升,大量先进技术往汽车上应用,如高级驾
    发表于 09-03 07:34

    如何使用PTP实现时钟同步

    我正在尝试使用 PTP 实现时钟同步,请帮忙。
    发表于 03-31 09:00

    如何使用IEEE1588 (PTP) 同步时间

    我知道如何使用 IEEE1588 (PTP) 同步时间。如何将 LS1046/LS1088 的内部时钟与 GPS 时间同步。根据我对系统与
    发表于 04-19 07:57

    半实物网络环境下PTP系统模型和时钟模型

    针对精确时钟协议(PTP)用于半实物网络仿真测试时难以实现精确系统同步的问题,研究从时钟频率漂移对PTP仿真系统
    发表于 01-14 14:11 0次下载

    夏光XG7010针对PTP时间同步服务器测试解决方案

    随着中国移动通信集团公司PTN网络IEEE1588规模部署,利用IEEE1588技术取代GPS实现时间同步的工作正在积极地推进,为PTN网络提供稳定、可靠的
    发表于 01-19 22:07 757次阅读

    SmartMesh IP网络中的时间同步功能的介绍

    在此视频短片中,我们提供了一段 LED 灯演示,以用实例说明 SmartMesh IP 网络时间同步能力。使 SmartMesh IP 网络结合在一起的基础技术是
    的头像 发表于 07-26 06:02 2525次阅读

    Linux ptp4l程序实现PTP边界时钟和普通时钟

    精确时间协议(PTP)是用于在网络中进行时钟同步的协议。当与硬件支持结合使用时, PTP 能够达到亚微秒的精度,这远好于通常使用的 NTP
    的头像 发表于 09-05 11:27 1.3w次阅读

    浅谈网络精确时间同步PTP(IEEE1588)

    IEEE1588(the Precision Time Protocol 简称为 PTP )全称是“网络测量和控制系统的精密时钟同步协议标准”,是针对基于
    的头像 发表于 10-09 10:58 3014次阅读
    浅谈<b class='flag-5'>网络</b>精确<b class='flag-5'>时间</b><b class='flag-5'>同步</b>—<b class='flag-5'>PTP</b>(IEEE1588)