Czy lubisz tworzyć interaktywne i wbudowane systemy?

FPGA i mikrokontrolery to dwa najpopularniejsze elementy wykorzystania inżynierów elektrycznych lub hobbystów. Oba mogą być zaprogramowane do wykonywania pewnych funkcji. Możliwości są nieograniczone, jeśli znasz podstawy, i to, co przyjrzymy się poniżej. Zanim jednak zaczniemy, czy wiesz o różnicach między nimi?

Ważne jest, aby znać różnice między układami FPGA, mikroprocesorami i mikrokontrolerami, aby wybrać odpowiedni dla twojego projektu.

Przygotowaliśmy szczegółowy przewodnik skupiający się na różnicach między różnymi komponentami, aby Twój projekt mógł odnieść sukces i okazać się wydajny.

1、FPGA

1.1 Co to jest FPGA?

FPGA jest skrótem od Field-Programmable Gate Array i jest rodzajem układu scalonego. Inżynier lub projektant może zaprogramować go po produkcji do wykonywania różnych zadań.

FPGA są wyposażone w wiele programowalnych bloków logicznych i struktur połączeń, które można ponownie skonfigurować w celu ponownego łączenia. Bramy logiczne mogą być połączone w trybie przewodowym przy użyciu różnych konfiguracji, które pozwalają na ich połączenie. Można wykonywać złożone funkcje kombinowane, konfigurując bloki logiczne i bezpieczne bramy logiczne, takie jak XOR i AND.

Znajdziesz tu również składniki pamięci w FPGA, takie jak kompletne bloki pamięci i proste klapki.

Układy FPGA znajdują się w samochodach, centrach danych, sprzęcie medycznym, narzędziach do przetwarzania obrazu i wideo, komunikacji przewodowej i tak dalej.

Zdjęcie 1: FPGA vs Mikrokontroler

1.2 Programowanie FPGA

Programowanie FPGA to proces konfigurowania lub ponownej konfiguracji IC przy użyciu kodów opisowych języków sprzętowych, takich jak VHDL i Verilog. Dzięki programowaniu układy FPGA mogą wykonywać określone funkcje, łącząc bloki logiczne i połączenia.

Język programowania FPGA

Język programowania dla sprzętu FPGA o nazwie Opis języka, ponieważ jest przeznaczony do projektowania lub opisywania sprzętu. Dwa języki powszechnie używane do programowania UKŁADÓW FPGA to VHDL i Verilog HDL.

Vhdl

Departament Obrony USA opracował VHDL, język VHSIC (Very High Speed Integrated Circuits). Departament zbadał język w 1980 roku do tworzenia obwodów dużych prędkości. Została ona przyjęta jako norma IEEE 1076 w roku 1987.

Jest szeroko stosowany do projektowania analogowych obwodów sygnału mieszanego i cyfrowego.

Verilog HDL

D. Warmke, C.-L, stworzył język. Huang, P. Goel i P. Moorby do przeprowadzenia symulacji i bramy modelu w 1984 roku dla symulatora logiki. Cadence przejął projekt w 1990 roku i nabył IEEE Standard 1364 w 1995 roku.

Służy do sprawdzania poprawności i projektowania obwodów cyfrowych, a także obwodów sygnału analogowego lub mieszanego.

1.3 Płyta FPGA

Układy FPGA są układami scalonymi przeznaczonymi do wykonywania określonych zadań. FPGA można kupić jako samodzielny produkt lub wybrać płyty FPGA używane do emulacji i rozwoju.

Płyty FPGA ułatwiają pracę i nie wymagają zakupu dodatkowych urządzeń peryferyjnych. Panele mają pewne formy zewnętrznej pamięci masowej i są wyposażone w pamięć RAM i ROM do wykonywania zadań. Można również znaleźć przełączniki, diody LED, nagłówki rozszerzeń pinów, klapki i niezbędne porty we/wy.

Może to być opłacalna opcja zakupu płyty FPGA, a nie inwestowanie w oddzielne elementy sprzętu.

1.4 FPGA Samouczek

Byłoby to pomocne, gdybyś zrozumiał cyfrowy projekt logiki i znajomość pojęć, takich jak bramy logiczne i sekwencyjne i kombinowane obwody logiczne. Następnie możesz nauczyć się języka programowania Verilog lub VHDL, aby skonfigurować FPGA.

Jeśli chcesz uzyskać pomoc, wiele filmów online może być użytych do uzyskania instrukcji krok po kroku. Istnieje również wiele przewodników i tutoriali dostępnych w Internecie, aby nauczyć się programowania FPGA.

Teraz przyjrzymy się mikrokontrolerom w naszym następnym rozdziale.

2、Mikrokontroler

Mikrokontrolery są jak komputery z pamięcią RAM, ROM, portami We/Wy i innymi urządzeniami peryferyjnymi do wykonywania określonych zadań. Można znaleźć różne mikrokontrolery, takie jak mikrokontroler Arduino i mikrokontroler.

Zdjęcie 2: FPGA vs Mikrokontroler

Mikrokontroler

Microchip Technology produkuje mikrokontrolery na podstawie PIC1650 opracowanego przez General Instrument. Wcześniejsze wersje ukazały się w 1976 roku, a firma sprzedała ponad dwanaście miliardów zestawów do 2013 roku.

Mikrokontrolery można przeprogramować i wykorzystać pamięć flash do przechowywania. Mikrokontrolery są dostępne w różnych modelach, a nowoczesne wykorzystują wydajne chipy z instrukcjami cyfrowego przetwarzania sygnału.

Można je kupić w różnych kombinacjach pinów, od 6 pinów do 144 pin chipów. Zawiera również porty komunikacyjne, USB, piny We/Wy oraz moduły ADC i DAC. Można użyć dostarczonego przez firmę oprogramowania do programowania mikrokontrolerów.

Programowanie mikrokontrolerów

Mikrokontrolery mogą być programowe przy użyciu różnych języków montażowych. Obecnie używanych jest również wiele języków programowania wysokiego poziomu, takich jak JavaScript, Python i C. Niektóre języki zostały zaprojektowane w oparciu o celowo, podczas gdy inne są ogólne języki programowania, takie jak C.

Języki ogólnego przeznaczenia mogą być wyposażone w pewne ograniczenia, a także funkcje obsługujące unikalne możliwości mikrokontrolera. Producenci również zwolnić środowisko programowania dla użytkowników, aby pomóc w jego rozwoju.

W następnym rozdziale przyjrzymy się różnicom między mikroprocesorami a mikrokontrolerami.

3、Mikroprocesor vs. Mikrokontroler

Wiele osób używa terminów mikroprocesor i mikrokontroler zamiennie, ale są to dwie zupełnie różne rzeczy. Można znaleźć pewne podobieństwa między nimi, a oba są przeznaczone do prowadzenia działań w czasie rzeczywistym.

Mikroprocesory i mikrokontrolery nie mogą być zróżnicowane tylko przez badanie wizualne, a oba są rodzajami układów sytłe ic. Możesz znaleźć różne wersje na rynku, począwszy od 6 pinów do maksymalnie 100 pinów w zależności od celu i funkcji.

Zdjęcie 3:FPGA vs Mikrokontroler

3.1 Różnica między mikroprocesorem a mikrokontrolerem

Mikroprocesory to układy scaleni z komputerem lub procesorem w środku i wyposażone w moc obliczeniową. Przykładami mogą być Pentium 3, 4, i5, dwa podstawowe duety i inne znalezione w komputerach.

Nie znajdziesz urządzeń peryferyjnych, takich jak RAM, ROM na chipie. Urządzenia peryferyjne są dostarczane z chipa przez projektanta, aby osiągnąć funkcjonalność.

Sam mikrokontroler to komputer z pamięcią RAM, ROM, zegarami, portami we/wy i innymi urządzeniami peryferyjnymi. Są one również znane jako komputer na jednym chipie lub mini-komputerach z tego powodu. Istnieje wiele mikrokontrolerów dostępnych obecnie z różnymi funkcjami w różnych wersjach.

Mikroprocesory są nieporęczne ze względu na zewnętrzne urządzenia peryferyjne, podczas gdy mikrokontrolery są mniejsze. Mikroprocesory stanowią serce systemu komputerowego, podczas gdy mikrokontrolery napędzają systemy wbudowane.

Mikrokontrolery są zaprojektowane do wykonywania określonych zadań, w których zdefiniowano wejście i wyjście. Niektóre przetwarzanie odbywa się w oparciu o charakter aplikacji, a praca jest generowana. Specyfika zadań wymaga znacznie mniejszego wykorzystania portów We/Wy, pamięci RAM, ROM i może być wykonana w celu dostosowania się do jednego układu.

Zalety obejmują niższe koszty i można je znaleźć w urządzeniach takich jak piloty, telefony komórkowe, klawiatury, pendrive'y, aparaty cyfrowe itp.

Mikroprocesory nie są używane do określonych zadań, ale do zadań wieloasetowych, takich jak tworzenie gier, oprogramowania, witryn internetowych i edycji wideo. Relacja między wejściem a wyjściem nie jest zdefiniowana w tym przypadku.

Mikroprocesory są przeznaczone do wykonywania złożonych zadań i osiągania taktowania znacznie wyższych niż mikrokontrolery. Nowoczesne mikroprocesory mogą przekraczać 1 GHz, podczas gdy mikrokontrolery osiągają maksymalnie od 30 do 50 MHz.

Kolejna różnica jest związana z kosztem. Możesz kupić mikrokontroler w znacznie niższej cenie niż mikroprocesor. Jednak użycie mikrokontrolera zamiast mikroprocesora jest nieodpowiednie podczas stosowania mikroprocesora zamiast mikrokontrolera sprawia, że aplikacja jest kosztowna.

Koszt jest również mniejszy, ponieważ mikrokontrolery są konfigurowane przy użyciu technologii CMOS. Mikroprocesory wymagają wielu komponentów zewnętrznych do działania i staje się drogie w końcu.

Mikrokontrolery mają system oszczędzania energii, podczas gdy mikroprocesory są pozbawione takiej funkcji. Mikroprocesory zużywają również mniej energii w porównaniu z mikroprocesorem, ponieważ nie potrzebują wkładu ze składników zewnętrznych.

Architektura Harvardu służy do projektowania mikrokontrolera z określoną pamięcią informacyjną i programowaniem. Mikroprocesory są zaprojektowane z architekturą von-Neumann, gdzie pamięć jest przesyłana do równoważnego modułu pamięci.

Mikroprocesory nie potrzebują tylu rejestrów co mikrokontrolery. Te pierwsze mają operacje oparte na pamięci, a drugie sprawia, że programy są bardziej dostępne do pisania.

Omówiliśmy różnice między mikroprocesorami a mikrokontrolerami i powinniście już dobrze zrozumieć oba te elementy. Teraz zbadamy różnice między FPGA a mikrokontrolerami.

4、FPGA vs Mikrokontrolery

Mikrokontrolery i układy FPGA to dwa najważniejsze narzędzia używane zarówno przez hobbystów, jak i inżynierów elektryków. Konieczne jest, aby przejść przez dyskusję o FPGA vs mikrokontroler do rozróżnienia między nimi.

Jednak, po pierwsze, przyjrzymy się podobieństwa też! Oba składniki są przeznaczone do monitorowania wartości wyjściowych i efektu na podstawie wartości wyjściowej w szerszym znaczeniu. Można utworzyć architekturę mikrokontrolera przy użyciu FPGA, ale odwrotność nie jest możliwa.

Zdjęcie 4: FPGA vs Mikrokontroler

4.1 Różnica między FPGA a mikrokontrolerami

Prawie każde urządzenie komputerowe jest wyposażone w wbudowany mikrokontroler do wykonywania zadań i interakcji. Strukturę mikrokontrolera można porównać z strukturą komputera, który ma wszystkie niezbędne urządzenia peryferyjne, takie jak pamięć, porty wejściowo-wyjściowe i czasomierze. Może być zaprogramowany do wykonywania prostych zadań w imieniu innego sprzętu.

FPGA to układ scalony, który jest wyposażony w miliony bramek logicznych i może być wykonany do wykonywania zadań poprzez programowanie bramek logicznych. FPGA potrzebują zewnętrznych urządzeń peryferyjnych, takich jak pamięć RAM i ROM do jego zastosowania.

Mikrokontroler używa oprogramowania do wykonywania poleceń kolejno, takich jak C, C++. Połączenie programistyczne FPGA znajduje się w obwodzie logicznym i korzysta z rozwiązań programistycznych, takich jak VHDL i Verilog.

Moc obliczeniowa mikrokontrolerów jest ograniczona czasowo i opiera się na mocy obliczeniowej procesora. FPGA są ograniczone miejsca; musisz utworzyć więcej obwodów logicznych, aby osiągnąć żądaną skalę kodowania.

Układy FPGA są bardziej wszechstronne i elastyczne ze względu na swój charakter. Są one "programowalne w terenie" - można przeprogramować FPGA, aby wykonać dowolne zadanie logiczne, które można pomieścić w dostępnych bramkach logicznych. Bramy logiczne mogą być rewired tyle razy, ile jest to wymagane, aby zmienić program i wykonać inne zadanie.

Mikrokontrolery mogą wykonywać ograniczone zadania, ponieważ pochodzą z instrukcjami i ich obwodami. Programista musi przestrzegać ograniczeń podczas opracowywania kodu.

Te dwa różnią się również metodami stosowanymi do przetwarzania instrukcji. Mikrokontrolery odczytywane kolejno przez każdy wiersz programu; oznacza to, że polecenia są również przetwarzane w kolejności. FPGA mogą przetwarzać zamówienia jednocześnie i mogą wykonywać wiele wierszy kodów w danym momencie. Są one również okablowane, podobnie jak obwód elektryczny, dzięki czemu można uzyskać odpowiednie obwody równoległe.

Jednak w mikrokontrolerach procesor przełącza się z jednego kodu do drugiego, aby osiągnąć pewien poziom równoległości. Łatwiej będzie napisać następujące kody na mikrokontrolerach niż FPGA.

Możliwość przetwarzania równoległego układów FPGA umożliwia skuteczne kontrolowanie przerw dzięki zastosowaniu maszyn fsm (Finite State Machines). W przypadku mikrokontrolerów należy wziąć pod uwagę czas, który został przekroczona przez ISR w celu rozwiązania przerwy.

Możesz łatwo przełączyć FPGA po prostu przeprogramowując go. Konfiguracja w FPGA jest ładowana na konfigurowalne komórki logiczne po włączeniu zasilania. Nie trzeba wprowadzać żadnych zmian w sprzęcie, aby przeprogramować fpga.

Mikrokontrolery mogą wykonywać program i wykonywać zadania ogólne. Jeśli chcesz zmienić zestaw instrukcji płyty, musisz zmodyfikować układ silikonowego układu siodłowego.

Układy FPGA nadają się do szybkiego przetwarzania danych równoległych i mają wysoki stopień dostosowania. Jednak mają one również wady działania prototypu i złożoność konfiguracji.

Potrzeba czasu, aby utworzyć funkcję FPGA, ponieważ trzeba skompilować wszystkie kody od podstaw, a następnie przekonwertować je na język maszynowy. W przypadku mikrokontrolerów można znaleźć gotowe pakiety do wykonywania określonych zadań i dostosowywania ich do własnych potrzeb.

Mikrokontrolery są proste w obsłudze i konfiguracji i mogą obsługiwać szybkie dane sekwencyjne. Brakuje im jednak niektórych cech układów FPGA. Mikrokontrolery są bardziej elastyczne, jeśli chodzi o programowanie, ale nie można ich dokładnie dostosować za pomocą sprzętu.

Będziesz również zmierzyć się ze stromą krzywą uczenia się, gdy masz do czynienia z programowaniem FPGA. Można dostosować metodę prób i błędów oraz przetestować swoje zmiany za pomocą mikrokontrolerów.

W przypadku różnic między mikrokontrolerem a FPGA należy również uwzględnić zużycie energii. Omówimy ten temat w następnym rozdziale.

5、FPGA vs. Pobór mocy mikrokontrolera

Wiadomo, że układy FPGA zużywają więcej energii niż mikrokontrolery z różnych powodów. Może stanowić wyzwanie dla inżynierów, którzy są obecnie do wytwarzania wydajnych systemów zasilania. Układy FPGA mogą przekraczać ograniczenia mocy wbudowanego systemu i mogą nie być odpowiednie do wszystkich celów.

FPGA zostały wykorzystane do emulacji i prototypowania, ale nie są tak wydajne jak inne komponenty, takie jak ASIC. Można przeprogramować FPGA, ale będzie pochodzić z wadą nieefektywności, jak wykorzystanie logiki staje się niska z powodu ograniczeń miejsca i trasy.

Zużywa również dużą moc dzięki nieużywanym tranzystorom. Nieefektywne drzewa zegarowe i rozszerzone ścieżki sygnału również przyczyniają się do zwiększonego zużycia energii.

FPGA do zadań o dużej szybkości wykraczających poza możliwości mikrokontrolera. Z tego powodu układy FPGA nie są zoptymalizowane pod kątem zużycia energii. Mikrokontrolery mają szybkość przetwarzania zaledwie kilku MHz i zużywają znacznie mniej energii w porównaniu do układów FPGA.

Tryby bezczynności lub oszczędzania energii można również znaleźć w trybach bezczynności lub oszczędzania energii na mikrokontrolerach, co w wielu przypadkach jest dla nich zrównoważonym wyborem. Niektóre z nich mają prądy snu mniejsze niż 1 μA i mogą działać z kilkoma μA podczas powolnych taktowania.

Nie będziesz w stanie znaleźć żadnych FPGA z tak niskimi wymaganiami mocy na rynku. Dlatego wiele systemów FPGA wykorzystuje mikrokontroler na płycie, aby zwiększyć wydajność energetyczną.

Zdjęcie 5: FPGA vs Mikrokontroler

6、Wniosek

Możemy pomóc w zakupie układów scalonych i płytek produkcji zgodnie z dokładnymi specyfikacjami i preferencjami.

Wszelkie pytania dotyczące produkcji i montażu PCB prosimy o kontakt; zawsze chętnie ci pomożemy.