工业 以太网 是指使用基于以太网的协议实现工业自动化和产品 机械 控制中实时可靠的通信,在车间底层控制器之间、车间之间,以及车间和办公室之间通过互联网实现通用平台。由于这些协议在以太网物理层,即第1层上实现基于相同的IEEE 802.3标准,因此可以使用一个基于 FPGA 的平台来支持不同的工业以太网协议,不论这些协议有怎样的实时属性和实现方法。
对于速度和实时性能要求非常高的协议,在硬件中以专用协议MAC的形式实现实时功能。而协议的其他功能由运行在 嵌入式处理器 中的软件堆栈来完成,这些处理器可以是在 Cyclone III FPGA中实现的N ios II软核处理器。
工业以太网发展状况
图1是来自ARC咨询集团的市场数据。ARC预测在今后几年内,工业以太网市场会出现强劲增长。其中,在2011年之前工业以太网器件和 交换机 销售增长年度复合增长率将达到30%。
图1 ARC咨询集团预测:今后5年中以太网现场器件和交换机年度复合增长将达到30%
目前的工业通信环境还不统一,有较多的竞争工业以太网标准和传统的现场总线标准,很多解决方案采用了 ASIC 、ASSP和 MCU 来实现。这类硬件不是很灵活,需要针对用户支持的每一种协议改变硬件和相应的软件堆栈。
目前,有几种开放标准工业以太网协议,包括EtherCAT、 Ethernet IP、Modbus/TCP、PROFINET、Ethernet POWERLINK和SERCOS III。这些协议都可以使用单一硬件设计在FPGA中实现,使工程师能够在一个支持多种协议标准的硬件平台上进行标准化处理。
随着时间的推移,越来越多的标准采用了基于FPGA的平台。推动工业以太网在工厂自动化以及过程系统中应用的主要因素包括平台的通用性和性能、办公室和工厂信息集成以共享实时信息、降低总成本等。
工业以太网解决方案支持通用平台,从而推动了办公室和工厂集成,在底层控制器和车间管理之间建立链接,共享实时信息,实现迅速响应。同时还可以通过内联网连接车间内部、车间之间以及车间和办公室之间的实时和非实时系统,与对应的现场总线协议后向兼容,支持新系统和老系统之间的平台操作。
开放协议标准简化了设备实施和网络通信,有助于工厂从多层现场总线过渡到单一的以太网,支持各种商用设备和 电缆 ,即使工业以太网协议出现了变化,也可以重复使用这些设备和电缆。
通过定制网络,支持多种拓扑,能够在网络中增加或者去掉器件,提供更多的控制功能,而且不会影响系统其他部分的工作,从而缩短了开发时间。
工业以太网基于稳定、成熟、可靠的以太网技术,降低了实施、维护和总的系统成本,从而实现了产品更迅速地面市,不需要ASIC、ASSP和MCU设计昂贵的专用解决方案,避免了硬件和软件改动导致的高成本。
工业以太网体系结构
工业以太网协议可以分成三类体系结构(图2):A类、B类和C类协议标准。
A类使用标准以太网 TCP/IP,主要用于非实时信息层面的应用,例如工厂自动化、低速 传感器 和H MI 显示等 PLC 应用。其典型的响应时间大约为100ms左右,或者更长。 EtherNet/IP、Modbus/TCP和PROFINET CBA是这一类中常见的以太网协议。
B类在标准以太网硬件之上使用定制软件堆栈,提供适当的实时性能,响应时间小于10ms。B类适合低精度电机控制和远程 I/O 通信等应用,涉及到Ethernet Powerlink和PROFINET RT等协议。
C类在MAC层使用改进后的硬件,同时使用定制软件来实现确定的快速实时性能,一般小于1ms,适用于器件级的精确运动控制等应用。EtherCAT、PROFINET IRT和SERCOS III都是C类工业以太网协议的例子。C类体系结构的标准网络流量带宽小于A类体系结构。
为支持所有三类工业以太网体系结构,需要具有全面的可配置平台能力,能够同时改变硬件和软件。
基于FPGA的以太网实现
传统上,微控制器、ASIC或者ASSP一直用于实现现场总线和工业以太网解决方案。这些产品具有很高的性价比,当功能、协议标准和I/O固定不变,或者没有硬件改变时,工作情况良好。然而由于工业网络标准在不断变化,而工业应用要求产品生命周期非常长,通常在10年以上,此时,这些产品便具有一定的局限性。每一个新的解决方案都需要对 电路板 进行重制,无数的软件编程人员将代码移植到新处理器和新平台上,这是非常耗时的过程。
Altera Cyclone III系列等FPGA可以在同一平台上将处理器功能和工业以太网协议与其他定制IP或者 接口 进行更新和集成。当工程师熟悉了Al te ra提供的 Quartus II和SOPC Builder等FPGA开发工具后,工作就会变得非常简单。
图3是支持工业以太网的典型应用的体系结构。所有工业以太网标准都基于IEEE 802.3以太网物理层。所以,在图3的下部,PHY和总是相同的。在标准以太网应用中,可以在PHY之上采用标准介质访问控制器或者MAC,对于非实时工业协议,这就是其典型的实现方式。
图2 工业以太网分类
图3 支持工业以太网的典型应用的体系结构
Ethernet IP、Modbus/TCP和Ethernet POWERLINK等协议应用了标准MAC,因此,可以只修改运行在Nios II处理器上的软件堆栈,使用相同的以太网MAC IP来支持这些协议。
对于EtherCAT、PROFINET IRT和SERCOS III等有实时要求的协议,标准MAC就不能满足要求了。在这种情况下,必须使用专用协议MAC。对于采用了Cyclone III等FPGA的设计,可以使用支持专用协议的MAC来替代标准MAC。某些协议还可能需要支持IEEE 1588功能,或加入集线器或者交换机以提高性能,增加环形保护等其他功能。
正确的应用这些硬件就可以接收任何工业以太网标准数据包。此时,用户需要一个处理器来处理数据包、管理通信功能。在FPGA中采用Nios II处理器内核等软核处理器很容易实现这些功能,在这类处理器上可以运行实时操作系统。
这种实现方法针对不同的堆栈,为工程师提供了一致的软件平台,在实现单芯片多标准解决方案时很容易对软件进行支持和维护。现在,用户可以通过任何工业以太网协议来发送和接收数据。
通过软件A PI 抽象出以太网链接接口是实现应用程序数据流的最佳方法,这样,当改变工业以太网标准时,只需要很少的改动甚至不用改动就可以运行应用程序。在支持多标准时,节省了大量的时间和投入。软件API通过双端口 RAM 、串行I/O或者并行I/O进行通信。应用软件可以运行在外部处理器或者FPGA内部的另一Nios处理器上。
FPGA硬件提供灵活的平台,任何时候都能够重新配置,支持对产品特性进行立即更新。这意味着可以在同一 Cyclone III FPGA上实现标准或者定制工业以太网MAC、 DSP 模块以及其他定制逻辑和I/O接口,提高工业网络产品的性能和接口能力。
基于Altera FPGA的解决方案和硬件/软件设计工具能够设计并集成工程师所需要的一切功能。嵌入在FPGA中的Nios II软核处理器可以用于运行以太网堆栈驱动软件和其他功能。甚至还可以加入第二个处理器,以支持应用层软件。而且,Ethernet IP和SERCOS III等工业以太网协议仅以IP的形式发布,允许使用FPGA来支持这些协议标准。这一方法提供了单一平台,很容易满足需求的变化。不必花费大量时间针对每一以太网协议导入软件堆栈,在处理器上运行,而是使用现成的工具和软件堆栈,支持所有的以太网标准。而且,在FPGA平台上改动设 计时 ,不需要针对每一新协议来设计新 电路 板。一块电路板能够支持多种工业以太网协议,从而减小了NIE的费用,降低了长期拥有成本。FPGA中实现的工业以太网协议能够在不同的设计和FPGA器件系列之间进行移植,因此,下一代产品可以重新使用相同的IP。Altera及其合作伙伴所提供的工业以太网快速开发解决方案确保了较短的产品面市周期。灵活的FPGA支持在最终产品中应用早期工程工作,设计人员可以在最后一刻更改设计,避免PCB重制。
SOPC Builder软件工具
SOPC Builder是设计用于自动交付、配置和集成IP模块的工具,它采用了窗口类型的图形开发环境,用户可以在其中建立全部的 CPU 系统,甚至不需要写入 HDL代码。这样,去掉了耗时的手动编码过程,设计人员能够将精力集中在优化解决方案上。
通过图4,可以看到SOPC Builder窗口以及集成到设计中的Altera IP、第三方IP和硬件模块列表。当用户点击这些IP模块时,右侧会打开一个配置窗口,从这里可以选择需要的配置选项,加入到用户的系统中。加入所需的 IP后,会看到所选的组件列在主窗口中,窗口左侧是已经自动连接在一起的模块。用户可以随时通过鼠标编辑它,重新配置IP组件或者链接,为其应用建立理想的系统。完成系统后,只需要简单的点击底部的“Generate”按钮,告诉SOPC Builder生成一个集成硬件模块,它含有设计人员所选择的所有IP以及从GUI中选择的配置和链接。SOPC Builder生成完整的设计,将其交给Q uart us II设计环境,并对系统进行编译,建立HDL仿真模型或者FPGA配置文件。
嵌入式软件开发流程
图5是嵌入式软件的开发流程图。如果是硬件设计人员,那么不需要很大的投入就可以不断修改设计,实现最佳系统。但是,如果是软件工程师,在典型的硬件/软件集成过程中所面临的挑战是必须跟上不断变化的处理器平台。与修改FPGA和Nios II处理器配置相比,软件更新需要做很多工作,要花较长的时间来进行更新。由于SOPC Builder还生成含有所有硬件配置信息的文件,这样,Nios II软件开发环境就能够实现定制软件,建立专用硬件支持库。这种库含有系统需要的所有器件驱动以及硬件抽象层,即HAW,提取出访问硬件的所有应用程序。如果改动硬件,软件环境会探测到这些改变,在软件工程中自动更新所有硬件设置和器件驱动。这种自动工具解决方案能够帮助硬件和软件工程师更迅速、简单地修改设计,不会出错。
图4 SOPC builder窗口截图
图5 嵌入式软件开发流程
责任编辑:gt