LabVIEWForum.de - Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben

LabVIEWForum.de

Normale Version: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo Mingendorf,

ich handhabe so etwas, indem ich die Daten aus dem FPGA-FIFO wie einen seriellen Stream behandle. Insbesondere packe ich da einen "Marker" hinein, anhand dessen ich im Stream immer wieder eindeutig einen "End of data block" detektieren kann. Damit umgehe ich mögliche Probleme, die bei einem FIFO-Overflow aufgrund verlorener Datenwörter entstehen können. Dies erfordert zugegebenermaßen etwas mehr CPU auf dem RT-Host, was bei meinen Anwendungen (CAN-Botschaften mitlauschen) aber noch im Rahmen bleibt.

Tipp: Fülle die 19 Elementen auf 20 auf, indem du einen eineindeutigen konstanten Wert hinzufügst. Dann kannst du ja gucken, ob du die Daten auf dem RT korrekt bekommst (sowohl Anzahl als auch Index innerhalb deines Datenblocks)...

Ein ArrayDezimieren mit 19 Ausgängen ist schon "gewöhnungsbedürftig" Big Grin
ja du hast recht das mit dem 19fachen dezimieren sind schon komisch aus. Und ich bekomme auch nicht raus wie ich die Fehler weg bekommen(siehe Anhang).

@ GerdW
Hast du ein kleine Beispiel von einem Stream?
Hallo Mingendorf,

Zitat:ich bekomme auch nicht raus wie ich die Fehler weg bekommen
Die Fehlermeldung ist doch sehr eindeutig: du willst ein SGL-Array an einen skalaren SGL-indicator anschließen. So geht das nicht: entweder nur ein Element des Arrays darstellen oder das gnaze Array mit einem Arrayindicator. Oder doch auf das "dämliche" DecimateArray verzichten und eine bessere Funktion dafür verwenden...

Zitat:Hast du ein kleine Beispiel von einem Stream?
Nein. Ich verwende genauso einen FIFO. Es kommt dabei nur auf die Betrachtungsweise an: du denkst in Blöcken von 19 Elementen, die du da lesen willst. Ich sehe das als Datenstrom von Elementen, die ich aus dem FIFO auslese. In diesem Datenstrom schaue ich immer wieder nach einer Markierung, die mir sagt, wo ein neuer Datenblock beginnt. Begründung siehe oben...
Ok ich glaube die Ursache meines Problem liegt schon auf der FPGA-Seite wo ich die Werte alle zu einem Array zusammenfasse.

Wenn ich sie alle einzeln in den FiFo packen will brauche ich dann 19 write blöcke? oder wie soll ich an die einezelnen Elemete sonst ran kommen?
Seiten: 1 2 3
Referenz-URLs