Field Programmable Gate Array (FPGA) vs. Mikrocontroller – Was ist der Unterschied?
Ein feldprogrammierbares Gate oder Grid Array (FPGA) und ein Mikrocontroller sind ähnlich, aber nicht gleich. Sie sind beide im Wesentlichen „kleine Computer“ oder integrierte Schaltkreise, die in andere Geräte und Produkte eingebettet sind. Der Hauptunterschied liegt im Titel. Benutzer können die Hardware von FPGAs nach der Herstellung programmieren, was sie „feldprogrammierbar" macht, während Mikrocontroller nur auf einer oberflächlicheren Ebene anpassbar sind. Außerdem können FPGAs parallele Eingänge verarbeiten, während Mikrocontroller eine Zeile lesen Code auf einmal.
Da sie ein höheres Maß an Personalisierung ermöglichen, sind FPGAs sowohl teurer als auch schwieriger zu programmieren. Im Gegensatz dazu sind Mikrocontroller kostengünstig, aber viel weniger anpassbar. Erfahren Sie mehr über die Ähnlichkeiten und Unterschiede zwischen Mikrocontrollern und FPGAs. Das eine ist nicht unbedingt besser als das andere – bei der Entscheidung, welches verwendet werden soll, sollten mehrere Faktoren berücksichtigt werden.
Was ist ein Mikrocontroller?
Ein Mikrocontroller (MCU) ist im Grunde ein kleiner Computer. Er hat dieselben Elemente wie andere Computer, einschließlich einer zentralen Verarbeitungseinheit (CPU), etwas Direktzugriffsspeicher (RAM) und Input und Ausgabegeräte. Im Gegensatz zu einem Desktop-Computer, der Tausende von verschiedenen Programmen ausführen kann, ist ein Mikrocontroller ein Spezialgerät, das ein Programm ausführt.
Es wurde entwickelt, um eine Sache wiederholt, automatisch oder auf Benutzerwunsch zu tun. Es ist in ein anderes Gerät eingebettet, egal ob es sich um ein Verbraucher-, Hersteller-, medizinisches oder anderes Produkt handelt. Es läuft mit wenig Energie — Sein Stromverbrauch ist in Milliampere messbar. Daher sind Mikrocontroller in der Regel erschwinglich. Die Kosten für das Gerät, in das er eingebettet ist, können jedoch stark variieren.
Sie finden Mikrocontroller überall in Ihrem Alltag. Hier sind einige der Verbrauchergeräte, in die ein Mikrocontroller eingebettet ist:
- Tastaturen
- Monitore
- Drucker
- Kopierer
- Faxgeräte
- Telefone
- Fernsehfernbedienungen
- Mikrowellen
- Waschmaschinen und Trockner
- Rasensprenger
- Kinderspielzeug
Zusätzlich zu Konsumgütern sind Mikrocontroller auch in die folgenden Geräte eingebettet:
- Ampeln
- Motorsteuerungssysteme für Autos
- Elektrowerkzeuge
- Implantierbare medizinische Geräte
Dies sind nur einige Beispiele – Mikrocontroller sind in alle Arten von Geräten eingebettet, auf die wir uns in der modernen Gesellschaft verlassen. Jeder Mikrocontroller hat einen bestimmten, sich wiederholenden Zweck. Er kann automatisch mit einem Feedback-Steuerungssystem arbeiten , wie Sie es bei Ampeln finden würden. Oder es kann auf Eingabesignale des Benutzers reagieren, wie das Umlegen eines Schalters oder das Drücken einer Taste. Letzteres Konzept gilt für Ihre Mikrowellen-, Waschmaschinen- und Fernsehfernbedienung.
Was ist ein feldprogrammierbares Grid Array?
Ein feldprogrammierbares Gate oder Grid Array ist etwas komplizierter als ein Mikrocontroller. Meistens ist ein Chip vorprogrammiert. Als Benutzer können Sie die Software ändern, aber nicht Dies bringt uns zum bestimmenden Element eines FPGA – Sie, der Benutzer, können seine Hardware nach dem Kauf konfigurieren.
Ingenieure finden dies besonders nützlich für das Prototyping ihrer eigenen anwendungsspezifischen integrierten Schaltungen. Tatsächlich verwendet Intel eine Form von FPGA, um ihren eigenen Prototyping-Prozess zu rationalisieren. FPGAs sind auch nützlich, weil die Geräte, in denen sie enthalten sind FPGAs sind eingebettet und können geändert werden, ohne dass völlig neue Hardware erforderlich ist.
Wie das Beispiel „FPGAs für Dummies“ zeigt, könnten sich Vorschriften dahingehend ändern, dass Rückfahrkameras von Fahrzeugen schneller arbeiten. Wenn diese Kameras auf FPGAs laufen, können Hersteller diese Änderung ohne teure Installation vornehmen , völlig neue Hardware. Sie können das FPGA in der Rückfahrkamera jedes Autos einfach neu programmieren. Autos, die bereits auf der Straße sind, können geändert werden, anstatt veraltet zu sein.
Wie funktioniert es?
FPGAs haben ein „Array“ aus integrierten Hardwareschaltkreisen – diese Arrays sind Gruppen programmierbarer Logikblöcke. Während der Herstellung wurde ein FPGA nicht für eine bestimmte Funktion konfiguriert. Stattdessen kann der Benutzer dies tun konfigurieren und später nach Belieben neu konfigurieren.
Der Benutzer tut dies mit einer Hardwarebeschreibungssprache (HDL). Ein FPGA hat Logikblöcke wie AND und XOR, die der Benutzer mit Verbindungen zusammensetzen kann. Moderne FPGAs haben viele Logikgatter und RAM-Blöcke, damit sie komplexe Berechnungen aufnehmen können. Einige FPGAs haben auch Analog-Digital-Wandler oder Digital-Analog-Wandler, ähnlich wie feldprogrammierbare analoge Arrays (FPAAs).
Wie sie ähnlich sind
Sowohl FPGAs als auch Mikrocontroller haben denselben grundlegenden Zweck – sie sind beide so gebaut, dass ein Hersteller oder Endbenutzer ihre Funktion bestimmen kann. Sie führen beide spezifische Anwendungen aus und sind in andere eingebettet Geräte, ob Ampel oder Waschmaschine. Diese Vielseitigkeit ist der Grund, warum Sie sie überall um sich herum finden. Alles, was wir tun, ist dank dieser kleinen integrierten Schaltkreise einfacher.
Für ein ungeschultes Auge sehen sie ungefähr gleich aus. Beide sind flache, quadratische, winzige Chips, die von programmierbaren Stiften umgeben sind. Sie sind beide im Wesentlichen Miniaturcomputer, die für einen bestimmten Zweck programmiert wurden. Dafür Aus diesem Grund können weder ein FPGA noch ein Mikrocontroller als Personal- oder Desktop-Computer dienen, sondern sie folgen Befehlen, um eine Funktion mit unterschiedlicher Komplexität auszuführen.
Basiskomponenten
Diese Geräte haben mehrere grundlegende Ähnlichkeiten. Tatsächlich bestehen sie aus den gleichen Grundkomponenten. Ein FPGA und ein Mikrocontroller sind beides integrierte Schaltkreise, die mit Computerlogik und Binärprogrammen arbeiten.
Eine integrierte Schaltung ist ein Satz elektronischer Schaltungen auf einem flachen Chip, der aus Halbleitermaterial – oft Silizium – besteht. Er kann Berechnungen durchführen und Daten speichern. Integrierte Schaltungen verwenden entweder digitale oder analoge Technologie – Wie oben erwähnt, können einige FPGAs zwischen den beiden umwandeln.Digitale Technologie verwendet Binärlogik, während analoge Technologie eine lineareFunktion eines Eingangs bestimmt, um einen Ausgang zu berechnen.
Dieses grundlegende Konzept, die Eingabe bestimmt die Ausgabe, beschreibt, wie alle Computer funktionieren. Die digitale Technologie beinhaltet ein zweiwertiges logisches System oder Binärsystem – eins oder null, ein oder aus, ja oder nein. Es ist Es ist wichtig, die Grundlagen der Computerlogik zu verstehen, wenn Sie entweder einen Mikrocontroller oder ein FPGA programmieren.
Anpassung
Darüber hinaus sind sowohl FPGAs als auch Mikrocontroller bis zu einem gewissen Grad nach der Produktion programmierbar – was bedeutet, dass entweder ein Hersteller oder ein Endbenutzer ihre Funktion entwerfen und sie nach Bedarf einbetten kann. Aus diesem Grund haben diese Geräte so viele Anwendungen in einer Vielzahl von Branchen.
Das Ausmaß, in dem Sie ein FPGA anpassen können, zeichnet es aus, weshalb diese am nützlichsten für komplizierte, hochtechnische Anwendungen sind. Andererseits ist ein Mikrocontroller besser für einfachere Anwendungen.
Wie sie anders sind
Der Hauptunterschied zwischen einem FPGA und einem Mikrocontroller ist der Grad der Anpassung und Komplexität. Sie unterscheiden sich auch im Preis und in der Benutzerfreundlichkeit. Im Wesentlichen ermöglicht ein FPGA eine größere Anpassung und komplexere Prozesse, wie z sowie nachträgliche Änderungen an der Hardware.Ein Benutzer benötigt mehr Fähigkeiten und Know-how, um ein FPGA zu verwenden.
Während FPGAs ihre Vorteile haben, kosten Mikrocontroller weniger und sind einfacher zu verwenden. Die meisten Bastler oder Anfänger würden vom Kauf von Mikrocontrollern profitieren, während Ingenieurbüros und Hersteller FPGAs bevorzugen könnten.
Mikrocontroller
Zu den charakteristischen Merkmalen von Mikrocontrollern gehören:
- Sie sind einfach zu verwenden: Jeder mit einem grundlegenden Verständnis der Codierung kann einen Mikrocontroller programmieren. Sie können einen Mikrocontroller mit einer Assemblersprache wie Javascript oder Python programmieren, die Sie sich in Online-Kursen selbst beibringen können.
- Sie sind erschwinglich: Da sie einfacher in Massenproduktion hergestellt werden können, sind die Anschaffungskosten für einen Mikrocontroller geringer als für ein FPGA.
- Sie sind nicht immer ideal für komplexe Anwendungen: Der dedizierte Prozessor eines Mikrocontrollers verarbeitet alle Ein- und Ausgänge. Infolgedessen können Engpässe auftreten, da Prozesse auf die Auflösung anderer warten müssen. Da sie keine parallelen Funktionen zulassen, sind Mikrocontroller für einfachere Zwecke besser geeignet.
- Sie sind ideal für einfache Anwendungen: Denken Sie an Ihre Waschmaschine. Nachdem Sie Ihre Kleidung angezogen haben, passen Sie zwei oder drei Einstellungen an und drücken dann auf Start. In ähnlicher Weise muss Ihre Computermaus nur wissen, wie sie einige Eingaben zu interpretieren hat – nach oben scrollen, nach unten scrollen, Linksklick und Rechtsklick. Für einfache, unveränderliche Anwendungen wie diese ist ein Mikrocontroller ideal.
FPGAs
Einige definierende Merkmale von FPGAs sind:
- Ihre Verwendung erfordert mehr Geschick: Sie benötigen mehr als nur ein grundlegendes Verständnis der Programmiersprache, um ein FPGA zu programmieren. Zusätzlich zu den Kenntnissen einer Programmiersprache müssen Sie in der Lage sein, große Mengen an Variablen zu verfolgen. Sie müssen auch eine Hardwarebeschreibungssprache verstehen. Das Entwerfen und Umgestalten von Hardware ist keine Aufgabe für Anfänger.
- Sie ermöglichen mehr Parallelität: Ein FPGA hat Tausende von Logikblöcken, die Sie alle programmieren können. Sie können Prozesse unabhängig voneinander erstellen, wodurch Engpässe wie bei Mikrocontrollern verringert werden.
- Sie ermöglichen ein höheres Maß an Anpassung: Einfach ausgedrückt:Wenn Sie wissen, was Sie tun, können Sie mit einem FPGA viel mehr tun als mit einem Mikrocontroller. Wenn Sie etwas Kompliziertes programmieren möchten, benötigen Sie mehr Anpassbarkeit, als ein Mikrocontroller bietet.
- Sie kosten tendenziell mehr: Ein Nachteil von FPGAs ist, dass sie tendenziell teurer sind als Mikrocontroller. Trotz höherer Vorabkosten können sie Geld für Branchen sparen, die möglicherweise rückwirkende Änderungen vornehmen müssen – denken Sie an das Beispiel der Rückfahrkamera.
- Sie sind ideal für komplexere Anwendungen: Da FPGAs parallele Prozesse ermöglichen, können Sie mit einem FPGA mehr Eingaben implementieren als mit einem Mikrocontroller, ohne dass Engpässe auftreten. Das macht sie ideal für komplexere Operationen.
- Sie ermöglichen spätere Änderungen: Einer der größten Vorteile eines FPGAs besteht darin, dass die Hardware selbst nach ihrer anfänglichen Programmierung geändert werden kann. Aus diesem Grund können Sie die Funktion eines Geräts ändern, ohne seine Hardware komplett auszutauschen. Dies ist auf lange Sicht kostengünstiger, insbesondere für Massen produzierende Industrien.
Sollte ich einen Mikrocontroller oder ein FPGA in meiner Leiterplatte (PCB) verwenden?
Eine Leiterplatte erweckt eine schematische Zeichnung zum Leben. Je mehr leitfähige Schichten die Platine hat, desto mehr Verbindungen können Sie herstellen. Eine vierlagige Platine hat vier leitfähige Schichten mit Isolierschichten dazwischen. Die Bestückung einer Leiterplatte erfordert ein ordentliches Maß an technischem Wissen, also informieren Sie sich über den Fachjargon, wenn Sie zum ersten Mal eine bestücken. Sie können sich auf einen professionellen Leiterplatten-Produktionsservice oder Leiterplattenlieferanten verlassen.
Ob Sie einen Mikrocontroller oder ein FPGA in Ihrem PCB verwenden, sollte von mehreren Faktoren abhängen, darunter:
- Das notwendige Maß an Komplexität.
- Ihr Fachwissen.
- Ihr Budget, insbesondere wenn Sie große Mengen kaufen müssen.
- Nachträgliche Änderungen, die Sie möglicherweise vornehmen müssen.
Die notwendige Komplexität
FPGAs können mehrere Codezeilen gleichzeitig ausführen, was unabhängige, parallele Prozesse ermöglicht. Für hochentwickelte Anwendungen ist diese Fähigkeit eine Notwendigkeit. Ein FPGA kann kompliziertere Eingaben verarbeiten und gleichzeitige Operationen ausführen . Der Nachteil ist, dass FPGAs perfektes Timing und Genauigkeit erfordern, um richtig zu funktionieren. Ein kleiner Fehler kann das gesamte System unbrauchbar machen.
Im Gegensatz dazu lesen Mikrocontroller jeweils nur eine Codezeile und verarbeiten Befehle nacheinander. Obwohl dies zu Engpässen führen kann, hat es seine Vorteile. Da sie weniger kompliziert sind, Mikrocontroller lassen sich mithilfe einer Trial-and-Error-Methode einfacher programmieren und neu programmieren. Für einfache Anwendungen kann ein FPGA komplizierter als nötig sein und die Programmierung schwieriger als nötig machen.
Wenn bei der Programmierung eines FPGA ein Fehler gemacht wird, sind Reparaturen viel komplexer. Das bringt uns zu unserem nächsten Punkt, nämlich dass Sie sich zwischen einem FPGA und einem Mikrocontroller entscheiden müssen abhängig von Ihrem Fachwissen.
Ihr Fachwissen
Einfach ausgedrückt ist ein FPGA nicht die richtige Wahl für Anfänger. Das Erlernen von Hardwarebeschreibungssprachen erfordert mehr Zeit und Erfahrung als Assemblersprachen. Ein höheres Maß an Anpassung bedeutet, dass mehr Fähigkeiten erforderlich sind. Wenn Sie viel Erfahrung mit Computertechnik haben, bietet Ihnen ein FPGA ein attraktives Maß an Anpassbarkeit.
Ihr Budget
Denken Sie daran, dass FPGAs tendenziell teurer sind als Mikrocontroller. Wenn Sie etwas Einfaches programmieren möchten, wie ein automatisch dimmendes Licht oder einen Temperatursensor, a Ein relativ kostengünstiger Mikrocontroller könnte die bessere Option sein.
Obwohl ihre anfänglichen Kosten höher sind, können FPGAs später die Kosten senken – insbesondere bei Massenprodukten, die nach der ursprünglichen Montage möglicherweise geändert werden müssen.
Ihre Notwendigkeit einer rückwirkenden Änderung
Aus einer Reihe von Gründen kann es vorkommen, dass Sie die Hardware Ihrer Anwendung ändern müssen. In diesem Fall werden Sie froh sein, ein FPGA zu haben. Dies ist einer der Gründe, warum es so viele gibt Branchen bevorzugen FPGAs. Wenn sich Gesetze, Standards, Vorschriften oder Anforderungen ändern, ist es viel kostengünstiger und zeitaufwändiger, vorhandene FPGAs zu ändern, als völlig neue Hardwaresysteme zu implementieren.
Erfahren Sie mehr, indem Sie Millennium Circuits kontaktieren
Sowohl FPGAs als auch Mikrocontroller sind für eine Vielzahl von Zwecken wertvoll. Ihre Vielseitigkeit verleiht ihnen Tausende von Anwendungen, von denen wir einige jeden Tag verwenden. Es wird hilfreich sein, die Ähnlichkeiten und Unterschiede zwischen ihnen zu verstehen Sie bestimmen, welche die beste Option für Ihre Zwecke ist.
Obwohl sie aus den gleichen Grundkomponenten bestehen, unterscheiden sie sich in Anpassungsgrad, Komplexität, Preis und erforderlichem Fachwissen. Die Wahl einer gegenüber der anderen sollte von mehreren Faktoren abhängen. Jeder Lösung hat einzigartige Vorteile und potenzielle Nachteile.
Ob Sie ein Do-it-yourself-Projekt entwerfen, einen Prototyp für ein neues Produkt erstellen oder einen technischen Prozess rationalisieren möchten, einer dieser integrierten Schaltkreise ist bestimmt nützlich. Wenn Wenn Sie Fragen zur FPGA- oder Mikrocontroller-Technologie haben, die auf nackten PCBs verwendet wird, wenden Sie sich für weitere Informationen an die Experten von Millennium Circuits Limited.
Industrietechnik
- Thermoplastische vs. duroplastische Materialien:Was ist der Unterschied?
- Räder vs. Rollen:Was ist der Unterschied?
- O-Ringe vs. Dichtungen:Was ist der Unterschied?
- Eisen vs. Stahl:Was ist der Unterschied?
- Fräsen vs. Schleifen:Was ist der Unterschied?
- Jig und Fixture:Was ist der Unterschied?
- Gleichstrom- und Wechselstrommotor:Was ist der Unterschied?
- EAM vs. CMMS:Was ist der Unterschied?
- Was ist der Unterschied:Branderkennung, -schutz und -unterdrückung?
- Durchsteckmontage und Oberflächenmontage:Was ist der Unterschied?