Forum: FPGA, VHDL & Co. FPGA zum Einstieg in Bildverarbeitung


von Tom (Gast)


Lesenswert?

Hallo liebe Forengemeinde!

Ich habe beschlossen nun endlich den Einstieg in die FPGA-Welt zu wagen, 
habe im Moment aber Probleme mich für ein geeignetes Board zu 
entscheiden.
Die meisten der "How to choose the right FPGA" Empfehlungen die man 
online findet sind leider auch schon mehrere Jahre alt weshalb ich 
gehofft hatte, dass die Erfahrenen hier im Forum mir vielleicht eine 
Empfehlung geben können.

Das langfristige Ziel wäre es einfache Bildverarbeitung in Echtzeit 
durchführen zu können (max 320x240 @ 100Hz greyscale) wie z.B. 
Blobdetection / Blobtracking.

Mir ist klar, dass dies kein Einsteiger-Projekt ist, dennoch würde ich 
natürlich gerne jetzt schon die Hardware so wählen, dass sie später für 
dieses Projekt passend ist.

Kann man denn ganz grob abschätzen was für eine Leistung der FPGA dafür 
haben muss / sollte?

Die einzig wirkliche Bedingung von meiner Seite her wäre ein USB-JTAG 
Interface, so dass ich den FPGA direkt vom Rechner aus beschreiben kann 
und als Student bin ich leider auch vom Budget her recht eingeschränkt.

Ich habe in den letzten Tagen einiges zum Sparten 3E gelesen mit welchem 
wohl auch Echtzeit Videosysteme realisiert wurden, allerdings kann ich 
beim besten Willen nicht einschätzen ob 250k, 500k oder mehr Gatter 
angebracht wären.

Auch das Spartan-6 LX9 Microboard macht einen interessanten Eindruck mit 
zusätzlichem Ethernet Port. Allerdings findet man hier komplett andere 
Leistungsangaben, so dass ich nicht mal annähernd den Vergleich zum 
Sparten 3E ziehen kann.
Zudem scheint dieses Board vor allem auf Microblaze Softcore 
ausgerichtet zu sein, langfristig möchte ich aber eigentlich kein System 
on a Chip sondern den FPGA direkt programmieren.

Kann denn jemand mit diesen zugegebenermaßen recht dürftigen Infos eine 
grobe Richtung empfehlen oder auch nur von einigen Dingen abraten?

Ich bin für jegliche Tipps und Ideen dankbar!

Viele Grüße
Tom

von zachso (Gast)


Lesenswert?

Hi,

also ich hab auch keien grosse ahnung von bildbearbeitung, aber das 
hoert sich alles so an als ob du evtl. dieses bord kaufen willst:

http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_114_123&products_id=830

(aufpassen, preis ist exkl. MwSt.)

hier der originalanbieter wo es danna uch den code gibt:

http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS

als student nicht zu teuer wie ich finde, jtag ist integriert, 
erweiterungsmoeglichkeiten gibts auch und die onboardsachen sind auch 
fett. dazu gibts von digilent recht viel code. es gab auch mal nen recht 
langen thread ueber das bard, den wuerde ich dir vor dem kauf auch noch 
ans herz legen. schnelle datenuebertragung bekommste bei dem baord ueber 
gbit-ethernet.


als einstieg waere evtl. dennoch der normale PC besser geeignet, fpga 
macht man eigentlich nur wenns dann noch viel schneller gehn muss, aber 
das ist ja deine entscheidung.

bye
zachso

von Tom (Gast)


Lesenswert?

Hallo zachso,

vielen Dank für den Tipp, aber dieses Board scheint mir zumindest von 
der Peripherie her für meine Zwecke kompletter Overkill zu sein. 4 HDMI 
Ports, Audio, 2x USB etc. brauche ich schlicht nicht.
Ich wäre mit einem USB und evtl. noch einem Ethernet Port schon völlig 
zufrieden ;-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Tom schrieb:
> Ich wäre mit einem USB und evtl. noch einem Ethernet Port schon völlig
> zufrieden ;-)
Für BILDVERARBEITUNG in Echtzeit?
Wie definierst du Echtzeit?
1 Bild in 10 ms (=100Hz)?
Das wären dann bei
> max 320x240 @ 100Hz greyscale
immerhin netto 7680000 Bytes pro Sekunde (oder knapp über 64 MBit/s), 
die irgendwoher kommen müssten...

von Thomas F. (thf)


Lesenswert?

Über welche Schnittstelle hast Du vor die Videodaten einzuspeisen?

von Guest (Gast)


Lesenswert?

Boards zum Studentenrabatt gibt's bei Trenz-Elektronik. Spartan6
eher weniger (2.5V IO, kein 3.3V), dann eher Spartan3.
Überleg dir, ob du SRAM brauchst oder DDR-RAM willst.
Bei einigen Boards ist ein FX2-Konnector dabei, dann solltest
du einen FX2-Flachbandkabel-Stecker mitbestellen.

Kameramodule gibt's bei Ebay genug, schau mal nach MT9D111 oder
MT9M111. Die können einfach per BreadBoard angeschlossen werden.
Das MTD111 läuft mit PixClk 80MHz und 1600x1200 Pixel.
320x240 läuft auf dem bei mehr als 200Hz.

Gruss

von user (Gast)


Lesenswert?


von Vanilla (Gast)


Lesenswert?

Hallo Guest (Gast)

der Spartan6 ist 3,3V IO kompatibel im Gegensatz zum Virtex6 welchen Du 
evtl. im Kopf hattest?

von Strubi (Gast)


Lesenswert?

Was willste denn machen?
FPGAs sind ja ansich nur für "dumme" Videovorverarbeitung geeignet (z.B. 
Filter-Kernels, DCTs, etc.).
Sobald dann die Bilder auch noch rausmüssen, wird's recht schnell 
komplex, da gibt's bei den üblichen Boards fast nur den Weg über USB 
(Cypress FX2 oder FTDI2232). Am besten bin ich bisher mit der 
Kombination Blackfin/FPGA gefahren: Alle aufwendigen aber "dummen" 
Operationen ins FPGA, und das ganze Encoding/Verarbeiten im DSP.

Gruss

von Christian R. (supachris)


Lesenswert?

Vanilla schrieb:
> der Spartan6 ist 3,3V IO kompatibel im Gegensatz zum Virtex6 welchen Du
> evtl. im Kopf hattest?

Er meinte eher, dass es am Spartan 6 Board (SP601) keine Möglichkeit 
gibt, die I/Os auf 3,3V zu betreiben. An den Spartan 3 Boards gibts 
einen Jumper, beim SP601 ist das fest verdrahtet für alle Bänke.

Für das SP601 gibts doch aber so ein Demo-Projekt von Xilinx, gings dort 
nicht um Video-Verarbeitung und Streaming über das GBit Ethernet?

von Vanilla (Gast)


Lesenswert?

Hallo Chris,

ich muesste jetzt mal echt nachsehen, am Avnet spartan6 Board mit FMC 
Connector kann die IO Spannung vom FMC Connector auf 3,3V gesetzt werden 
und meine dass beim SP601 oder SP605 ebenfalls gesehen zu haben...

von Christian R. (supachris)


Lesenswert?

Bei meinem SP601 sind die Bänke fest verdrahtet. Der FMC hat 2,5V. Das 
hat uns auch schon tierisch genervt.

von Frank K. (fchk)


Lesenswert?

Tom schrieb:

> Ich habe in den letzten Tagen einiges zum Sparten 3E gelesen mit welchem
> wohl auch Echtzeit Videosysteme realisiert wurden, allerdings kann ich
> beim besten Willen nicht einschätzen ob 250k, 500k oder mehr Gatter
> angebracht wären.
>
> Auch das Spartan-6 LX9 Microboard macht einen interessanten Eindruck mit
> zusätzlichem Ethernet Port. Allerdings findet man hier komplett andere
> Leistungsangaben, so dass ich nicht mal annähernd den Vergleich zum
> Sparten 3E ziehen kann.

Gatter sind nicht alles. Wichtig ist auch Größe und Anzahl von Block RAM 
und die Anzahl an Multiplizierern/DSP Blocks/... und ggf anderen Hard 
Macros.

Beim Spartan 3 ist das Verhältnis von Multiplizierern und BRAM zu 
Logikgattern oder Makrozellen eher klein, d.h. die Anzahl dieser 
Resourcen ist im Vergleich zu Spartan 6 oder Cyclone III eher gering.

Für eine gute Auswahl musst Du Deine Algorithmen genau kennen. Erst wenn 
Du das, was Du implementieren willst, als Software am Laufen hast, 
kannst Du schauen, was Du brauchst.

fchk

von Tom (Gast)


Lesenswert?

Frank K. schrieb:
> Für eine gute Auswahl musst Du Deine Algorithmen genau kennen. Erst wenn
> Du das, was Du implementieren willst, als Software am Laufen hast,
> kannst Du schauen, was Du brauchst.

Vielen Dank für den Tipp, dann werde ich es wohl mal auf diese Weise 
versuchen.

Danke an alle für den Input!
Tom

von Lupinus Digitalus (Gast)


Lesenswert?

Schau Dir doch mal das HDR-60 Board an:
http://www.latticesemi.com/products/developmenthardware/developmentkits/hdr60videocameradevkit/index.cfm

Hat die Schnittstellen die Du wolltest und auch schon ein Kameramodul.

Gruss Lupi

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Ich habe mich schon mit Bildbearbeitung und VHDL auseinandergesetzt. Das 
ist schon etwas härteres mit der Einarbeitungszeit.

Für den Einstieg in FPGAs benötigst du ein Board mit einfachen 
Komponenten. Das sind Taster LEDs ICs mit einfachen Schnittstellen wie 
SPI und I2c. Diese Projektes sind der Einstieg in VHDL. Auch das 
Einarbeiten in einen Simulator ist hier Pflichtprogramm.


Bei der Bildbearbeitung sind die Anforderungen anders. Du benötigt einen 
hohen Datendurchsatz. Wo kommen die Daten her und wo gehen die Daten 
hin?
Dazu wird bei Bildbearbeitung noch ein Externer RAM benötigt, denn der 
FPGA hat nur begrenzten internen Speicherplatz.


Nun das Ende. Für Bildbearbeitung würde ich nicht mehr unter einem 
Spartan6 anfangen. Doch nun das Traurige alle Evalboards von Xilinx für 
den Saprtan haben als externe Komponenten keine Einstiegscharakter. Das 
ist leider so, nur High End.

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.