!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
DMA-FIFO leeren
30.08.2010, 07:14 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2010 07:18 von Matze.)
Beitrag #1

Matze Offline
LVF-Team
LVF-Team

Beiträge: 980
Registriert seit: Apr 2010

LV-Version: 2011 / 2010 / 2009
LV-Erfahrung seit: 2010
LV-Sprachversion: DE_EN

PLZ: 7xxxx
Land: Deutschland
DMA-FIFO leeren
Hi zusammen,

ich möchte einen DMA-FIFO leeren. Über "Clear (FIFO)" geht es nicht und in der Hilfe steht dazu folgendes:

Zitat:Clear (FIFO Method)
Requires: FPGA Module

Clears a target-scoped or VI-defined FIFO on the FPGA.

You cannot use this method with DMA FIFOs. To clear DMA FIFOs from the host VI, use the Stop method on the Invoke Method function.
Das Problem ist jedoch, dass das Stoppen des FPGA-VIs das FPGA-VI anhält. Dieses soll weiterlaufen.
Ich nutze mehrere FIFOS, die z.T. parallel gefüllt werden. Und einzelne FIFOs möchte ich leeren können. Ob vom FPGA- oder vom Host-VI ist mir im Prinzip egal.

Wie geht das?

Nachtrag: Ah, da gibt es auch FIFO-Stop. Vermutlich funktioniert's dann doch damit:

   

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
30.08.2010, 09:12
Beitrag #2

Falk Offline
ja, das bin ich...
***


Beiträge: 300
Registriert seit: Jan 2006

LV-Version: 8.0 :: 201x
LV-Erfahrung seit: 2006
LV-Sprachversion: DE_EN


Land: Deutschland
DMA-FIFO leeren
Ich würde es ganz einfach machen: In einer Schleife alle Elemente aus der FIFO lesen und dies so lange bis die FIFO leer ist.

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 10:24
Beitrag #3

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 441
Registriert seit: Jun 2006

LV-Version: 8.6.1, 2011 PDS
LV-Erfahrung seit: 2006
LV-Sprachversion: DE_EN

PLZ: 64283
Land: Deutschland
DMA-FIFO leeren
Hi,

das, was Falk da beschreibt, ist in meinen Augen die Funktion "Auslesen". "Leeren" heißt, alle Daten im FIFO zu löschen, ohne auf sie zugreifen zu können. Das wird auch von den "Stop FIFO" und "Empty FIFO"-Methoden auch nur so unterstützt, sprich es gibt keinen Ausgang "Im Fifo enthaltene Daten" (wie z.B. beim Queue-Leeren...)

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 10:47
Beitrag #4

Martin Heller Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 241
Registriert seit: Feb 2010

LV-Version: 8.6.1
LV-Erfahrung seit: 2008
LV-Sprachversion: EN

PLZ: 5232
Land: Schweiz
DMA-FIFO leeren
Hallo Zusammen
Ich habe ein ähnliches Problem und wollte es mit der While-Schleife lösen (vorher einfach den Elements Remaining ausgelesen und das FIFO nochmals ausgelesen). Nun bekomme ich einen Fehler beim 2mal lesen (While-Schleife) im FIFO-READ. Das FIFO ist noch nicht leer.

Mache ich einen allgemeinen Fehler bei der Verwendung des FIFO's ?

Ich verwende LabVIEW 8.5.1 ein cRIO 9104 und FPGA's 9401


Angehängte Datei(en)
Sonstige .vi  cRIO_Test.vi (Größe: 133,11 KB / Downloads: 30)

Sonstige .vi  FPGA_Test.vi (Größe: 38,98 KB / Downloads: 30)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 10:52
Beitrag #5

Falk Offline
ja, das bin ich...
***


Beiträge: 300
Registriert seit: Jan 2006

LV-Version: 8.0 :: 201x
LV-Erfahrung seit: 2006
LV-Sprachversion: DE_EN


Land: Deutschland
DMA-FIFO leeren
' schrieb:das, was Falk da beschreibt, ist in meinen Augen die Funktion "Auslesen". "Leeren" heißt, alle Daten im FIFO zu löschen, ohne auf sie zugreifen zu können. Das wird auch von den "Stop FIFO" und "Empty FIFO"-Methoden auch nur so unterstützt, sprich es gibt keinen Ausgang "Im Fifo enthaltene Daten" (wie z.B. beim Queue-Leeren...)

Jep schon richtig. Aber wenn das "Leeren" auf Seite des FPGA gemacht werden soll besteht nur die Möglichkeit die FIFO so lange zu lesen bis sie leer ist. Ich weiß nicht ob sich das vielleicht mit neueren LabVIEW- und FPGA Module-Versionen geändert hat, aber unter 8.2.1 habe ich leider nichts entsprechendes gefunden.

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.08.2010, 11:28 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2010 11:30 von Matze.)
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 980
Registriert seit: Apr 2010

LV-Version: 2011 / 2010 / 2009
LV-Erfahrung seit: 2010
LV-Sprachversion: DE_EN

PLZ: 7xxxx
Land: Deutschland
DMA-FIFO leeren
' schrieb:Jep schon richtig. Aber wenn das "Leeren" auf Seite des FPGA gemacht werden soll besteht nur die Möglichkeit die FIFO so lange zu lesen bis sie leer ist.
Ich sehe da bei aktuellen LabVIEW-Versionen auch keine Möglichkeit, es auf FPGA-Ebene anders zu lösen.
Da ich jedoch vom RT-Host aus dem FPGA mitteile, wann Werte erfasst werden sollen und wann nicht, kann ich das Leeren des DMA-FIFO (beim Stoppen der Erfassung) auch über den Host erledigen.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
07.09.2010, 21:17
Beitrag #7

Falk Offline
ja, das bin ich...
***


Beiträge: 300
Registriert seit: Jan 2006

LV-Version: 8.0 :: 201x
LV-Erfahrung seit: 2006
LV-Sprachversion: DE_EN


Land: Deutschland
DMA-FIFO leeren
Moin Mechatronik-Ingenieur!

' schrieb:Nachtrag: Ah, da gibt es auch FIFO-Stop. Vermutlich funktioniert's dann doch damit:

[attachment=57939:fifo_stop.PNG]

Wollte mal nachfragen, ob dein Problem sich mit genannter Methode zufriedenstellend lösen ließ?

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2010, 05:45 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2010 05:48 von Matze.)
Beitrag #8

Matze Offline
LVF-Team
LVF-Team

Beiträge: 980
Registriert seit: Apr 2010

LV-Version: 2011 / 2010 / 2009
LV-Erfahrung seit: 2010
LV-Sprachversion: DE_EN

PLZ: 7xxxx
Land: Deutschland
DMA-FIFO leeren
Hallo Falk,

ja, das funktioniert einwandfrei.Smile

"FIFO.Start" nutze ich übrigens nirgendwo. Das nur als Info, weil man denken könnte ".Start" und ".Stop" gehören zusammen.
Nach dem Stoppen kann ich direkt Werte in den FIFO schreiben ohne vorigen Aufruf von "FIFO.Start".

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2010, 06:20 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2010 06:20 von Falk.)
Beitrag #9

Falk Offline
ja, das bin ich...
***


Beiträge: 300
Registriert seit: Jan 2006

LV-Version: 8.0 :: 201x
LV-Erfahrung seit: 2006
LV-Sprachversion: DE_EN


Land: Deutschland
DMA-FIFO leeren
Danke dir für die Info! Smile

Schöne Grüße
Falk

Currently: zzzZZZZZZZZ
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Rainbow ein DMA FIFO für verschieden Datentypen ? car 1 834 29.02.2012 14:27
Letzter Beitrag: RoKi0815
  FIFO und FFT bei hoher Abtastrate RoKi0815 4 590 29.02.2012 13:43
Letzter Beitrag: erik.brenncke
  Schwierigkeiten mit variabler Datenerfassung, Zeitstempel und Fifo Markus82 8 1.306 07.06.2011 21:02
Letzter Beitrag: cheggers
  Problem mit FIFO Einstellungen e.meu 6 1.987 26.01.2011 16:59
Letzter Beitrag: BNT
  FIFO darf überlaufen? Matze 7 1.721 31.08.2010 07:06
Letzter Beitrag: Matze
  Host to Target FIFO Werner 5 1.840 22.04.2010 08:35
Letzter Beitrag: dlambert

Gehe zu: