LabVIEWForum.de - FIFO´s auslesen

LabVIEWForum.de

Normale Version: FIFO´s auslesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo alle zusammen.
Ich habe eine kleine aber feiner Frage:Wie entleert man einen FIFO ganz.Im VI seht ihr das Daten eingelesen werden(kommen vom A/D-Wandler).
Diese werden umgewandelt und in einen FIFO_write geschickt.Der FIFo´ist so eingestellt,das er bei 3 Werten voll ist.Wenn das der Fall ist springt der Timed out auf true und aktiviert eine CaseStruktur.In der Casestruktur wird dann der erste WErt vom FIFO ausgelesen und dargestellt.Meine Frage ist,wie kann ich mir in der Case Struktur alle Werte ausgeben lassen und den Fifo leeren,während er in der Sequenz wieder anfängt den FIFo zu füllen?
Freue mich auf eure Antworten!
Lv09_img2
Hallo fk,

lese doch einfach 3 Werte vom FIFO! Am besten sollte das mit einer FOR-Schleife funktionieren...
Ja,aber wie realisiere ich das im Prog am besten?Ich denkemal das ich an den Timede_out von FIFO read was anbastlen muss,damit er weiss,wann er leer ist,oder?
Hallo fk,

du weißt doch, dass der FIFO 3 Werte enthält. Also sollte eine FOR-Schleife, die dreimal durchlaufen wird, auch 3 Werte aus dem FIFO auslesen können...
Ja,das funktioniert soweit...leider konnte ich immer noch nicht das Problem mit der Zeit lösen.
Denn zum Beispile gebe ich mittels Funktionsgenerator einen Sinus auf den ADC des Spartan 3E (FPGA-Board).
Das Signal kommt auch an und ich kann es mir im FPGA_-VI anzeigen lassen,aber bei höheren Frequenzen wirkt der Sinus abgehakt und unsymetrisch.
Wollte ja das mit dem FIFO benutzen, um das Problem zu beheben.Das funktioniert leider nicht.DEr Sinus sieht noch genauso aus,wie zuvor.
Lv09_img2
Hallo fk,

vielleicht liegt das Problem ja im "Großen und Ganzen"? Du fragst hier immer Bruchstücke ab, ohne das gesamte Programm zu präsentieren...

Vielleicht bastelt der FIFO nur am Symptom rum, statt das eigentliche Problem zu beheben?
Wieso sollte der FIFO eine Sinuskurve verschönern? Wirkt der nur unschön oder ist er es auch? Was sind höhere Frequenzen? (Du sampelst nur alle 1000ms einen Wert...)
Wo ist der Link zu früheren, hiermit verbundenen Threads?
anbei sind beide Programme...
Bin offen für alle Tips.
Das andere Prog. hatte ich ja schon gepostet.
Das Problem ist einfach,das die grahische Darstellung verzerrt bei f>1Hz.
Bei kleineren Frequenzen ist der Sinus gut.
Der FIFO war als Idee angedacht,um größere Datenmengen gleich zu transportieren
Lv09_img2
Hallo

Ich leere die FIFO immer in einer While-Schleife. Dabei schaue ich zuerst wie viele Elemente im FIFO sind und lese diese dann aus.

[attachment=31325]

Wenn nun keine Elemente drin sind, verlasse ich die Schleife.


lg Martin
ich konnte das Problem nicht via DMA lösen,weil die Schnittstelle(USB) nicht DMA fähig ist und mir auch keine DMA-FIFO´s angboten werden.
So habe ich das Problem gelöst: http://www.labviewforum.de/index.php?showt...mp;#entry113081

Ist aber noch nicht zufriedenstellend, aber schon besser.
Referenz-URLs