|
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端口上為較高優先級的源(例如實時音頻接口)分配比低頻傳感器更高的優先級,以保證更快的處理。
|
|