
Slika 1. Pregled FPGA u odnosu na mikrokontroler
An FPGA (Field-Programmable Gate Array) vrsta je integriranog kruga koji vam omogućuje konfiguriranje digitalne logike nakon proizvodnje.Široko se koristi u dizajnu tiskanih ploča kada je potrebno prilagođeno ponašanje hardvera, kao što je stvaranje paralelnih putanja obrade signala ili specijalizirane upravljačke logike.Umjesto pokretanja softverskih uputa, FPGA gradi hardverske sklopove na temelju vašeg dizajna.To ga čini prikladnim za zadatke koji zahtijevaju precizno određivanje vremena i fleksibilnost na hardverskoj razini.U PCB sustavu, on djeluje kao programabilna logička jezgra koja se povezuje s memorijom, senzorima i komunikacijskim sučeljima.Koristite FPGA uređaje za izravnu implementaciju prilagođenih digitalnih sustava na ploču.
A mikrokontroler je kompaktni integrirani krug dizajniran za izvršavanje programiranih naredbi za kontrolu elektroničkih sustava.Obično uključuje procesor, memoriju i ulazno/izlazna sučelja u jednom čipu, što ga čini idealnim za ugrađene PCB aplikacije.Mikrokontroleri se obično koriste za čitanje ulaza, obradu podataka i kontrolu izlaza kao što su LED, motori ili senzori.Oni rade sekvencijalno, slijedeći skup uputa zapisanih u softveru.U PCB dizajnu, oni služe kao glavna upravljačka jedinica za mnoge uređaje, od jednostavnih gadgeta do složenih sustava.Njihova jednostavnost i integracija čine ih popularnim izborom za zadatke usmjerene na kontrolu.
• Logički blokovi (konfigurabilni logički blokovi - CLB)
Ovo su osnovne građevne jedinice FPGA koje izvode digitalne operacije.Svaki logički blok sadrži pregledne tablice (LUT), flip-flopove i multipleksere.LUT-ovi se koriste za implementaciju kombinacijskih logičkih funkcija pohranjivanjem tablica istine.Flip-flops osiguravaju pohranu za sekvencijalnu logiku i kontrolu vremena.Zajedno, ovi elementi omogućuju FPGA-u da formira prilagođene digitalne sklopove.
• Programabilne interkonekcije
Interkonekcije su staze usmjeravanja koje povezuju različite logičke blokove unutar FPGA.Oni omogućuju signalima da putuju između logičkih elemenata na temelju konfiguriranog dizajna.Ove veze su fleksibilne i mogu se reprogramirati kako bi odgovarale različitim rasporedima krugova.Mreža za usmjeravanje osigurava da signali učinkovito stignu do ispravnih odredišta.Ova struktura omogućuje stvaranje složenog strujnog kruga bez fiksnog ožičenja.
• Ulazno/izlazni (I/O) blokovi
I/O blokovi povezuju FPGA s vanjskim komponentama na PCB-u.Oni upravljaju komunikacijom s uređajima kao što su senzori, memorija i procesori.Ovi blokovi podržavaju različite razine napona i standarde signalizacije.Mogu se konfigurirati kao ulazni, izlazni ili dvosmjerni priključci.Ova fleksibilnost omogućuje besprijekornu integraciju s različitim vanjskim sustavima.
• Jedinice za upravljanje satom
Jedinice za upravljanje satom kontroliraju vrijeme i sinkronizaciju unutar FPGA.Oni generiraju i distribuiraju taktne signale različitim dijelovima čipa.Ove jedinice mogu uključivati fazno zaključane petlje (PLL) ili zaključane petlje s kašnjenjem (DLL).Oni pomažu u održavanju stabilnog vremena za pouzdan rad.Pravilna kontrola takta osigurava točnu obradu podataka u cijelom dizajnu.
• Ugrađeni memorijski blokovi (BRAM)
To su ugrađene memorijske jedinice koje se koriste za privremenu pohranu podataka.Omogućuju brz pristup često korištenim podacima unutar FPGA.Block RAM može se konfigurirati u različitim veličinama i načinima.Podržava međuspremnik, predmemoriju i zadatke rukovanja podacima.To smanjuje potrebu za vanjskom memorijom u nekim dizajnima.
• Središnja procesorska jedinica (CPU)
CPU je glavna procesorska jedinica koja izvršava instrukcije.Izvodi aritmetičke, logičke i kontrolne operacije.CPU čita upute iz memorije i obrađuje ih korak po korak.Upravlja protokom podataka unutar sustava.To ga čini glavnim kontrolerom mikrokontrolera.
• Memorija (Flash, RAM, EEPROM)
Mikrokontroleri uključuju različite vrste memorije za pohranu koda i podataka.Flash memorija trajno pohranjuje program.RAM se koristi za privremene podatke tijekom izvođenja.EEPROM se koristi za pohranjivanje malih količina trajnih podataka.Svaki tip ima određenu ulogu u radu sustava.Zajedno podržavaju pouzdano rukovanje podacima.
• Tajmeri i brojači
Tajmeri i brojači koriste se za operacije temeljene na vremenu.Pomažu u generiranju kašnjenja, mjerenju vremenskih intervala i kontroli periodičnih zadataka.Ove su komponente važne za funkcije poput generiranja PWM signala.Također podržavaju brojanje i zakazivanje događaja.To ih čini korisnima u sustavima upravljanja i automatizacije.
• Ulazno/izlazni priključci (GPIO)
GPIO pinovi omogućuju interakciju mikrokontrolera s vanjskim uređajima.Mogu se konfigurirati kao ulaz ili izlaz ovisno o aplikaciji.Ovi priključci čitaju signale sa senzora ili šalju signale aktuatorima.Podržavaju digitalnu komunikaciju s drugim komponentama.GPIO-ovi su dobri za povezivanje sustava.
• Komunikacijska sučelja
Mikrokontroleri uključuju ugrađene komunikacijske module kao što su UART, SPI i I2C.Ova sučelja omogućuju razmjenu podataka s drugim uređajima.Podržavaju serijske komunikacijske protokole koji se obično koriste u ugrađenim sustavima.To omogućuje povezivanje sa senzorima, zaslonima i drugim upravljačima.Ova sučelja pojednostavljuju integraciju sustava.

Slika 2. FPGA blok dijagram
FPGA blok dijagram prikazuje središnji programabilni uređaj povezan s više vanjskih komponenti preko fleksibilnih sučelja.Obično se povezuje s memorijskim modulima kao što su SDRAM i flash memorija za rukovanje podacima.Komunikacijska sučelja kao što su UART, RS-485 i JTAG omogućuju interakciju s vanjskim sustavima i alatima za uklanjanje pogrešaka.Dijagram također uključuje ulazno/izlazne veze za senzore i upravljačke signale.Izvor takta daje vremenske signale kako bi se osigurao sinkronizirani rad.Struktura naglašava kako FPGA djeluje kao središnje logičko čvorište u sustavu.Upravlja protokom podataka između perifernih uređaja bez fiksne interne arhitekture.

Slika 3. Blok dijagram mikrokontrolera
Blok dijagram mikrokontrolera prikazuje centraliziranu procesorsku jedinicu povezanu s internom memorijom i periferijama preko sustava sabirnice.CPU komunicira s ROM-om i RAM-om radi izvršavanja i pohranjivanja instrukcija.Ulazno/izlazni priključci omogućuju interakciju s vanjskim uređajima kao što su senzori i zasloni.Tajmeri i brojači upravljaju operacijama vezanim uz mjerenje vremena unutar sustava.Oscilator daje signal sata koji pokreće cijelu operaciju.Kontrola prekida upravlja vanjskim i unutarnjim rukovanjem događajima.Ova struktura prikazuje kompaktan i integrirani sustav dizajniran za zadatke upravljanja.
|
Prednosti |
Nedostaci |
|
Vrlo fleksibilan
hardverska konfiguracija omogućuje prilagođeni dizajn digitalnih sklopova. |
Složen dizajn
proces koji zahtijeva jezike za opis hardvera. |
|
Podržava istinito
paralelna obrada za operacije velike brzine. |
Veći trošak
u usporedbi s jednostavnijim ugrađenim rješenjima. |
|
Mogućnost reprogramiranja
više puta za različite aplikacije. |
Dulje
vrijeme razvoja zbog dizajna i testiranja. |
|
Može podnijeti
složene zadatke obrade signala i podataka. |
Zahtijeva
specijalizirani alati i stručnost. |
|
Skalabilan
arhitektura prikladna za napredne sustave. |
Veća snaga
potrošnja u nekim izvedbama. |
|
Prednosti |
Nedostaci |
|
Niska cijena i
široko dostupan za mnoge primjene. |
ograničeno
procesorska snaga za složene zadatke. |
|
Jednostavan za programiranje
koristeći uobičajene jezike poput C/C++. |
Sekvencijalni
izvođenje ograničava paralelnu obradu. |
|
Integrirano
komponente smanjuju potrebe za vanjskim hardverom. |
Ograničena memorija
u usporedbi s većim sustavima. |
|
Mala snaga
potrošnja prikladna za prijenosne uređaje. |
Manje fleksibilan
hardverska konfiguracija. |
|
Brz razvoj
ciklus za ugrađene sustave. |
Izvedba
ovisi o fiksnoj arhitekturi. |

Primjer FPGA koda koristi jezik opisa hardvera kao što je VHDL za definiranje ponašanja kruga.Umjesto pisanja uputa, kod opisuje kako se signali mijenjaju i međusobno djeluju.Definira ulaze, izlaze i kako sustav reagira na signale takta.Struktura uključuje entitete i arhitekture za organiziranje dizajna.Procesni blok kontrolira kako se signali ažuriraju na temelju događaja poput rubova sata.Ovaj pristup izravno modelira ponašanje hardvera umjesto izvršavanja sekvencijalnih naredbi.Omogućuje stvaranje prilagođene digitalne logike unutar FPGA.

Primjer koda mikrokontrolera koristi programski jezik kao što je C za izvršavanje instrukcija korak po korak.Započinje postavljanjem hardverskih registara i definiranjem konfiguracija pinova.Glavna funkcija radi kontinuirano, izvršavajući zadatke u petlji.Upute kontroliraju izlaze poput uključivanja i isključivanja LED-a.Funkcije odgode koriste se za stvaranje vremenskih efekata.Ovaj pristup slijedi model sekvencijalnog izvršenja.Jednostavan je i široko se koristi za programiranje ugrađenih sustava.
1. Sustavi industrijske automatizacije
FPGA se koriste za upravljanje i obradu signala u industrijskim strojevima.Obrađuju podatke velike brzine i točne vremenske zahtjeve.Mikrokontroleri upravljaju senzorima, motorima i upravljačkom logikom u sustavima automatizacije.Zajedno omogućuju pouzdan i učinkovit rad.Ova kombinacija poboljšava performanse i kontrolu sustava.
2. Potrošačka elektronika
Mikrokontroleri se široko koriste u uređajima kao što su perilice rublja, televizori i daljinski upravljači.Učinkovito upravljaju korisničkim unosima i funkcijama sustava.FPGA se koriste u naprednim uređajima koji zahtijevaju brzo rukovanje podacima, kao što su jedinice za video obradu.Ove aplikacije imaju koristi od kompaktnog i učinkovitog dizajna.Obje tehnologije podržavaju moderne elektroničke proizvode.
3. Komunikacijski sustavi
FPGA se koriste u mrežnoj opremi za usmjeravanje podataka i obradu signala.Podržavaju komunikacijske protokole velike brzine.Mikrokontroleri upravljaju funkcijama upravljanja i nadzora u komunikacijskim uređajima.Ove uloge osiguravaju stabilan i učinkovit prijenos podataka.Ovo je važno u modernoj komunikacijskoj infrastrukturi.
4. Medicinski uređaji
Mikrokontroleri upravljaju funkcijama u uređajima poput monitora srca i infuzijskih pumpi.Oni osiguravaju pouzdan rad uz malu potrošnju energije.FPGA se koriste u slikovnim sustavima za brzu obradu podataka.Ove aplikacije zahtijevaju točnost i pouzdanost.Obje tehnologije podržavaju zdravstvene sustave.
5. Automobilski sustavi
Mikrokontroleri upravljaju kontrolnim jedinicama motora, senzorima i sigurnosnim sustavima.Osiguravaju učinkovit rad vozila.FPGA se koriste u naprednim sustavima pomoći vozaču za obradu podataka.Ovi sustavi poboljšavaju sigurnost i performanse.Automobilska elektronika uvelike se oslanja na obje tehnologije.
6. Zrakoplovstvo i obrana
FPGA se koriste za brzu obradu podataka i sigurne komunikacijske sustave.Podržavaju složene zadatke analize signala i upravljanja.Mikrokontroleri upravljaju nadzornim i upravljačkim funkcijama u ugrađenim sustavima.Ove aplikacije zahtijevaju visoku pouzdanost i preciznost.Obje tehnologije igraju ključne uloge u kritičnim sustavima.
|
Značajke |
FPGA |
Mikrokontroler |
CPLD |
|
Logički resursi |
~10K do >10M
logička vrata (ili LUT-ovi) |
Nije primjenjivo
(temeljen na procesoru) |
~1K do ~100K
kapije |
|
Brzina sata |
~50 MHz do 500+
MHz (ovisno o dizajnu) |
~1 MHz do 600
MHz (tipični MCU-ovi)
|
~50 MHz do 200
MHz |
|
Stil obrade |
Prava paralela
hardversko izvođenje |
Sekvencijalni
izvođenje instrukcija |
Ograničena paralela
logika |
|
Konfiguracija
metoda |
Zasnovan na SRAM-u/Flashu
bitstream učitan pri pokretanju |
Firmware pohranjen
u Flash memoriji |
Neisparljiv
konfiguracija (EEPROM/Flash) |
|
Programiranje
Jezik |
VHDL, Verilog
(HDL) |
C, C++, sklop |
VHDL, Verilog |
|
Interna memorija |
Blokiraj RAM: ~10
KB do nekoliko MB |
Flash: ~8 KB–2
MB, RAM: ~2 KB–512 KB |
Vrlo ograničeno
(nekoliko KB ekvivalenta) |
|
I/O pinovi |
~50 do 1000+
konfigurabilni I/O |
~6 do 200 GPIO
igle |
~30 do 500 I/O |
|
Snaga
Potrošnja |
~1 W do 10+ W
(ovisi o veličini/dizajnu) |
~1 mW do 500 mW |
~10 mW do 1 W |
|
Vrijeme pokretanja |
ms u sekunde
(potrebno je učitavanje konfiguracije) |
µs do ms
(instant iz Flasha) |
Instant
(neisparljiv) |
|
Unos dizajna |
Hardverski sklop
definicija |
Softverski program
razvoju |
Logički dizajn
(jednostavniji od FPGA) |
|
Vanjski
Komponente |
Često zahtijeva
vanjska memorija (DDR, Flash) |
Minimalno (obično
samostalan) |
Minimalno vanjsko
komponente |
|
Rekonfiguracija |
Potpuno
reprogramabilni, neograničeni ciklusi |
Mogućnost reprogramiranja
firmware |
Mogućnost reprogramiranja
ali ograničene veličine |
|
Tipična uporaba
Skala |
Visoka složenost
digitalni sustavi |
Mali do srednji
ugrađeni sustavi |
Mala kontrola
i logika sučelja |
|
Razvoj
Ciklus |
Tjednima do mjesecima |
Dana do tjedana |
Dana do tjedana |
FPGA i mikrokontroleri uglavnom se razlikuju po načinu na koji obrađuju podatke, pri čemu FPGA nude paralelno hardversko izvršavanje, a mikrokontroleri koji se oslanjaju na sekvencijalno softversko upravljanje.Njihove unutarnje komponente, strukture sustava i metode programiranja odražavaju te razlike, čineći svaki pogodnim za specifične primjene.FPGA se ističu u brzim, prilagodljivim logičkim zadacima, dok su mikrokontroleri idealni za kontrolno orijentirane i troškovno učinkovite dizajne.Zajedno igraju važne uloge u industrijama kao što su automatizacija, komunikacija, automobilska industrija i zdravstveni sustavi.
Molimo pošaljite upit, odmah ćemo odgovoriti.
Da, ali ovisi o aplikaciji.FPGA može replicirati upravljačke funkcije, ali je često složeniji i skuplji u usporedbi s mikrokontrolerom za jednostavne zadatke.
Mikrokontroleri su optimizirani za rad niske potrošnje s integriranim komponentama i načinima mirovanja.FPGA troše više energije zbog konfigurabilne logike i paralelne obrade.
Ne, FPGA ne zahtijevaju operativni sustav jer izravno implementiraju hardversku logiku.Mikrokontroleri mogu raditi bez OS-a, ali ga mogu koristiti za složene aplikacije.
Da, mnogi sustavi kombiniraju oboje.FPGA upravlja velikom brzinom obrade, dok mikrokontroler upravlja kontrolnim i komunikacijskim zadacima.
FPGA koriste jezike za opis hardvera kao što su VHDL ili Verilog, dok se mikrokontroleri obično programiraju pomoću C ili C++.
na 2026/03/30
na 2026/03/27
na 8000/04/18 147772
na 2000/04/18 112009
na 1600/04/18 111351
na 0400/04/18 83768
na 1970/01/1 79565
na 1970/01/1 66960
na 1970/01/1 63100
na 1970/01/1 63040
na 1970/01/1 54097
na 1970/01/1 52184