如何将MCU与FPGA进行配对达到提高系统效率的目的?
FPGA已经变得如此具有成本效益,因此它们越来越多地与mcu结合使用,以提高整体系统效率。用途包括在的电路板空间中添加额外的功能,为复杂算法的前端添加节能处理,聚合多个外部设备以卸载高性能MCU或作为使现有设计适应新的所需的“粘合”逻辑在接口要求方面,FPGA提供了标准MCU中常常缺乏的额外灵活性。本文将快速回顾一些的应用,其中FPGA和MCU“配对”,以展示如何通过降低功耗,减小电路板空间,提高处理性能或接口灵活性来提高系统效率,从而显着改善您的下一个设计。
FPGA作为MCU配套器件
您为设计选择的MCU多久没有完全具备您需要的所有接口通道?或许您对MCU的初始选择非常合适,但是出现了新的要求,因为您的客户需要为其设计添加一些额外的接口。您可能可以使用更复杂的MCU,但这可能会增加显着的电路板空间(因为它仅在高引脚数封装中可用),功率增加(因为它只能提供比您真正需要的更多闪存和SRAM) 或者更高的成本(出于上述两个原因)。
解决这个难题的一种方法是通过在MCU旁边添加FPGA来规划对额外接口的需求。FPGA可以轻松提供额外的接口,只需提供您需要的接口,同时限制电路板空间,成本和功耗的增加。实际上与使用更复杂的MCU的选项相比,通常会减少电路板空间,降低成本并降低功耗。
例如超低功耗FPGA可在极小的2.078 mm×2.078 mm电路板占板面积内提供多达26个信号IO,并且由于这些器件是通过片上NVM配置的,您不需要额外的电路板空间用于配置设备。这些FPGA还有两个专用的I2C接口和两个专用SPI接口,具有大量可配置逻辑,可以根据应用需要添加更多接口(直到用完引脚)。
该器件还具有高达80kbits的嵌入式Block RAM,可用于接口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端口上为较高优先级的源(例如实时音频接口)分配比低频传感器更高的优先级,以保证更快的处理。