Forum: FPGA, VHDL & Co. FPGA für folgende Anwendung brauchbar?


von Viktor (Gast)


Lesenswert?

Guten Tag zusammen,

ich möchte mich an euch wenden da ich selber keine Erfahrungen mit 
FPGA´s habe und daher leider auch nicht bewerten kann ob diese für meine 
Anwendung sinnvoll und brauchbar sind. Falls ja würde ich mich natürlich 
selbst einarbeiten und versuchen das Projekt damit zu realisieren.

Ich gehe mal davon aus das ich hier ein paar FPGA erfahrene finden kann 
und würde gerne mal eure Meinung hören ob die Dinger für meine Anwendung 
sinnvoll wären.

Es handelt sich um ein Kamera-System welches Bilddaten verarbeiten muss. 
Dazu muss ich zum einen erstmal 4 Bilder im Speicher haben und dann ein 
paar mathematische Operationen (+,-,*,sqrt) auf jeweils Pixel 1 von Bild 
1 bis 4, Pixel 2 von Bild 1 bis 4 usw. ausführen und das daraus neu 
entstehende Bild über Ethernet ausgeben.
Für die Ausgabe des Bildes würde ich den Wiznet W5300 verwenden falls 
das in Kombination mit dem FPGA Sinn macht.
1 Pixel hat jeweils 12 Bit (+1 Saturation Bit), könnte aber auch für 
besser Verwendbarkeit mit dem W5300 auch auf 16 Bit erweitert werden... 
2 Byte sind halt schöner zu übertragen ;-)
Die Bildgröße ist 320*240 Pixel (150KB) bei 25FPS.

Die Kameraschnittstelle scheint ein Standard zu sein 
(vsync,hsync,data0:11,shutter,pixel-clk etc.)
Die Übertragungsgeschwindigkeit ist mit 40 oder 80 MHz wählbar, es 
werden dann in jeweils 8 bzw. 16µs zwei Bildzeilen übertragen wobei jede 
Pixelclock einen Pixel überträgt. Nach fertigstellen einer Zeile erfolgt 
eine Pause bei der Übertragung von 7,9 bzw. 15,8µs (Hsync -> high).

Ich habe schon mal vorab eine Bewertung vorgenommen was für eine CPU ich 
bräuchte und da wäre ich im Bereich von 1-1,4 GHz, würde also auf einen 
ARM oder ähnliches hinauslaufen. Ich habe da allerdings zweifel ob das 
mit dem Timing so funktioniert wie ich es gerne hätte.
Ein bekannter hatte mir nun einen FPGA als alternative genannt, da er 
aber auch keine Erfahrungen damit hat möchte ich mal hier fragen ob es 
mit FPGA möglich ist diese Anwendung sinnvoll umzusetzen.
Quasi 4 Bilder im Speicher ablegen, daraus ein neues erzeugen und dieses 
dann im W5300 ablegen und versenden? Zusätzlich wäre wahrscheinlich noch 
ein "kleiner" Controller zur Konfiguration des W5300 sowie der Kamera 
(über I²C) nötig, falls der FPGA dafür noch Platz hätte vielleicht als 
Softcore?!

Entschuldigung für den langen Text, ich hoffe ich habe alles wichtige 
erwähnt. Nun wüsste ich gerne was die Profi´s unter euch darüber denken, 
zum Programmieren des FPGA würde ich vermutlich dann jemanden holen der 
das kann, meine Aufgabe ist momentan aber erstmal die nötige Hardware zu 
entwerfen und ich hoffe auf eine Bewertung ob der FPGA das kann oder das 
ganze keinen Sinn ergibt?

Danke schonmal im Vorraus

Viktor

von Falk B. (falk)


Lesenswert?

@Viktor (Gast)

>Ein bekannter hatte mir nun einen FPGA als alternative genannt, da er
>aber auch keine Erfahrungen damit hat möchte ich mal hier fragen ob es
>mit FPGA möglich ist diese Anwendung sinnvoll umzusetzen.

Ja. Großen SDRAM dran, geht.

>Quasi 4 Bilder im Speicher ablegen, daraus ein neues erzeugen und dieses
>dann im W5300 ablegen und versenden? Zusätzlich wäre wahrscheinlich noch
>ein "kleiner" Controller zur Konfiguration des W5300 sowie der Kamera
>(über I²C) nötig, falls der FPGA dafür noch Platz hätte vielleicht als
>Softcore?!

Genau.

>Entschuldigung für den langen Text, ich hoffe ich habe alles wichtige
>erwähnt.

Ja.

> Nun wüsste ich gerne was die Profi´s unter euch darüber denken,
>zum Programmieren des FPGA würde ich vermutlich dann jemanden holen der
>das kann, meine Aufgabe ist momentan aber erstmal die nötige Hardware zu
>entwerfen

Kauf lieber erstmal ein fertiges Evalboard, dort ist alles drauf was du 
brauchst.

von Kest (Gast)


Lesenswert?

Ist es nicht "einfacher" ein Raspberry Pi 2 zu nehmen? Ich glaube, bei 
320x240@25 fps wird man da keine Probleme bekommen (habe jetzt aber 
nicht gerechnet)

Kest

von Viktor (Gast)


Lesenswert?

Erstmal danke für die antworten bisher.

@Falk Brunner
Sehr effizient beantwortet :-)

> Kauf lieber erstmal ein fertiges Evalboard, dort ist alles drauf was du
> brauchst.

Haben sowieso schon Eval-Boards im Labor, hatte eben bisher nur nichts 
damit gemacht und die Leute die sich damit auskennen sind nicht mehr da 
:-/
Würde es daher eh erstmal damit probieren, wollte aber eben wissen ob 
das überhaupt sinn macht mich damit auseinander zu setzen um nicht 
nacher eine Woche dran rum zu machen nur um festzustellen das es eben 
nicht geht. Aber soweit klingt das schonmal gut, dann werde ich die Zeit 
mal investieren.

Kest schrieb:
> Ist es nicht "einfacher" ein Raspberry Pi 2 zu nehmen? Ich glaube, bei
> 320x240@25 fps wird man da keine Probleme bekommen (habe jetzt aber
> nicht gerechnet)
>
> Kest

Bei diesen ganzen "Mini-PC" Lösungen habe ich die Befürchtung das mir 
das OS zu viele Probleme beim Timing erzeugen wird. Hatte gesehen das 
das Rasp 2 ein "CSI" Kamera Interface besitzt allerdings ist dieses ein 
Serielles, mein Kamerasensor bietet aber nur ein 12-Bit parallel 
Interface, außerdem wären die 900 MHz sehr knapp bemessen, ich hatte 
1-1,4 GHz als Single Core mindestens ausgerechnet daher könnte das schon 
zu knapp werden... aber danke für die Idee.

Lieben Gruß

Viktor

von Falk B. (falk)


Lesenswert?

320*240 Pixel sind 76800 Pixel, bei 25FPS macht das 1,9M Macroflops, 
also deine Formel durcharbeiten. Macht pro Formeldurchlauf ~500ns bzw 
500 Takte bei 1 GHz CPU Takt. Hmmm.
Mit Hilfe einer aktuellen GPU sicher machbar, wenn man die Software 
beherrscht. Nur per CPU ist nicht so sinnvoll.

von Viktor (Gast)


Lesenswert?

Das ist ja genau mein Problem weswegen ich mich nach alternativen zur 
CPU umschaue :-P
Aber danke für deine Hilfe, ich werde mich jetzt mal intensiv mit den 
FPGA´s auseinandersetzen, falls sich dabei nochmal fragen auftuen werde 
ich mich wieder vertrauensvoll an euch wenden.

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.