Bild 1: Die schnellen, hochauflösenden Digitizer der Baureihen M4i.22xx und M4i.44xx von Spectrum nutzen eine schnelle PCIe-8-Lane-Schnittstelle der 2. Generation und ermöglichen Übertragungsraten von bis zu 3,4 GB/s.

Bild 1: Die schnellen, hochauflösenden Digitizer der Baureihen M4i.22xx und M4i.44xx von Spectrum nutzen eine schnelle PCIe-8-Lane-Schnittstelle der 2. Generation und ermöglichen Übertragungsraten von bis zu 3,4 GB/s. Spectrum

Bei den meisten modernen PC-basierten Digitizern und Datenerfassungssystemen ist ein häufiges Problem der Tatsache geschuldet, dass die Analog/Digital-Wandler-Technologie (ADW-Technologie) in der Regel weiter entwickelt ist als die PC-Bus-Technologie. Bei sehr schnellen und hochauflösenden Digitizer-Produkten führt dies zu Engpässen, wenn der ADW wesentlich mehr Daten digitalisieren kann, als problemlos in die PC-Umgebung übertragen werden können. So ermöglichen zum Beispiel USB-basierte Digitizer üblicherweise Abtastraten von mehr als 100 MS/s (Megasamples/Sekunde), die Datenübertragungsgeschwindigkeit zum PC ist durch den Bus jedoch häufig auf einige wenige MByte/s begrenzt. Dieser Engpass führt zu Situationen, in denen der Digitizer die Aufzeichnung von Daten unterbrechen muss und dabei potenziell wichtige Ereignisse verpasst, während er darauf wartet, dass zuvor gespeicherte Informationen gelöscht werden. Darüber hinaus begrenzen die langsamen Datenübertragungsraten die Mess- und Analysegeschwindigkeit eines Systems insgesamt. Das wird zu einem größeren Problem in Anwendungen, in denen große Datenmengen erfasst, gespeichert und analysiert werden müssen.

Eckdaten

Ein Engpass im Datentransfer vom A/D-Wandler in den Speicher führt dazu, dass der Digitizer die Aufzeichnung von Daten unterbrechen muss und dabei potenziell wichtige Ereignisse verpasst. Die Kombination neuester PC-Bus-Technologien und werkseitig entwickelte FPGA-Routinen sowie verschiedene intelligente Datenaufzeichnungs- und -übertragungsmodi beheben dieses Problem. Spectrums Digitizer der Baureihen M4i.22xx und M4i.44xx nutzen eine schnelle PCIe-8-Lane-Schnittstelle der 2. Generation und ermöglichen Übertragungsraten von bis zu 3,4 GB/s.

Engpässe beim Datentransfer beseitigen

Ein Ansatz zur Lösung der Engpassproblematik besteht darin, die Daten an On-Board-Field-Programmable-Gate-Arrays (FPGA) zu senden, wo der Endbenutzer die Daten verarbeiten und versuchen kann, die Menge der Informationen zu reduzieren, die über den Bus an den PC gesendet werden müssen. Bei hohen Geschwindigkeiten ist dieser Ansatz jedoch in der Regel sehr teuer, da kostspielige Tools zur Entwicklung der FPGA-Firmware und spezielle Entwicklerkenntnisse erforderlich sind. Die Entwicklung einer fortschrittlichen FPGA-Firmware ist keine leichte Aufgabe, und je nach implementierten Algorithmen kann viel Zeit ins Land gehen, bis die Firmware entwickelt, von Bugs befreit und einsatzfähig ist. Diese Art der Investition ist nur bei sehr großen Projekten sinnvoll.

Tabelle 1: Übersicht zur Datentransfergeschwindigkeit gängiger Digitizer-Bustypen.

Tabelle 1: Übersicht zur Datentransfergeschwindigkeit gängiger Digitizer-Bustypen. Spectrum

Spectrum hat einen anderen Ansatz gewählt, um Benutzern von Digitizern das Leben deutlich zu erleichtern. In der Lösung sind neueste PC-Bus-Technologien und werkseitig entwickelte FPGA-Routinen sowie verschiedene intelligente Datenaufzeichnungs- und -übertragungsmodi miteinander kombiniert. Das Ergebnis kann sich sehen lassen: Der Benutzer kann den Datenübertragungsprozess einfach optimieren und komplexe Messungen sowie Analyseroutinen innerhalb der PC-Umgebung durchführen. Ist die Übertragung einmal abgeschlossen, können handelsübliche Softwaretools wie Matlab von Mathworks, Labview von National Instruments oder SBench 6 von Spectrum zur Verarbeitung der eingehenden Daten verwendet werden. Bei diesem Ansatz ist eine individuelle Firmware unnötig, wodurch sich die Entwicklung von Projekten vereinfacht und die Entwicklungskosten erheblich reduziert werden.

In Tabelle 1 sind verschiedene Digitizer-Schnittstellen und die typischen Datenübertragungsgeschwindigkeiten, die sie über längere Aufzeichnungszeiträume ermöglichen, aufgeführt. Der Tabelle lässt sich leicht entnehmen, dass es bei Digitizern, die auf langsameren oder älteren Bussystemen wie USB oder PCI basieren, schnell zu Engpässen bei der Datenübertragung kommen kann, wenn die On-Board-ADCs mit mittleren Geschwindigkeiten im Bereich von 10 – 200 MS/s oder schneller digitalisieren. Das Problem verschärft sich weiter, wenn der Digitizer über mehrere Kanäle verfügt, da dies effektiv zu einer Vervielfachung der aufgezeichneten Datenmengen führt.

PCIe als echter Hochgeschwindigkeitsbus

Bild 2: Das Programm Spectrum Control Center ermöglicht die Messung der Datenübertragungsgeschwindigkeit, zeigt den Einfluss der Benachrichtigungsgröße auf und bietet Bus- und Karteninformationen.

Bild 2: Das Programm Spectrum Control Center ermöglicht die Messung der Datenübertragungsgeschwindigkeit, zeigt den Einfluss der Benachrichtigungsgröße auf und bietet Bus- und Karteninformationen. Spectrum

Natürlich hängt die Datenübertragungsgeschwindigkeit nicht ausschließlich vom Bus des Digitizers ab. Sie wird auch von anderen Faktoren beeinflusst, beispielsweise vom PC, seiner Einrichtung und der Software, die für die Steuerung des Übertragungsprozesses verwendet wird. In Bild 1 sind die Digitizer der Baureihen M4i.22xx und M4i.44xx von Spectrum zu sehen, die Abtastraten von 5 GS/s bei 8-Bit-Auflösung, 500 MS/s bei 14-Bit-Auflösung oder 250 MS/s bei 16-Bit-Auflösung bieten. Alle Karten der Baureihe M4i verfügen über die neueste PC-Bus-Technologie für Digitizer, eine 8-Lane-PCIe-Schnittstelle der 2. Generation, die in der Lage ist, Daten mit bis zu 3,4 GB/s vom On-Board-Speicher in den PC zu übertragen. Die Karten der Baureihe M4i sind mit geschwindigkeitsoptimierten Treibern für Windows und Linux ausgestattet, außerdem werden diverse Busmaster-DMA-Engines für den direkten Speicherzugriff (DMA) verwendet, um die höchstmöglichen Datenübertragungsraten zu unterstützen.

Die DMA-Übertragungsleistung ist das Ergebnis des Zusammenwirkens aller beteiligten Komponenten. Der Hersteller des Digitizers hat Einfluss auf den FPGA-DMA-Kern des Digitizers, den Kernel-Treiber, die Bibliothek und das Testprogramm. Auch das Motherboard des PC beeinflusst die Gesamtleistung. Einerseits gibt es Hardware-Faktoren wie die Anzahl der verbundenen PCIe-Lanes, die unterstützte PCIe-Generation und die Anzahl der Brücken zwischen CPU und Steckplatz. Andererseits gibt es softwareseitige Aspekte wie die BIOS-Version, BIOS-Einstellungen und die Payload-Größe, die von anderen im System verwendeten Komponenten abhängen können.

Messen der DMA-Datentransfergeschwindigkeit

Um die DMA-Leistung für diesen Beitrag zu messen, wurde das Spectrum Control Center verwendet – ein kleines Softwaretool für Produkte von Spectrum, das zu Wartungs- und Testzwecken eingesetzt werden kann. Das Spectrum Control Center ist eine C++ Anwendung, die auf den Qt-Bibliotheken basiert, die die Verwendung auf Windows- und Linux-Betriebssystemen ermöglichen. Um die DMA-Übertragungsgeschwindigkeit zu messen, wird die Karte in einen speziellen Testmodus geschaltet, um jegliche Einflüsse durch das jeweilige Kartenmodell zu verhindern. Eine 2-Kanal-14-Bit-Karte für 500 MS/s generiert lediglich 1.953 MB/s an Daten, wenn sie mit der vollen Abtastrate läuft – was noch nicht einmal annähernd in dem Bereich liegt, in dem ein 8-Kanal-PCIe-Bus der 2. Generation übertragen kann.

Bild 3: Dieses kostenlose Kommandozeilenprogramm ermöglicht die Anpassung von DMA-Einstellungen und die Messung von Datenübertragungsraten.

Bild 3: Dieses kostenlose Kommandozeilenprogramm ermöglicht die Anpassung von DMA-Einstellungen und die Messung von Datenübertragungsraten. Spectrum

Da es PC-Motherboards mit unterschiedlicher BIOS-Struktur gibt, hängen die Ergebnisse auch von der Größe der DMA-Benachrichtigung (Notify Size) ab – also von der Datenmenge, die übertragen wird, bis eine Interrupt-Anforderung ausgegeben wird. Um die maximale Leistung zu ermöglichen, muss die optimale Benachrichtigungsgröße für die DMA-Übertragung gewählt werden. Das Spectrum Control Center iteriert verschiedene Benachrichtigungsgrößen, um die besten Leistungseinstellungen zu finden. Dies wird in Bild 2 gezeigt. In diesem Beispiel wird eine gute Leistung bei Verwendung einer Benachrichtigungsgröße von 32 kByte oder mehr erreicht. Die maximale Übertragungsgeschwindigkeit wird bei einer Benachrichtigungsgröße von 1 MByte erreicht, was mit der Ausgabe von Interrupt-Aufforderungen in einem Intervall von 300 μs einhergeht. Die maximale DMA-Übertragungsleistung des in diesem Test verwendeten Motherboards beträgt 3330 MB/s. Auf dem Informationsbildschirm des Control Center wird auch angezeigt, dass die PCIe-Payload-Größe des verwendeten Kartensteckplatzes 256 Byte beträgt was die beste Übertragungsrate zulässt.

Das in Bild 3 gezeigte Kommandozeilenprogramm ist auch als Quellcode für Kunden erhältlich. Mit diesem Tool können Benutzer die DMA-Einstellungen einfach anpassen und das Streamen von Daten unter Verwendung realer Einstellungen auf Festplatten-Arrays testen.

Wie in Bild 3 zu sehen, ist die Leistung etwas besser (durchschnittlich 3348 MB/s), da keine grafische Benutzeroberfläche vorhanden ist. Dieses Tool kann auch zur Messung der DMA-Leistung mehrerer Karten in parallelen Motherboards verwendet werden, wo es Engpässe hinsichtlich unzureichender PCIe-Lane-Anschlüsse aufdeckt.

Einflüsse von Motherboard-Einstellungen und Payload-Größe

In Tabelle 2 sind einige Ergebnisse von Benchmark-Tests zu sehen, die an Digitizern der Baureihe M4i mit verschiedenen PC-Motherboards und -Konfigurationen durchgeführt wurden. Die beste Leistung wird bei einer PCIe-Payload-Größe von 256 Byte erzielt. Im Handbuch des Motherboards wird erläutert, wie die Steckplätze elektrisch angeschlossen sind, da nicht bei jedem mechanischen 8-Lane-Steckplatz sämtliche Lanes mit dem Chipsatz verbunden werden.

Tabelle 2: Benchmark-Test zur Datentransfergeschwindigkeit gängiger Digitizer-Bustypen.

Tabelle 2: Benchmark-Test zur Datentransfergeschwindigkeit gängiger Digitizer-Bustypen. Spectrum

Zusätzlich zum schnellen PCIe-Bus bieten die Digitizer-Karten der Baureihe M4i verschiedene Aufzeichnungsmodi. Im Standard-Aufzeichnungsmodus wird der On-Board-Aufzeichnungsspeicher wie beim Oszilloskop als Ring-Buffer genutzt. Die Daten werden in den Ringspeicher des Digitizers geschrieben, bis ein Trigger-Ereignis auftritt. Nach dem Trigger werden Post-Trigger-Werte aufgezeichnet und somit sowohl Pre- als auch Post-Trigger-Werte in die aufgezeichneten Daten aufgenommen.

Der andere Aufzeichnungsmodus basiert auf dem FIFO-Prinzip (First In – First Out). Hierbei handelt es sich um einen Streaming-Modus für die kontinuierliche Datenübertragung zwischen dem Digitizer und einem externen Host-Computer. Die Steuerung des Datenstroms erfolgt automatisch durch eine Interrupt-Anforderung des Treibers.

Der Hauptunterschied zwischen Standard- und FIFO-Modus liegt in der Beschränkung des Standardmodus auf den On-Board-Speicher, der bei den Digitizern der Baureihe M4i 4 GB umfasst. Der FIFO-Modus wurde für die kontinuierliche Datenübertragung über den Bus zum PC-Speicher oder zur Festplatte entwickelt und kann daher für deutlich längere Aufzeichnungen genutzt werden. Der gesamte installierte Aufzeichnungsspeicher wird als Zwischenspeicher verwendet und ermöglicht zuverlässiges Daten-Streaming. Für die volle Streaming-Leistung sind ein spezieller RAID-Controller – mehrere SSDs mit hohem Datendurchsatz – ein optimierter Treiber, das richtige System- und Software-Setup sowie eine Streaming-Software erforderlich, die die Engpässe des Betriebssystems beseitigen. Spectrum bietet eine solche direkt einsetzbare Lösung (Bild 4), die das kontinuierliche Streamen mehrerer Terabyte Daten auf ein SSD-Array mit Übertragungsgeschwindigkeiten von mehr als 3 GB/s ermöglicht.

Speichersegmentierungsmodi für langsame Messungen

Der Standard- und der FIFO-Modus können auch mit drei verschiedenen Multiple-Recording-Modi kombiniert werden. Multiple-Recording kann immer dann genutzt werden, wenn das zu digitalisierende Signal in Form von Impulsfolgen oder sequenziell eingeht. Multiple-Recording ermöglicht eine noch effizientere Nutzung des On-Board-Aufzeichnungsspeichers, insbesondere bei Messanwendungen mit niedrigem Auslastungsgrad. Anwendungen mit niedrigem Auslastungsgrad sind solche, bei denen wichtige Kurzzeit-Ereignisse auftreten, auf die lange Ruheintervalle folgen.

Für diese Art von Signalen optimierte Aufzeichnungsmethoden sind der Multiple-Recording-Modus (Segmentaufzeichnung), der Gated-Sampling-Modus (torsignalgesteuerte Aufzeichnung) und der ABA-Modus (doppelte Zeitbasis). Alle diese Modi segmentieren den Speicher und führen darin mehrere Aufzeichnungen durch. Der ABA-Modus mit doppelter Zeitbasis reduziert die Abtastrate zwischen den Triggern und spart auf diese Weise Speicherplatz bei gleichzeitiger Anzeige der Ereignisse in der Totzeit zwischen den Triggern. Weitere Informationen und Erläuterungen zu diesen Aufzeichnungs- und Multiple-Recording-Modi sind im Spectrum-Artikel „Anwendung der Aufzeichnungsmodi bei modularen Digitizern“ zusammengefasst.

Triggerfunktionen und Signalverarbeitung zur Datenreduktion

Bild 5: Blockschaltbild eines Digitizers der Baureihe M4i mit Darstellung des Signalverarbeitungsweges im FPGA.

Bild 5: Blockschaltbild eines Digitizers der Baureihe M4i mit Darstellung des Signalverarbeitungsweges im FPGA. Spectrum

Eine weitere und letzte Methode, die man zur Bewältigung der Engpass-Problematik bei Digitizern der Baureihe M4i nutzen kann, sind On-Board-Verarbeitung und Datenreduktion. In die Karten der Baureihe M4i ist ein FPGA integriert, das für zahlreiche Funktionen genutzt wird, beispielsweise Speichersteuerung, Triggermodi, PCIe-Bus-Steuerung und Signalverarbeitung. In Bild 5 ist ein Blockschaltbild mit der grundlegenden Architektur eines Digitizers der Baureihe M4i dargestellt. Innerhalb des FPGA ist Speicherplatz reserviert, in den werkseitig entwickelte Firmware oder Funktionen wie Signalmittelwertbildung, Spitzenerkennung und Statistikfunktionen geladen werden können.

Die On-Board-Signalverarbeitung kann die letzten Endes auf den PC zu übertragende Datenmenge um mehrere Größenordnungen verringern. Beim Arbeiten mit sich wiederholenden Signalen ist die Firmware zur Mittelwertbildung beispielsweise in der Lage, über 65.000 einzelne Wellenformen mit einer Länge von jeweils bis zu 128.000 Punkten zu sammeln. Die Funktion bewirkt eine effektive Reduzierung der Daten aller Einzelwellenformen auf eine einzige gemittelte Wellenform.

Auf ähnliche Weise ist die Firmware zur Erkennung von Spitzen in der Lage, Maximum- und Minimum-Ereignisse innerhalb eines Signals zu erkennen und ihre Werte zusammen mit den entsprechenden Zeitinformationen zu speichern. Auf diese Weise lassen sich Wellenformen, die zuvor tausende, wenn nicht gar Millionen von Datenpunkten enthielten, auf einen einfachen Satz von vielleicht sechs bis acht einfachen Zahlen reduzieren.

Große Datenübertragungsraten sicherstellen

Während sich durch die Anwendung der Analog/Digital-Wandler-Technologie in modernen Digitizern schnellere Aufzeichnungsraten bei höherer Auflösung erzielen lassen, wachsen die aufzuzeichnenden, zu speichernden und auf einen PC zu übertragenden Datenmengen immer weiter. Um die Daten auf einen PC zur Anzeige, Speicherung und Analyse übertragen zu können, sind Digitizer mit einem ausreichend leistungsstarken Bus (der in der Lage ist, dauerhaft vergleichbare Datenübertragungsraten sicherzustellen), flexible Aufzeichnungs- und Übertragungsmodi sowie ein gut konfigurierter PC und geeignete Software erforderlich. In extremen Fällen, in denen sich eine Datenreduktion als erforderlich erweist, kann auch die FPGA-Technologie Anwendung finden.

High-Speed 14- und 16-Bit-Digitizer für PXIe

Auch für den populären PXIe-Busstandard (PXI Express) sind High-Speed-Digitizer mit 14 und 16 Bit verfügbar. Die M4x.44xx-Serie besteht aus sechs neuen Produkten, jeweils aus einem doppelt breiten 3U-Modul mit einem 4-Lane-PCI-Express-Interface der 2. Generation. Diese extrem leistungsfähige Schnittstelle erlaubt den kontinuierlichen Datentransfer mit mehr als 1,7 GByte/s.

Bild 6: High-Speed 14- und 16-Bit-Digitizer sind neuerdings auch für PXIe verfügbar.

Bild 6: High-Speed 14- und 16-Bit-Digitizer sind neuerdings auch für PXIe verfügbar. Spectrum

Die neuen Digitizer sind mit zwei und vier voll synchronen Kanälen und in 14-Bit-Auflösung für Abtastraten bis 500 MS/s oder 16-Bit-Auflösung für Abtastraten bis 130 oder 250 MS/s erhältlich . Jeder Eingangskanal der Digitizer ist mit einem eigenen monolithischen A/D-Wandler sowie einem rauscharmen Verstärker ausgestattet. Voll programmierbar bietet dieser sechs Eingangsbereiche von ±200 mV bis ±10 V, eine wählbare Eingangsimpedanz von 50 Ω oder 1 MΩ sowie AC- oder DC-Kopplung. Der flexible Eingangsverstärker wird durch ein leistungsfähiges Triggersystem sowie eine vielseitige Takteinheit (interne oder externe Takterzeugung) ergänzt. Triggerquelle kann jedes der Eingangssignale,  ein externer Triggereingang, eine der acht PXI-Triggerleitungen oder der PXI-Star-Trigger sein.

Die Karten erreichen typischerweise eine SNR von mehr als 70 dB, einen störungsfreien Dynamikbereich (SFDR) von mehr als 90 dB und eine harmonische Verzerrung (THD) von weniger als -70 dB. Alle vorgestellten Digitizer werden mit 4 GByte (2 Giga-Samples) On-Board-Speicher ausgeliefert. Alle Triggerereignisse können mit einem Zeitstempel versehen werden.

Im Lieferumfang enthalten sind auch SPCM-Treiber für Windows und Linux von Spectrum. Diverse Beispiele für verschiedene Aufzeichnungsfunktionen in Visual C++, Borland C++, Gnu C++, Visual Basic, VB.NET, Delphi, C#, J# und Python unterstützen den Software-Entwickler. Die neuen Karten der M4x Serie sind ab sofort aber mit Lieferzeiten  von 4 bis 6 Wochen verfügbar – technischer Support sowie die Software und Firmware-Updates sind kostenlos.