查看完整版本: 关于工业网络的精密时序问题解析

admin 发表于 2015-4-27 23:43:07

关于工业网络的精密时序问题解析

摘要:本文探讨了工业网络中的精密时序的必要性,以及各种应用和机制所需的时间精度来确保以太网网络中的时序精确性。
          工业网络连接工厂内的机器、机器人、传感器、 执行器、控制器和计算机,以便于指令和数据的交换,从而同步它们的工作。网络中机器的同步操作需要每个机器都有相同的“精密时间”。每台机器上的精密时间 保证了网络中事件的相对顺序。缺乏精确的时间可能会导致机器和机器人操作顺序混乱CONTROL ENGINEERING China版权所有,这反过来可能导致产品质量差、重要信息丢失、甚至发生灾难性的事故。本文探讨了工业网络中的精密时序的必要性,以及各种应用和机制所需的时间精度来确保以太网网络中的时序精确性。
          工业网络
          传统的工业网络使用专有的、特定供应商提供的网络技术连接工厂内的机器和计算机。专有的网络技术导致不同厂商机器之间的互操作困难,从而导致成本提高。然而,在过去的二十年,人们喜欢将应用广泛的以太网技术用于工厂内的机器互连。在20世纪80年代和90年代,办公网络的急速发展使得开放的以太网技术获得了广泛采用。以太网解决方案的规模和成熟性促成了行业标准的建立,实现了不同厂商设备之间的互操作性、提供了大量的技术人才、降低了设备成本和总拥有成本。
          以太网网络技术提供了前所未有的的可扩展性和购买可承受能力,但是它有一个严重的缺陷。为了保持网络连接和设备的高利用率从而能降低成本,以太网技术采用基于需要的通信资源分配方式。从技术角度来看,这是被称为“异步”或“尽力而为”的通信方式。如上所述CONTROL ENGINEERING China版权所有,工业网络的一个关键的需求是将精密时间分发到所有节点。在工厂中使用以太网进 行机器同步的首要挑战是建立一个机制,在不可预知的异步网络中准确地分发精密时序。这个可预测的精密时序分发机制被称为“精密时序协议(PTP),这将在 本文后面讨论。PTP由IEEE标准“IEEE1588” (在不可预知的网络中,可预测的维护精密时间的另一个术语)定义,并且目前由该标准进行维护。
          相反,传统的工业网络中使用一个同步通信机制或一个单独的专用网络,实现所有机器的精密时间的分发。这两种机制都需要分配专用的资源来建立两个节点之间的通信,从而导致了较低的设备利用率、降低了网络的可扩展性以及更高的总成本。异步以太网网络中的精密时间分发所面临的挑战如图1所示。  
       
        图1:通过网络的精密时间分发          时钟准确性和精度
          几乎所有的现代化机器、传感器、 执行器和计算机都有本地数字时钟。然而,这些本地时钟是基于晶振的,随着时间的推移,由于环境变化(温度和湿度)和晶体老化而产生偏移。因此控制工程网版 权所有,在网络中的本地时钟需要定期使用一个非常精密的主时钟或参考时钟进行同步。主时钟是一个GPS接收机或者铷或铯时钟。由于节点之间的通信速度成倍 增长,需要精度更高的时钟来维持网络中事件的相对顺序。图2说明了时钟准确性和精度的概念。时钟准确性测量了与整个网络参考时钟之间的时间差。时钟精密表 示测量到时间的可重复性。  
       
        图2:时钟准确性和精度的定义          由于网络中机器之间通信速度从Kbps增加到Mbps、Gbps和万兆比特每秒,连续事件之间的时间间隙变得微不足道。过去,工业时钟需要毫秒级的精度;但是,随着通信速度越来越快,工业时钟需要微秒甚至纳秒级的精度(图3)。  
                      
                图3:随数据速率的增加时钟精度要求成倍增长
                        表1(下页)列出了不同类型网络的精度要求。办公网络(局域网)仅需一到十毫秒的本地时钟精度。毫秒级的时钟精密度可以使用称为网络时序协议(NTP)的软件协议很容易地实现,该协议适用于操作系统(Windows和Linux)和局域网,实现了办公设备的互连。传统的工业网络要求本地机器时钟与参考时钟(或主时钟)相差不到0.1微秒。传统的工业网络使用独立的布线来分发参考时间并同步本地时钟。新的数据密集型工业网络要求极具成本效益的以太网网络具有纳秒级的时钟精度。精密时序协议2.0版(PTP v2.0)设计用于为“尽力而为”型的以太网网络提供纳秒级的时钟精度。PTP v2.0通过尽可能地接近网络接口,在硬件中实现时间戳和同步算法,从而实现纳秒级的时钟精度。
                         表1:各种应用所需的时钟精度  
                                                 精密时序协议2.0版(IEEE 1588 2.0版)
                          精密时序协议(PTP)的目的是在不需要一个单独且昂贵的时序网络的情况下,同步机器上的本地时钟。PTP是一个自下而上协作的协议,其中本地 节点相互通信(通过消息交换)来发现它们中的主时钟并且互相同步。由于PTP在数据网络中工作,交换机、路由器和操作系统都有不同程度的延时,它为“时序 数据包”排列优先级或创建特定的队列,其中包含同步的信息。为了消除操作系统和服务器引入的延迟,协议处理在硬件(FPGA或ASSP)中实现,并对时序 数据包使用硬件时间戳。
                          精密时序协议的特性是使用协作的消息交换算法,从时钟计算与主时钟之间的“时间偏移”和“传输延迟”。图4说明了PTP的消息流,以确定“时钟 偏移”和“传输延迟”。由于每个从时钟都要计算两个变量——偏移和延迟——主从时钟需要交换两组消息。首先,主时钟定时地(通常每秒一次)向所有从时钟广 播时间同步数据包。其次,每个从时钟向主时钟发送“延迟请求”消息以确定“传输延迟”。两组消息交换得到两个线性方程,从而确定“从时钟偏移”和“传输延 迟”。  
                      
                图4:确定主从时钟之间偏移的机制                           FPGA实现
                          实现精密时序协议要求在数据包一到达网络接口卡(NIC)时就进行捕捉并标记时间戳。纳秒级精度的分布式时钟也需要在硬件中以最小变化执行各种 同步步骤。带有SERDES功能的现场可编程门阵列(FPGA)器件,如LatticeECP3FPGA器件提供了众多的优势,实现更接近网络接口的精密 时序协议:
                          1.高速串行接口(SERDES),迅速捕捉时序数据包;
                  2.灵活和准确的时钟电路(PLL);
                  3.精度可以根据系统要求进行调整;
                  4.用于存储时序数据包的FIFO队列,可以在FPGA结构中靠近高速I/O模块处实现;
                  5.FPGA中的嵌入式硬件或软件处理器,也可以用于实现精密时序协议;
                  6.不占用主CPU的外部PTP处理功能;
                  7.不断发展的精密时序协议可以在灵活的FPGA平台上实现轻松升级。
                          总结
                          工业环境中主流以太网网 络的迅速普及需要使用精密时序技术来同步机器和机器人。精密时序协议(IEEE1588)提供了从亚微秒到纳米秒级的同步精度。PTP的软件实现提供了亚 微秒级以上的精度。时间戳和同步算法(PTP V2.0)的硬件实现可提供高达纳秒级的精度。随着通信数据传输速率的增加,所需的时序精度呈指数增长。PTP v2.0能够满足最先进的数控机床的严格时序要求。
页: [1]
查看完整版本: 关于工业网络的精密时序问题解析