Control/Indicator overflow auf der FPGA
Hallo Zusammen
ich bin dabei ein Programm zu schreiben, welches Unwuchten an drehenden Teilen lokalisieren kann. Dazu berechne ich mit einer cRIO 9012 die aktuelle Winkellage des rotierenden Teils (via Encoder) und lese gleichzeitig die aktuelle Beschleunigung aus einem entsprechenden Sensor aus. Die Werte werden in je einem Array abgespeichert. Jeder Array enthält 1024 Messwerte. Die sample rate wird so angepasst, dass sich die 1024 Messwerte gleichmäßig über zwei volle Umdrehungen verteilen. (unabhängig von der Drehzahl) Das alles ist auf der FPGA realisiert.
Nun müssen die Beschleunigungswerte anhand einer FFT ausgewertet werden. Diese Aufgabe soll der Prozessor erledigen, da die FPGA dafür zu klein ist. Sobald der Prozessor fertig ist, würden erneut die Beschleunigungen während zwei Umdrehungen gemessen und das ganze startet von vorne.
Das Problem liegt nun darin, dass die FPGA nicht in der Lage ist, zwei Indicatorarrays mit je 1024 Messwerten an 20bit resp. 32bit zu speichern. Gibt es eine andere Möglichkeit die Daten von der FPGA in den Prozessor der cRio zu schieben? Die cRio hat eigentlich genug Speicherplatz, es geht ja um lächerliche 53.2 kbit! Ich habe schon einige Möglichkeiten ausprobiert, allerdings scheitern alle am gleichen Problem...
Ihr findet das Programm im Anhang. Es ist in mehrere parallel laufende Whileloops gegliedert. Es ist noch nicht übermässig strukturiert, da es sich um einen zum ca. 100 mal abgeänderten Entwurf handelt.
Besten Dank für eure Tipps.
|