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 

FPGA FIFO



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!

23.05.2018, 12:50
Beitrag #1

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



FPGA FIFO
Hallo in die Runde,
ich verwende ein cRIO 9074 und ein digitales Eingangsmodul NI9423.
Da ich mit einer Freqzuenz von 10kHz abtasten muss kann ich nicht mehr die Scan Engine verwenden sondern muss
jetzt mit FPGA hantieren.
Im Anhang findet ihr mal einen Screenshot von meiner Projektumgebung.
Der Punkt an dem ich jetzt hängen geblieben bin ist die Kommunikation zwischen FPGA Target, FPGA Host (beide Richtungen) und PC.
Was ich jetzt mitbekommen habe ist, dass ich das mit einem FIFO machen muss und das Problem ist, dass
ich gefühlt hunderte Varianten im Netz gefunden habe um so ein FIFO zu gestalten (LabVIEW Beispiele und Google).

Kann mir hier jemand Hinweise geben worauf ich achten muss und vielleicht sogar ein Beispiel (das mir wirklich hilft)
geben? Ich wäre sehr dankbar!

fg Roli


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.05.2018, 15:48
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: FPGA FIFO
Das kann man nicht so generell beantworten.

Brauchst du wirklich alle Digital-Events bzw. Werte im RT-Teil? Oder willst du schon irgendeine Auswertung im FPGA programmieren, z.B. eine Drehzahlauswertung bzw. -berechnung?

Ansonsten ist so ein FIFO Target->Host eigentlich immer dasselbe. Du legst den Datentyp des FIFO fest, die Mindestgröße im FPGA (die Größe im RT-Teil kannst du programmatisch ändern), schiebst die Daten im FPGA in den FIFO und holst sie hoffentlich schnell genug im RT wieder ab.

Achten musst du noch auf die max. Anzahl von DMA-FIFOs, bei einem 9074 sind das max. 3 Stück.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.05.2018, 17:51 (Dieser Beitrag wurde zuletzt bearbeitet: 23.05.2018 17:51 von Roland.)
Beitrag #3

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



RE: FPGA FIFO
(23.05.2018 15:48 )jg schrieb:  Brauchst du wirklich alle Digital-Events bzw. Werte im RT-Teil? Oder willst du schon irgendeine Auswertung im FPGA programmieren, z.B. eine Drehzahlauswertung bzw. -berechnung?
Es ist so: ich taste insgesamt 3 analoge Signale und 2 digitale Signale ab und 3 Analogsignale müssen ausgegeben werden.
Prinzipiell müsste nur eines der digitalen Eingangssignale mit 10kHz abgetastet werden. Die restlichen Signale sind unkritisch.
Mit eben diesem digitalen Eingangssignal taste ich die Zähne eines Zahnrades ab und bestimmt die Drehzahl. Zusätzlich soll ein oberer und unterer
Grenzwert dafür sorgen, dass mein Prüfstand abgeschaltet wird (mit dem Baustein Wertebereich).

Ansonsten ist so ein FIFO Target->Host eigentlich immer dasselbe. Du legst den Datentyp des FIFO fest, die Mindestgröße im FPGA (die Größe im RT-Teil kannst du programmatisch ändern), schiebst die Daten im FPGA in den FIFO und holst sie hoffentlich schnell genug im RT wieder ab.

(23.05.2018 15:48 )jg schrieb:  Achten musst du noch auf die max. Anzahl von DMA-FIFOs, bei einem 9074 sind das max. 3 Stück.
Heißt das, dass ich nur 3 Signale zwischen FIFO Target und FIFO Host austauschen kann? Ist es möglich nur einen Teil der Signale
auf dem FPGA zu empfange/senden und den Rest wie gewohnt mit der Scan Engine anzutasten?

fg Roli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.05.2018, 20:09
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: FPGA FIFO
Niemand zwingt dich, für jedes Signal einen eigenen FIFO anzulegen. Im Gegenteil, es ist sogar Standard-Vorgehen, mehrere verschiedene Signale (z.B. alle Analog-In-Signale) in einem DMA-FIFO zusammenzufassen und vom FPGA zum RT-Teil zu übertragen.

Die Drehzahlauswertung aus den Digital-In Signalen würde ich an deiner Stelle auf jeden Fall direkt im FPGA machen. Und schon sparst du dir die Übertragung eines 10 kHz Signals an den RT-Teil.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.05.2018, 10:11 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2018 10:11 von Roland.)
Beitrag #5

Roland Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Apr 2017

2016
2017
kA



RE: FPGA FIFO
Bin ich richtig mit der Annahme, dass ich mit einem DMA FIFO auch Daten direkt von meinem FPGA auf den PC
übertragen kann? Ich habe das Beispiel aus der LabVIEW-Bibliothek entdeckt: Streaming Data (DMA)
Dann könnte ich den RT-Prozessor umgehen.

Das Problem könnte dann das sein, dass das DMA FIFO zu langsam ausgelesen wird, da die Schleife am PC
nur mit 10Hz läuft. Die Abtastrate am PC ist deshalb so gering, da das VI nur zum Darstellen der Messwerte
und für eine grobe Aufzeichnung dient.

Falls meine Überlegung so stimmt: wie kann ich sicherstellen, dass der DMA FIFO nicht "überladen" wird?

fg Roli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.05.2018, 20:16
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: FPGA FIFO
(24.05.2018 10:11 )Roland schrieb:  Bin ich richtig mit der Annahme, dass ich mit einem DMA FIFO auch Daten direkt von meinem FPGA auf den PC
übertragen kann? Ich habe das Beispiel aus der LabVIEW-Bibliothek entdeckt: Streaming Data (DMA)
Dann könnte ich den RT-Prozessor umgehen.

Das Problem könnte dann das sein, dass das DMA FIFO zu langsam ausgelesen wird, da die Schleife am PC
nur mit 10Hz läuft. Die Abtastrate am PC ist deshalb so gering, da das VI nur zum Darstellen der Messwerte
und für eine grobe Aufzeichnung dient.

Falls meine Überlegung so stimmt: wie kann ich sicherstellen, dass der DMA FIFO nicht "überladen" wird?

fg Roli

Da habe ich keine Erfahrung, denn sowas mache ich nicht. Wenn ich ein cRIO mit FPGA habe, dann verwende ich auch den RT-Teil. Ich sehe aber immer noch nicht die Notwendigkeit, dass du überhaupt einen FIFO brauchst. Drehzahl Auswertung im FPGA programmieren, dann brauchst du keine Übertragung mit 10 kHz.

FIFO nicht überladen: Daten schnell und oft genug abholen, dann läuft er nicht voll.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  FPGA FIFO vs. MEMORY derandyk 1 4.504 30.11.2018 11:42
Letzter Beitrag: GerdW
  16 Kanal AI mit FPGA und DMA FIFO derandyk 12 12.387 23.11.2018 15:56
Letzter Beitrag: BNT
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.931 26.10.2015 20:41
Letzter Beitrag: Felix777
  unplausible Werte aus FIFO kwakz 2 7.436 28.09.2015 06:05
Letzter Beitrag: kwakz
  FPGA FIFO - Oszilloscop PxCE_HB 9 13.478 08.09.2015 14:35
Letzter Beitrag: GerdW
  Kommunikation über DMA zwischen FPGA und RT: FIFO nur für 3 ms füllen Rostra 9 10.465 18.06.2015 06:17
Letzter Beitrag: Rostra

Gehe zu: