如何配对MCU和FPGA以达到提高系统效率的目的

FPGA已经变得经济高效,以至于它们越来越多地与MCU结合使用以提高整体系统效率。

用途包括在电路板空间中添加其他功能,在复杂算法的前端中添加节能处理,聚集多个外部设备以卸载高性能MCU或作为“胶合”产品。

使现有设计适应新要求的逻辑。

就接口要求而言,FPGA提供了标准MCU中通常缺乏的额外灵活性。

本文将快速回顾一些FPGA和MCU被“配对”的应用。

展示如何通过减少功耗,减少电路板空间,提高处理性能或接口灵活性来提高系统效率,从而显着改善您的下一个设计。

FPGA作为MCU支持设备,您为设计选择的MCU多久未完全配备所需的所有接口通道?也许您最初选择的MCU非常合适,但是由于您的客户需要在其设计中添加一些其他接口,因此出现了新的要求。

您可能可以使用更复杂的MCU,但这可能会增加大量的电路板空间(因为它仅在高引脚数封装中可用)和功率增加(因为它只能提供比您真正需要的更多的闪存和SRAM)或更高的费用(由于上述两个原因)。

解决此问题的一种方法是通过在MCU旁边添加FPGA来计划对其他接口的需求。

FPGA可以轻松提供其他接口,您只需要提供所需的接口,同时限制了电路板空间,成本和功耗的增加。

实际上,与使用更复杂的MCU的选择相比,它通常会减少电路板空间,降低成本并降低功耗。

例如,超低功耗FPGA可以在非常小的2.078mm×2.078mm电路板占板面积中提供多达26个信号IO,并且由于这些器件是通过片上NVM配置的,因此您不需要额外的板空间。

配置设备。

这些FPGA还具有两个专用的I2C接口和两个专用的SPI接口,具有大量可配置的逻辑,并且可以根据应用需要添加更多接口(直到引脚用完)。

该器件还具有高达80kbit的嵌入式BlockRAM,可用于接口FIFO和缓冲区,因此MCU可以等待整个数据包准备好进行处理。

在将数据发送到MCU之前,DSP模块还可以用作预处理步骤,对原始传感器数据执行低级数据处理。

当FPGA可以在中断MCU之前智能地聚合数据时,可以大大降低MCU的功耗。

快速响应FPGA接口请求使用FPGA支持设备时,快速响应FPGA服务请求非常重要。

例如,音频接口可能需要具有比传感器数据更高的优先级访问权限,这是因为“暂停”会导致音频接口中断。

必须避免使用音频数据中的“音频”,否则可能会大大降低用户体验。

通常能够支持各种中断优先级,有助于提高FPGA合作伙伴的实用性,并进一步提高整体系统性能和效率。

有效使用DMA还有助于进一步卸载MCU并提高效率。

例如,FPGA可以首先缓冲预处理后的原始数据的完整数据包,以减少需要存储和发送的消息的大小。

FPGA可以中断MCU并开始DMA传输,然后将整个消息移至MCU存储器。

DMA传输完成并且整个消息准备就绪后,您就可以中断CPU并开始处理消息。

例如,一个32位MCU具有一个DMA控制器和一个中断控制器,这两个控制器都是可编程的优先级。

中断控制器的右侧有一个优先级块,它为CPU生成中断级别。

优先级块选择具有优先级的中断,该优先级由与每个中断源相关的中断优先级寄存器(IPRn)中的中断级别字段定义。

因此,与I2C端口上的低频传感器相比,可以为较高优先级的源(例如实时音频接口)分配更高的优先级,以确保更快的处理速度。

q