FPGA已经变得如此成本效益的,它们越来越多地与微控制器配合使用,以提高整个系统的效率。使用包括添加额外的功能在电路板空间最小,增加功率高效处理的复杂算法的前端,聚集多个外部设备卸载高性能MCU或以适应现有的设计到新所需的“胶水”逻辑接口要求,FPGA可提供额外的灵活性往往缺乏标准的MCU。本文将快速浏览一些最流行的应用,FPGA和微控制器的“配对”来展示如何提高系统效率,通过降低功耗,减少电路板空间,提高了处理性能,接口灵活性可能能够显着地提高你的下一个设计。
FPGA成为MCU配套设备
多久的MCU您选择为您的设计只是不太有所有的接口通道,你需要?或者,也许你最初的选择单片机适合刚刚完美,但一个新的需求来了,因为你最好的客户希望他们的最新设计一些额外的接口。你也许能够使用更复杂的MCU,而这可能会导致增加显著的电路板空间(因为它只有在高引脚数封装),提高了功率(因为它仅适用于更多的闪存和SRAM比你真正需要的),或者更高的成本(对于以前的原因)。
围绕这个难题的一种方法是通过添加一个FPGA旁边的MCU规划需要额外的接口。该FPGA可以方便地提供额外的接口,只是你需要的,同时限制增加了电路板空间,成本和功耗。事实上,相对于使用更复杂的MCU的选择,您通常最终会用更少的电路板空间,更低的成本和更少的功率。
例如,莱迪思的iCE40超低功耗FPGA可提供多达26个信号的IO在一个非常小的2.078毫米由2.078毫米电路板面积,而且因为这些设备通过片上NVM配置,您不需要额外的电路板空间为配置的设备。这些FPGA也有两个专用I2C接口,并用大量的可配置逻辑的两个专用SPI接口的添加为更多的接口,为您的应用程序将需要(直到用完针)。莱迪思ICE5LP1K-SWG36ITR50的框图如图1所示。
莱迪思FPGA iCE5LP的框图
图1:莱迪思FPGA iCE5LP框图。 (莱迪思半导体公司提供)
该装置还具有高达80千位的嵌入式RAM块可用于接口的FIFO缓冲器和因此MCU可以等到整个数据包准备好进行处理。 DSP模块也可以被用来做低级别的数据处理上的原始传感器数据作为先于数据发送到MCU一个预处理步骤。当FPGA可以智能地聚合数据中断的MCU之前,极大地降低了MCU电源是可能的。此外,莱迪思的iCE5LP FPGA已经被设计为非常低功率应用仅为71μA核心电源的静态电流。添加更多的接口,几乎不需要额外的电路板空间和功耗。看看你最喜欢的微控制器和高引脚数版本之间的当前价格差,然后把它比作莱迪思FPGA iCE5PL1K价格上向Digi-Key的网站,看看有什么成本节约也可能会提供。
快速响应FPGA接口的请求
当使用FPGA同伴设备能够快速FPGA的服务请求响应也可以是重要的。例如,音频接口可能需要具有比传感器数据更高的优先级访问,因为在音频数据的“失速”必须避免或用户体验可显著降低。在一般情况下,能够支持多种中断优先级可帮助提高了FPGA的伴侣的实用性,进一步提高系统的整体性能和能效。
有效利用DMA还可以进一步帮助卸载MCU和提高工作效率。例如,也许在FPGA可以首先缓冲向上的前处理的原始数据的完整数据分组,以减少需要被存储和发送的消息的大小。该FPGA可中断的MCU,并启动DMA传输是将整个邮件到MCU内存。一旦DMA传输完成并且整个消息准备处理中,CPU可以中断和消息的高层处理可以开始。
爱特梅尔32位AT32UC3A MCU,例如,具有一个DMA控制器和一个中断控制器,无论是可编程优先级。中断控制器图,对图2的左侧所示,具有在右侧一个优先块,在产生中断级别到CPU。优先级块选择具有最高优先级的中断,如中断优先级寄存器(IPRn)与每个相关联的所定义的中断级字段中断源。因此,较高优先级的源,例如一个实时音频接口,可以被分配的优先级高于低频传感器,也许在I2C端口,用于保证更快的处理。
为爱特梅尔MCU AT32UC3A中断控制器图片
DMA控制器的形象,为爱特梅尔MCU AT32UC3A
图2:中断控制器和DMA控制器框图为爱特梅尔MCU AT32UC3A。 (爱特梅尔提供)
该AT32UC3A MCU的DMA控制器,框图,其中显示在图2右侧的,连接到许多不同的外围设备,在右侧的DMA框图所示。外围DMA控制器优先基于与每个外设相关的DMA通道数的每个外设DMA请求(外设被分配到一个信道由一个配置寄存器,因此它们是完全可编程的)与具有较高优先级较低的信道号。这允许DMA传输可以很容易地进行分组,并为最有效的数据传送可能优化。优先级,甚至可以当重新分配算法青睐一种类型的转移在另一个的部分。
传感器融合进一步提高系统效率
如前所述,FPGA的可用于通过采用DSP技术来预先处理传感器数据。特别是,FPGA,具有DSP块可以实现许多共同的过滤算法中,例如有限脉冲响应(FIR)滤波器,无限脉冲响应(IIR)滤波器和快速傅立叶变换(FFT)。由于这些硬件模块可以操作无论是在串行或并行的方式,你可以构建过滤器基于带宽和功率要求的最佳配置。例如,如果多个传感器输出需要被过滤,在FPGA既可以使用单独的过滤器块,每个传感器(如果带宽要求是足够高),或使用一个单一过滤器块和多个传感器之间多路复用它(如果带宽要求是足够低)。
除了预处理原始传感器数据时,FPGA还可以结合的读数从多个传感器,以智能的方式来进一步卸载的MCU处理要求。传感器“融合”的算法,结合本地多个传感器读数,之前通知MCU的处理是必需的,可以显着提高系统效率。结合心脏速率,温度,以及排汗读数和比对FPGA内部设置的警报水平的组合,例如,可以提供微控制器与不仅仅是原始数据更有价值的信息。
该MCU通常需要做一些数据的处理自己,但是。它不能放弃一切到FPGA中。幸运的是,即使是廉价的微控制器现在DSP的处理能力,并且可以有效地紧缩大量数据。久负盛名的Microchip的PIC MCU系列,例如,具有DSP的家庭成员,如DSPIC 33EP(如DSPIC33EP32MC202),在高达70 MIPS的操作与某些指令执行多达8个操作一次。过滤器的指令可以受益于40位累加器增加定点精度。在DSPIC33EP专用硬件DSP引擎的框图如图3所示。
框图在Microchip的dsPIC33系列MCU
图3:DSP引擎框图在Microchip的dsPIC33系列MCU。 (Microchip的提供)
DSP引擎包括一个17×17乘法器/定标器零回填并签署扩展到创建一个40位的结果。除法运算使用的是19次迭代一个重复循环通过一个单独的硬件除法模块实现的,且是可中断降低最坏情况下的中断延迟。桶式移位器有助于正确地调整数据为40位加法器和双40位累加器。这种丰富的DSP的处理硬件除了常规的ALU,提供16位的加,减,和位操作。有了这个广泛的集数据处理硬件,甚至复杂的操作都可以非常有效地支持。
的SoC FPGA的硬件加速和基于微控制器的处理
FPGA和微控制器做出这样的好同伴的FPGA供应商甚至把MCU的同伴在其设备上。当这些系统级芯片(SoC)的FPGA用作同伴高端MCU的,更复杂的功能可以被移动到FPGA。一个常见的例子是用于FPGA来处置许多系统界面,不仅与标准外设还与外部存储器。由于的SoC FPGA有显著的片上存储器,微控制器来管理数据缓冲和处理通信框架和外部存储控制器,你有你需要实现一个完整的通信信道控制器,桥梁,或聚合碎片。这可以离开主MCU管理更高水平的功能,例如人机界面(HMI),过程控制,以及服务质量的优化。
一些的SoC FPGA具有更多的功能,可从主机MCU卸载更是低层次处理。例如,Microsemi的SmartFusion2 SoC的FPGA系列(M2S050-FGG896的框图如图4所示),不仅拥有完整的ARM Cortex子系统,但其片上闪存NVM和SRAM块显著为MCU的一部分子系统。这些存储器可以与处理器一起使用,作为代码和数据存储,与芯片外的DDR控制器作为大缓冲存储器,并与PCIe和以太网控制器作为先进先出存储。智能DMA控制器可以管理许多数据传输的不中断的处理器。
Microsemi的SmartFusion2 SoC的FPGA的框图
图4:Microsemi的SmartFusion2 SoC的FPGA程序框图。 (Microsemi公司提供)
SmartFusion2的SoC FPGA还具有片上硬件的安全性,可用于保护远程代码更新来自黑客和其他安全威胁。大型片上闪存可用于存储受保护的引导代码,这使得它可以支持安全启动的操作,即使没有本地安全功能的主机处理器。大量的可编程结构可以从主机控制器提供定制硬件加速,进一步卸载处理。例如,在一个底盘控制系统,可编程织物可以用于DSP的预处理传感器数据,传感器融合组合的电压,电流,和温度读数,马达控制的机箱风扇控制系统的温度,控制台接口,本地诊断监测和控制,或通过PCIe桥接至其他控制平面功能。随着SoC的FPGA的同伴实际上可能承担更多的处理比主机,切换一个MCU之间的传统角色作为主角,并仅在次要辅助作用的FPGA。
结论
有许多应用,其中的MCU和一个FPGA,配对在一起,可以显着地经由较低功耗,减少电路板空间,提高了处理,或增加的灵活性提高系统效率。了解如何通过分配这两个设备之间的函数来实现其中的一些改进,可能是在你的下一个设计成功的关键。
评论
查看更多