chevron_left
chevron_right

Die Nadel im Heuhaufen finden – zuverlässig und in Echtzeit

Mit jeder Generation werden elektronische Systeme in der Automobilindustrie, der Luft- und Raumfahrt sowie der Konsumelektronik komplexer, vereinen mehr Schnittstellen in einem System und tauschen mehr Daten und Signale aus. Steigenden Anforderungen an die Testsysteme stehen kürzere Testzeiten und tiefere Testkosten entgegen. FPGAs in Messgeräten können diesen Widerspruch überwinden.

 

Eine wichtige Aufgabe in der Entwicklung und Fertigung ist das Aufspüren von fehlerhaften Signalen. Hierbei spielen die Triggerfunktionen von Oszilloskopen eine zentrale Rolle, denn diese erlauben es, ein fehlerhaftes Signal in einem Strom von einwandfreien Signalen zu identifizieren. Anwender wünschen sich zunehmend flexiblere Triggerfunktionen, um Effekte aufzuspüren, die nur unter speziellen Bedingungen auftreten. Ausserdem sollten Triggerbedingungen möglichst schnell, das heisst ohne Totzeit, erkannt werden, um Testzeiten zu minimieren.

Triggerfunktionen in traditionellen Oszilloskopen

Aktuelle Oszilloskope bieten neben Standardfunktionen wie Edge-, Hysterese-, und Window-Trigger eine Vielzahl an weiteren Triggerarten an, beispielsweise das Erkennen von Pulsbreiten (PWM, Glitch) oder auch Dateninhalt auf seriellen Schnittstellen wie I2C, SPI oder NFC. Entweder sind diese Funktionen vom Hersteller fest in ein Instrument integriert oder als Zusatzpaket verfügbar. Eine Möglichkeit für Anwender, eigene Algorithmen in Oszilloskope zu integrieren oder spezielle Funktionen von externen Quellen (Drittanbieter) einzubinden, ist allerdings nicht bekannt.

Die beschriebene Architektur basiert meist auf Softwarealgorithmen, die auf Embedded-CPUs ausgeführt werden. Daher können die beschriebenen Triggerfunktionen nicht in Echtzeit auf erfasste Daten angewendet werden, denn auch leistungsfähige CPUs sind nicht in der Lage, Datenströme von mehreren GSa/s zu verarbeiten, wie sie in Oszilloskopen üblich sind. Deshalb arbeiten Oszilloskope typischerweise, indem sie die erfassten Signale in Paketen, sogenannten Waveforms, von einigen Tausend Samples verarbeiten und Samples zwischen diesen Paketen auslassen. Dies kann dazu führen, dass man Triggerbedingungen verpasst, weil sie nicht zufällig in ein solches Paket gefallen sind. Dies kann wiederum zu längeren Testzeiten führen oder zu der Situation, dass man fehlerhafte Signale überhaupt nicht findet.

Einführung in softwaredesignte Messgeräte

Seit vielen Jahren nutzen Ingenieure Softwarewerkzeuge wie LabVIEW, um die Funktionen von traditionellen Messgeräten zu erweitern und in Testsysteme zu integrieren. Dieser Ansatz ist flexibel und kann neueste PC-Technologie für die Signalverarbeitung nutzen. Aber auch Prozessoren der neuesten Generation sind nicht in der Lage, Datenmengen von Oszilloskopen in Echtzeit zu verarbeiten.

Seit mehreren Jahren allerdings wird die FPGA-Technologie immer leistungs-fähiger. FPGAs (Field-Programmable-Gate- Arrays) sind programmierbare Logikschaltkreise, welche sich – anders als universelle Prozessoren – mit festen Befehlssätzen für eine spezielle Aufgabe programmierenlassen. FPGAs vereinen die Leistungs- fähigkeit grosse Datenmengen zu verarbeiten, mit der Flexibilität, beliebig oft auf neue Aufgaben programmiert werden zu können. Zusätzlich arbeiten FPGAs inhä-rent parallel.

Verbindung moderner Messtechnik mit leistungsfähigen FPGAs

Die von National Instruments geschaffene Klasse der softwaredesignten Messgeräte vereint moderne Messtechnik mit der Leistungsfähigkeit von FPGAs, sodass Oszilloskope oder RF-Signalanalysatoren die erfassten Datenpunkte in Echtzeit kontinuierlich verarbeiten können.

Dies erlaubt dem Anwender, Daten schon während der Erfassung im Messgerät durch Algorithmen zu analysieren oder Triggerfunktionen in das Gerät zu integrieren, um so spezielle Signalformen oder Kombinationen in Echtzeit zu erkennen. Ebenso lässt sich der FPGA in einem Messgerät nutzen, um das Verhalten eines Geräts zu emulieren, beispielsweise um ein nicht mehr verfügbares Gerät zu ersetzen.

Ein Beispiel dieser Geräteklasse ist das rekonfigurierbare Oszilloskop PXIe-5171R. Es bietet 8 Eingangskanäle mit 250 MHz Bandbreite und einer Auflösung von 14 Bit. Ein Kintex-7-FPGA von Xilinx ist direkt in den Datenpfad integriert und hat ausserdem Zugriff auf alle Steuerleitungen im Gerät.

Dem Anwender stehen diverse Softwaretools zur Verfügung

Um die Funktion von softwaredefinierten Messgeräten zu programmieren, stehen dem Anwender LabVIEW FPGA und Instrument-Design-Libraries (IDLs, Entwicklungsbibliotheken) zur Verfügung. Diese Instrument-Design-Libraries sind Softwarebibliotheken, die Gerätedetails und Kommunikation zwischen FPGA und Host-PC ähnlich einem Geräte-treiber abstrahieren und so dem Anwender die Low-Level-Programmierung abnehmen. Dennoch ist der Code dieser Bibliotheken offen und lässt sich vom Anwender einsehen oder verändern.

In den IDLs stehen Funktionsblöcke für die Konfiguration des Messgeräts, die Erfassung von Signalen und den Datentransfer zur Verfügung, wobei sich die Bibliotheken aufteilen in Funktionsblöcke für den FPGA im Messgerät selbst und Funktionen für den Host-PC. Selbstverständlich kann man auch Funktionen aus LabVIEW FPGA sowie VHDL-Code (etwa aus den Xilinx-Bibliotheken) einbinden, um das Messgerät zu programmieren.

Benutzerdefinierte Triggerfunktionen in rekonfigurierbaren Oszilloskopen

Da man spezielle Triggerfunktionen in einen FPGA im Oszilloskop integrieren kann, lässt sich ein Messgerät für eine sehr spezielle Aufgabe optimieren. Im Fertigungstest kann so z. B. die Notwendigkeit für eine Nachverarbeitung von Daten im PC entfallen, beispielsweise wenn man ein Signal erst demodulieren muss, bevor man auf die enthaltenen Daten triggern kann. Beides lässt sich elegant im FPGA lösen. Auch lassen sich Totzeiten bei Messungen vermeiden, da man Signale ohne Unterbrechung analysieren kann. Dies kann zu einer erheblichen Reduzierung von Testzeiten wie auch von Kosten führen, weil Messgeräte vielseitiger einsetzbar sind und ein Gerät mehrere Aufgaben übernehmen kann.

Ein einfaches Beispiel für benutzerdefinierte Triggerfunktionen sind logische Kombinationen von einzelnen Zuständen (Pegel) und Ereignissen, wie beispielweise Signalflanken. Im FPGA eines rekonfigurierbaren Oszilloskops ist dies mit wenigen Gatterelementen leicht zu realisieren. In diesem Beispiel werden mehrere Edge-Trigger mit einem ODER-Gatter kombiniert.

Trigger lassen sich im Frequenz-, Zeit- und Datenbereich kombinieren

Durch Verwendung der Fourier-Transformation aus dem Funktionsumfang von LabVIEW FPGA lässt sich ebenfalls leicht ein Spektrumtrigger erstellen, mit dem man gezielt den Pegel einzelner Frequenzkomponenten überwachen kann. Selbstverständlich lassen sich Trigger im Frequenz-, Zeit- und Datenbereich kombinieren, um beispielsweise Wechselwirkungen zwischen übertragenen Daten und Störungen im Frequenzbereich aufzudecken.

Ein weiteres Beispiel sind Triggerfunktionen, die einen Signalverlauf erkennen können. Hierzu nutzt man im FPGA mehrere Window-Trigger, welche die einzelnen Punkte einer erfassten Signalform überprüfen. Erkennen alle Window-Trigger gleichzeitig einen Datenpunkt in ihrem Fenster, wird der Trigger ausgelöst und das Signal mit Pre- und Post-Samples erfasst. Diese Funktion kann z.B. sehr nützlich sein, um Störungen in einem Signal, etwa Datenbits mit überlagerter Signalreflexion, zu erfassen, aber auch um beispielsweise einen speziellen Dateninhalt einer seriellen Übertragung zu identifizieren.

Infoservice


National Instruments Switzerland GmbH
Sonnenbergstrasse 53, 5408 Ennetbaden
Tel. 056 200 51 51, Fax 056 200 51 55
ni.switzerland@ni.com, www.ni.com/switzerland