Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 3 Jahren

EF-Mess2020

  • Text
  • Software
  • Sensor
  • Elektronik
  • Messtechnik
Einkaufsführer Messtechnik & Sensorik

Messtechnik

Messtechnik Closed-Loop-Test mit einem PC-Digitizer & AWG Bild 1: Das Testsystem besteht aus einer handelsüblichen Xeon-Serverplatine, einem Spectrum M4i.4451-x8 Digitizer mit 14 Bit und 500 MS/s, einem Spectrum M4i.6622-x8 AWG mit 16-Bit und 625 MS sowie einer Nvidia Quadro P2000 GPU Autor: Oliver Rovini, Technischer Leiter Spectrum Instrumentation Spectrum GmbH www.spectruminstrumentation.com/de Dieser Artikel widmet sich dem Aufbau eines PC-basierten „ Closed Loop“-Systems unter Verwendung eines PCIe-Digitizer und eines PCIe- AWG (Arbitrary Waveform Generator) in Kombination mit einer einfachen Programmierung in C++. Unter Windows und Linux werden verschiedene Setups getestet. Der Artikel zeigt auch die Unterschiede in der Latenz beim Hinzufügen einer GPU, die die Berechnungsleistung des Systems steigert. Zielanwendungen Es gibt in der Elektronik verschiedene Anwendungsgebiete, in denen eine geringe Latenz benötigt wird, um schnelle Entscheidungen zu treffen oder schnelle Änderungen vorzunehmen. Diese Anwendungsgebiete werden normalerweise unter dem Namen „Echtzeit“-Anwendungen zusammengefasst. Dieser Name bezog sich ursprünglich auf hardwarebasierte Lösungen, bei denen eine definierte und garantierte Reaktionszeit gewährleistet werden musste, um sicherzustellen, dass das Setup rechtzeitig auf einen externen Stimulus reagiert. Beispiele finden sich in Automobil-, Luft- und Raumfahrtsystemen. Die Bezeichnung „Echtzeit“ wird jedoch auch häufig als Synonym für eine schnelle Antwort verwendet. In solchen Fällen ist die Latenz zwischen Eingabe und Ausgabe (Entscheidungs- und Reaktionszeit) entscheidend. Dieser Artikel ist für alle Personen von Interesse, die sich mit folgenden Anwendungen beschäftigen: • Kontrollkreise: Der Eingang der Schaltung wird als Basis für den Ausgang verwendet, um ein oder mehrere externe Geräte zu steuern. • Entscheidungsfindung: Die Schaltung reagiert auf ein externes Ereignis und liefert einen geänderten Output. • Manipulationsschleifen: Diese Schaltungen erfassen ein Signal, nehmen eine Veränderung vor und geben das veränderte Signal erneut aus. • Stimulus-Response-Systeme: Ein Signal wird erzeugt und ausgesandt, die zurückkehrenden Signale werden erfasst und analysiert, wobei anschließend eine Entscheidungsfindung erfolgt. Bild 2: Closed-Loop-Digitizer AWG mit RMDA zu GPU Technischer Hintergrund Alle Spectrum-Produkte sind für die schnelle Datenübertragung im FIFO-Modus ausgelegt, sowohl die Digitizer als auch die AWGs. Ein schneller FIFO-Modus basiert auf optimierten Treibern, die den Scatter-Gather-DMA-Prozess (Direct Memory Access) steuern. Leider führt die Forderung nach einem hohen Durchsatz immer dazu, dass Daten gepuffert werden müssen. Erstens basiert ein schneller DMA-Prozess auf Übertragungen mit großer Puffer größe. Dies optimiert die Relation zwischen Datenübertragung und Steuerbefehlsaufwand. Zweitens kann jede externe Verzögerung in der Antwort- oder Reaktionszeit durch die großen Puffer kompensiert werden. Wenn die Puffer zu klein sind, ist das Ergebnis normaler weise ein Über- oder Unterlaufen der FIFO-Puffer, wodurch die FIFO-Übertragung gestoppt wird. Der klassische Ansatz für diese Anwendungen besteht darin, ein Echtzeit-Betriebssystem mit definierten Antwortzeiten und Prioritätssteuerung zu haben, passende Echtzeit-Treiber und -Hardware, optimiert für kurze Latenzzeiten (und nicht für höchsten Durchsatz). Eine noch schnellere Lösung wäre die Implementierung des gesamten Prozesses in Hardware (FPGA) ohne Interaktion des Host-Systems. Bei einer FPGA-Lösung kann es aber schnell zu Programmierzeit- oder Kostenüberschreitungen kommen: 6 Einkaufsführer Messtechnik & Sensorik 2020

Messtechnik Die FPGA-Programmierung erfordert spezielle Kenntnisse und die Hardware unterliegt häufig Einschränkungen, die die Systemfunktionalität und die Datenverarbeitungsfähigkeit begrenzen. Aber auch Echtzeitsysteme können Probleme verursachen: Neben zusätzlichen Lizenzkosten für ein Echtzeitbetriebssystem kann der Zugriff auf nützliche Softwaretools von Drittanbietern einschränkt sein. In vielen Fällen erweist sich daher die Einrichtung eines auf Windows (oder Linux) basierenden Closed- Loop-Systems als wirtschaftlicher und schneller zu implementieren. Testergebnisse für PC-basierte Software (Windows) Geschwindigkeit Kanäle FIFO transfer Software Buffer Notify Size Latenz 500 MS/s 1 (14/16 Bit) 2 x 1 GByte/s 768 kByte 256 kByte 790 µs 250 MS/s 1 (14/16 Bit) 2 x 500 MByte/s 360 kByte 120 kByte 740 µs 125 MS/s 1 (14/16 Bit) 2 x 250 MByte/s 240 kByte 80 kByte 980 µs 62,5 MS/s 1 (14/16 Bit) 2 x 125 MByte/s 240 kByte 60 kByte 1,97 ms 500 MS/s 2 (14/16 Bit) 2 x 2 GByte/s 1,5 MByte 256 kByte 790 µs 250 MS/s 4 (14/16 Bit) 2 x 2 GByte/s 1,5 MByte 256 kByte 790 µs Tabelle 1: Ergebnisse der Tests mit einem Spectrum-Streaming-System SPcB6-E6 unter Windows 7 Professional Geschwindigkeit Kanäle FIFO-Transfer Software Buffer Notify Size Latenz 500 MS/s 1 (14/16 Bit) 2 x 1 GByte/s 2 MByte 256 kByte 2,1 ms 250 MS/s 1 (14/16 Bit) 2 x 500 MByte/s 1 MByte 128 kByte 2,1 ms 125 MS/s 1 (14/16 Bit) 2 x 250 MByte/s 512 kByte 64 kByte 2,1 ms 62,5 MS/s 1 (14/16 Bit) 2 x 125 MByte/s 512 kByte 32 kByte 2,1 ms 500 MS/s 2 (14/16 Bit) 2 x 2 GByte/s 4 MByte 256 kByte 2,1 ms 250 MS/s 4 (14/16 Bit) 2 x 2 GByte/s 4 MByte 256 kByte 2,1 ms Tabelle 2: Ergebnisse der Tests mit einem Spectrum-Streaming-System SPcB6-E6 unter Linux Für einen Überblick über die Leistungsfähigkeit eines Closed-Loop- System unter Windows, wurde ein Testsystem mit einem Spectrum M4i.4451-x8 Digitizer und einem M4i.6622-x8 AWG konfiguriert. Beide Karten sind extern verbunden. Der Referenztaktausgang des Digitizers wird verwendet, um den Referenztakteingang des AWG zu speisen und für die Taktsynchronisation zu sorgen. Der Triggerausgang des Digitizers wird verwendet, um die Ausgabe des AWG zu starten. Der AWG wird mit einigen Nulldaten vorgeladen, die wiedergegeben werden, bis der AWG die erfassten Digitalisiererdaten empfängt. Die Größe der vorgeladenen Daten definiert die Latenz zwischen den erfassten Daten und den Schleifendaten. Bild 2 zeigt den Aufbau. Es wurden Tests mit einem Spectrum- Streaming-System SPcB6-E6 unter Windows 7 Professional durchgeführt.(siehe Tabelle 1). Wie aus der Tabelle hervorgeht, wurden die besten Ergebnisse mit einer Benachrichtigungsgröße (Notify Size) für die DMA-Übertragung erzielt, die den Softwarepuffer in 3 oder 4 Teile aufteilt. Die minimale Benachrichtigungsgröße, die stabil funktioniert, liegt bei 64 kByte. Diese Einschränkung ergibt sich aus den internen Hardware-Puffern, deren Größe von den Software-Puffern kompensiert werden muss. Die hier gezeigten Ergebnisse sind die beste Leistung, die für Laufzeiten von einer Minute erreicht wurde. Ergebnisse für PC-basierte Software (Linux) Benutzt wird das gleiche Setup wie oben, jedoch unter einem Linux- Betriebssystem (Tabelle 2). Ergebnisse für GPU-basierte Software (SCAPP-Option) unter Linux In einem zweiten Testaufbau mit einem M4i.4451-x8 Digitizer und einem M4i.6622-x8 AWG wird dem System eine GPU hinzugefügt. Wiederum sind beide Karten extern mit dem Referenztaktausgang des Digitizers verbunden, der den Referenztakteingang des AWG speist, und dem Triggerausgang des Digitizers, der den Ausgang des AWG startet. In diesem Setup empfängt und überträgt die GPU alle Daten direkt über RDMA. Die GPU kopiert die Daten ohne Manipulation nur einmal vom Digitalisierpuffer in den AWG- Puffer. Der AWG wird mit einigen Nulldaten vorgeladen, die wiedergegeben werden, bis die erfassten Digitizerdaten von der GPU empfangen werden. Die Größe der vorgeladenen Daten definiert die Latenz zwischen erfassten Daten und Schleifendaten. Bild 3 zeigt den Aufbau. Bild 3: Closed-Loop-Digitizer AWG Windows zu GPU Bild 4: Closed-Loop-Digitizer AWG mit DMA zu CPU Einkaufsführer Messtechnik & Sensorik 2020 7

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel