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 

Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben



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.07.2013, 20:38
Beitrag #1

MIngendorf Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Apr 2013

2012
2013
DE_EN



Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Hallo Zusammen,

Ich habe folgende Hardware im Einsatz:
cRIO 9074
2xNI9203
2xNI9215

Labview 2012

Mein Problem:
Ich muss die Eingänge der NI9215 mit 20 MHz und die Daten de NI9203 mit 1 Hz konstant abtasten und die entsprechenden Werte in FIFOs schreiben.

Ich habe mich für das Labview FPGA Interface entschieden.

Jetzt weiß ich aber nicht ob ich eine "Timing Engine- Single Point Timed" oder eine "Timing Engine- Single Point Continuous" nehmen soll. Mir ist der Unterschied auch noch nicht ganz klar, was ich raus bekommen habe ist das nur eine "Timing Engine- Single Point Timed" geht.
Was würdet Ihr nehmen? und warum?

Wie bekomme ich das mit den unterschiedlichen Abtastzeit realisiert?

Wenn ich die Abtastung realisiert bekommen haben würde ich jedem Modul ein FIFO spendieren. Eine eindeutige ID, die Werte der einzelnen Kanäle und ein Zeitstempel in ein Array packen und das via For-Schleife in das entsprechende FIFO schreiben. Siehe Anhang.


Ich habe noch nicht viel mit Labview gemacht daher würde ich mich über hilfreiche Tipps sehr freuen.


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

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
(11.07.2013 20:38 )MIngendorf schrieb:  Ich muss die Eingänge der NI9215 mit 20 MHz und die Daten de NI9203 mit 1 Hz konstant abtasten und die entsprechenden Werte in FIFOs schreiben.

Ich habe mich für das Labview FPGA Interface entschieden.

Jetzt weiß ich aber nicht ob ich eine "Timing Engine- Single Point Timed" oder eine "Timing Engine- Single Point Continuous" nehmen soll. Mir ist der Unterschied auch noch nicht ganz klar, was ich raus bekommen habe ist das nur eine "Timing Engine- Single Point Timed" geht.
Was würdet Ihr nehmen? und warum?

Wie bekomme ich das mit den unterschiedlichen Abtastzeit realisiert?

Wenn ich die Abtastung realisiert bekommen haben würde ich jedem Modul ein FIFO spendieren. Eine eindeutige ID, die Werte der einzelnen Kanäle und ein Zeitstempel in ein Array packen und das via For-Schleife in das entsprechende FIFO schreiben. Siehe Anhang.

Das 9215 kann maximal 100kHz je Kanal abtasten. Wahrscheinlich meinst du daher 20 kHz Abtastrate und nicht 20 MHz?
Deine genannten Timing Engines dürften aus dem entsprechenden Wizard kommen. Kenne mich damit nicht wirklich aus aber Single Point klingt bei der Abtastrate nicht wirklich sinnvoll.

Solange du noch DMA FIFOs übrig hast würde ich für die unterschiedlichen Abtastraten jeweils einen eigenen FIFO nehmen. Die eindeutige ID sowie der Zeitstempel sind eigentlich nicht zwingend notwendig. Die ID kann entfallen, da du für jede Abtastrate/Modul einen eigenen FIFO hast. Den Zeitstempel könntest du weglassen weil aufgrund der Erfassung im FPGA ergibt sich der zeitliche Abstand zwischen den Samples zu 1/Abtastrate.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2013, 21:14
Beitrag #3

MIngendorf Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Apr 2013

2012
2013
DE_EN



RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Danke erstmal für deine schnelle Antwort. ja ich meinte 20 kHz (400Werte pro Priode bei 50 Hz).

Wenn Singel Point nicht sinnvoll ist wie würde es dann gehen?

Wie setze ich meinen Waiting Werte?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2013, 21:24 (Dieser Beitrag wurde zuletzt bearbeitet: 11.07.2013 21:26 von Holy.)
Beitrag #4

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Dein Ansatz im FPGA ist nicht Single Point, von daher gibt es im gezeigten Screenshot kein Problem. Der Unterschied zwischen Single Point Verarbeitung und Blockverarbeitung ist eher auf der RT respektive Host-Seite relevant. Dort spielt es eine Rolle ob du versuchst 20000 Werte je Sekunde einzeln zu verarbeiten oder in größeren Blöcken als Array.
Hinsichtlich des Timings musst du nur ein Wait Multiple (Metronom) mit 50 µs platzieren. Dann wird deine Schleife mit den IOs und dem FIFO entsprechend abgearbeitet, vorrausgesetzt du hast keine andere Sachen platziert die dies verhindern.
Im Allgemeinen wäre Quellcode bzw. Screenshots bei denen man mehr sieht nicht schlecht. Jetzt kann man immer nur nen sehr kleinen Ausschnitt sehen und viele Aussagen sind daher dann auch Spekulation.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.07.2013, 07:55 (Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2013 07:55 von MIngendorf.)
Beitrag #5

MIngendorf Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Apr 2013

2012
2013
DE_EN



RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
so jetzt habe ich mal meinen gesamtes FPGA.vi gepostet. Ich weiß nicht ob das jetzt so funktioniert oder ob ich was vergessen habe. Ich weiß noch nicht so richtig wie ich das testen soll hat wer ne Idee?

Wenn das alles läuft würde ich zwischen Eingang und Fifo noch die Rückrchnung in die Orginaleinheit machen oder besser auf dem Host?

Wenn ich was vergessen habe bitte posten.


Angehängte Datei(en)
12.0 .vi  MyFPGACode.vi (Größe: 91,41 KB / Downloads: 250)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.07.2013, 08:23
Beitrag #6

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Guten Morgen,

ich würde 2 komplett parallele Schleifen nehmen. Ansonsten sieht es doch schon gut aus. Clean and simple.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.07.2013, 04:05
Beitrag #7

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Die Rückrechnung würde ich im Host machen.

Zum testen brauchst dann deine Hardware und dann sind eigentlich folgende Punkte interessant. Kommen genug Datenpunkte im Host an, entsprechend der Abtastrate. Weiterhin ist dann auch ein wichtiger Punkt, ob die Kanalzuordnung dann im Host noch sauber funktioniert. Das kann man immer sehr gut sehen durch anlegen eines definierten Signales an einen der Eingangskanäle.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2013, 20:52
Beitrag #8

MIngendorf Offline
LVF-Grünschnabel
*


Beiträge: 20
Registriert seit: Apr 2013

2012
2013
DE_EN



geht leider nicht
Hallo zusammen,

nach dem ich heute endlich mein Host fertig gemacht und getestet habe. Musste ich feststell das es nicht geht und die Remaining Elemente immer größer werden und nix angezeit wird. Da ich mich ein dem ich habe an dem NI Beispiel orientiert und festgestellt das ich es nich verstanden habe. Ich habe die Fragen in den VI an die entsprechende Stelle geschrieben.

Ich würde mich riesig freuen wenn der eine oder andere von euch mir meine Fragen beantworten könnte und ggf. auch meinen Fehler finden Blush.


Angehängte Datei(en)
12.0 .vi  MyFPGACode.vi (Größe: 101,65 KB / Downloads: 212)

12.0 .vi  MyHostCode.vi (Größe: 282,84 KB / Downloads: 194)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2013, 21:32
Beitrag #9

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Es wäre gut wenn du die VIs auf 2010 runterspeichern könntest. Alle die bisher im Thread geantwortet haben, haben kein LabVIEW 2012, laut Profil. Weiterhin sind manchmal Screenshots auch nicht verkehrt, insbesondere bei FPGA-Code. Nicht jeder hat das FPGA-Modul für LabVIEW.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.07.2013, 08:16
Beitrag #10

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Guten Morgen

FPGA: die 2. FIFO (FIFO-NI9203) hat einfach als Datenformat einen int-Typ vorgegeben bekommen von dir. Gehe mal im Projektexplorer mit Rechtsklick auf diese FIFO und schaue dir die Eigenschaften an. Welchen Datentyp willt du denn? Mit oder ohne Nachkommastellen?

Host: also zuerst (FIFO.Configure) stellst du die Host-seitige Tiefe des FIFO-Puffers ein. Dieser ist mit 120Samples/Ch bei 20KHz super knapp bemessen meiner Meinung nach. Ich würde mindestens 20kS/CH vorhalten, also 1s Puffer insgesamt. Danach startest du die FIFO, soweit sogut. Nun willst du die aufgelaufenen Daten auslesen. Dabei ist es wichtig die abrufende Schleife und das Füllen des Puffers richtig zu timen. Du bekommst 20kS/Ch bei 11Ch auf 1s. Also sind das 220kS/s. Diese solltest du nun auch auslesen mit der Geschwindigkeit. Wenn du ein Schleifentiming von 100ms (1/10s, was ich empfehlen würde) nimmst. Dann musst du pro Schleifendurchlauf 22000 Werte auslesen und die auf 11 Kanale aufteilen. So sollte die das Elements Remaining um einen Wert einpendeln.
Bei beiden Schleifen hast du untersch. Timings eingestellt. Ich würde die untere auf 1s lassen (1000ms hast du ja auch schon eingestellt) und die obere wie beschrieben auf 100ms stellen, statt wie du auf 1ms. (was sowieso vom Host fast unmöglich gehalten werden kann)

bis dahin.
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
  Unterschiedliche Abtastfrequenzen bei Period Measurement und Scale Period Schü 1 4.025 03.11.2012 11:03
Letzter Beitrag: jg
  Übertragung VI zwischen verschiedenen FPGA's lesley 4 4.504 08.06.2011 17:06
Letzter Beitrag: lesley
  Lassen sich die FIFOs per Name ansprechen? Matze 5 5.222 01.09.2010 08:18
Letzter Beitrag: cb
  Datentransfer mit 2 DMA FIFOs Svensson 3 4.977 11.09.2008 10:28
Letzter Beitrag: Svensson
  Zeiten zum füllen und entleeren von FIFOs Marzl 2 5.033 14.01.2008 19:55
Letzter Beitrag: thomas.sandrisser

Gehe zu: