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 

Probleme bei Verwenden eines FIFO's im RT-Projekt



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!

11.09.2012, 12:28
Beitrag #1

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
Probleme bei Verwenden eines FIFO's im RT-Projekt
Hallo liebe Forenmitglieder,

Mein Projekt besteht darin über das Analogmodul 9234 Signale aufzunehmen, diese mit der FFT-Funktion zu transformieren, die erhaltenen Daten weiterverarbeiten und daraus ein Signal zu erzeugen, welches ich durch das Analogmodul 9263 wieder ausgebe. Dafür habe ich ein Projekt mit FPGA- und Host-VI erstellt.

Ich habe anhand der Beispiel-Projekte für die I/O-Module meine FPGA- und Host-VI's in meinem Projekt angepasst. Da ich die FFT im Host-VI durchführen möchte, wollte ich die von Modul1 aufgenommenen Daten im FPGA-VI in einen FIFO schreiben und dann im Host-VI wieder auslesen. Deshalb sieht mein FPGA-VI wie folgt aus:

   

Ich habe darauf geachtet erst das Modul zu starten und dann das Messen durchzuführen.

Mein Host-VI habe ich vorerst wie folgt aufgebaut (das Durchführen der FFT ist erstmal entfernt, da ich erstmal schauen wollte, ob überhaupt was aus dem FIFO raus kommt):

   

Mir sind dabei einige Dinge aufgefallen und Fragen gekommen.

1. ankommende Werte:
Das VI in dieser Form stellt mir die ankommenden Daten im Diagramm FIFO Data 2 richtig dar, d.h. ein eingegebenes SInus-Signal wird auch als solches ausgegeben. Ändere ich allerdings den Wert am Eingang "Number of Elements" beim darauffolgenden FIFO-Knoten, scheine ich zwar den FIFO in der Länge x zu beschreiben und zu lesen, dafür sehe ich im Diagramm FIFO Data 2 nur noch Gezappel und keinen Sinus mehr. Liegt das an einem falschen Umgang mit dem FIFO, z.B. fehlende Timeout-Abfrage oder so etwas?

2. FIFO befüllen und auslesen:
Beim Auslesen des FIFO's TARGET_2_HOST (Eingang "Number of Elements" mit 1024 versehen) erhalte ich für jeden Wert im Array eine 0. Also weder sehe ich die Werte für einen Sinus, noch für das oben beschriebene Gezappel.
Da der Ausgang "Data" vom Datentyp 1d-Array ist, dachte ich ich kann alle Werte mit einem Mal aus dem FIFO auslesen und über den Graphen anzeigen lassen.
Ist hier dennoch die Verwendung einer FOR-Schleife notwendig?
Und woran liegt es, dass sich im FIFO scheinbar keine Werte befinden?
Nutze ich gar eine Falsche FIFO-Art?

Ich habe mich bei dem VI an dem "Getting started" Beispiel-VI für das Modul NI 9234 orientiert.

3. Run und Abort des FPGA-VI's
Startet die Run-Funktion das FPGA-VI so, als würde ich auf den Pfeil drücken? Wenn ja, kann sich hier ein Fehler einschleichen bzw. kann das etwas Zeit in Anspruch nehmen? Ich habe das Gefühl, dass das FPGA-VI nicht ausgeführt wird, wenn die Funktion aufgerufen wird. Aber vll. liegt es ja auch nur an meiner Ungeduld.
Ist die Funktion Abort überhaupt nötig, da ich als Letztes in der While-Schleife die Stop-Bedingung des Host-VI's auf das FPGA-VI übergebe?

Ich bin für jeden noch so kleinen Tip dankbar.
Beste Grüße vom Schü
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2012, 08:59
Beitrag #2

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
RE: Probleme bei Verwenden eines FIFO's im RT-Projekt
Ich konnte mir meine Fragen jetzt doch selber beantworten.

Vll. kann mir trotzdem nochmal jemand sagen ob meine Erkenntnisse richtig sind.

Zu 1.:
Ich habe mir dazu nochmal das "Getting startet" von NI durchgelesen und dabei ist mir aufgefallen, dass in dem Beispiel zuerst der FIFO und dann das FPGA-VI gestartet wird. Also habe ich die gleiche Reihenfolge auch in meinem VI eingehalten und jetzt funktioniert es.
Das Ganze erscheint mir auch logisch, da mit dem Start des FPGA-VI dieses ja sofort Werte in den FIFO schreiben wollte, der noch nicht gestartet war. Somit kam es sicherlich zu einem Fehler, so dass die Werte auch später nicht hineingeschrieben wurden.
Ist also die richtige Reihenfolge wichtig?

Zu 2.:
Geht ja einher mit 1.

Zu 3.:
Auch hier hat mir das "Getting startet"-Beispiel weitergeholfen. "Abort" scheint wohl wirklich nicht notwendig zu sein und die Funktion "Run" startet das FPGA-VI ganz normal.

Allerdings habe ich eine weitere Frage, für die ich nicht unbedingt ein neues Thema eröffnen möchte.

Diesmal betrifft es auch wieder FIFO's. Ich möchte über meinen Ausgangsfifo die von dem Sinus-VI erzeugten Daten an die FPGA weitergeben.
Ich habe dabei die Sinus-Erzeugung und den FIFO einfach miteinander verbunden (siehe nachfolgendes Bild).

   

Allerdings kommt an meinem Ausgang vom Modul 9263 nur "Kauderwelch" raus. Liegt das vll. daran dass das erzeugte Sinussignal bevor es in den FIFO geschrieben wird, wieder umgewandelt wird? Bzw. wie kann ich dieses Problem besser lösen?

Ich hoffe auf eure Ratschläge.
Beste Grüße vom Schü
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2012, 10:28
Beitrag #3

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
RE: Probleme bei Verwenden eines FIFO's im RT-Projekt
Kann meinen Beitrag ja leider nicht mehr bearbeiten.

Auf meine Frage aus Beitrag 2 habe ich auch eine Lösung gefunden. Mein Fehler lag nicht im Host-VI, sondern im FPGA-VI. So hatte ich 1. keine Timingbedingung vorgesehen gehabt und 2. war mein FIFO auf den falschen Datentyp eingestellt (zuerst U32, was aber bei einem Sinussignal unsinnig ist, da die Werte auch <0 sein können).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Question Timeout bei FIFO Speicher otto.kranz 15 35.958 19.09.2016 12:20
Letzter Beitrag: GerdW
  RT FIFO Frage gfzk 1 14.454 02.07.2015 15:56
Letzter Beitrag: GerdW
  RT FIFO Verständnis Michiel 3 10.008 13.06.2014 14:02
Letzter Beitrag: jg
  Fragen zu DMA FIFO gfzk 5 11.236 24.10.2011 17:23
Letzter Beitrag: gfzk
  DMA FIFO + TDMS File IO NoD 1 8.413 30.10.2009 15:21
Letzter Beitrag: dlambert
  Problem mit RT-FIFO Benjamin84 4 8.563 01.07.2008 10:11
Letzter Beitrag: cb

Gehe zu: