Datenaufzeichnung Streaming als Daten-Turbo

Wenn in der Mess- und Testtechnik große Datenmengen in Echtzeit aufgenommen, gespeichert und verarbeitet werden müssen, sind Streaming-Konzepte eine sehr gute Wahl. Was es damit auf sich hat und wie man solche Konzepte in der Praxis realisiert, zeigt dieser Beitrag.

Beim Test von digitalen Radio- oder TV-Modulen, GPS- oder Galileo-Navigationssystemen, Fahrassistenzsystemen mit Kameras oder im Bereich der Spektrumüberwachung oder „Signal Intelligence“ stellt sich die Aufgabe, große Datenmengen kontinuierlich zu erfassen und teilweise auch in Echtzeit zu verarbeiten.

Durch die rasanten Entwicklungen im PC-Umfeld sind mittlerweile zahlreiche Technologien verfügbar geworden, welche diese Aufgaben jetzt zu einem Bruchteil des vor kurzem noch üblichen Preises ermöglichen. Dazu zählen z.B. PCI und PXI Express sowie FPGA-basierte Verarbeitungssysteme – im Folgenden werden sie unter dem Aspekt des Verarbeitens großer Datenmengen näher erläutert sowie ihre Vorteile für die genannten Anwendungsgebiete dargestellt.

Anwendungsbeispiele für Streaming

Bei der Entwicklung von beispielsweise GPS- oder Galileo-Baugruppen werden für Testzwecke HF-Signale benötigt, die eine bestimmte Konstellation von Satelliten reproduzierbar simulieren. Ein Ansatz besteht darin, diese Signale zu berechnen und mit einem HF-Generator direkt auszugeben. Hierzu ist der HF-Generator mit einem entsprechenden Datenstrom zu versorgen. Für Bandbreiten bis zu 80 MHz für Galileo sind hierzu Datenraten von über 200 Mbyte/s erforderlich, wobei für die gleichzeitige Simulation mehrerer Galileo-Dienste (L1, L2, E6, E5b) mehrere HF-Generatoren parallel betrieben werden müssen, so dass auch die Datenrate entsprechend vervielfacht wird.

Allerdings ist es mit solchen im Labor erzeugten Signalen schwierig, reale Szenarien mit Fading, Mehrwegeausbreitungen und Reflexionen exakt nachzubilden. Hierfür sind stattdessen reale Signale mit einem HF-Analysator zu erfassen und als digitale Signale auf ein schnelles Speichermedium aufzuzeichnen. Auch hier ergeben sich Datenraten von über 200 Mbyte/s, die über einen Datenbus vom HF-Analysator zum Speichermedium und beim Wiedergeben von diesem zum HF-Generator transportiert werden müssen. Man verwendet hierzu Speichersysteme wie RAID-Festplatten-Arrays, die durch Parallelschalten von mehreren Festplatten eine hohe Datenrate erreichen.

Ein sehr ähnlicher Anwendungsfall ist der Test von Multimediasystemen mit Empfängern für FM-Radio, RDS oder digitalen Rundfunk (DAB, SIRIUS, XM oder DVB). Ein anderer Anwendungsbereich ist die Funksignal- Überwachung oder auch „Signal Intelligence“ (SigInt). Bei diesen Anwendungen besteht die Aufgabe darin, Funksignale zu erkennen, zu klassifizieren und zu orten. Dies kann entweder offline mit aufgezeichneten Signalen oder online mit aktuellen Signalen eines oder mehrerer HF-Analysatoren geschehen. Im ersten Fall werden hohe Datenraten erzeugt, die gespeichert werden müssen. Typischerweise sind oft 100 MHz Bandbreite oder mehr kontinuierlich zu erfassen.

Beim zweiten Fall der Online-Analyse ist zusätzlich eine hohe Rechenleistung erforderlich, denn es müssen Spektralanalysen mit hoher Auflösung gerechnet und Signale eventuell auch demoduliert werden. Hierzu können Mehrkern- Prozessoren, Recheneinheiten von Grafikchips (GPUs) oder FPGAs zum Einsatz kommen.

Ein weiterer und etwas anderer Anwendungsbereich ist das Verarbeiten von schnellen digitalen Signalen wie sie z.B. bei Fahrassistenzsystemen, Kameras und Displays im Automotive- Bereich anfallen. Hierbei handelt es sich meistens um serielle LVDS-Signale mit Datenraten von mehreren Gbit/s. Während der Entwicklung von z.B. Fahrassistenzsystemen sind diese mit reproduzierbaren Eingangssignalen zu beaufschlagen, die ein bestimmtes Szenario (Spurwechsel etc.) wiedergeben und mit denen die Funktion des Steuergerätes getestet werden kann.

Die Herausforderung liegt auch hier darin, mehrere Kanäle parallel zu erfassen bzw. auszugeben, wodurch sich Datenraten von über 500 Mbyte/s ergeben, die nur mit schnellen Bussystemen und Speichermedien zu verarbeiten sind.

PXI Express, das Bussystem für die Messtechnik

PCI Express (PCIe) ist der Nachfolger des PCI-Busses (Peripheral Connect Interface), der in PCs lange zur Verbindung von Peripheriegeräten mit Chipsatz, Prozessor und Speicher eingesetzt wurde. Bei PCIe handelt es sich allerdings nicht mehr um ein Bussystem, bei dem alle Peripheriegeräte an eine Datenverbindung angeschlossen sind und über diese Daten austauschen.

PCIe ist auf eine große Zahl an Lanes (Punkt-zu-Punkt-Verbindungen) aufgebaut, über die alle Komponenten des PC mit Chipsatz, Prozessor und Speicher kommunizieren. Jede dieser Lanes ist voll duplexfähig und kann pro Richtung 250 Mbyte/s transportieren. Je nach Anforderung des Peripheriegerätes an den Datendurchsatz können mehrere dieser Lanes gekoppelt werden, so dass sich eine entsprechend höhere Datenrate erreichen lässt.

Weiterhin ist es möglich, dass Peripheriegeräte direkt miteinander kommunizieren, ohne den Umweg über den Chipsatz zu gehen. Dieses Verfahren wird Peer-to-Peer (P2P) genannt. PXIe (PCI Extensions for Instrumentation Express) ist die Erweiterung des PCIe um Funktionen für die Messtechnik wie z.B. robustere Netzteile, leistungsfähigere Kühlung der Peripheriegeräte sowie einen Trigger- und Timing-Bus, über den mehrere Messgeräte synchronisiert oder mit einem einheitlichen Takt versorgt werden können.

Ein wie in Bild 1 gezeigtes System besteht aus einem PXIe- Gehäuse (Chassis) mit einem Embedded- Controller (PC-Einschub mit Prozessor, Arbeitsspeicher und Festplatten) sowie Modulen zur Datenerfassung. Als Betriebssystem kommen Windows, Linux oder ein Echtzeit-System zum Einsatz.

PXIe-Steckplätze nutzen jeweils vier PCIe-Lanes und können so bis zu 1 Gbyte/s pro Richtung transportieren. In einem System hängt die maximale Gesamt-Datenrate vom Chipsatz des verwendeten Controllers ab. Ein aktueller Embedded-Controller wie der PXIe-8130 kann Datenströme von insgesamt 4 Gbyte/s verarbeiten.