Digitale Signalverarbeitung mit DSP oder FPGA

FPGAs (Field Programmable Gate Arrays) werden oft als «poor man’s ASIC», also als integrierte Schaltung des armen Mannes bezeichnet. Dabei bieten diese Bausteine unterdessen eine extrem hohe Dichte von flexibel programmierbarer Logik kombiniert mit on-chip 32-Bit Mikroprozessoren und viel-seitigen Schnittstellen. Egal ob Xilinx ZYNQ, Intel Cyclone V oder Microsemi proASIC3, wir haben schon damit gearbeitet.

Das Institut ESA bietet Erfahrung in den folgenden Kompetenzbereichen:

  • Im Gegensatz zu klassischen Mikroprozessoren und Mikrocontrollern bieten FPGAs eine elegante Möglichkeit, schnelle I/O Signale auf vielen Kanälen sehr genau zu bedienen. Wie zum Beispiel mit dem Spartan 6 Chip von Xilinx und einem günstigen Development Kit. Durch Erweiterung mit einem kundenspezifischen Board und entsprechender Programmierung der Abläufe konnten wir lange vor dem Tape-Out das Verhalten eines ASIC (Application-Specific Intergrated Circuit) evaluieren und verbessern.
  • Ebenso sind FPGA ganz besonders für schnelle und parallele Signalverarbeitung geeignet, wie im Projekt STEVRADS mit dem Swiss Space Center. Dabei geht es um die günstige und doch zuverlässige 3D Erkennung von Schrott im Weltraum als Teil eines «Uncooperative Rendezvous and Docking». Mehrere low-cost CMOS-Kameras aus dem Mobiltelefonbereich werden vom FPGA gleichzeitig ausgelesen, und die Bilder in Echtzeit auf markante Bildelemente untersucht. Durch die unterschiedliche Position der erkannten Stellen pro Kamera kann der Abstand berechnet werden.
    • Speziell durch die Verbindung von FPGA «Custom Logic» mit einer Dual-Core 32-Bit ARM Integration und schnellen Verbindungen über AXI Busse kann das Potenzial dramatisch erhöht werden. Dabei läuft dann z.B. auf dem Prozessoren Linux mit Ethernet- und USB Anbindung, während das FPGA die Kommunikation mit schnellen A/D Wandlern, Datenspeicherung und Real-Time FFT übernimmt.
    • Obwohl zu diesen Themen zahllose Tutorials und Beispiele auf dem Internet vorhanden sind, zeigt die Erfahrung, dass es doch nicht ganz so einfach geht. Durch den Einsatz im Unterricht kennen wir unterdessen die Stärken und Schwächen, und können so unsere Kunden (aber auch Studenten) viel besser beraten. Für die Konfiguration der Logik verwenden wir sowohl VHDL als auch Verilog und simulieren mit ModelSim.
    • Bei der Signalverfolgung und Fehlersuche auf dem FPGA selbst hat sich Intel/Altera mit dem Tool «SignalTap» unter «Quartus II» gegenüber anderen Lösungen klar Durchgesetzt. Dabei wird praktisch zusätzlich zur gewünschten Logik auch ein Logik-analyzer mit in das FGPA integriert, welcher dann die gewünschten Signale in freien RAM auf dem FPGA speichert und dann über JTAG/USB auf dem PC bequem darstellen kann.