Diese Website nutzt Cookies, um gewisse Funktionen gewährleisten zu können. Durch die Nutzung der Website stimmen Sie unseren Datenschutz-Richtlinien zu.
Nachrichten und Informationen zu Test- und Messtechnik für Elektronik in Entwicklung, Produktion und Service.  

Newsletter abonnieren

Alle 14 Tage alle News im Überblick
captcha 
Bitte geben Sie auch den angezeigten Sicherheitscode ein.

Aktuelle Test- und Messtechnik-News

Schnellere Signalverarbeitung bei Digitizern

Spectrum SCAPP24. November 2017 - Schnelle Digitizer haben in der Regel einen Engpass bei der Signalverarbeitung, entweder durch den Prozessor des Host-PCs mit nur 8 oder 16 Kernen, oder ein komplex zu programmierendes FPGA. Spectrum Instrumentation löst dieses Problem mit der neuen SCAPP-Option (Spectrum’s CUDA Access for Parallel Processing). Mit SCAPP kann ein CUDA-basierter Prozessor (GPU) der Grafikkarte direkt zwischen jedem Spectrum Digitizer und dem PC benutzt werden.

Der große Vorteil: die vom Digitizer erfassten Daten werden direkt an die GPU geschickt, der mit bis zu 5000 Kernen eine viel schnellere parallele Verarbeitung bietet als die CPU des PCs mit nur 8 oder 16 Kernen. Die gesteigerte Leistungsfähigkeit ist besonders wichtig bei schnellen Digitizern mit 50 MS/s, 500 MS/s oder sogar 5 GS/s.

Für SCAPP benötigt man nur eine typische Grafikkarte, die den CUDA-Standard vom führenden Grafikkarten-Hersteller Nvidia erfüllt. Die Spectrum Digitizerkarte liefert ihre aufgezeichneten Daten direkt an die GPU der Grafikkarte, ohne Interaktion der CPU des PCs. Nun steht die beeinduckende parallele Prozessorstruktur der GPU, die normalerweise hundertausende von Pixeln des Monitors ansteuert, für die Verarbeitung der riesigen Menge an Messdaten zur Verfügung. Die GPU kann eine Vielzahl von Verarbeitungsvorgängen übernehmen, wie Datenkonvertierung, Filtern, Mittelwertbildung, Basislinien- Unterdrückung, FFT-Fenster-Funktionen oder sogar FFTs selbst.

Bisherige Methoden der Signalverarbeitung

Bis jetzt gab es zwei grundsätzliche Arten, die hohen Datenmengen von schnellen Digitizern zu verarbeiten. Die übliche Methode ist die Nutzung der CPU des PCs. Ein Vorteil bei diesem Ansatz ist die Möglichkeit, eigene Datenverarbeitungsprogramme zu schreiben, mit jeder beliebigen Programmiersprache und ohne große zusätzliche Kosten. Nachteilig ist dabei allerdings, dass die CPU-Leistung die Möglichkeiten des Verarbeitungssystems begrenzt. Außerdem werden Kapazitäten der CPU auch für den restlichen PC, das Betriebssystem und die grafische Benutzeroberfläche benötigt.

Die zweite Methode ist die Nutzung von FPGA-Technologie, entweder mit festen Verarbeitungspaketen vom Anbieter (wie die “Block Average”-Pakete von Spectrum), oder mit einem offenen FPGA und einem Firmware-Development-Kit (FDK). Diese Methode bietet weitreichende Möglichkeiten, aber sie verursacht hohe Kosten und ist komplex. Große FPGAs sind kostspielig und benötigen ein FDK vom Anbieter des Digitizers sowie die entsprechenden Tools des FPGA-Herstellers. Zudem ist die Implementierung von Signalverarbeitung in ein FPGA eine anspruchsvolle Aufgabe, die einen hohen Kenntnisstand von VHDL bedingt. Dadurch kann die Inbetriebnahme des ganzen Systems stark verzögert werden. Zumal die Gefahr besteht, an die Grenzen des eingesetzten FPGAs auf der Karte zu stoßen. Ist z.B. der Block-RAM am Limit, ist keine weitere Verbesserung mehr möglich.

TCO – Total Cost of Ownership

Vergleicht man die SCAPP-Methode mit einer bisherigen FPGA-basierten Lösung, sind die Kosten deutlich geringer: Eine passende CUDA-Grafikkarte liegt im Bereich von 150€ bis 3000€, und das nötige Software-Development-Kit (SDK) ist kostenlos. Die größte Einsparung ist aber bei der Entwicklungszeit zu finden. Statt viele Wochen in das Verständnis des Firmware-Development-Kits, der FPGA-Firmware, der FPGA-Design-Suite und der Simulations-Tools zu investieren, kann der Kunde mit der SCAPP-Methode sofort starten. Lediglich einige einfache C-Codes und typische Design-Tools müssen beherrscht werden.

Details über SCAPP

Das SCAPP-Treiberpaket besteht aus der Treiber-Erweiterung für RDMA (Remote Direct Memory Access), welche den direkten Datentransfer zwischen Digitizer und GPU erlaubt. Das Paket enthält außerdem Anwendungsbeispiele für die Interaktion zwischen Digitizer und der CUDA-Grafikkarte. Dazu gibt es Beispiele für die parallele Datenverarbeitung mit anschaulichen Anwendungen von Basisfunktionen wie Filtern, Mittelwertbildung, Daten De-Multiplexing, Datenumwandlung oder FFT. Die Software basiert auf C/C++ und kann mit normalen Programmierfähigkeiten implementiert und angepasst werden. Mit getesteten und optimierten “Parallel-Processing”-Beispielen zu beginnen, liefert dem Anwender Erfolgserlebnisse innerhalb von Minuten.

Performance

Digitizer und GPU-Grafikkarte sind über PCI Express verbunden. Abhängig von der gewählten Spectrum-Digitizerkarte kann ein Datendurchsatz von mehr als 3,0 GByte/s zwischen Digitizer und GPU erreicht werden. Das ist ausreichend, um den kontinuierlichen Datenfluss eines einkanaligen 8-Bit-Digitizers mit 2,5 GS/s zu verarbeiten, oder einer zweikanaligen Version mit 14 Bit bei 500 MS/s. Wird einer von Spectrums intelligenten Aufzeichnungsmodi benutzt (wie z.B. Multiple Recording) und damit das anfallende Transferdatenvolumen verringert, kann die Abtastrate sogar noch deutlich erhöht werden.

Die GPUs auf den passenden Grafikkarten haben zwischen 256 und 5000 Prozessorkerne. Zum Vergleich: eine “Dual Quad-Core” Xeon CPU mit Hyperthreading besitzt nur 16 Prozessorkerne. Die Grafikkarten haben mehrere GByte Speicher und bis zu 12,0 TFLOP (1012 = Trillion Floating Point Operations pro Sekunde). Schon eine kleinere Karte mit 1000 Kernen und 3,0 TFLOP kann eine beeindruckende kontinuierliche Verarbeitung bieten: Datenkonvertierung, Multiplexing, Windowing, FFT und Mittelwertbildung auf zwei Kanälen bei 500 MS/s mit einer FFT-Blockgröße von 512 KS – und das stundenlang! Im Vergleich: Ein FFT-Paket von anderen Digitizer-Anbietern hat typischerweise eine Limitierung der FFT-Blockgröße bei 4 KS oder 8 KS, denn das ist die Obergrenze für das FPGA.

Das SCAPP-Paket ist eine Treibererweiterung, die bei allen Spectrum-Karten funktioniert. SCAPP kann für die ultra-schnellen Digitizer der M4i-Plattform benutzt werden, mit 250 MS/s bei 16 Bit, 500 MS/s mit 14 Bit oder 5 GS/s mit 8 Bit. SCAPP funktioniert auch mit der neuen M2p-Plattform, die im mittleren Leistungssegment angesiedelt ist, mit 20 bis 80 MS/s multi-channel 16 Bit. Die grundsätzlichen RDMA-Funktionen stehen unter einem Linux-Betriebssystem zur Verfügung.

www.spectrum-instrumentation.com/



Weitere News zum Thema:

Aktuelle Termine

emv 2018
20. bis 22. Februar 2018
zur Terminübersicht...
embedded world 2018
27. Februar bis 01. März 2018
zur Terminübersicht...
TUZ Freiburg
04. bis 06. März 2018
zur Terminübersicht...

Banner-Werbung

Social Media

twitter_follow_420x50px