Auslesen von FIFO's in ADwin mit LabVIEW
Hii Rob,
also, die Firma ADwin baut u. a. Messsysteme für Echtzeit-Datenerfassung, ich verwende das ADwin Light 16 System, eine PCI-Steckkarte, um Messdaten verschiedener Sensoren mit ADwin-VIs, die ich nach LabVIEW importiert habe, auszulesen.
Mir wurde empfohlen, das ganze über FIFOs zu realisieren, die, möglichts gut dimensioniert, keinen Datenversatz beim Auslesen haben sollten.
Der Frequenzbereicht ist bei der Verwendung von Streuflusssensoren oder Wirbelstromsensoren nicht unbedigt förderlich für lückenlose Datenerfassung.
Das ADwin System hat 8 Analogeingänge die über 8 AD-Wandler auf einen Multiplexer gführt sind.
Der Mux kann mit einer max. Frequenz von 100 KHz einen Analogeingang abtasten, d.h. wenn ich alle 8 Eingänge verwenden würde, verteilen sich die 100 KHz auf alle 8 Kanäle.
Das Adwin-System kann mit einem maximalen Globaldelay von 25 Nanosekunden getaktet werden.
Mein Problem ist nun, zwischen einem ausreichtend dimensioniertem FIFO, einer entsprechenden Abtastfrequenz und der Datenrate, die LabVIEW aufnehmen kann, einen Kompromiss zu finden, bei dem ich eine Bandbreite von 400 Hz bis 100 Khz problemlos einlesen und on the Fly in einer Binärdatei ablegen kann.
Alles funktioniert super gut, bis auf den Datenversatz, der dann entsteht, wenn LabVIEW geradre die Daten aus dem vollgeschriebenen FIFO ausliesst.
Dies wird in der FFT deutlich an Hand mehrerer Peaks, die über der Frequenz verteilt sind.
Jetzt ist die Frage: wie hoch ist die optimale Sample-Rate für diese Bandbreite und wie gross muss der FIFO sein, um Datenversatz zwischen dem Auslesen zu vermeiden.
Gruss fan
|