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: Wieviele Elemente sollte man holen?



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!

08.01.2010, 16:24
Beitrag #4

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
DMA FIFO: Wieviele Elemente sollte man holen?
Tag,

dann versteh ich Deine Frage nicht. Es ist doch so, dass der FPGA bzw. der RT Daten in den Fifo schreibt. Das macht er so lange, bis der Fifo voll ist, wenn das der Fall ist, bekommst Du einen Fehler auf dem FPGA gemeldet. Ggf. kann man das konfigurieren, wie lange er warten und probieren soll, Werte in den Fifo zu schreiben, bevor der Fehler kommt.

Irgendein Prozess, der den FiFo überwacht (der m.E. über den Fifo-Start-Methodenknoten gestartet wird, wobei ich nicht ganz genau weiß, ob das stimmt) schaut dann, das z.B. die Sachen aus dem FiFo auch irgendwie ins Memory geschrieben werden. In Deinem Fall wäre das ein Prozess, der per DMA die Daten aus dem Puffer aus dem FPGA-Memory auf das Memory vom Host schreibt.

Aus diesem Host-Memory rufst Du jetzt mit deinem Methodenknoten die Daten ab und zwar so viele, wie Du haben willst. Auch hier gibt es jetzt die Möglichkeit zu sagen, wieviele Daten abgeholt werden sollen und was passiert, wenn nicht ausreichend Daten da sind bzw. es zu lange dauert, bis diese Daten da sind. Zur Ablaufsteuerung kann man hier z.B. die Eigenschaft der im Fifo vorhandenen Elemente nutzen.

Deine erste Frage aus dem ersten Post hätte ich dementsprechend so beantwortet: Je nach Einstellung des Fifo-Lesen-Knotens aufm Host kommt entweder ein Timeout oder (wenn Du entsprechend auf die Remaining Elements reagierst) ein OK, alle Daten gelesen. Deine zweite Frage aus dem letzten Post entsprechend Nein, denn es kommt drauf an, was passiert: [list]Wenn der Fifo immer weiter reinschreibt und du immer 1000 Werte rausholst, ohne ein Timeout zu haben (das ist m.E. die Voreinstellung), dann holst du so lange alle Werte ab, wie die Abfragemenge des Hostes größer als die Datengenerationsrate des Targets ist. In diesem Fall wird die Fifo-Read-Operation nicht immer gleich lange dauern, weil der Knoten irgendwann an einer Stelle warten wird, bis die 1000 Werte voll sind. Das ganze geht endlos....<>
[st][list]Schreibt der FPGA mit dieser Konfiguration schneller, wird irgendwann der FIFO-Puffer voll sein und du hast eine Fehlermeldung auf dem Target. Wenn Du die nicht abarbeitest, fehlen Dir Daten, was du wahrscheinlich auch nicht merkst, da die RTs glaube ich keine automatische Fehlerhandler haben, wie im normalen LV<>
[st]Wenn man also mehr Kontrolle haben will, hat man entweder die Option, über Interrupts zu synchronisieren oder auf dem Host immer erst den Status des Fifo abzufragen und dann immer diese Anzahl an Elementen auszulesen. Damit ist man (wenn man vorher mal die Datenraten durchgerechnet bzw. sich angeschaut hat) meist auf der sicheren Seite.

So far,

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
DMA FIFO: Wieviele Elemente sollte man holen? - chrissyPu - 08.01.2010 16:24

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  FPGA FIFO vs. MEMORY derandyk 1 4.595 30.11.2018 11:42
Letzter Beitrag: GerdW
  16 Kanal AI mit FPGA und DMA FIFO derandyk 12 12.714 23.11.2018 15:56
Letzter Beitrag: BNT
  FPGA FIFO Roland 5 7.981 28.05.2018 20:16
Letzter Beitrag: jg
  unplausible Werte aus FIFO kwakz 2 7.540 28.09.2015 06:05
Letzter Beitrag: kwakz
  FPGA FIFO - Oszilloscop PxCE_HB 9 13.630 08.09.2015 14:35
Letzter Beitrag: GerdW
  FIFO Fehler beim auslesen logan 2 7.069 15.01.2015 16:33
Letzter Beitrag: logan

Gehe zu: