Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Module (/Forum-LabVIEW-Module) +---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA) +---- Thema: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben (/Thread-Eingaenge-mit-verschiedenen-Abtastfrequenzen-in-FIFOs-schreiben) |
RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben - GerdW - 01.08.2013 08:59 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" RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben - MIngendorf - 01.08.2013 21:16 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? RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben - GerdW - 02.08.2013 07:34 Hallo Mingendorf, Zitat:ich bekomme auch nicht raus wie ich die Fehler weg bekommenDie 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... RE: Eingänge mit verschiedenen Abtastfrequenzen in FIFOs schreiben - MIngendorf - 02.08.2013 10:53 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? |