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 host to target, Datentransfer funktioniert nicht.



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!

07.01.2010, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2010 15:39 von jg.)
Beitrag #1

hotzenplotz Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jan 2010

2009
2009
de

90443
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Hallo,

ich bekenne mich des Crosspostings ( http://forums.ni.com/ni/board/message?boar...hread.id=466426 ) schuldig, aber ich bin echt verzweifelt, da mein Problem mit Sicherheit nur eine Kleinigkeit ist, die ich übersehe. Leider sitze ich schon seit Tagen daran und finde einfach keine Lösung. Habe auch sämtliche Beispiele durchgearbeitet aber finde nicht den Haken. Ich hoffe, hier kann mir jemand weiterhelfen.

Mein Problem:
Ich möchte vom Host zum FPGA Daten übertragen, nutze dazu einen DMA-FIFO. Push des Arrays im host vi, pull der Daten auf dem target. Simuliere ich nun das Target auf dem dev computer, funktioniert das Ganze auch. Lasse ich das target vi jedoch auf dem realen Target laufen, funktionierts nicht mehr.

Im Anhang der Code vom host (     ) und vom target (     ). Hoffentlich konnte ich mein Problem deutlich machen.



LV2009, cRIO-9072

Vielen Dank im Voraus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.01.2010, 16:24
Beitrag #2

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Also,

wenn du das ganze genau so programmierst, wie hier dargestellt und nur das erste Element des FIFO auf dem FPGA-Target ankommt (so steht es im anderen Post), dann macht es doch ganz genau das, was es soll. Die Sequenz auf dem Target liest ein Element und schaut, wieviel Elemente noch im FiFo sind (wobei das definitiv nicht deterministisch ist, wie Du das programmiert hast - nutz doch mal die Referenz als Datenflusskontrolle...). Dann läuft eine Schleife, die wartet, ob der button "Stopp" gedrückt wird (wobei ich mich da frage, warum Du das machst - du weißt doch anscheinend wieviele Elemente im FiFo drin sind - kann man auch gut mit einer For-Schleife machen) und das tust du im host-VI (zumindest in dem Teil, den du hier zeigst) nicht.

Ohne VIs kann ich Dir da glaub ich auch nicht weiterhelfen... Noch ein paar weitere Gedanken:
- FiFos haben mal eine Zeitlang glaube ich nur U32-Datentypen verarbeitet. Vielleicht liegt das daran.
- Hast Du mal über eine Ablaufkontrolle über Interrupts nachgedacht? Sonst musst Du immer pollen, ob ein Status irgendwie schon erreicht wurde, da sind die Wait for Interrupt-Elemente finde ich immer einfacher zu handeln...

Grüße,

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2010, 08:47
Beitrag #3

hotzenplotz Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jan 2010

2009
2009
de

90443
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Also mal kurz zu meinem Aufbau:
Hier gehts es eigentlich nur darum, die grundsätzliche Funktion zu testen. Nachdem also vom Host der FIFO gefüllt wurde (mit einigen Werten aus dem Frontpanel), sollte ich so über Drücken der Taste "Next" auf dem Target vi nach und nach alle Werte auslesen können, mit zusätzlicher Kontrollanzeige wie viele Werte noch im FIFO vorhanden sind. Genau das funktioniert aber auf dem realen Target nicht, bei der Simulation/Emulation auf dem Dev Computer schon. Und genau das verstehe ich nicht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2010, 08:51 (Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2010 08:58 von chrissyPu.)
Beitrag #4

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Hi,

könntest Du bitte mal die VIs posten? Und wie betätigst Du den Stopp- Butten auf dem Target und schaust Dir die Indikatoren an? Und noch was ist mir eingefallen: Dein Target ist schnell und in keinster Weise mit deinem Host synchronisiert. Außerdem weiß ich nicht, ob RT-Targets Latch-Funktionalitäten bei Buttons ordentlich unterstützen, sprich, Deine Schleifen könnten definitiv mehrfach durchlaufen, ohne dass Du das auf dem Host mitbekommst. Möglichkeiten: Controls von Cases, die Funktionalitäten ein- und ausschalten noch im Case wieder zurücksetzen...

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2010, 09:00 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2010 15:03 von jg.)
Beitrag #5

hotzenplotz Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jan 2010

2009
2009
de

90443
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Hallo ch,

Hier sind die beiden VIs:Lv09_img2

Sonstige .vi  writeFIFO.vi (Größe: 35,23 KB / Downloads: 306)

Sonstige .vi  readFIFO.vi (Größe: 26,96 KB / Downloads: 292)


Indikatoren und Stop-Button erreiche ich doch ganz einfach über ein Frontpanel (habe ich die Frage richtig verstanden?).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2010, 11:44
Beitrag #6

chrissyPu Offline
LVF-Stammgast
***


Beiträge: 467
Registriert seit: Jun 2006

2014 PDS
2006
DE_EN

64283
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Hi,

danke für die VIs (damit das Jens jetzt nicht schreiben muss: Die Version fehlt). Version ist leider auch der Grund, dass ich sie nicht lesen kann (drück mich noch vor der 2009-Installation).

Zur Bedienung: Ich hab zwar nur eine R-Serie, habe aber mal mit einem Kollegen gesprochen: Ein cRIO kannst Du m.E. nur über verknüpfte Netzwerkvariablen in deinem Host-VI oder über eine Weboberfläche, die das Frontpanel vom RT-Target abbildet, bedienen. Allerdings kann man auch für den Fall, dass man das ganze auf dem RT laufen lässt, auf dem Host das VI, das auf dem RT läuft, öffnen und bedienen, nur kommen die Befehle dann nicht am RT an, sondern laufen irgendwie ins Leere. Könnte das ganze daran liegen? Deine Aussage "ganz einfach über ein Frontpanel" macht mich da nämlich ein bisschen stutzig...

ch
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.01.2010, 10:50
Beitrag #7

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

2010
2007
en

12359
Deutschland
DMA host to target, Datentransfer funktioniert nicht.
Der FPGA ist Hardware und demzufolge kann man auch nicht auf Button ( hier NEXT) des FPGA-VI's klicken. Das FPGA Panel ist ein reiner Indikator zum Debuggen.

Auf das NEXT Control muss per RT zugegriffen werden. Dann sollte es gehen.

Hope it helps
Christian
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
  Umwandlung von Ticks in Sec und Übertragung an Host derandyk 11 11.363 11.01.2019 14:12
Letzter Beitrag: GerdW
  Kommunikation zwischen FPGA und Host skar 13 15.479 09.09.2014 14:08
Letzter Beitrag: skar
  Host to Target DMA-Kanal Problem stefan360 3 5.768 21.01.2014 19:32
Letzter Beitrag: GerdW
  Messwerte vom NI 9222 in Host-VI übertragen LabVIEWNutzer 1 5.227 15.10.2013 07:00
Letzter Beitrag: Y-P
  Host VI startet die FPGA VI nicht robert_bors 8 9.151 08.07.2013 18:18
Letzter Beitrag: Holy
  DMA FIFO Host to FPGA Transfer funktioniert nicht robert_bors 3 7.160 04.07.2013 13:19
Letzter Beitrag: robert_bors

Gehe zu: