Suchen

Analoge Signale mit FPGA-Board und Zmod-Modulen evaluieren

Autor / Redakteur: Alex Wong* / Kristin Rinortner

Das Testen von neuen Bauelementen oder Algorithmen ist das tägliche Brot der Elektronikingenieure. Test- und Messsysteme, die sich mühelos einrichten und benutzen lassen, erleichtern ihnen diese Aufgabe.

Firmen zum Thema

Ein aus einem Eclypse Z7 Entwicklungskit mit je einer Zmod-kompatiblen A/D- und D/A-Wandler-Karte sowie einem Analog Discovery 2 aufgebautes Test- und Messsystem.
Ein aus einem Eclypse Z7 Entwicklungskit mit je einer Zmod-kompatiblen A/D- und D/A-Wandler-Karte sowie einem Analog Discovery 2 aufgebautes Test- und Messsystem.
(Bild: Digilent)

Manchmal muss es für Ingenieure einfach schnell gehen: Ein neuer Sensor für das Internet der Dinge (IoT) soll evaluiert oder ein aktualisierter Algorithmus zur Verarbeitung analoger Signale getestet werden. Und das alles mit minimalen Kosten und wenig Aufwand, und, wenn möglich, überall. Was braucht man für so ein Testsystem?

Eine Signalquelle, die beispielsweise ein Sensor mit einem analogen Ausgang, ein Kommunikationsgerät, das Audio- oder Sprachsignale ausgibt, oder ein Funktionsgenerator sein kann. Dann einen A/D-Wandler, um das Signal in die digitale Domäne zu konvertierten. Dieser A/D-Wandler sollte schnell genug sein, um das Nyquist-Kriterium zu erfüllen und leistungsfähig genug, um den Anforderungen an den Dynamikbereich für das untersuchte Signal gerecht zu werden.

Die digitalisierten Daten sendet der A/D-Wandler dann an eine Signalverarbeitungseinheit, vorzugsweise ein Prozessor oder ein FPGA. Die Signalverarbeitung könnte beispielsweise aus einem digitalen Filter, einem Mischer, oder der Modulation/Demodulation oder auch Kompression/Dekompression der Signale bestehen. Ist die Signalverarbeitungseinheit ein FPGA wie das Zynq-7000 AP SoC (All Programmable System-on-Chip) von Xilinx, kann entweder die darauf verfügbare programmierbare Logik (PL) oder der On-Chip-Mikrocontroller von ARM als Prozessorsystem (PS) diese Aufgaben übernehmen, was den Ingenieuren zusätzliche Flexibilität für ihre verschiedenen Tests gibt.

Bevor das Signal schließlich visualisiert und analysiert wird, muss es durch einen D/A-Wandler wieder in die analoge Domäne zurückkonvertiert werden. Wie beim A/D-Wandler sollte der D/A-Wandler schnell genug sein und einen ausreichenden Dynamikbereich bieten, um den Anforderungen des zu prüfenden Signals zu genügen. Ein zweiter Kanal ist dabei vorteilhaft, da damit beispielsweise eine digitale Rückkopplung möglich wird, durch die sowohl die durch den A/D-Wandler und die Low-Level-Treiber für ADC und DAC entstehenden Phasenfehler, als auch die durch die Unterschiede in der Vollaussteuerung bei ADC und DAC verursachten Verstärkungsfehler korrigiert werden können.

Am Ende der Signalverarbeitungskette wird das Signal dann angezeigt und ausgewertet. Die meisten Ingenieure verwenden dazu ein Oszilloskop, aber auch Spektrum-, Netzwerk- oder Logik-Analysatoren kommen dafür oft zum Einsatz. Hier ist ein mittels USB an einen PC angeschlossenes Gerät nützlich, das einfach programmiert und konfiguriert werden kann, und das gleichzeitig die Funktionen vieler unterschiedlicher Labormessgeräte bietet.

Zudem sollte so ein System (Bild 1) nicht nur einfach aufzubauen, sondern auch leicht zu programmieren sein. Daher sind auch gebrauchsfertige IP-Blöcke, Software-Bibliotheken und Programmierschnittstellen (APIs) vorteilhaft.

Beispiel einer Umsetzung

Wie könnte so ein System in der Realität aussehen, wenn zum Beispiel ein Ingenieur den Einfluss eines Tiefpassfilters auf eine Störgröße eines Netzwerksignals mittels Messung des Frequenzganges analysieren möchte? Zunächst einmal muss das Signal erzeugt werden, eine Aufgabe, die beispielsweise das Analog Discovery 2 von Digilent (Bild 2) erfüllen kann.

Bild 1: Blockschaltbild eines einfachen Systems für den Test und die Messung analoger Signale.
Bild 1: Blockschaltbild eines einfachen Systems für den Test und die Messung analoger Signale.
(Bild: Digilent)

Das Analog Discovery 2 wird über USB an einen PC angeschlossen und ermöglicht dem Anwender die Generierung, Aufzeichnung, Messung und Visualisierung von Analogsignalen aller Art. Mit der kostenlosen Software WaveForms von Digilent, die mit Windows, Linux und macOS kompatibel ist, kann das Analog Discovery 2 so konfiguriert werden, dass es als eines von vielen herkömmlichen Test- und Messinstrumenten arbeitet, also beispielsweise als Oszilloskop, Funktionsgenerator, Stromversorgung, Voltmeter, Datenlogger, Logikanalysator, Patterngenerator, statische Ein- und Ausgabe, Spektrum-, Netzwerk-, Impedanz- oder Protokollanalysator.

Bild 2: Das Analog Discovery 2 von Digilent kann als Oszilloskop mit 100 MSamples/s konfiguriert werden, ebenso wie als Logikanalysator, Signal­generator oder als einstellbare Stromversorgung.
Bild 2: Das Analog Discovery 2 von Digilent kann als Oszilloskop mit 100 MSamples/s konfiguriert werden, ebenso wie als Logikanalysator, Signal­generator oder als einstellbare Stromversorgung.
(Bild: Digilent)

Gleichzeitig ist es klein genug, um in jede Tasche zu passen. Dank dieser Flexibilität kann das Tool auch das Störsignal erzeugen und den Frequenzgang des gefilterten Signals als Bode-Plot – wie im Beispiel benötigt – darstellen. In diesem speziellen Fall ist es allerdings empfehlenswert, das Analog Discovery 2 von extern mit Strom zu versorgen, um Masseschleifen zu vermeiden.

Ein System-on-Chip für die Signalverarbeitung

Für die Signalverarbeitungseinheit kann beispielsweise ein Eclypse Z7 FPGA / SoC-Board, ebenfalls von Digilent, verwendet werden. Dieses Entwicklungsboard basiert auf dem Zynq-7000 AP SoC von Xilinx und wurde im Hinblick auf eine schnelle Prototyperstellung und die Umsetzung von Embedded Messsystemen entwickelt. Das Zynq-7000 AP SoC besteht aus einem Xilinx Zynq-7020 SoC mit 106.400 Flip-Flops und 53.200 Look-Up-Tables (LUTs) für die programmierbare Logik und einem Dual-Core Arm Cortex-A9 mit 667 MHz für das Prozessorsystem.

Weitere Merkmale des Boards sind Peripheriekontroller mit hoher und niedriger Bandbreite für 1G-Ethernet, USB 2.0, SPI oder CAN. Zur Flexibilität der Karte tragen auch zwei Hochgeschwindigkeits-Zmod-Anschlüsse bei, mit denen Anwender das Eclypse Z7-Board um kompatible Module erweitern können. Zmod ist eine neue Erweiterungslösung von Digilent, welche den Open-Source-Digitalschnittstellenstandard SYZYGY von Opal Kelly verwendet. Sie bietet schnellere Datenübertragung und eine höhere Bandbreite als der Pmod-Standard, ist jedoch kompakter und kostengünstiger als der FMC-(FPGA-Mezzanine-Card-)Standard.

Bild 3: Das Eclypse Z7 ist ein Entwicklungsboard mit einem Znyq-7000 AP SoC und zwei SYZYGY-kompatiblen Zmod-Erweiterungssteckern.
Bild 3: Das Eclypse Z7 ist ein Entwicklungsboard mit einem Znyq-7000 AP SoC und zwei SYZYGY-kompatiblen Zmod-Erweiterungssteckern.
(Bild: Digilent)

Das Board Eclypse Z7 (Bild 3) ist Teil der Eclypse-Plattform, die aus Hardware und offenen Software-APIs von Digilent besteht. Die Plattform unterstützt direkt PetaLinux von Xilinx und zusammen mit der API für den Massendatentransfer werden vorkonfigurierte Linux-Images ausgeliefert. Auf diese Weise können Embedded-Linux-Entwickler die Leistungsfähigkeit eines FPGAs für das Erstellen von Prototypen für Hochgeschwindigkeits-Mess-, Instrumentierungs- und Steuerungssystemen nutzen, ohne spezielle FPGA-Hardwarekenntnisse besitzen zu müssen.

Zmods bieten Hochgeschwindigkeitsschnittstellen

Bild 4: Blockdiagramm einer Umsetzung des im Bild 1 dargestellten Systems zum Test analoger Signale.
Bild 4: Blockdiagramm einer Umsetzung des im Bild 1 dargestellten Systems zum Test analoger Signale.
(Bild: Digilent)

Für die im Beispiel benötigte Datenerfassung bietet Digilent das Zmod ADC 1410 (Bild 4), ein SYZYGY-kompatibles 14-Bit-A/D-Wandlermodul an. Seine beiden Single-Ended-Kanäle haben einen Eingangsbereich von ±1 V bei hoher, beziehungsweise von ±25 V bei niedriger Verstärkung bei einer absoluten Auflösung von 0,13 mV, beziehungsweise 3,21 mV. Die Abtastrate beträgt 100 MSamples/s, mit einem Rauschabstand (SNR) von 74,5 dBFS bei 70 MHz. Das Zmod ADC 1410 verwendet als ADC den AD9648 von Analog Devices.

Um das verarbeitete digitale Signal wieder in ein analoges Signal umzuwandeln, kann das D/A-Wandlermodul Zmod DAC 1411 verwendet werden. Dieses SYZYGY-kompatible zweikanalige 14-Bit DAC-Modul, das auf dem AD9717 von Analog Devices basiert, kann gleichzeitig zwei ±5V-Signale mit 14 Bit Auflösung bei einer Abtastrate von bis zu 100 MSamples/s erzeugen. Die beiden Kanäle sind Single-Ended mit einer absoluten Auflösung von 167 μV, wenn die Amplitude kleiner oder gleich 1.25 V ist, und 665 μV, wenn die Amplitude größer als 1,25 V ist. Die Anstiegsrate beträgt 180 V/μs bei einem Eingangsschritt von 2 V.

Bild 5: Zmods sind SYZYGY-konforme Erweiterungsmodule, ein Hochgeschwindigkeits-I/O-Erweiterungsstandard für FPGA-Karten, der die Lücke zwischen dem Pmod-Standard und FMC schließt.
Bild 5: Zmods sind SYZYGY-konforme Erweiterungsmodule, ein Hochgeschwindigkeits-I/O-Erweiterungsstandard für FPGA-Karten, der die Lücke zwischen dem Pmod-Standard und FMC schließt.
(Bild: Digilent)

Durch die Hochgeschwindigkeitswandler eignen sich beide Zmods nicht nur gut für Instrumentierung und Messtechnik, sondern auch für Anwendungen in der Steuer- und Regelungstechnik oder für Software-Defined-Radio (Bild 5).

Software-Unterstützung für Linux und Baremetal

Für das Zmod ADC 1440 und das Zmod DAC 1411 sind Low-Level-Kontroller verfügbar, die auf der programmierbaren Logik des Zynq-7020 laufen. Diese IP-Blöcke konfigurieren die Wandler und führen Kalibrierungsaufgaben basierend auf vom Anwender oder den IP-Blöcken der oberen Ebene vorgegebenen Koeffizienten aus. Für den A/D-Wandler demultiplext der Kontroller die von der parallelen Schnittstelle des AD9468 ADCs empfangenen Daten und leitet sie an die Benutzerlogik weiter. Für den D/A-Wandler multiplext er die beiden von der Benutzerlogik kommenden Eingangskanäle zu einem einzigen DDR-Kanal (Double-Data-Rate), wie vom DAC AD9717 benötigt.

Bild 6: Die Softwarearchitektur der Eclypse-Plattform von Digilent.
Bild 6: Die Softwarearchitektur der Eclypse-Plattform von Digilent.
(Bild: Digilent)

Die Low-Level-Kontroller sind für den Einsatz als eigenständige IP-Blöcken in solchen Projekten vorgesehen, die keine Interaktion mit dem Prozessorsystem erfordern. Wenn eine solche Kommunikation nötig ist, können die Controller zusammen mit der Zmod ADC1410 (DAC1411) AXI-Adapter-IP von Digilent verwendet werde. Diese ermöglicht eine Verbindung zu einer auf dem Dual-Core Arm Cortex-A9-Prozessor laufenden Software (Bild 6).

Zusätzlich sind weitere Bibliotheken verfügbar: Die Zmod-Basisbibliothek, welche die allen Zmods gemeinsame Funktionalität implementiert und den Zugriff auf Register und I2C- und DMA-Treiber auf Baremetal- und Linux-Plattformen ermöglicht, sowie die Zmod-Bibliotheken, die Zmod-spezifische Funktionen und Definitionen bereitstellt. Der Code beider Bibliothekstypen läuft auf dem PS des Zynq-7000.

Dank dieser fertigen IP-Blöcke und Software-Bibliotheken ist die Erstellung eines Test- und Messsystems wie das beschriebene zur Messung des Frequenzgangs einfach und erlaubt es den Ingenieuren, sich auf die Entwicklung ihrer eigenen IP zu konzentrieren, anstatt ihre Zeit mit dem Aufsetzen der Tests und der Programmierung von Low-Level-Funktionen zu vergeuden. Ein Beispielprojekt, bei dem nur die programmierbare Logik des Zynq verwendet wird, ist auf der Website von Digilent verfügbar, einschließlich einer schrittweisen Anleitung für die Soft- und Hardwarekonfiguration und den Betrieb des Geräts.

* Alex Wong ist Leiter Technischer Vertrieb bei Digilent in Seattle / USA.

(ID:46742853)