LabVIEWForum.de - Kalibrierung im FPGA

LabVIEWForum.de

Normale Version: Kalibrierung im FPGA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2

MichaDu

Hallo,

ich bin noch etwas verwirrt bezüglich der Kalibrierdaten meines 9205/9263.

Ich möchte nur auf FPGA-Ebene Spannungen vom 9205 lesen, filtern, bearbeiten und über das 9263 direkt wieder ausgeben. Für den Host (RT-Target) gibt es einige Beispiele und auch fertige VIs für die Umwandlung und Aufbereitung der Spannungen, nicht aber für ein FPGA-VI.

Da ich meine gelesene "reale" Spannung ohne eine Kalibrierung ja nicht kenne, habe ich Bauchschmerzen, diese Werte direkt zu verarbieten. Die Kalibrierdaten kann ich über einen Property-Node auslesen (Offset und LBS Weight), aber kann mir jemand sagen, wie ich die mit dem Spanungswert verknüpfen muss? Sind das auch irgendwelche Spannungswerte oder Multiplikatoren?? Die Werte sind ja teilweise gigantisch groß!

Dazu weiß ich auch nicht, wann ich genau im Projekteditor für das 9205 "Raw" oder "Calibrated" voreinstellen muss. Kann mir jemand hierzu einen Tipp geben? Die Handbücher und die Hilfe verraten nicht viel darüber...
Hallo MichaDu,

die Werte sind so groß da es nur BIT Werte sind. Auf dem FPGA sind keine Fließkommazahlen möglich, so dass du für deine Spannungen betimmte Bitbreiten zur Verfügung hast. Mit einer Zusatzinformation 1Bit = 0.1 V könntest du das auf dem RT Target umrechnen. Auf dem FPGA muss das alles mit ganzzahlen berechnet werden.

Ich hoffe das hilft für den Anfang.

Mike
Hallo MichaDu,

da du ja scheinbar LV 8.5.1 benutzt hättest ja eigentlich direkt die Möglichkeit die "calibrated" Werte zu benutzen da diese die Kalibrierdaten intern schon verarbeiten und dann deine Spannungswerte direkt im FPGA abbilden. Dies sind aber dann nur Fixed-Point Werte und sollten vom 9263 ausgegeben werden können aber leider kannst diese Fixed-Point Werte, nach meiner bisherigen Erfahrung, nicht mittels Filter verarbeiten etc..
Eine andere Möglichkeit wäre die Kalibrierdaten für beide Module auslesen und ans RT übergeben und dort ermitteln was für ein Binärwert für jeweils Spannung von 0V steht und die Differenz der beiden Binärwerte dann also Offset-Wert wieder runter an den FPGA übergeben und damit dann etwaige Offset-Fehler zu eliminieren. Da beide Module scheinbar mit +-10V gewählt wurden und auch beide ne 16 bit ADC haben sollte das schon genügen um dort "genau" zu sein.

Aber ne reine FPGA-Lösung fällt mir spontan leider nicht ein wenn du die Eingangsdaten vom 9205 auch noch verarbeiten willst.

mfg

Holger
Upgrade to LV 8.6 + FPGA 8.6
Filter haben in dieser Version FXP support
Ich habs schon fast geahnt das mit der 8.6 auch der Fixed-Point Support für Filter etc. kommt. In der 8.5.1 hatte es bisher gefehlt und die Nutzbarkeit der neuen "calibrated"-Ausgabe doch leider eingeschränkt.

Dies sollte dein Problem lösen weil du dann direkt kalibrierte Werte lesen, verarbeiten und wieder ausgeben kannst. Voraussetzung ist, dass ein Upgrade auf LV 8.6 + FPGA 8.6 möglich ist.

MichaDu

Danke euch für eure Tipps!

Ich hatte eigentlich vor, eine Wechselspannung zu lesen, filtern, integrieren und direkt wieder auszugeben. Da das Ausgangssignal auch direkt mit dem Originalsignal verglichen werden soll, wollte ich größere Latenzzeiten (Phasenverschiebungen) vermeiden. Deshalb die Idee, alles auf dem FPGA ohne RT zu programmieren.

Auf 8.6 wollte ich (noch) nicht upgraden, deshalb werde ich die ganze Signalverarbeitung wohl erstmal zum RT-Target übertragen und dann beide Signale zusammen wieder zurück zum FPGA ausgeben. Ich hatte mal gehört, dass man den DMA-FIFO-Kanal nur in eine Richtung nutzen kann (FPGA->RT), stimmt das? Zurück gehts dann nur über Shared Variable oder IRQ??

@Holy:
Reicht es aus, wenn ich im Projekteditor bei dem 9205 "Calibrated" einstelle? Oder muss ich bei der Programmierung noch irgendwas beachten? Ich nutze LV8.5, nicht 8.5.1

MichaDu

Da habe ich doch noch ein Problem ;-)

Wenn ich das 9205-Modul auf "Calibrated" Input schalte, dann kann ich nur einen statischen Wert vom Eingang lesen. Im "Raw"-Mode dagegen bekomme ich sinnvolle Werte. Habe ich da irgendwas falsch gemacht?

Habe die Screenshots vom 9205-Setup und vom VI angehängt.

MichaDu

Da habe ich doch noch ein Problem ;-)

Wenn ich das 9205-Modul auf "Calibrated" Input schalte, dann kann ich nur einen statischen Wert vom Eingang lesen. Im "Raw"-Mode dagegen bekomme ich sinnvolle Werte. Habe ich da irgendwas falsch gemacht?

Habe die Screenshots vom 9205-Setup und vom VI angehängt.
Hallo,

wenn du vorerst nicht auf 8.6 upgraden möchtest wird dir die "Calibrated" Option wahrscheinlich nicht viel bringen da die verarbeitenden VIs noch kein Fixed-Point unterstützen. Aber ich denke die Verarbeitung der Werte nur im FPGA ist auch mit 8.5 schon möglich. Nur die Lösung müsste anders aussehen. Ich denke der richtige Ansatz wäre den Offsetfehler ausgleichen. Da dies ne reine Addition/Subraktion ist sollte das im FPGA ja kein Problem darstellen. Der Skalierungsparameter (LSB Weight) hingegen sollte eigentlich identisch sein da du beide Module mit +- 10 V ansteuerst. Ich hab hier leider kein LabVIEW zur Hand um das kurz zu visualisieren.
DMA ist immer in beiden richtungen moeglich bis auf 900x controller, die haben eine HW einschraenkung die nur die kommunikation von FPGA zum Host erlaubt
Seiten: 1 2
Referenz-URLs