如何將MCU與FPGA進(jìn)行配對達(dá)到提高系統(tǒng)效率的目的
出處:電子發(fā)燒友 發(fā)布于:2019-03-21 13:55:55
FPGA已經(jīng)變得如此具有成本效益,因此它們越來越多地與MCU結(jié)合使用,以提高整體系統(tǒng)效率。用途包括在的電路板空間中添加額外的功能,為復(fù)雜算法的前端添加節(jié)能處理,聚合多個外部設(shè)備以卸載高性能MCU或作為使現(xiàn)有設(shè)計適應(yīng)新的所需的“粘合”邏輯在接口要求方面,F(xiàn)PGA提供了標(biāo)準(zhǔn)MCU中常常缺乏的額外靈活性。本文將快速回顧一些的應(yīng)用,其中FPGA和MCU“配對”,以展示如何通過降低功耗,減小電路板空間,提高處理性能或接口靈活性來提高系統(tǒng)效率,從而顯著改善您的下一個設(shè)計。
FPGA作為MCU配套器件
您為設(shè)計選擇的MCU多久沒有完全具備您需要的所有接口通道?或許您對MCU的初始選擇非常合適,但是出現(xiàn)了新的要求,因為您的客戶需要為其設(shè)計添加一些額外的接口。您可能可以使用更復(fù)雜的MCU,但這可能會增加顯著的電路板空間(因為它僅在高引腳數(shù)封裝中可用),功率增加(因為它只能提供比您真正需要的更多閃存和SRAM) )或者更高的成本(出于上述兩個原因)。
解決這個難題的一種方法是通過在MCU旁邊添加FPGA來規(guī)劃對額外接口的需求。 FPGA可以輕松提供額外的接口,只需提供您需要的接口,同時限制電路板空間,成本和功耗的增加。實際上,與使用更復(fù)雜的MCU的選項相比,通常終會減少電路板空間,降低成本并降低功耗。
例如,萊迪思iCE40超低功耗FPGA可在極小的2.078 mm×2.078 mm電路板占板面積內(nèi)提供多達(dá)26個信號IO,并且由于這些器件是通過片上NVM配置的,您不需要額外的電路板空間用于配置設(shè)備。這些FPGA還有兩個專用的I 2 C接口和兩個專用SPI接口,具有大量可配置邏輯,可以根據(jù)應(yīng)用需要添加更多接口(直到用完引腳)。萊迪思ICE5LP1K-SWG36ITR50的框圖。
該器件還具有高達(dá)80 kbits的嵌入式Block RAM,可用于接口FIFO和緩沖器,因此MCU可以等待整個數(shù)據(jù)包準(zhǔn)備好進(jìn)行處理。在將數(shù)據(jù)發(fā)送到MCU之前,DSP模塊還可用于對原始傳感器數(shù)據(jù)進(jìn)行低級數(shù)據(jù)處理,作為預(yù)處理步驟。當(dāng)FPGA可以在中斷MCU之前智能地聚合數(shù)據(jù)時,可以大幅降低MCU功耗。此外,萊迪思的iCE5LP FPGA專為超低功耗應(yīng)用而設(shè)計,電源靜態(tài)電流僅為71μA。添加更多接口只需要額外的電路板空間或功率。查看您喜歡的MCU與更高引腳數(shù)之間的當(dāng)前價格差異,然后將其與Digi-Key網(wǎng)站上的萊迪思iCE5PL1K FPGA價格進(jìn)行比較,看看可能還有哪些成本節(jié)省。
快速響應(yīng)FPGA接口請求
使用FPGA配套器件時,快速響應(yīng)FPGA的服務(wù)請求非常重要。例如,音頻接口可能需要具有比傳感器數(shù)據(jù)更高的優(yōu)先級訪問權(quán),因為必須避免音頻數(shù)據(jù)中的“停頓”或者用戶體驗可能顯著降低。通常,能夠支持各種中斷優(yōu)先級有助于提高FPGA伙伴的實用性,并進(jìn)一步提高整體系統(tǒng)性能和功效。
有效使用DMA還有助于進(jìn)一步卸載MCU并提高效率。例如,F(xiàn)PGA可能首先緩沖預(yù)處理原始數(shù)據(jù)的完整數(shù)據(jù)包,以減小需要存儲和傳輸?shù)南⒌拇笮 ?FPGA可以中斷MCU并啟動DMA傳輸,將整個消息移動到MCU存儲器中。一旦DMA傳輸完成并且整個消息準(zhǔn)備好進(jìn)行處理,就可以中斷CPU并開始對消息進(jìn)行處理。
Atmel 32位AT32UC3A MCU,例如,有一個DMA控制器和一個中斷控制器,兩者都是可編程優(yōu)先級。中斷控制器圖(如圖2左側(cè)所示)在右側(cè)有一個優(yōu)先級塊,它為CPU產(chǎn)生中斷級。優(yōu)先級塊選擇具有優(yōu)先級的中斷,由與每個中斷源相關(guān)的中斷優(yōu)先級寄存器(IPRn)中的中斷級別字段定義。因此,可以在I 2 C端口上為較高優(yōu)先級的源(例如實時音頻接口)分配比低頻傳感器更高的優(yōu)先級,以保證更快的處理。
圖2:Atmel AT32UC3A MCU的中斷控制器和DMA控制器框圖。 (由Atmel提供)
AT32UC3A MCU的DMA控制器,其框圖如圖2右側(cè)所示,連接到許多不同的外設(shè),如DMA框圖右側(cè)所示。外設(shè)DMA控制器根據(jù)與每個外設(shè)相關(guān)的DMA通道號(外設(shè)由配置寄存器分配給通道,因此它們是完全可編程的)優(yōu)先考慮每個外設(shè)DMA請求,其中較低的通道號具有較高的優(yōu)先級。這樣可以輕松地對DMA傳輸進(jìn)行分組和優(yōu)化,以實現(xiàn)效的數(shù)據(jù)傳輸。如果算法的某些部分支持一種類型的傳輸而不是另一種傳輸,則優(yōu)先級甚至可以重新分配。
傳感器融合進(jìn)一步提高了系統(tǒng)效率
如前所述,F(xiàn)PGA可用于通過使用DSP技術(shù)預(yù)處理傳感器數(shù)據(jù)。特別是,具有DSP模塊的FPGA可以實現(xiàn)許多常見的濾波算法,例如有限脈沖響應(yīng)(FIR)濾波器,無限脈沖響應(yīng)(IIR)濾波器和快速傅里葉變換(FFT)。由于這些硬件模塊可以串行或并行方式運(yùn)行,因此您可以根據(jù)帶寬和功率要求構(gòu)建濾波器以實現(xiàn)配置。例如,如果需要過濾多個傳感器輸出,F(xiàn)PGA可以為每個傳感器使用單獨(dú)的濾波器塊(如果帶寬要求足夠高),或者使用單個濾波器塊并在多個傳感器之間復(fù)用(如果帶寬要求是足夠低)。
除了對原始傳感器數(shù)據(jù)進(jìn)行預(yù)處理外,F(xiàn)PGA還可以智能方式組合來自多個傳感器的讀數(shù),以進(jìn)一步降低MCU的處理要求。在通知MCU需要處理之前,本地組合多個傳感器讀數(shù)的傳感器“融合”算法可以顯著提高系統(tǒng)效率。例如,結(jié)合心率,溫度和排汗讀數(shù)以及將組合與FPGA內(nèi)的設(shè)定警報水平進(jìn)行比較,可以為MCU提供比原始數(shù)據(jù)更有價值的信息。
MCU通常需要但是,要自己做一些數(shù)據(jù)處理。它不能將所有內(nèi)容都留給FPGA。幸運(yùn)的是,即便是廉價的MCU現(xiàn)在也具有DSP處理功能,可以有效地處理大量數(shù)據(jù)。例如,著名的Microchip PIC MCU系列具有面向DSP的系列成員,如DSPIC 33EP(例如DSPIC33EP32MC202),其工作速率高達(dá)70 MIPS,一些指令可同時執(zhí)行多達(dá)8個操作。面向過濾器的指令可以受益于40位累加器,以提高定點(diǎn)。 DSPIC33EP中專用硬件DSP引擎的框圖如圖3所示。
圖3:Microchip DSPIC33 MCU中的DSP引擎框圖。 (由Microchip提供)
DSP引擎包括一個17 x 17乘法器/縮放器,具有零回填和符號擴(kuò)展,可創(chuàng)建40位結(jié)果。除法運(yùn)算通過使用19次迭代的重復(fù)循環(huán)的單獨(dú)硬件除法塊實現(xiàn),并且可中斷以減少壞情況的中斷延遲。桶形移位器有助于為40位加法器和雙40位累加器正確對齊數(shù)據(jù)。這種豐富的面向DSP的處理硬件是常規(guī)ALU的補(bǔ)充,它提供16位加,減和位操作。憑借這一系列廣泛的數(shù)據(jù)處理硬件,甚至可以非常有效地支持復(fù)雜的操作。
用于硬件加速和基于MCU處理的SoC FPGA
FPGA與MCU是FPGA的良好伴侶供應(yīng)商甚至將MCU伴侶放在他們的設(shè)備上。當(dāng)這些片上系統(tǒng)(SoC)FPGA用作高端MCU的配套產(chǎn)品時,更復(fù)雜的功能可以轉(zhuǎn)移到FPGA上。一個常見的例子是FPGA處理大部分系統(tǒng)接口,不僅使用標(biāo)準(zhǔn)外設(shè),還使用外部存儲器。由于SoC FPGA具有重要的片上存儲器,用于管理數(shù)據(jù)緩沖和處理通信幀的MCU以及外部存儲器控制器,因此您可以獲得實現(xiàn)完整通信通道控制器,橋接器或聚合器所需的所有功能。這可以讓主MCU管理更別的功能,例如人機(jī)界面(HMI),過程控制和服務(wù)質(zhì)量優(yōu)化。
一些SoC FPGA具有額外的功能,可以卸載更低的功能來自主機(jī)MCU的電平處理。例如,Microsemi SmartFusion2 SoC FPGA系列(M2S050-FGG896的框圖如圖4所示),不僅具有完整的ARM Cortex子系統(tǒng),而且還具有重要的片上Flash NVM和SRAM模塊作為MCU的一部分子系統(tǒng)。這些存儲器可與處理器結(jié)合使用,作為代碼和數(shù)據(jù)存儲,片外DDR控制器作為大型緩沖存儲器,PCIe和以太網(wǎng)控制器作為FIFO存儲器。智能DMA控制器可以在不中斷處理器的情況下管理大部分?jǐn)?shù)據(jù)傳輸。
圖4:Microsemi SmartFusion2 SoC FPGA框圖。 (由Microsemi提供)
SmartFusion2 SoC FPGA還具有片上安全硬件,可用于保護(hù)遠(yuǎn)程代碼更新免受黑客攻擊和其他安全威脅。大型片上閃存可用于存儲受保護(hù)的引導(dǎo)代碼,這使得支持安全引導(dǎo)操作成為可能,即使對于沒有本機(jī)安全功能的主機(jī)處理器也是如此。大量的可編程結(jié)構(gòu)可以提供定制的硬件加速,以進(jìn)一步從主機(jī)控制器卸載處理。例如,在底盤控制系統(tǒng)中,可編程結(jié)構(gòu)可用于傳感器數(shù)據(jù)的DSP預(yù)處理,傳感器融合組合電壓,電流和溫度讀數(shù),機(jī)箱風(fēng)扇控制系統(tǒng)溫度的電機(jī)控制,控制臺接口,本地診斷監(jiān)控和控制,或通過PCIe橋接到其他控制平面功能。使用SoC,F(xiàn)PGA伙伴實際上可以承擔(dān)比主機(jī)更多的處理,在作為主要參與者的MCU和僅作為輔助支持角色的FPGA之間切換傳統(tǒng)角色。
結(jié)論
有許多應(yīng)用,其中MCU和FPGA配對,可以通過更低的功耗,更小的電路板空間,改進(jìn)的處理或更高的靈活性來顯著提高系統(tǒng)效率。了解如何通過在這兩個設(shè)備之間分配功能來實現(xiàn)某些改進(jìn)可能是您下設(shè)計成功的關(guān)鍵。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- USB-C接口全解析:協(xié)議兼容、快充原理與常見問題排查2025/12/16 9:50:42
- 簡述計算機(jī)總線的分類2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10









