LabVIEWForum.de - Fifo zum Host in Single Cycle Timed Loop liefert unerwartete Daten

LabVIEWForum.de

Normale Version: Fifo zum Host in Single Cycle Timed Loop liefert unerwartete Daten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ihr,

Ich verwende innerhalb einer FPGA-VI zwei FIFOs. Die eine zum FPGA-Chip, die andere zum Host. Dabei gibts Probleme bei der Datenübertragung zum Host.

Die Tiefe der FIFO ändere ich nicht über die Depth-Methode, sondern lasse einfach den Default-Wert. Auf der Host-Seite rufe ich immer 100 Werte gleichzeitig ab. Der Timeout ist dort auf unendlich gestellt. Auf der Fifo-Seite muss der Timeout natürlich 0 sein.

Die Fifo (Target to Host - DMMA) ist laut Projeteinstellungen 32767 Elemente tief. Der Datentyp ist U8.

Seitens der FPGA-Logik wird sichergestellt, das Daten nur in die FIFO geschrieben werden, wenn die Zahl größer als 15 ist. Jedoch sind ca. 7% der Zahlen genau 0. Wir haben leider keine Möglichkeit herauszufinden, ob die restlichen 93% korrekt übertragen werden.

Zuletzt hatte ich sogar 70% nur 0, jedoch habe ich die Tiefe der Fifo geändert und das hat schonmal gut geholfen. Leider ist es immernoch nicht perfekt.


Woran kann das liegen? Was beeinflusst noch die Datenübertragung?

Grüße,
Robert
Zeig doch nochmal her dein geändertes FPGA VI
Hattest je schon einen Thread zu deiner Aufgabe...

Gruß
Das Problem hat sich erledigt. Es lag gar nicht an an der FIFO. Beim Schreiben der Binär-Daten (in unserem Fall unsigned Bytes, uint8) ist es wohl wichtig, dass man einen Schalter "Array- oder String-Größe voranstellen? (T)" auf False setzt, wenn man auf zusätzliche Bytes im Filestream verzichten möchte.

Zum anderen Thread schreibe ich dort später nochmal was.

Grüße,
Robert
Referenz-URLs