INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Interpolation auf FPGA



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.01.2012, 12:02
Beitrag #1

cRio Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Nov 2011

2011
-
EN


Deutschland
Interpolation auf FPGA
Hallo
Ich spiele im Moment mit LookUpTable 1D und MemoryBlocks herum. Ziel des ganzen ist, dass ich 1 und 2 D Kennfelder auf den FPGA bringe, aus denen ich aber anschließend die Werte Interpolieren muss.
Das LookUpTable 1D Express VI ist für den Interpoliervorgang ideal ABER: Um die LUT zu befüllen, nutze ich ein InitialisierungsVI dass aus einer Excel CSV-Datei die Werte ausliest. Ich schreibe also erst mein VI auf dem FPGA, dann das InitialisierungsVI und muss nun VOR dem Kompilieren auf das LookUpTable VI klicken und bei "Define Table..." -> Call Initialisation VI-> Run/Load Excisting Init VI ausführen. Dann sind die Werte in der LUT, dann erst kann ich kompilieren und meine Werte werden wunderbar interpoliert.
Wenn man aber in seinem FPGA VI mehrere solcher LookUpTables drin hat, ist es ziemlich ätzend, vor dem Kompiliervorgang 10 LUT VIs anzuklicken und jedesmal das InitialisierungsVI auszuführen.
Deshalb: 2. Möglichkeit!
Statt jedesmal ein LookUpTable VI zu verwenden, nimmt man einen MemoryBlock. Überall wo man eine Tabelle hat zum interpolieren, setzt man den MemoryBlock (die Größe des Speichers muss man natürlich vorher wissen). Dazu bastelt man sich ein WinHost VI, dass wieder die CSV-Dateien ausliest und per FIFO DMA auf den FPGA transferiert. Das schöne daran: man baut sich sein FPGA VI und lässt es kompilieren. Lediglich die vorher festgelgeten Größen der MemoryBlöcke müssen stimmen, der Inhalt ist zum Zeitpunkt des Kompilierens Wurst. NACH dem Kompilieren kann man dann bequem alle Memorys befüllen. Meiner Meinung nach wesentlich komfortabler wie das erste vorgehen wo man vor dem Kompilieren alle LUT Vis anklicken muss zum befüllen. Allerdings: jetzt muss man es noch fertig bringen, aus den Werten des MemoryBlocks zu interpolieren. Wie bekommt man den das hin? Ein paar geistige Stützen von euch wären super!
Oder kann man die LookUpTables doch irgendwie so bequem per DMA mit Werten befüllen, ohne überall händisch vor dem Kompilieren das InitialisierungsVI zu starten?

Danke im Vorraus, Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.01.2012, 12:55
Beitrag #2

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Interpolation auf FPGA
Moin,

also zur linearen Interpolation auf FPGA fällt mir halt das "Linear Interpolation"-VI ein. Das solltest du dir mal genauer anschauen.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.01.2012, 15:53
Beitrag #3

cRio Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Nov 2011

2011
-
EN


Deutschland
RE: Interpolation auf FPGA
Ja klar das fällt mir auch ein. Danke trotzdem! Noch einmal kompilieren, dann kommt eine mögliche Lösung hier online.... Zumindest wie man aus einem MemoryBlock heraus interpoliert. Trotzdem wäre ich dankbar wenn mir jemand eine schnellere/bessere Lösung verrät, bzw den Weg dahin aufzeigt
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.01.2012, 16:17
Beitrag #4

cRio Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Nov 2011

2011
-
EN


Deutschland
RE: Interpolation auf FPGA
Vorteil: Ich kann nun ein FPGA Vi kompilieren und in den MemoryBlöcken befinden sich eben Initialwerte. Wenn es fertig auf dem FPGA läuft, kann ich zur Laufzeit beliebig neue Kennlinien in den Memory per FIFO DMA laden, dazu einfach mein WIN Host VI einmal ausführen. In diesem Fall habe ich die Werte in einer Excel CSV-Datei, weswegen ich erst meine csv-datei mit neuen Werten bedate, abspeichere, und dann WIN Host VI ausführe


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2012, 16:37
Beitrag #5

cRio Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Nov 2011

2011
-
EN


Deutschland
RE: Interpolation auf FPGA
Hat jemand eine Ahnung wie man ein 2D Kennfeld auf dem FPGA erstellt? ZB eine Tabelle die als xAchse Temperatur und yAchse Windstärke hat.
Arrays sind auf dem FPGA ja nur eindimensional. MemoryBlöcke und LUTs haben auch nur eine Zeile und eine bestimmte Anzahl fest definierter Spalten. Muss man sich da behelfen indem man sich sozusagen mehrere 1D MemoryBlöcke (zB 1 Zeile mit 5 Elementen) verwendet und diese sich übereinander vorstellt?
Grüße und schon mal danke für alle Anregungen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2012, 16:49
Beitrag #6

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Interpolation auf FPGA
Du hast völlig Recht,

auf FPGA sind die Arrays nur eindimensional. weitere Dimensionen muss man sich denken und dann per LUT oder RAM abbilden und entsprechend clever verdrahten. Also z.Bsp. ein 1000elemente-Array reserverieren/beschreiben wovon je 100 Elemente einer Spalte hintereinander stehen. Um einen Wert aus dem Pseudo2D-Array zu ziehen muss man also die Spalten information umrechnen. Á la NummerSpalte * AnzahlWerteProSpalte + Zeilenindex

sry, weiß ich auch nicht mehr.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.01.2012, 18:08
Beitrag #7

cRio Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Nov 2011

2011
-
EN


Deutschland
RE: Interpolation auf FPGA
Das ist schon mal sehr cool! Merci!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sind Referenzen auf FPGA-Variablen in FPGA vi möglich? Felix777 2 7.934 26.10.2015 20:41
Letzter Beitrag: Felix777
  FPGA-Referenz öffnen: FPGA-VI nicht kompiliert LauraP. 9 13.242 17.03.2015 16:58
Letzter Beitrag: LauraP.

Gehe zu: