text.skipToContent text.skipToNavigation
background-image

FPGAs für Maker Eine praktische Einführung in programmierbare Logik von Elias, Cord (eBook)

  • Erscheinungsdatum: 21.10.2016
  • Verlag: dpunkt
eBook (ePUB)
29,99 €
inkl. gesetzl. MwSt.
Sofort per Download lieferbar

Online verfügbar

FPGAs für Maker

Field Programmable Gate Arrays (FPGAs) sind relativ komplexe programmierbare Logikbausteine. Mithilfe von FPGAs können mittlerweile jedoch auch Maker und Elektronikbastler eigene Chips entwerfen. Wie das geht, zeigt Ihnen dieses Buch. Zunächst wird erklärt, was FPGAs sind und wie sie funktionieren. Es folgt eine Einführung in die Hardwarebeschreibungssprache VHDL, die für die Projekte in diesem Buch verwendet wird. Danach wird Schritt für Schritt anhand zunächst ganz einfacher Beispiele erläutert, wie man eine Schaltung mithilfe eines FPGA realisiert. Im weiteren Verlauf werden die Schaltungen anspruchsvoller. Den Abschluss bildet ein Projekt, bei dem das Spiel 'Pong' in Hardware realisiert wird. Die Anzeige erfolgt auf einem RGB-LED-Matrix-Display, dessen Ansteuerung per FPGA im Detail beschrieben wird. Die Projekte im Buch werden auf Basis kostenlos verfügbarer FPGA-Entwicklungsumgebungen der Hersteller Altera, Lattice, Microsemi und Xilinx sowie günstiger FPGA-Boards konkret umgesetzt. Dabei wird auf die Übertragbarkeit auf andere Systeme geachtet. Die verwendeten Entwicklungsumgebungen und FPGA-Boards werden außerdem kurz vorgestellt. Cord Elias konzentriert sich primär auf die Vermittlung von Fähigkeiten zum selbstständigen Umgang mit FPGAs. Er nimmt die Leserinnen und Leser an die Hand und leitet sie sicher durch eine Vielzahl von Details. Dass der Spaß dabei nicht zu kurz kommt, versteht sich von selbst. Der Quellcode zu allen Design-Beispielen steht zum Download bereit. Dipl.-Ing. Cord Elias hat über 20 Jahre Industrieerfahrung im Bereich 'Embedded Systems'. Seit einigen Jahren ist er in diesem Fachgebiet als selbstständiger Berater tätig. Seine Schwerpunkte beinhalten modellbasierte Entwicklung und automatische Codegenerierung.

Produktinformationen

    Format: ePUB
    Kopierschutz: watermark
    Seitenzahl: 454
    Erscheinungsdatum: 21.10.2016
    Sprache: Deutsch
    ISBN: 9783960880318
    Verlag: dpunkt
    Größe: 45533 kBytes
Weiterlesen weniger lesen

FPGAs für Maker

3 FPGA-Grundlagen

3.1 Was ist ein FPGA?

Ein FPGA kann als Ansammlung von Grundelementen wie Gatter, Flip-Flop, Speicherzelle etc. angesehen werden, die in einem gemeinsamen Gehäuse vorhanden sind, aber noch miteinander verdrahtet werden müssen, um eine bestimmte Funktion zu realisieren. Sehr vereinfacht kann ein FPGA auch als vorbestücktes Steckbrett im Mikroformat betrachtet werden. Elemente wie Gatter und Flip-Flops sind schon fertig aufgesteckt, nur die Verdrahtung muss noch vom Anwender vorgenommen werden. Anstatt wie auf dem Steckbrett Drähte einzustecken, werden beim FPGA die elektrischen Verbindungen durch das Schließen von auch schon vorhandenen "Schaltern" vorgenommen. Abbildung 3-1 zeigt den sehr stark vereinfachten prinzipiellen Aufbau eines FPGA. Man erkennt in Abbildung 3-1 Folgendes:

Es gibt Grundelemente, die intern flexibel miteinander verbunden werden können (hier: UND-Gatter, Inverter, D-Flip-Flop).

Die meisten Pins des Chips können flexibel den Ein- bzw. Ausgängen der internen Elemente zugeordnet werden (die hier dargestellte Aufteilung in Eingangs- und Ausgangspins existiert in der Praxis so nicht, vielmehr sind die meisten Pins sowohl als Eingang als auch als Ausgang konfigurierbar).

Es gibt auch spezielle Pins (hier ein Clock-Eingangs-Pin).

Weitere spezielle Pins, zum Beispiel zur Spannungsversorgung, sind vorhanden, auch wenn sie hier nicht explizit gezeigt werden.

Die hier als Schalter dargestellten Verbindungspunkte sind bei einem FPGA im Auslieferzustand alle offen. Mit Hilfe der entsprechenden Designsoftware wird festgelegt, welche "Schalter" für die gewünschte Anwendung geschlossen werden. Man kann sofort erkennen, dass beim Definieren der Verbindungspunkte sorgfältig vorgegangen werden muss, weil sonst schnell Fehler passieren können (z.B. das Kurzschließen zweier Eingänge), die unter Umständen zur Zerstörung des Chips führen. Allein aus diesem Grund werden die "Schalterstellungen" nicht manuell definiert, sondern durch eine spezielle Entwicklungssoftware; einmal ganz davon abgesehen, dass selbst einfachste FPGA so komplex sind, dass ein manuelles Definieren der Konfiguration auf Low-Level-Ebene vollkommen unpraktikabel ist.

Abbildung 3-1: FPGA - prinzipieller Aufbau

Weiterhin erwähnenswert ist, dass die Pins in der Regel auch in Hinsicht auf physikalische Details wie I/O-Pegel (z.B. 3.3V, 2.5V, 1.8V; ein FPGA kann auch sehr elegant als Pegel-Konverter eingesetzt werden), max. Ausgangsstrom usw. konfiguriert werden können bzw. müssen. Die spezifischen Details hängen immer vom verwendeten Chip ab und müssen in der Entwicklungspraxis neben vielen anderen Dingen bei der Auswahl eines FPGA für einen bestimmten Anwendungsfall berücksichtigt werden.

Zu den I/O-Pegeln sei an dieser Stelle schon angemerkt, dass heute verfügbare FPGAs in aller Regel nicht 5V-kompatibel sind. Wer z.B. ein FPGA mit einem Arduino Uno "verheiraten" möchte, sollte die Verbindungsleitungen zwischen Arduino und FPGA über für diesen Zweck geeignete Pegelkonverter leiten.

Selbst mit dem in Abbildung 3-1 dargestellten idealisierten Mini-FPGA lassen sich bereits diverse Schaltungen realisieren, von denen in Abbildung 3-2 einige dargestellt sind. Jede Schaltung kann durch einfache Umkonfiguration des FPGA schnell erzeugt werden, ohne dass an der Hardware irgendetwas geändert werden muss. Dieses Merkmal ist besonders für das Rapid Prototyping interessant. FPGAs sind aber auch im Serieneinsatz und haben dort in einigen Bereichen ASICs 1 abgelöst (natürlich auch in Abhängigkeit von Faktoren wie Stückzahlen). Beim Serieneinsatz von FPGAs ist ein interessanter Aspekt, dass auch nach der Auslieferung noch vergleichsweise einfach Änderungen am H

Weiterlesen weniger lesen

Kundenbewertungen