Forum: FPGA, VHDL & Co. FPGA - Webcams streamen und ein Display


von Christoph (Gast)


Lesenswert?

Hi Liebes Forum,

Ich beschäftige mich gerade mit der Suche nach einer geeigneten 
Hardware, mit der ich einen "mini-Webserver" realisieren kann, der 2-4 
Webcams streamt. Außerdem soll noch genug Platz sein für diverse PWM 
Kanäle und analoge Eingänge. Prinzipiell sind FPGAs ja ziemlich 
flexibel, aber sind Sie dabei auch noch leistungsstark genug um per 
ethernet das ganze zu Streamen?

Wie realisiere ich dass dann?
Würde nen FPGA nehmen + Flash + RAM + (wie bekomme ich ethernet 
dadran?).

Dann nen SoftCore Drauf, der den Webserver macht und irgendwie (wie 
eigtl am besten) die Bilder der webcam einließt (und komprimiert?)

Habe im Inet Beispiele gesehen wo ein Cyclon IV ne HD Webcam an nem 
Monitor per DVI ausgibt (und h264 komprimiert!!!), also Leistungsmäßig 
sollte es daher auch mit mehreren Webcams (bei kleinerer Auflösung) gut 
gehen ... oder?

Kurz:

1) FPGA
2) 2-4 Webcams
3) Ethernet
4) Display (mit Touch?)
5) IOs ... (evtl mit nem kleinen Mega über RS232)


Was muss dann alles auf dem FPGA Board sein? (minimal)


Fragen über Fragen ... aber wichtig ist mir erstmal nur ob es machbar 
ist oder ob es an der Leistungsgrenze ist, oder ob ich bei meinen 
Recherchen gerade genau in die falsche Richtung gehe.


LG Christoph

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


Lesenswert?

Christoph schrieb:
> Ich beschäftige mich gerade mit der Suche nach einer geeigneten
> Hardware, mit der ich einen "mini-Webserver" realisieren kann, der 2-4
> Webcams streamt.
Kauf dir einen fertigen Zigarettenschachtel-PC und schließ die Kameras 
über USB da dran an.

> Was muss dann alles auf dem FPGA Board sein? (minimal)
Naja, die passenden Schnittstellen eben.
Aber sei dir sicher das ist an dieser Stelle dein ALLERKLEINSTES 
Problem. Wenn du noch nichts mit FPGAs gemacht hast, dann dürftest du 
hier an dieser Stelle mit mindestens 1 Jahr (Vollzeit) rechnen, bis du 
wenigstens annähernd in die Richtung kommst, die du dir vorstellst.

> Prinzipiell sind FPGAs ja ziemlich flexibel, aber sind Sie dabei auch
> noch leistungsstark genug um per ethernet das ganze zu Streamen?
Ja.

BTW:
Was darf das ganze denn kosten?
Bis wann brauchst du das?

von Martin S. (strubi)


Lesenswert?

Hi Christoph,

>
> Dann nen SoftCore Drauf, der den Webserver macht und irgendwie (wie
> eigtl am besten) die Bilder der webcam einließt (und komprimiert?)
>

Mein Tip: Vergiss den Softcore. Da bist du EWIG dran, und "missbrauchst" 
eigentlich das FPGA für die falschen Sachen.


> Habe im Inet Beispiele gesehen wo ein Cyclon IV ne HD Webcam an nem
> Monitor per DVI ausgibt (und h264 komprimiert!!!), also Leistungsmäßig
> sollte es daher auch mit mehreren Webcams (bei kleinerer Auflösung) gut
> gehen ... oder?
>

Gehen tut das zu akademischen Zwecken schon alles.
Aber zur pragmatischen Lösung würde ich Dir eher zu einem Raspberry 
Pi-Computer raten (wenn er dann gegen Ende Jahr endlich raus ist).

> Kurz:
>
> 1) FPGA
> 2) 2-4 Webcams
> 3) Ethernet
> 4) Display (mit Touch?)
> 5) IOs ... (evtl mit nem kleinen Mega über RS232)
>
>
> Was muss dann alles auf dem FPGA Board sein? (minimal)
>
>
> Fragen über Fragen ... aber wichtig ist mir erstmal nur ob es machbar
> ist oder ob es an der Leistungsgrenze ist, oder ob ich bei meinen
> Recherchen gerade genau in die falsche Richtung gehe.
>

Im allgemeinen hat es sich bei mir bewaehrt, einen leistungsfaehigen 
Hybriden wie den Blackfin als Front-End (uClinux, encoding) zu nehmen 
und ein FPGA zur Vorverarbeitung vorzuschalten. Das alleine ist schon 
genug aufwendig. Fuer Standardzwecke wie h264-encoding gibt es aber 
genuegend fertige Referenzloesungen.

Gruesse,

- Strubi

von PittyJ (Gast)


Lesenswert?

Ich habe gerade Ethernet an einen Cyclone IV angeschlossen. Dafür 
brauchst man noch ein PHY-Chip (z.B. Broadcom oder Marvel) und die 
Buchse mit den Magnetics. Alleine an dem Ethernet habe ich über einen 
Monat gesessen. Das ist aber nur die Ethernet-Schicht an sich. Für die 
Kameras brauchst du ja noch ein Protokoll darüber (z.B. Gige), was nicht 
sehr einfach mit einem FPGA zu realisieren ist.
Den Aufwand von allem würde ich jetzt bei ca 1 Jahr sehen. Dabei ist 
nicht die Leistungsstärke des FPGAs das Problem, sondern mehr die 
Erfahrung des Konstrukteurs in VHDL und Elektronik.

von Christoph (Gast)


Lesenswert?

>BTW:
>Was darf das ganze denn kosten?
>Bis wann brauchst du das?

der Preis ist nicht fix, sollte aber möglichst im unteren Drittel des 
3stelligen bleiben. Brauchen tue ich das garnicht ;-) es ist einfach nur 
um es zu lernen.

>Mein Tip: Vergiss den Softcore. Da bist du EWIG dran, und "missbrauchst"
>eigentlich das FPGA für die falschen Sachen.

also nen Hardcore ;-) was gibt es denn in die richtung was genug 
leistung hat? nen ARM?

>Blackfin
Den guck ich mir mal an


>Den Aufwand von allem würde ich jetzt bei ca 1 Jahr sehen. Dabei ist
>nicht die Leistungsstärke des FPGAs das Problem, sondern mehr die
>Erfahrung des Konstrukteurs in VHDL und Elektronik.

VHDL quasi keine Erfahrung, Elektronik Kenntnisse sind nicht allzu 
schlecht, habe schon einiges mit ATMegas gemacht, die aber für dieses 
Projekt eindeutig zu schwach sind :-D ... studiere Elektrotechnik und 
dort sind mir eben auch FPGAs über den weg gelaufen und ich hatte 
gedacht mein Projekt vllt damit zu realisieren, weil ich die teile 
einfach cool finde ;-)


Wenn man mir aber rät einen echten "hardcore" zu nehmen muss ich mir das 
basteln an FPGAs wohl noch verkneifen bis ich ein anderes Projekt am 
Start habe.


Wie sieht es denn mit den "hardcores" aus? Welche bieten mit 
vertretbaren Aufwand Ethernet und genug IOs für 4 Kameras (evtl per 
USB), und die nötige Rechenpower für die Streams? Ebenso wie ein Ausgang 
für nen TFT (live Kamerabild(er))?

LG Christoph

Dann muss der FPGA halt im Notfall "nur" das drummherum machen ;-) dann 
kann ich endlich mal einen verwenden :-p

von Martin S. (strubi)


Lesenswert?

Christoph schrieb:
> Wie sieht es denn mit den "hardcores" aus? Welche bieten mit
> vertretbaren Aufwand Ethernet und genug IOs für 4 Kameras (evtl per
> USB), und die nötige Rechenpower für die Streams? Ebenso wie ein Ausgang
> für nen TFT (live Kamerabild(er))?

Hi Christoph,

per USB wird das mit dem Eigenbau aufwendig. Die Kirkwood-Marvell-SoCs 
(ARM) koennen sowas, siehe "Seagate Dockstar". Fragt sich jetzt, was Du 
da alles codieren willst, ich wuerde mal klein anfangen. Ein 
Graphikdisplay ist auf FPGA-Basis nicht so teuer, wenn die I/Os fehlen. 
Manche TFTs mit embedded Controller/RAM kann man auch parallel per 
uC-Interface ansteuern, ist aber u.U. nicht schnell genug fuer weiche 
Videowiedergabe.
Auf dem Blackfin habe ich ne gemultiplexte Loesung gemacht (tristated 
Bus mit mehreren Kamera-SoCs, die gleich JPEG liefern). MJPEG-Stream 
geht per WLAN-USB-Stick in den Aether.
Fuer neuere SoCs gibt es LVDS-Interfaces, da wuerde ich dann wieder ein 
FPGA zur Parallelisierung empfehlen. Muss man aber alle Kamerachips 
"mastern", damit sie synchrone frames liefern.
Es lohnt sich m.E. auf bestehende 'Lego'-Komponenten zurueckzugreifen, 
und alle Intelligenz in die Kamera zu verfrachten. z.B. als Display 
einfach ein WLAN-Pad nehmen (Archos, Samsung, usw.)
Aber eigentlich willst Du ja mit FPGAs arbeiten, richtig?
Es ist schon recht spannend, gute Debayer-Algorithmen mit einem 
USBfaehigen Evalboard (z.B. Digilent Nexys) zu "prototypen".
Alleine die FX2-Cypress-Geschichte verschlingt schon Mannwochen :-)

Gruesse,

- Strubi

von T. F. (sar)


Lesenswert?

Ich würde irgendein Embedded Linux nehmen und ggf. mit Mikrocontroller 
die PWM und ADC Geschichten erweitern:

http://www.omnima.co.uk/store/catalog/MiniEMBWiFi-p-16180.html
http://www.8devices.com/product/3/wi-fi-4-things

Die beiden Boards sind für ca. 50€ zu haben. Haben USB, WLAN und 
Ethernet. Das von Omnima rennt bei mir als WIFI Printserver mit OpenWRT 
trunk und bin absolut zufrieden damit.

Kommt halt drau an was du genau machen willst. Was das für Kameras sind 
und was an Daten da herumgeschaufelt werden muss...

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


Lesenswert?

Christoph schrieb:
> VHDL quasi keine Erfahrung, Elektronik Kenntnisse sind nicht allzu
> schlecht, habe schon einiges mit ATMegas gemacht, die aber für dieses
> Projekt eindeutig zu schwach sind :-D ... studiere Elektrotechnik und
> dort sind mir eben auch FPGAs über den weg gelaufen und ich hatte
> gedacht mein Projekt vllt damit zu realisieren, weil ich die teile
> einfach cool finde ;-)
Sind sie auch.

Aber ich würde vorschlagen: kauf dir irgendein EVAL-Board und fang mit 
VHDL auf FPGAs an. Ein Lauflicht zuerst, dann eine serielle 
Schnittstelle, dann einen VGA-Monitor ansteuern, usw.

von Stefan W. (wswbln)


Lesenswert?

...und für das andere Projekt könntest Du evtl. auch mal einen Blick auf 
das Beagle-Board werfen. Gibt's auch eine rege Gemeinde dazu: 
http://www.beagleboard.org

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.