凯利讯半导体

 凯利讯半导体有限公司成立于2008年,专业从事电子元件销售服务。拥有广泛而畅通的供应渠道,并保留了大量电子元件库存,包括所有类别的产品,如:光器件,嵌入式系统,半导体,电路保护元件,无源元件,连接器,传感器等。产品广泛应用于电力,网络,通信,工业控制,汽车,军工,仪表仪表,金融设备,工业控制,计算机接口设备,消费电子等领域。

单片机与FPGA提高系统效率

0
阅读(247) 评论(0)

       FPGA已经变得如此有效,他们越来越多地用于连接微控制器来提高系统的整体效率。使用包括在一个最小的电路板空间添加额外功能,添加高效处理复杂算法的前端,聚集多个外部设备,将高性能单片机或需要适应现有的设计,新的接口要求的“胶水”的逻辑,FPGAs提供了额外的灵活性,往往缺乏标准的MCU。本文将回顾一些在FPGAs和MCUs的“配对”如何提高系统效率的最流行的应用程序,通过降低功耗,减少电路板空间,改善加工性能,或接口的灵活性,可以大大提高你的下一个设计。


  作为微控制器的并行设备

  你为你的设计选择的MCU有多少时候不具备你需要的所有接口通道?或者您对MCU的最初选择正好合适,但是新的需求出现了,因为您最好的客户希望为他们的最新设计添加一些额外的接口。您可能可以使用更复杂的微控制器,但这可能会导致增加显著的电路板空间(因为它只在一个高引脚计数包中可用),增加了功率(因为它只提供了比您真正需要的更多的闪存和SRAM),或者更高的成本(因为前面的两个原因)。

  解决这一难题的方法之一是在FPGA上添加一个微控制器来规划额外接口的需求。FPGA可以很容易地提供额外的接口,只需要你需要的接口,同时限制板空间、成本和电源的增加。事实上,与使用更复杂的MCU的选项相比,您通常会获得更少的电路板空间、更低的成本和更少的功耗。

  例如,晶格iCE40超低功耗FPGA能够提供多达26个信号的iOS在一个很小的2.078毫米2.078毫米板的足迹,因为这些设备都是通过片上NVM的配置,你不需要配置额外的电路板空间。这些FPGAs也有两个专用的I2C接口和两个专用的SPI接口,有大量的可配置逻辑来添加应用程序所需的更多接口(直到您用完了PIN)。的晶格ice5lp1k-swg36itr50框图如图1所示。

  格ice5lp FPGA框图

article-2015may-mcus-pair-with-fpgas-fig1.jpg

  图1:FPGA格ice5lp框图。(凯利讯半导体)

  该器件还具有高达80比特的嵌入式RAM块可用于接口的FIFO缓冲区,和MCU可以等到整个数据包准备处理。DSP块还可以用来对原始传感器数据进行低级别的数据处理,作为在向MCU发送数据之前的预处理步骤。当FPGA能够在中断MCU前智能地聚合数据时,MCU功率的大幅降低是可能的。此外,格的ice5lp FPGA设计了一个核心电源的静态电流仅为71μA.添加更多的界面非常低功率应用需要一点额外的电路板空间或权力。看看你最喜欢的单片机和高引脚数的版本之间的价格差异,并比较它的格ice5pl1k FPGA价格Digi-Key网站上看到节约成本也可。


  快速响应FPGA接口请求

  当使用FPGA伴侣设备时,对FPGA的服务请求作出快速响应是很重要的。例如,音频接口可能需要比传感器数据具有更高的优先访问权,因为必须避免音频数据中的“失速”,否则用户体验可能会显著退化。一般来说,能够支持多种中断优先级有助于提高FPGA伙伴的实用性,并进一步提高整个系统的性能和功率效率。

  有效地使用DMA也有助于进一步卸载MCU并提高效率。例如,FPGA可能首先缓冲一个完整的预处理原始数据的数据包,以减少需要存储和传输的消息的大小。FPGA可以中断MCU并启动一个DMA传输,将整个消息移动到MCU存储器中。一旦DMA传输完成,整个消息准备好处理,CPU就可以中断,消息的高级处理就可以开始了。

  ATMEL公司的32位at32uc3a单片机,例如,有一个DMA控制器和中断控制器,既可编程优先级。图2左侧显示的中断控制器图在右侧有一个优先级块,它对CPU产生中断级别。优先块选择中断具有最高优先级别的中断,在中断优先级水平场登记规定(改进的分组无线网)与每个中断源。因此,更高优先级的源,例如实时音频接口,可以被分配到比低频传感器更高的优先级,也许是在I2C端口上,以保证更快的处理速度。

  图像中断at32uc3a ATMEL单片机控制器

  ATMEL单片机为at32uc3a DMA控制器的图像

  图2:为ATMEL at32uc3a单片机控制器和DMA控制器框图中断。(由凯利讯半导体提供)

  的at32uc3a MCU的DMA控制器,其框图在图2的右边所示,连接到许多不同的外设,在DMA块图右侧所示。外设DMA控制器根据每个外设DMA请求基于每个外围相关的DMA通道数(外围设备分配给一个通道由一个配置登记,所以他们是完全可编程的)具有高优先级较低的信道数。这使得DMA传输可以很容易地分组和优化,从而实现最有效的数据传输。优先甚至可以分配,如果有一种算法在另一部分转让。


  传感器融合进一步提高系统效率

  如前所述,FPGA可以用dsp技术预处理传感器数据。特别是,随着DSP块FPGAs可以实现许多常见的滤波算法,如有限脉冲响应(FIR)滤波器,无限脉冲响应(IIR)滤波器和快速傅里叶变换(FFT)。因为这些硬件块可以以串行或并行方式运行,所以您可以根据带宽和功率需求为滤波器配置最佳配置。例如,如果需要过滤多个传感器输出,则FPGA可以为每个传感器使用单独的滤波器块(如果带宽要求足够高),或者使用单个滤波器块,并在多个传感器之间复用(如果带宽要求足够低)。

  除了对原始传感器数据进行预处理外,FPGA还可以以智能方式结合多个传感器的读数,进一步卸载MCU的处理要求。传感器“融合”算法结合本地的多个传感器读数,在告知MCU需要进行处理之前,可以显著地提高系统效率。例如,结合心率、温度和汗液读数以及比较FPGA中设置的警报级别的组合,可以为MCU提供比原始数据更有价值的信息。

  然而,MCU通常需要自己进行一些数据处理。它不能把一切都留给FPGA。幸运的是,即使是廉价的MCUs现在有了DSP处理能力,可以处理大量数据的效率。古老的Microchip PIC单片机的家庭,例如,已面向DSP的家庭成员喜欢dsPIC 33ep(如dspic33ep32mc202)工作在高达70 MIPS的一些指令执行8个操作一次。面向过滤器的指令可以从40位累加器中获益,以提高定点精度。在DSPIC33EP的专用硬件DSP引擎的设计框图如图3所示。

  在芯片DSPIC33单片机结构框图

article-2015may-mcus-pair-with-fpgas-fig3.jpg

  图3:芯片DSPIC33单片机DSP引擎的框图。(凯利讯半导体提供)

  DSP引擎包括一个17×17乘法器/定标器零回填和符号扩展来创建一个40位的结果。除法操作通过一个单独的硬件分割块实现,使用19个迭代的重复循环,并可中断以减少最坏情况下的中断等待时间。桶移位器有助于为40位加法器和双40位累加器正确对齐数据。这种面向dsp的处理硬件的丰富性,除了提供16位加法、减法和位运算的常规ALU之外。有了这套广泛的数据处理硬件,即使是复杂的操作也能非常有效地得到支持。


  用于硬件加速和基于单片机处理的SoC FPGA

  FPGA和MCU成为这么好的伙伴,FPGA公司甚至把单片机的同伴在他们的设备。这些片上系统(SOC)时,FPGA作为同伴的高端处理器,甚至更复杂的功能可以被转移到FPGA。一个常见的例子是FPGA处理大部分的系统接口,不仅是标准外设,还包括外部存储器。由于SoC FPGA具有显著的片上存储器,MCU管理数据缓冲区和进程通信框架和外部存储器控制器,你有所有的碎片,你需要实现一个完整的通信通道控制器,桥梁,或聚合。这可以让主MCU管理更高级的功能,如人机界面(HMI)、过程控制和服务质量优化。

  一些SoC FPGA具有额外的功能,可以卸载来自主机MCU的更低级的处理。例如,FPGA家族的美高森美SmartFusion2 SoC(m2s050-fgg896的框图如图4所示),不仅有一个完整的ARM子系统,但它具有片上闪存和SRAM块NVM的单片机子系统的一部分。这些记忆可以用来与处理器连接,代码和数据的存储,与片外DDR控制器为大缓冲存储器和PCIe和以太网控制器FIFO存储器。智能DMA控制器可以在不中断处理器的情况下管理大量的数据传输。

  Microsemi的SmartFusion2 SoC FPGA框图

article-2015may-mcus-pair-with-fpgas-fig4.jpg

  图4:美高森美SmartFusion2 SoC FPGA框图。

  SmartFusion2 SoC的FPGA芯片上也有安全硬件,可用于保护远程代码更新的黑客攻击和其他安全威胁。大的片上闪存可以用来存储受保护的引导代码,这使得支持安全启动操作成为可能,即使对于没有本地安全功能的主机处理器也是如此。大量可编程的织物可以提供定制的硬件加速,以便从主机控制器进一步卸载处理。例如,在一个底盘控制系统,可编程的织物可用于传感器数据的DSP处理,传感器融合结合电压、电流和温度读数,电机控制机箱风扇控制系统温度,控制台界面,局部诊断监测和控制,或通过PCIE桥接到其他控制平面功能。有了一个SOC,FPGA的伙伴实际上可能会接受比主机更多的处理,把MCU中的传统角色转换为主角,而FPGA只是次要的配角。


  结论

  有许多应用程序,其中MCU和FPGA配对,可以大大提高系统效率,通过降低功耗,减少电路板空间,改进的处理,或增加灵活性。知道如何通过在这两个设备之间分配功能来实现这些改进可能是下一个设计成功的关键。