INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DMA-FIFO leeren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

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: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
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
Anzeige
30.08.2010, 09:12
Beitrag #2

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


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


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: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
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-Stammgast
***


Beiträge: 250
Registriert seit: Feb 2010

2011 SP1
2008
EN

5232
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: 278)

Sonstige .vi  FPGA_Test.vi (Größe: 38,98 KB / Downloads: 240)
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: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


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: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
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
Anzeige
07.09.2010, 21:17
Beitrag #7

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


Beiträge: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


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: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
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: 343
Registriert seit: Jan 2006

8.0 :: 201x ::202x
2006
DE_EN


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
  FPGA FIFO vs. MEMORY derandyk 1 3.878 30.11.2018 11:42
Letzter Beitrag: GerdW
  16 Kanal AI mit FPGA und DMA FIFO derandyk 12 9.760 23.11.2018 15:56
Letzter Beitrag: BNT
  FPGA FIFO Roland 5 6.536 28.05.2018 20:16
Letzter Beitrag: jg
  unplausible Werte aus FIFO kwakz 2 6.734 28.09.2015 06:05
Letzter Beitrag: kwakz
  FPGA FIFO - Oszilloscop PxCE_HB 9 11.954 08.09.2015 14:35
Letzter Beitrag: GerdW
  FIFO Fehler beim auslesen logan 2 6.459 15.01.2015 16:33
Letzter Beitrag: logan

Gehe zu: