如何将MCU与FPGA进行配对达到提高系统效率的目的

demi的头像
demi 发布于:周一, 02/08/2021 - 15:10 ,关键词:

FPGA已经变得如此具有成本效益,因此它们越来越多地与mcu结合使用,以提高整体系统效率。用途包括在的电路板空间中添加额外的功能,为复杂算法的前端添加节能处理,聚合多个外部设备以卸载高性能MCU或作为使现有设计适应新的所需的“粘合”逻辑在接口要求方面,FPGA提供了标准MCU中常常缺乏的额外灵活性。本文将快速回顾一些的应用,其中FPGA和MCU“配对”,以展示如何通过降低功耗,减小电路板空间,提高处理性能或接口灵活性来提高系统效率,从而显着改善您的下一个设计。

FPGA作为MCU配套器件

您为设计选择的MCU多久没有完全具备您需要的所有接口通道?或许您对MCU的初始选择非常合适,但是出现了新的要求,因为您的客户需要为其设计添加一些额外的接口。您可能可以使用更复杂的MCU,但这可能会增加显着的电路板空间(因为它仅在高引脚数封装中可用),功率增加(因为它只能提供比您真正需要的更多闪存和SRAM) )或者更高的成本(出于上述两个原因)。

解决这个难题的一种方法是通过在MCU旁边添加FPGA来规划对额外接口的需求。FPGA可以轻松提供额外的接口,只需提供您需要的接口,同时限制电路板空间,成本和功耗的增加。实际上,与使用更复杂的MCU的选项相比,通常会减少电路板空间,降低成本并降低功耗。

例如,莱迪思iCE40超低功耗FPGA可在极小的2.078 mm×2.078 mm电路板占板面积内提供多达26个信号IO,并且由于这些器件是通过片上NVM配置的,您不需要额外的电路板空间用于配置设备。这些FPGA还有两个专用的I 2 C接口和两个专用SPI接口,具有大量可配置逻辑,可以根据应用需要添加更多接口(直到用完引脚)。莱迪思ICE5LP1K-SWG36ITR50的框图。

该器件还具有高达80 kbits的嵌入式Block RAM,可用于接口FIFO和缓冲器,因此MCU可以等待整个数据包准备好进行处理。在将数据发送到MCU之前,DSP模块还可用于对原始传感器数据进行低级数据处理,作为预处理步骤。当FPGA可以在中断MCU之前智能地聚合数据时,可以大幅降低MCU功耗。此外,莱迪思的iCE5LP FPGA专为超低功耗应用而设计,电源静态电流仅为71μA。添加更多接口只需要额外的电路板空间或功率。查看您喜欢的MCU与更高引脚数之间的当前价格差异,然后将其与Digi-Key网站上的莱迪思iCE5PL1K FPGA价格进行比较,看看可能还有哪些成本节省。

快速响应FPGA接口请求

使用FPGA配套器件时,快速响应FPGA的服务请求非常重要。例如,音频接口可能需要具有比传感器数据更高的优先级访问权,因为必须避免音频数据中的“停顿”或者用户体验可能显着降低。通常,能够支持各种中断优先级有助于提高FPGA伙伴的实用性,并进一步提高整体系统性能和功效。

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

Atmel 32位AT32UC3A MCU,例如,有一个DMA控制器和一个中断控制器,两者都是可编程优先级。中断控制器图(如图2左侧所示)在右侧有一个优先级块,它为CPU产生中断级。优先级块选择具有优先级的中断,由与每个中断源相关的中断优先级寄存器(IPRn)中的中断级别字段定义。因此,可以在I 2 C端口上为较高优先级的源(例如实时音频接口)分配比低频传感器更高的优先级,以保证更快的处理。

来源:FPGA设计论坛,转载此文目的在于传递更多信息,版权归原作者所有。

围观 38