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 + TDMS File IO



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!

15.10.2009, 14:07
Beitrag #1

NoD Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: Apr 2008

8.5
2007
de

87654
Deutschland
DMA FIFO + TDMS File IO
Hallo Jungs,

hab in meinem aktuellen projekt ein problem...
Also ich habe ein cRIO und nutze dieses für die Datenerfassung, Streaming und Sollwertausgabe...
weiter wird ein prüfstand damit gesteuert... desshalb der state machine aufbau des RT-VI's.
den File IO habe ich in einen parallel laufenden schleife ausgelagert (RT und shared variable). Die Datenübertragung vom FPGA zum RT erfolgt mit einem DMA FIFO "Messdaten". Dieser wird jedoch aufgrund der State machine im regelfall nur jeden 3. Schleifendurchlauf ausgelesen. Dann erfolgt, im selben Schleifendurchlauf, eine Berechnung und die Ausgabe eines Sollwertes mittel einem 2. DMA FIFO "MFC_Setpoint".
Nun zu meinem problemen:
1. Die CPU-Auslastung des RT-Systems ist meines erachtens sehr enorm (etwa 50-75%), wenn ich in jedem Statemachine durchlauf nur Daten erfasse, speichere und die Sollwerte ausgebe, d.h. hier habe ich testweise die Statemachine umgangen und einfach nur diesen State abarbeiten lassen. Wieso ist das so?
2. Wenn ich nun die Statemachine regulär laufen lasse, also vor dem Sample-, Rechen- und Ausgabe-State noch 2 weitere States (Prüfstand) laufen lasse, klappt der File IO nicht mehr, da nur jeden 3 Schleifendurchlauf aktuelle Daten von der StateMachine-Schleife in die TDMS-File IO Schleife übertragen werden. Somit wird jeder Wert 3 mal geschrieben. Auch gibts dann probleme mit dem FIFO, da der sich füllt.(FPGA Schleifen laufen auch mit 200ms Schleifendurchlaufzeit) Wie kann ich das umgehen?
3. Weis vielleicht jemand wie man die ganze Sache verbessern könnte um Rechenleistung zu minimieren und den File IO richtig ablaufen zu lassen?

Vielen Dank für eure Hilfe,
NoD

   
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.10.2009, 15:21
Beitrag #2

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

2010
2007
en

12359
Deutschland
DMA FIFO + TDMS File IO
meine Tips

- Auf FPGA Seite verwende ich nicht mehr den Infinite Wait sprich -1 als Timeout Wert. Hier wird selbst beim Neustart des RT gewartet ! Also meine Empfehlung ist lieber einen Timeout definieren und ggfls den TO-Status lesen.

- Generell verwende ich Pipelining am FPGA, d.h. lesen der Inputs auf Shift-Register und schreiben auf den FIFO im nächsten Zyklus. Ist zwar bei 200ms unkritisch aber es ist immer gut ein paar Regeln zu haben.

- Auf Empfehlung der NI App Spezis sind auf FPGA Seite die TypeCasts selbst zu machen, also kill the RED dots...

- Die Timed Structure des RT setzt Du mit dem infinte wait des FIFO read ausser Kraft bzw. ist das ein Widerspruch. Wie gesagt, lass doch lieber einen Timeout zu.

- Eine RT Auslastung von 75% ist aus meiner Sicht völlig unproblematisch. Schau Dir lieber die Verteilung der RT Last auf die unterschiedlichen Prioritäten zur Laufzeit an.

- Es spricht auch nichts dagegen Dein File I/O auf dem PC zu machen. Das ist alles so langsam, dass Du die Daten auf eine buffered network var schreiben könntest.

Wer macht denn hier eigentlich das wichtige Timing der FPGA oder der RT ?

Hope it helps
Christian

PS: Manchmal liege ich mit meinem Rat auch total daneben :-)
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 39.152 19.09.2016 12:20
Letzter Beitrag: GerdW
  RT FIFO Frage gfzk 1 15.034 02.07.2015 15:56
Letzter Beitrag: GerdW
  RT FIFO Verständnis Michiel 3 10.868 13.06.2014 14:02
Letzter Beitrag: jg
  Fragen zu DMA FIFO gfzk 5 12.393 24.10.2011 17:23
Letzter Beitrag: gfzk
  Problem mit RT-FIFO Benjamin84 4 9.525 01.07.2008 10:11
Letzter Beitrag: cb
  2-d-dblArray in RT-FIFO 23uwe 0 6.034 04.01.2008 20:10
Letzter Beitrag: 23uwe

Gehe zu: