资 源 简 介
在工业控制领域,多种现场总线标准共存的局面从客观上促进了工业以太网技术的迅速发展,国际上已经出现了HSE、Profinet、Modbus TCP/IP、Ethernet/IP、Ethernet Powerlink、EtherCAT等多种工业以太网协议。将传统的商用以太网应用于工业控制系统的现场设备层的最大障碍是以太网的非实时性,而实现现场设备间的高精度时钟同步是保证以太网高实时性的前提和基础。 IEEE 1588定义了一个能够在测量和控制系统中实现高精度时钟同步的协议——精确时间协议(Precision Time Protocol)。PTP协议集成了网络通讯、局部计算和分布式对象等多项技术,适用于所有通过支持多播的局域网进行通讯的分布式系统,特别适合于以太网,但不局限于以太网。PTP协议能够使异质系统中各类不同精确度、分辨率和稳定性的时钟同步起来,占用最少的网络和局部计算资源,在最好情况下能达到系统级的亚微级的同步精度。 基于PC机软件的时钟同步方法,如NTP协议,由于其实现机理的限制,其同步精度最好只能达到毫秒级;基于嵌入式软件的时钟同步方法,将时钟同步模块放在操作系统的驱动层,其同步精度能够达到微秒级。现场设备间微秒级的同步精度虽然已经能满足大多数工业控制系统对设备时钟同步的要求,但是对于运动控制等需求高精度定时的系统来说,这仍然不够。基于嵌入式软件的时钟同步方法受限于操作系统中断响应延迟时间不一致、晶振频率漂移等因素,很难达到亚微秒级的同步精度。 本文设计并实现了一种基于FPGA的时钟同步方法,以IEEE 1588作为时钟同步协议,以Ethernet作为底层通讯网络,以嵌入式软件形式实现TCP/IP通讯,以数字电路形式实现时钟同步模块。这种方法充分利用了FPGA的特点,通过准确捕获报文时间戳和动态补偿晶振频率漂移等手段,相对于嵌入式软件时钟同步方法实现了更高精度的时钟同步,并通过实验验证了在以集线器互连的10Mbps以太网上能够达到亚微秒级的同步精度。