LabVIEWForum.de
Host to Target FIFO - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA)
+---- Thema: Host to Target FIFO (/Thread-Host-to-Target-FIFO)



Host to Target FIFO - Werner - 14.04.2010 19:50

Hallo zusammen,

ich habe ein Problem mit der Host-To-Target Kommunikation mit Hilfe eines FIFOs. Ich verwende einen PCI-7813R. Mit zwei einfachen VIs (siehe Anhang!) versuche ich von dem PC Daten an das FPGA zu übermitteln. Die Daten des mit mehreren Werten belegten Arrays werden auf einen Knopfdruck im FIFO_test.vi an das auf dem FPGA laufende Main.vi geschickt. Im Frontpanel des Main.vi wird nun bei jedem Knopdruck ein Wert dess Arrays aus dem FIFO geholt und dargestellt. Dieser Vorgang funktioniert so sehr gut sowohl in der Simulation als auch auf dem realen FPGA. Ein Problem tritt jedoch dann auf, wenn ich das VI FIFO_test.vi beende, bevor ich auf dem Main.vi alle Daten mit Knopfdrücken ausgelesen habe. In der Simulation klappt dies weiterhin wie erwartet. Es werden alle Werte ausgelesen. Auf dem realen Target hingegen kann nur noch ein(!) Wert aus dem FIFO geholt werden. Alle weiteren eigentich noch verbleibenden Werte scheinen verloren. Warum? Eigentlich sollte es doch so sein, dass man mit FIFO_test.vi die Daten in den FIFO auf dem FPGA schreibt und diese da verbleiben UND für den FPGA auslesbar sind egal(!), ob ich das FIFO_test.vi beende!?

Grüße
Werner


Host to Target FIFO - Werner - 14.04.2010 20:07

Ach ja ich verwende LabVIEW 2009 Service Pack 1 Version 9.0.1 (32-Bit)


Host to Target FIFO - chrissyPu - 15.04.2010 09:38

Ist der Memory-Bereich des FIFO-FPGAs groß genug? Allerdings kann ich mir schon vorstellen, dass der Host to Target-FIFO nur mti aktivem Host funktioniert - du kannst so einen FIFO ja auch nur im Host resetten etc. Genaueres weiß ich da jetzt aber auch nicht, was sagt denn die Hilfe?


Host to Target FIFO - Werner - 15.04.2010 20:17

Der Speicher des FIFOs ist groß genug. Daran kann es aber eigentlich auch nicht liegen.
Ich habe aber nun einfach mein VI so abgeändert, dass es nicht sofort wieder beendet, sondern mindestens so lange bis das FPGA die Daten gelesen hat. In der Hilfe konnte ich nichts finden. Vielleicht einfach ein Bug.


Host to Target FIFO - chrissyPu - 15.04.2010 21:58

Vielleicht, vielleicht aber auch nicht. Ich halte es schon für sinnvoll, zu verlangen, dass ein Host-VI so lange läuft, bis das Target entsprechende Daten genutzt hat, der Normalfall halt ist, dass über einen FIFO laufend Daten kommen. An dem Punkt, wo ich irgendwann aufhöre Daten zu senden, kann ich entweder warten oder es sind nicht so viele Daten, dass ich sie auch einfach in einen Memoryblock auf dem FPGA speichern kann.


Host to Target FIFO - dlambert - 22.04.2010 08:35

Dein Main VI läuft auf dem FPGA. Der ist in der Simulation Software und lässt sich daher auch über's Panel bedienen. Zur Laufzeit handelt es sich um Hardware mit geladenem Bitfile. Daher ist die Bedienung des Switch über das Panel nicht möglich. Dieser muss nun über einen FPGA I/O Node des Host gesteuert werden. Das FPGA Panel kann maximal als Indikator verwendet werden !

Hope it helps
Christian