基于FPGA的工业以太网交换机设计优化

※发布时间:2014-10-31 14:53:16   ※发布作者:habao   ※出自何处: 

  基于以太网的组网技术是工业市场中增长最快的技术之一。大多数工业以太网标准使用IEEE 802.3标准以太网协议,因此这些网络能够传输标准的网络业务和实时数据。但每个标准都采用不同的技术来提供实时性能,一些采用定制硬件,一些利用定制软件,还有的采用完全标准的以太网/TCP/IP实现。结果就出现了众多不同等级性能、不同成本的互不兼容标准。

  针对以太网协议非确定性通信时间的一个越来越普及的对策是在每个设备内实现一个本地时钟。由于大多数设备都有微处理器及(相对)高速度的时钟,因此这种方法比较容易实现。若能在整个网络范围内实现和保持精确的时钟同步,同时控制整个系统的精确运作时序,那么该方法的唯一就是通信延时以及系统范围内的时钟同步精度。

  这种系统控制方法不适合精确运动控制(如对负荷不断变化的电机转速的精确控制)等应用,因为它们要求控制器和设备间的通信延时很短,但它对需要高度同步系统级控制(如速度变化)的整个系统(比如一家大型印刷厂或一条很长的自动化生产线)的精确控制很有用。如果有足够的时间给每台设备发一条指令,则对这种基于时钟的控制精度的唯一制约就是系统范围内的时钟同步精度。

  几个工业网络标准(不仅仅是基于互联网的标准)正在采用IEEE 1588标准来提供这种控制能力。IEEE 1588提供了高度精确的主时钟及经过验证的时钟同步机制,可用来生成所有本地时钟,并与主时钟保持非常精确的系统级同步。

  基于以太网的网络因其低成本以及以太网的易于实现而备受青睐。以太网交换机是有助于发挥这些优势的关键部件,而企业系统也非常依赖它们实现高性能和易于的基础架构。交换机的这一巨大企业市场意味着它们很容易实现,而且成本低廉,但目前市场上的大多数交换机不是针对低延时性能或确定性由时间设计的,因此很难用于工业。

  IEEE 1588系统通过检测主机和从机间通信延时来同步主机和从机的时钟。在主机和从机时钟之间安放一个交换机会引入额外延时,因为交换机必须分析数据包然后再行由。增加的延时不是好事,但对它可以进行延时修正,所以它并非主要问题。最大的问题是,当流量增加时,由数据包所需的时间将急剧增加。

  这是由于缓存、分析并将数据包由至众多目的地所需的时间引起的。这种变化极大降低了1588时钟同步的精度,从而显著恶化了对整个系统的实时控制性能。对1588主和从时钟间延时的测量也依赖于两个方向上通信时间的对称,因为采用的测量方法是统计一个加有时间标记的信息由从时钟到主时钟再从主时钟返回从时钟所用的时间再除以2。在大多数交换机和以太网网络实现中,这种对称性不太可能出现,从而进一步降低了时钟同步的精度。

  图1:典型的边界时钟应用框图。

  不过IEEE 1588标准提供了该问题的解决之道:若交换机本身也有时钟(图1所示),则可测量数据包由所需的时间并将其整合进同步计算中。由于系统不需要这种功能,所以包含这类‘边界’时钟的交换机很难看到,即使有一般也很贵,并且通常是为特定网络实现定制的。随着基于IEEE 1588的网络的迅速普及,针对如何在产品和网络基础架构中高效且高性价比地实现IEEE 1588功能,制造商面临着艰巨挑战。

  开发定制ASIC方案是可能的,但随着ASIC开发成本的上升以及工业以太网标准的迅速变化,开发此类方案速度慢、风险高且不具成本效益。也可以采用微处理器和针对特定网络协议的第三方ASIC或ASSP为每个协议开发解决方案,但此举意味着为每种网络标准实现单独的解决方案,这样做同样既昂贵又没效率。这些解决方案还可能面临缺少灵活性和设备很快过时的问题。

  目前,设计师只能通过仔细地实现网络,尽量减少交换机的使用,或尽量减少实时性强的网络流量来规避上述。这种网络隔离措施可达到对某些应用来说能接受的性能水平,但它们难以实现或。

  节省开发时间

  用FPGA实现支持IEEE 1588的交换机是解决该问题的理想方案。Altera、国家半导体和MorethanIP公司各展所长,这三家公司联合为工业以太网设计师提供了一个优化的八端换机设计,采用该设计可使工程开发时间缩短六到九个月。开发时间上的节省将使设备制造商在产品上市时间上抢得先机。

  图2:具有IEEE 1588时序控制功能的八端换机开发板。

  图2显示的是MorethanIP企业系统基于Altera的Stratix II FPGA开发的带嵌入式IEEE 1588功能的开发板。该开发板所附的参考设计通过一种简单高性价比的方式实现了支持IEEE 1588的交换机,并且很容易修改而迎合其它系统及快速变化的市场需求。这些优势是都是凭借FPGA的灵活性以及FPGA设计内集成的一个32位RISC处理器实现的。

延伸内容: