FPGA让开发带有网络配置能力的嵌入式系统变得更轻松。
今天,有超过25种基于以太网的工业通讯系统在市场上共存。工业设备的制造商们需要开发一种解决方案,使用单一硬件平台就可以为多个RTE(实时以太网)协议提供支持。同时,这一平台还应该可以现场更新,在不替换任何硬件的情况下,支持现有协议的新版本甚至是完全不同的协议。
工业以太网(IE)产品开发商将通用的以太网物理平台与其他软件或硬件结合,就开发出“专利型”或者特殊的RTE协议,比如EtherCAT、EtherNet/IP和Profinet。这样做的目的,是在保持以太网的优势、通用性和开放性的同时,加入实时以及确定性的通讯功能。
这种通用接点,可以同时服务于I/O数据通讯、参数化、配置、诊断以及其他一些应用。理想的工业以太网接口应该同时支持HTTP和FTP这样的标准协议,以及面向特定行业的各种RTE协议,这样才能确保可升级性和灵活性。“标准”与实时以太网协议的区别在于RTE协议很清楚的是为确定性通讯而设计。
基于FPGA的解决方案
现场可编程门阵列(FPGA)就是解决这一问题的卓越方案。融合了以太网的知识产权(IP)
通过使用预置的可以实施复杂和特殊功能(比如微处理器或者DSP功能)的知识产权核心模块,FPGA配置的效率大大提升了。这些IP核心模块在不同的设计、不同规格的FPGA设备之间都可以很容易的实现重用,甚至对于新一代的FPGA设备也是如此。所谓IP核心模块包括I/O接口(比如UART、PCT总线结构或者PWM电路),处理功能控制工程网版权所有,比如FFT/FIR滤波器、DSP功能www.cechina.cn,或者是像记忆控制器这样的更加复杂的硬件功能,甚至是微处理器,比如说Altera的Nios II型嵌入式处理器,这是一款高性能的32位RISC中央处理器。
当产品需要进行变更或者RTE协议需要升级的时候,并无必要对平台进行重新设计。需要做的只是重新进行配置,将一套配置数据拷入不会被破坏的内存。电路板设计也不需要已经过时的专利型ASIC(有时非常昂贵)。
典型基于FPGA的以太网开关架构
一个基于FPGA的系统,同时支持RTE和标准TCP/IP。
来源:Altera corporation和Control Engineering
设计实例
一个使用Cyclone III FPGA(带有40000个LE)的设计实例包括了支持RTE硬件的MAC IP核心模块。RTE可以实施任何一种见得到的协议,而一套所谓的“基于FPGA的系统”包括带有两个外部端口和一个内部端口的以太网开关,保证RTE设备以菊花链型拓扑结构运行。内部端口使用先进先出(FIFO)缓存在开关和嵌入式处理器之间交换数据。并且,可选第二台嵌入式CPU用于驱动应用程序。
将高质量的硬件设计与高性能的操作系统(OS)匹配起来非常重要CONTROL ENGINEERING China版权所有,否则软件就会限制系统的性能。设计师可以在面向嵌入式处理器的一系列操作系统中做出选择。μC-Linux和eCos就是可以选择的方案,它们都是免费的,并且有着广泛的社区支持。尽管是一款轻质操作系统控制工程网版权所有,eCos却可以为所有必要的IP应用提供支持,比如简单网络管理协议(SNMP)。而另外一款操作系统μC-Linux对于各种应用和协议的支持度更强,当然也需要占用更多的资源。
集成模型1:所有的硬件均由开发者设计
在这样的模型里,将编入FPGA的硬件设计是由设备制造商开发。如果设备应用需要整合额外的IP模块,包括专为供应商或者应用开发的功能(比如驱动控制),这种方法非常有效。
设计师经常使用诸如EBV开发的MercuryCode这类评价平台工具包,作为对FPGA技术进行评价和仿真的起点。这一工具包涵盖软件和硬件所需的所有开发环境。通常来说CONTROL ENGINEERING China版权所有,所有合适的操作系统和RTE协议都可以作为评价平台上运行的评估和授权IP核心模块。嵌入式系统开发人员使用这些工具包进行IP核心评估、互操作性测试以及目标设备的原型仿真集成。
集成模型2:供应商提供RTE模块
在开发者带宽不足,或者时间过于仓促不足以设计出RTE界面的时候,使用软件供应商预先设计的通讯模块对于开发少量的产品也是一种选择。如果不需要定制的FPGA设计特征,使用预置的设计集成包可以方便的获得及时供应、功能完备的RTE模块(RTEM)。这样的模块已经预先对硬件进行了配置,带有协议软件和操作系统,可以节约稀缺的开发者资源。这一通讯模块带有完整的开发环境,可以面向指定设备创建出对于无缝设备集成非常有必要的