可编程逻辑器件(PLD)是嵌入式工业设计的关键元器件。在工业设计中,PLD已经从提供简单的胶合逻辑发展到使用FPGA作为协处理器。该技术在通信、电机控制、I/O模块以及图像处理等应用中支持I/O扩展,替代基本的微控制器(MCU)或者数字信号处理器(DSP)。
随着系统复杂度的提高,FPGA还能够集成整个SoC,与分立的MCU、DSP、ASSP,以及ASIC解决方案相比,大幅度降低了成本。
不论是用作协处理器还是SoC,Altera FPGA在您的工业应用中都具有以下优势:
1. 设计集成——使用FPGA作为协处理器或者SoC,在一个器件平台上集成IP和软件堆栈,从而降低成本。
2. 可重新编程能力——在一个公共开发平台的一片FPGA中,使工业设计能够适应协议、IP以及新硬件功能的发展变化。
3. 性能调整——通过FPGA中的嵌入式处理器、定制指令和IP模块,增强性能,满足系统要求。
4. 过时保护——较长的FPGA产品生命周期,通过FPGA新系列的器件移植,延长工业产品的生命周期,保护硬件不会过时。
5. 熟悉的工具——使用熟悉的、功能强大的集成工具,简化设计和软件开发、IP集成以及调试。
设计集成
现代工业系统设计人员面临很多挑战,包括,系统复杂度、标准的变化、性能需求,以及系统总成本等,如图1所示。
图1.关键工业设计挑战
作为一名工业系统设计人员,您可以确定是否使用FPGA作为协处理器(也称为I/O辅助或者I/O hub器件),还是完整的SoC解决方案。您可以在相同的电路板上组合使用标准主处理器和FPGA,由外部主处理器完成系统处理功能。
然而,功能固定的处理器在工业应用中通常缺少关键的接口、功能或者性能。您可以将部分处理任务移到FPGA中,从而减轻处理器的工作。或者,您在一个基于FPGA的SoC平台上集成所有处理器功能,降低设计复杂度,减少系统总成本。
很多MCU或者DSP解决方案如果要同时运行电机控制任务和通信功能,其带宽将无法满足需求。结果,您可能需要增加其他的ASSP、MCU或者FPGA器件,如果目前的电路板无法承载这些器件,那么只能将其作为昂贵的置入卡来使用。相似的,不同的现场总线以及发展的工业以太网协议标准也需要针对每一协议采用专用ASSP、MCU或者FPGA器件。由于某些标准需要协议专用硬件(MAC)和协议专用软件堆栈,因此,这些工作是必须的。FPGA支持您在协处理器中集成系统功能,根据需要随时修改设计。
图2显示了一个运动和电机控制平台,它发挥了Altera FPGA的优势,作为DSP卸载引擎和工业网络的协处理器。电机控制器通过控制速度和电流(转换为扭矩设置),设置电机的能效和精度。相似的,运动控制则主要完成位置和时序精度控制功能。在很多情况下,电子硬件都是相似的,主要的差别在于控制软件或者算法,以及I/O接口。
图2中的例子显示了一个典型的控制器,它依靠一个主MCU或者DSP器件(主处理器)来运行算法,驱动电机或者运动控制器的电源级。当主处理器达到其性能极限时,设计人员可以提高器件时钟速率,以提升处理器性能。但是,对性能增益是有限制的,这种方法可能会带来其他问题,例如,需要更新到速度更快的存储器,其他硬件的性能,以及优化软件需要更多的时间等。
在这种情况下,将某些主处理器功能卸载到FPGA协处理器中有助于简化系统,使用FPGA进行通信,帮助您随着工业以太网协议等标准的发展而灵活的进行修改。然后,您对FPGA重新编程,使用相同的硬件平台来满足需求。
在一个SoC FPGA器件平台上集成设计元器件,进一步简化了设计复杂度,降低了系统总成本。图3显示了一个简单的工业电机控制系统,FPGA现在起到了SoC的功能,集成DSP模块、存储器、视频图形控制器、电机编码器以及其他元器件。您可以简单的加入PHY和其他模拟以及电源器件,从而完成设计。
此外,电机控制应用通常还需要采用反馈机制来计算当前速率和位置。对于FPGA,很多经过优化的数字编码器接口IP内核只能用作IP,支持在接口上使用FPGA。在FPGA上集成IP减小了电路板尺寸,减少了元器件数量,简化了装配,降低了存储要求。这种集成方法减少了电路板上的元器件数量,从而提高了系统可靠性。Altera FPGA支持很多其他系统功能,例如,嵌入式处理器、DSP模块、LCD显示屏和视频处理器等。
图4显示了另一应用实例,其FPGA用作视频监控应用中的协处理器。视频监控市场越来越多的采用了宽动态范围(WDR)摄像机传感器,能够分辨从背景到逆光条件下的目标物体。只有FPGA具有WDR图像传感器流水线(ISP)协处理所需的带宽,将视频流送入DSP器件进行视频编码,例如,H.264等。DSP器件缺少处理WDR ISP所需的带宽和接口,不具备运行其他监控功能的性能,例如,视频分析等。
另一个例子,图5显示了FPGA作为视频监控应用中的SoC。用作SoC时,FPGA支持您在一片FPGA中集成所有的组件——ISP、视频分析、编码和联网功能。这一方法不需要采用后端DSP器件,支持实现更紧凑的集成设计。
图6显示了在Cyclone® V SoC上实现的SoC系统实例的结构图。
可重新编程能力
利用FPGA的可重新编程能力,您很容易适应标准的发展,支持设计重用。即使您在工业应用中只采用一个MCU、DSP、ASSP或者ASIC解决方案,很多应用还是需要分立器件来处理工业通信等功能,例如,可选的现场总线专用ASIC或者FPGA,,如图7所示。当网络规范或者功能需求出现变化时,您通常会集中精力来开发多块PCB,以支持不同的协议和功能,每一平台都需要额外的软件导入导出时间。这大大提高了解决方案的总成本。
或者,您可以使用FPGA作为通信协处理器。您可以在一个硬件平台上设计一个通信子系统,随时修改网络协议,支持多种产品。您通过在一片FPGA中更灵活的集成主MCU或者DSP控制功能、多个处理器和其他IP以及接口,开发小外形器件,节省空间,降低成本。由于能够针对多种产品采用一个平台,减少了要开发的硬件数量,简化了软件的导入导出,因此,您将获得几个月甚至更长的产品及时面市优势。
调整性能
任何工业控制系统的关键所在是主机/主MCU、DSP、ASIC或者ASSP器件的处理功能。当性能成为设计难题时,FPGA提供以下方法来调整处理性能,如图8所示。
■ 使用高性能外部处理器以及FPGA内置的多个嵌入式处理器之一。您还可以将所有处理功能集成到FPGA中,作为SoC。
■ 加入定制指令以及您的处理器代码,从而加速专用处理器指令;浮点就是一个很好的例子。
■ 通过DSP模块等专用硬件加速数据转换算法。
多核处理
对于灵活的多处理器设计,您可以从多种实现方式中进行选择。嵌入式工业设计人员通常对非对称协处理感兴趣,把FPGA作为I/O辅助芯片或者SoC。非对称多处理器意味着多功能产品可以采用专用处理器来实现每一主要功能。这尤其适合满足当今迫切的应用需求,例如,智能电话等。开发人员以前在PCB上采用多个处理器来开发这类系统。现在,您可以在一片FPGA中每个分区的专用处理模块上来完成这一工作,如图9所示。
这类应用的一个例子就是高性能伺服驱动应用,它需要高性能主处理器(或者多处理器)来完成每一主要功能。专用处理器执行应用代码,通信处理器提供现场总线或者以太网链路,图形或者图像处理器提供显示功能,包括数字电机编码器、PWM功能和电源控制等其他定制逻辑和接口。您还可以将所有这些功能集成到FPGA中,作为协处理器或者完整的SoC。
定制指令
您可以通过增加定制指令以及相应的处理器代码来调整处理器性能。这一方法加速了专用处理器指令,如图10所示。
您可以在嵌入式处理器指令集中加入定制指令,以加速对时间要求较高的软件算法。图10中的例子显示了您怎样在Altera Nios® II处理器的算术逻辑单元(ALU)中加入定制指令逻辑。使用定制指令将复杂的标准指令序列简化为在硬件中实现的嵌入指令。您可以在各种应用中使用这一功能。例如,您可以优化DSP的软件内循环、数据包头处理以及需要大量计算的应用。Quartus® II软件提供配置GUI,支持Nios II处理器的256条定制指令。图10中的例子使用了64 Kilobyte (KB) CRC缓冲。在Nios II处理器中,与只采用软件操作相比,定制指令能够将CPU的性能提高27倍。
硬件加速
除了定制指令,您还可以使用硬件加速器,例如DSP模块、视频模块以及其他IP,从而消除数据瓶颈。图11显示了与仅采用定制指令的同一Nios II处理器系统相比,采用同时或者并行数据协处理器功能将系统性能提高了530倍。在并行数据协处理器期间,处理器的中央处理单元(CPU)启动并停止协处理器,协处理器获取数据,存储结果,CPU同时运行应用代码。这适用于模块数据操作,例如,电机控制或者运动控制应用中常见的DSP功能。
过时保护
生命周期较长的FPGA降低了产品过时的风险。Altera FPGA的产品生命周期非常符合工业设备的长生命周期要求,能够稳定的供应器件,如图12所示。
大部分MCU、DSP或者ASSP器件的产品生命周期比FPGA短得多,这是因为和Altera相比,其供应商通常会更快的停止供应成熟器件。这类器件设计用于针对大批量用户在短期内实现特定应用。而且,虽然目前产品中的ASIC器件可以工作15年以上,但是很多已经接近寿命终了,迫使设计人员考虑FPGA等其他长寿命器件。虽然新ASIC设计正在开发中,但是设计人员还不能迅速更新这些产品以跟上标准的发展,或者满足新功能的要求。
相反,FPGA涵盖了多种应用和市场,与大批量产品的特殊应用无关。因此,Altera在很长时间内生产的FPGA是您的高性价比选择。您可以更好的管理稳定的供应链,它会含有很多其他半导体元器件。在您的设计中使用FPGA平台时,您能够随时更新并修改您的设计。您可以重复使用IP,在很短的时间内将设计导入到新系列FPGA中,这要比设计新MCU、DSP、ASSP或者ASIC快得多。
随着时间的推移,Altera FPGA帮助您提高了多条产品线的商业价值,降低产品过时的成本。