Tartalomjegyzék
- A MCU a mikrokontroller egy beágyazott áramkör agya, amely a ROM-jára már feltöltött kódot futtatja. Ez biztosítja a vezérlést a érzékelők, motorok és kommunikációs perifériák.
- A FPGA olyan szekvenciális logikai kapuk kombinációja, amelyeket egy mérnök programozhat, hogy projektspecifikus, párhuzamosan futó digitális logikát hozzon létre.
Mi az az MCU? Mi az FPGA?
- Közös architektúrák: ARM Cortex-M sorozat (STM32, NXP, Renesas stb.)
- Előnyök: Alacsony költség, alacsony energiafogyasztás, magas integráltság, alacsony fejlesztési korlát (C nyelv fejlesztése elegendő)
- Logikai egységek százai vagy ezrei hajtanak végre feladatokat egyidejűleg
- Az áramkörök szintjén "újrakábelezhető".
- A rögzített logikai útvonalak alkalmassá teszik őket a magas valós idejű követelményekkel rendelkező alkalmazásokhoz.
A mikrokontroller és az FPGA összetevői
MCU belső felépítése
- CPU Core: az a komponens, amely az utasításokat szekvenciálisan, egyenként hajtja végre.
- Flash memória: a merevlemez megfelelője; a programodat tartósan tárolja.
- RAM: Ez egy gyors és ideiglenes memória a verem valós idejű feladataihoz.
- Perifériák: olyan komponensek, mint a kommunikációs protokollok, időzítők, valamint digitális és analóg átalakítók, amelyek lehetővé teszik az MCU interfészét.
- Óra rendszer: lehetővé teszi az idő szinkronizált múlását a feladatok időben történő működtetéséhez.
Az MCU egy szerszámosláda, amely használatra vár. A programja működik, és azonnal vezérelhet egy gépet, érzékelőt vagy alapvető elektronikus darabot, mindenféle extra munka nélkül.
FPGA belső felépítése
- Konfigurálható logikai blokkok (CLB): digitális építőelemek, amelyek digitális "legóként" működnek, és amelyekkel bármilyen logikai funkciót létrehozhat.
- Összeköttetések: a különböző logikai részek összekötésére szolgáló vezetékeket.
- I/O Blokkok: bemenetre vagy kimenetre konfigurálható csapok, amelyek összekapcsolják az FPGA-t a külső világgal.
- Digitális jelfeldolgozó szeletek: olyan konfigurált egységek, amelyek képesek matematikai műveleteket végezni szűréshez vagy hasonló folyamatokhoz.
- Block RAM (BRAM): a chip különböző részein elhelyezett, elosztott RAM.
- Órakezelő egységek (PLL-ek, DCM-ek): biztosítja, hogy az összes logikai blokk a szükségesnél nagyobb sebességgel szinkronban maradjon egymással.
Az FPGA úgy viselkedik, mint egy Lego doboz. Egy CPU-t szeretne készíteni? Vagy egy jelfeldolgozót? Vagy valami mást? Miután konfigurálták, mindent párhuzamosan futtat.
Az MCU és az FPGA közötti különbség
MCU vs FPGA összehasonlító táblázat:
| MCU | FPGA | |
Építészet | Egy rögzített CPU-n fut, hogy az utasításokat sorrendben értelmezze és hajtsa végre. | Újrakonfigurálható logikai blokkokból áll, amelyek párhuzamosan végzik a feladatokat. |
Teljesítmény | A CPU órajele alapján korlátozott. | Nagyon nagy áteresztőképességű és ideális a valós idejű alkalmazások. |
Rugalmasság | Fix perifériákkal és funkciókkal rendelkezik, amelyek nem állíthatók. | Teljesen testreszabható hardver; az alkalmazás pontos igényei teljesülnek. |
Energiafogyasztás | Jellemzően alacsonyabb energiafogyasztás; ideális akkumulátorral működő eszközökhöz. | Jellemzően nagyobb energiafogyasztás; az újabbak azonban energiatakarékosabbak. |
Költségek | Kevésbé költséges a chip és a kezdeti fejlesztőeszközök létrehozása. | Költségesebb eszközök és drágább tervezőeszközök. |
A fejlesztés egyszerűsége | C/C++ nyelveken programozott, könnyen megtalálható szabványos eszközrendszerrel. | HDL-ben (VHDL/Verilog) programozott, amihez olyan személyre van szükség, aki ért a hardvertervezéshez. |
Alkalmazások | Szórakoztató elektronika, IoT, motorvezérlés és ipari automatizálási alkalmazások. | 5G technológia, űrkutatási alkalmazások, mesterséges intelligencia gyorsítás, videó/képfeldolgozás. |
MCU vs FPGA: melyiket válasszam?
- Az MCU olyan alkalmazásokhoz alkalmas, ahol alacsony energiaigényű és költségkritikus kialakításokra van szükség, mint például érzékelővezérlők, motorvezérlők vagy kis méretű IoT táblák. A NYÁK szempontjából ez gyakran egy tápsínt, alapvető órajelkövetelményeket és minimális leválasztási szempontokat jelent. Az elrendezés a megfelelő földelésen és jelvezetésen túl gyakran egyszerű.
- Egy FPGA sokkal nagyobb teljesítményt és rugalmasságot kínál, de nagyobb tervezési erőfeszítést igényel. A PC-knek több tápsínre lesz szükségük a mag és az I/O számára, speciális oszcillátorokra az órajel-alkalmazásokhoz, és a DDR vagy PCIe csatlakozásokhoz nagy sebességű áramellátási integritást kell figyelembe venni. Jelentős tűszámok a BGA-k fan-out megfontolásokat igényel, és potenciálisan HDI stackupok és mikroviák. Teljesítmény és termikus megfontolások kötelezővé váltak.
Mikor érdemes megfontolni egy FPGA frissítését vagy hozzáadását?
-
Magas CPU-kihasználtság vagy elégtelen valós idejű teljesítmény
-
Többcsatornás párhuzamos feldolgozás vagy determinisztikus időzítés követelményei
-
Összetett szabályozási körök vagy több ADC bemenet
-
Késleltetéses jitter vagy egyedi nagysebességű interfész igényei
Hogyan lehet az MCU-ról FPGA-ra áttérni?
- Használjon teljesítményprofilozó azonosítani funkcionális modulok amelyek nagy CPU-kihasználtsággal, hosszú végrehajtási idővel és erős párhuzamossággal rendelkeznek (pl. szűrők és FFT-k).
- Absztrakt ezek hotspot funkciók a modulbas, tervezze meg őket hordozható logikai modulokként (HDL/HLS), terelje őket az FPGA-ra, és tegye lehetővé a kommunikációt és az együttműködést a mikrokontroller egységgel.
- Helyezze el a gyorsítómodulokat az FPGA-n, és valósítsa meg egy soft-core CPU az FPGA-n, hogy az MCU-kód egy részét tovább futtathassa.
- Használja a címet. magas szintű szintézis (HLS) eszközök a meglévő C/C++ kódrészletek hardvermodulokká alakítása, csökkentve ezzel a kézi HDL-kódolás szükségességét.
- Miután a prototípus eltelt tesztelés és bizonyítottan stabilan működik, megfontolható a nagyméretű migráció vagy az MCU-funkciók FPGA-ba történő integrálása.
Esettanulmány: MCU-ról FPGA-ra történő motorvezérlés migrációjának töredéke
Eredetileg egy MCU-n fejlesztették ki C/C++ nyelven zárt hurkú vezérléshez, PID-számításokhoz, visszacsatolásos szűréshez, PWM-meghajtáshoz stb. Nagy teljesítményű körülmények között az MCU válaszideje, a jitter és az interferencia szűk keresztmetszetévé válik.
A migrációs útvonal a következő:
- Határozza meg a fontos modulokat: Példák a következőkre sebességhurok, áramhurok, szűrés és PWM kimeneti vezérlés.
- Használja a címet. HLS hogy ezeket a modulokat hardverblokkokkokként kapszulázza, és HDL implementációt hozzon létre.
- Az FPGA a sebesség és az áram szabályozására szolgál, míg az MCU csak a felső réteg ütemezéséért, a paraméterek módosításáért és a kommunikáció kezeléséért felelős.
- Ellenőrizze, hogy késleltetés, jitter, erőforrás-kihasználás, és egyéb paraméterek megfelelnek a követelményeknek. Ha az eredmények kedvezőek, fokozatosan több almodul migráljon.
Következtetés
- MCU-k a legjobbak a kompakt, költséghatékony és energiaérzékeny kialakításokhoz.
- FPGA-k nagyobb teljesítményt, párhuzamosságot és valós idejű működést tesz lehetővé képességek, bár ezek összetettebb tervezési és elrendezési megfontolásokat igényelnek.
GYIK
A1: Egy MCU-t könnyebb tervezni, mert általában egy sínre van szükség a tápellátáshoz, kevesebb leválasztó kondenzátorra és egyszerűbb útvonalvezetésre. Az FPGA-k több sínt, impedanciaszabályozást és megfelelő ventilátorozást igényelnek a BGA-k nagy tűszáma miatt.
Hivatkozások
[1] Intel. (n.d.). FPGA vs. mikrokontroller: A megfelelő megoldás kiválasztása az Ön alkalmazásához. Retrieved from https://www.intel.com
[2] Microchip Technology. (n.d.). FPGA vs MCU útmutató. Retrieved from https://www.microchip.com






