Globální vysokorychlostní objem s vysokým mixem PCBA výrobce
9:00 - 18:00, Po. - Pá. (GMT+8)
9:00 -12:00, sobota (GMT+8)
(S výjimkou čínských státních svátků)
Domovská stránka > Blog > Znalostní báze > FPGA vs. mikrokontrolér – pochopení klíčových rozdílů
Mikrokontroléry a programovatelná hradlová pole (FPGA) se často používají v návrhu digitálních systémů. Systémy založené na mikrokontrolérech se stávají stále populárnějšími. Na jedné straně je jejich nízká cena, nízká spotřeba energie a vhodnost pro základní řídicí úlohy činí z nich jasnou volbu. Na druhé straně rychle rostoucí popularita FPGA, dostupnost robustních vývojových nástrojů a jejich zvýšená schopnost paralelního zpracování a hustota činí ze systémů založených na FPGA atraktivní volbu.
Pro trh s embedded systémy je dnes k dispozici několik mikrokontrolérových jader, od konvenčních provedení, jako je 8051, až po RISC nebo DSP stroje. Rozhodnutí mezi různými provedeními je určeno kritérii, jako je rychlost, výkon, instalovaná základna, potenciál pro opětovné použití a další technické aspekty. Embedded aplikace jsou neustále se rozšiřujícím předmětem studia v počítačových systémech. Velký počet komunikačních portů MCU, jednotek pulzně šířkové modulace (PWM) a analogově-digitálních převodníků (ADC) zabalených do jednoho čipu je ideální pro průmyslové aplikace.
V různých oblastech elektrotechniky se mikrokontroléry (MCU) obvykle používají pro základní řídicí, komunikační a nenáročné úkoly, zatímco programovatelná hradlová pole (FPGA) se používají pro vysokorychlostní a časově kritické úkoly zpracování. Aplikace založené na zařízeních integrovaných do spotřební elektroniky však mají různá konstrukční omezení. V této situaci může mít spotřeba energie, hustota kódu a integrace periferií přednost před požadavky na výkon. Na druhou stranu z technologického hlediska rostoucí hustota FPGA a pokles jejich cen v důsledku vysokého objemu výroby umožňují integraci vestavěných systémů do jediného čipu FPGA.
Mikrokontrolér je elektronické zařízení, které patří do rodiny mikropočítačů. Součásti mikrokontroléru jsou vyrobeny pomocí technologie Very Large Scale Integration (VLSI) a tvoří jeden čip. Jsou také známé jako počítače na čipu. Mikrokontrolér má určité množství paměti RAM a ROM (EEPROM, EPROM atd.) nebo flash pamětí pro ukládání programových kódů. Dalšími funkcemi jsou časovače, paralelní porty, sériové porty, porty přerušení, ADC, PWM a DAC. Mikrokontrolér je mikroprocesor s pamětí a I/O funkcemi. Mikrokontroléry jsou široce používány v embedded systémech díky integraci CPU, paměti a I/O periferií do jednoho čipu.
Počítač nebo notebook je univerzální stroj (používaný pro různé úkoly, jako je hraní her, prohlížení internetu, hudba, zpracování textu atd.). Naproti tomu vestavěné systémy jsou obvykle jednoúčelová zařízení určená pro specifické úkoly. Klíčovou charakteristikou mikrokontrolérových systémů je, že často vykonávají specializované úkoly, aniž by potřebovaly plnohodnotný operační systém (např. Windows, Linux, macOS, iOS). Hodinky, MP3 přehrávače, prodejní automaty a další elektronická zařízení obsahují vestavěné systémy. Kompletní počítač by někdy mohl narušovat funkčnost zařízení. Představte si, že byste pro ovládání myčky museli spustit Windows. Obrázek 2 znázorňuje architekturu mikrokontroléru.
Kompilátory ověřují platnost kódu programovacího jazyka na vysoké úrovni, a to jak z hlediska gramatiky, tak alokace paměti. Za těchto okolností se často zobrazují chyby nebo varování a kódy obsahující chyby se v mikrokontroléru neukládají. Jakmile je kód správný, kompilátor jej transformuje do strojového kódu a vypíše HEX soubor, který se načte do paměti mikrokontroléru.
Programovatelná hradlová pole (FPGAs) jsou digitální integrované obvody (IO), které obsahují vyměnitelné (programovatelné) logické bloky a propojení. Konstruktéři mohou tato zařízení programovat tak, aby vykonávala širokou škálu funkcí. V závislosti na jejich konstrukci lze některé FPGA programovat pouze jednou, zatímco jiné lze programovat opakovaně. Není divu, že zařízení, které lze naprogramovat pouze jednou, se nazývá jednorázově programovatelné.
Část názvu FPGA „programovatelný v terénu“ odkazuje na skutečnost, že programování probíhá „v terénu“ (na rozdíl od zařízení, jejichž základní funkce je pevně zapropojena výrobcem). To se může týkat konfigurace FPGA v laboratoři nebo změny provozu zařízení v elektronickém systému, který již byl nasazen v reálném světě. Pokud lze zařízení naprogramovat i v systému vyšší úrovně, říká se, že je programovatelné v systému. Obrázek 3 znázorňuje vývojovou desku pro FPGA.
FPGA se často používají jako koprocesory pro stávající procesory, buď k urychlení časově kritických úloh, nebo k rozšíření funkčnosti typických ALU. Například při použití mikrokontrolérů vyžaduje výpočet rovnic s více než dvěma členy řadu aritmetických a/nebo logických operací a v mnoha případech je nutné přiřadit dočasnou proměnnou. FPGA mohou zlepšit výkon takových systémů paralelním prováděním takových výpočtů s využitím značného množství kombinační logiky.
Běžně se také používají v zakázkových výpočetních systémech, kde je celé výpočetní zařízení vytvořeno a implementováno v FPGA. Často se používají jednočipové mikrokontroléry, které postačují pro určité aplikační potřeby. V tomto případě je třeba napsat pouze software pro požadovanou aplikaci. Hardwarové rozhraní je pro návrh takových systémů nezbytné a často se implementuje pomocí standardních specializovaných čipů. Výsledkem je pevný systém, který nelze změnit bez redesignu hardwaru. FPGA nabízejí v těchto aplikacích značnou flexibilitu, což umožňuje hardwarové přizpůsobení a paralelní zpracování. Obrázek 4 představuje vnitřní blokové schéma vývojové desky FPGA.
Výkon
Protože mikrokontroléry závisí na taktovací frekvenci, mají obvykle nižší výkon než FPGA, jelikož jejich frekvence závisí na návrhu. Většina těchto aplikací je zpracování obrazu a videa.
Spotřeba energie
Mikrokontroléry (MCU) spotřebovávají méně energie než FPGA díky kompaktním rozměrům mikrokontrolérů. Mikrokontroléry jsou ideální pro napájení baterií, střídačů a měničů. Na druhou stranu jsou FPGA lepší v digitálním zpracování obrazu a videa.
Flexibilita a přizpůsobení
Hardwarové nastavení je flexibilní při provozu v FPGA, zatímco v mikrokontrolérech se všechny úpravy provádějí vývojem softwaru. Tato skutečnost učinila mikrokontroléry méně flexibilními než FPGA. Softwarové přizpůsobení je výhodnější u MCU, zatímco hardwarové přizpůsobení je v FPGA snazší.
Doba vývoje a složitost
MCU a FPGA se liší architekturou paměti a výkonovými charakteristikami. Mikrokontrolér má energeticky nezávislou paměť, což znamená, že po vypnutí napájení si MCU uchovají svou paměť, zatímco u FPGA tato funkce chybí kvůli paměti s náhodným přístupem (Random Access Memory) v FPGA. Mikrokontroléry se obvykle programují pomocí programovacích jazyků vyšší úrovně, jako je C/C++, zatímco vývoj FPGA vyžaduje jazyky pro popis hardwaru, jako je Verilog nebo VHDL. Verilog a FPGA jsou hardwarově podporovány, zatímco C/C++ jsou softwarově podporovány.
Základní komponenty
Mikrokontrolér není nic, pokud je integrován s integrovanými obvody (IO), zatímco FPGA většinou obsahují IO a další integrované obvody. Stručně řečeno, obě technologie jsou kombinací integrovaných obvodů a programovacího jazyka vyšší úrovně.
Přizpůsobení
Po výrobě jsou FPGA i mikrokontroléry přeprogramovatelné a jejich funkci lze změnit až po vybudování infrastruktury. FPGA jsou však většinou vhodné pro náročné aplikace, zatímco MCU jako Arduino jsou vhodné i pro jednodušší aplikace.
Mikrokontroléry jsou široce dostupné za nízkou cenu a nabízejí širokou škálu funkcí pro energetické a elektronické aplikace. Používání MCU však vyžaduje znalost programovacích jazyků vyšší úrovně, jako je C/C++. Na druhou stranu jsou FPGA dražší, ale mnohem uživatelsky přívětivější. Mikrokontroléry pracují efektivně s nízkou spotřebou energie, což snižuje potřebu energie. Na druhou stranu FPGA vyžadují vysoký výkon, což pro provoz vyžaduje více energie. Softwarová řešení nejsou přímo přizpůsobována, zatímco hardwarová řešení ano. Střídače, UPS a převodníky jsou ideálními aplikacemi pro MCU, zatímco zpracování videa a obrazu je vhodnější pro FPGA díky jejich paralelním možnostem zpracování.
Oba jsou však závislé na aplikaci. Konstruktéři a inženýři shledali mikrokontroléry (MCU) v embedded systémech sofistikovanějšími kvůli jejich kompaktní velikosti a většina aplikací má velikostní omezení, jako například DC-DC měniče a mnoho dalších aplikací výkonové elektroniky. Na druhou stranu, FPGA jsou odolné a efektivní v oblasti umělé inteligence, zpracování obrazu a videa. FPGA jsou uživatelsky přívětivé a dokáží zvládat náročné výpočty mnohem rychleji než MCU. K používání FPGA je od uživatele potřeba méně odborných znalostí než u MCU.
Rozdíly mezi FPGA, CPLD a MCU jsou popsány v této části.
FPGA vs CPLD
|
Srovnávací aspekt |
FPGA |
CPLD |
|
Vnitřní struktura |
Hjako vyhledávací tabulky |
Has nižší složitost a menší logické bloky |
|
Čas zapnutí |
Tnedává čas |
Tbere si čas |
|
Spotřeba energie |
Požadavek na vysokou spotřebu energie |
Požadavek na nízkou spotřebu energie |
FPGA vs mikroprocesor
|
Srovnávací aspekt |
FPGA |
Mikroprocesor |
|
Funkčnost a flexibilita |
Programvýkonné logické pole, které dokáže provádět více úkolů, včetně zpracování, šifrování a síťování, a nabízí vysokou flexibilitu |
Provádí instrukce pro obecné úkoly, určené pro specifické funkce a postrádá flexibilitu |
|
Provedení úkolu |
Provádí úkoly paralelně a efektivně zpracovává velké datové sady. |
Provádí úlohy postupně |
|
Typ paměti |
Používá nestálou paměť a po výpadku napájení je nutné ji přeprogramovat. |
Používá energeticky nezávislou paměť, která uchovává data i po vypnutí napájení |
|
Případy užití |
Vhodné pro vysokorychlostní výpočty, zpracování datových streamů a zakázkové hardwarové úlohy |
Používá se pro všeobecné výpočty, jako je řízení OS a správa I/O |
MCU i FPGA jsou výhodné pro mnoho digitálních, elektrických a energetických aplikací. Mikrokontroléry jsou ekonomické, spotřebovávají nízkou energii a jsou softwarově výhodné, zatímco FPGA jsou drahé, spotřebovávají vysokou energii a jsou hardwarově přívětivé, ale mají vysoký výkon a snadno se paralelně zpracovávají. MCU si zachovávají své funkce, i když je napájení VYPNUTÉ kvůli paměti RAM, zatímco u FPGA tato funkce chybí kvůli jejich volatilní paměti. Ačkoli se obě varianty vztahují k technologiím založeným na návrhu, uživatel může zvážit spotřebu energie, dobu vývoje, paralelní zpracování a flexibilitu pro aplikaci, kde lze použít obě MCU jako FPGA.
Poptávka montáže
Okamžitá nabídka
Telefonní kontakt
+86-755-27218592
Kromě toho jsme připravili Centrum nápovědy. Doporučujeme si to ověřit, než se na nás obrátíte, protože váš dotaz a odpověď na něj tam již mohou být jasně vysvětleny.
Podpora Wechatu
Kromě toho jsme připravili Centrum nápovědy. Doporučujeme si to ověřit, než se na nás obrátíte, protože váš dotaz a odpověď na něj tam již mohou být jasně vysvětleny.
Podpora WhatsApp
Kromě toho jsme připravili Centrum nápovědy. Doporučujeme si to ověřit, než se na nás obrátíte, protože váš dotaz a odpověď na něj tam již mohou být jasně vysvětleny.