PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USB Frame-Grabber mit Mikrocontroller nutzen



mwoidt
30.09.2006, 22:34
Hallo
Ich möchte die Bilddaten einer Kamera mit PAL-BAS-Signal (d.h. s/w)
auslesen (Auflösung 640*480 12,5 FPS)
Später vielleicht auch mal ein FBAS-Signal aber erstmal sw. Dazu hab ich hier im Forum auch schon viel gelesen. Das eigendliche Problem ist nur die hohe Auflösung. Alle A/D-Wandler die ich bis jetzt gesehen hab kommen Zeitlich nicht annähernd in den brauchbaren Bereich. Also hab ich mir gedacht ich benutze eine fertige Lösung. Das wären zum einen TV-Karten (PCI) oder eben USB-Frame-Grabber. Bei den PCI Karten befürchte ich aber das der Aufwand einfach zu hoch wird. Die USB-Frame-Grabber sehen da hoffentlich besser aus. Weiß jemand wie man sowas über USB ansteuern kann? bzw. Ob man sie umbauen kann, dass sie 8Bit Parallel ausgeben oder is das da drinnen alles ein Chip?

Die Anfallende Datenmenge zu verarbeiten ist kein Problem und soll (erstmal noch) nicht interessieren das krieg ich auf die Reihe

stegr
01.10.2006, 02:05
Um ein USB-Gerät anzusteuern, brauchst du einen USB-Host-Controller. Für diesen brauchst du einiges an Rechenleistung, z.B.
ARM 7
ARM 9
x86 embedded
einige Mikrocontroller mit USB-Host
...

Achso - du brauchst typischerweise dabei USB 2.0 ;)

Der Programmieraufwand ist in allen Fällen sehr hoch.
Optionen:
- du nimmst nen Embedded-PC und wirfst dort Windows oder Linux drauf
- du nimmst nen ARM9 und wirfst dort Linux drauf (wobei das auch keine Kleinigkeit ist)
- du schnappst dir einen FPGA und schreibst dir deinen "Framegrabber" selber.

Schnelle AD-Wandler bekommst du übrigens bei Analog Devices (AD) - dazu solltest du dir aber mal den PAL-Standard etwas genauer anschaun... ;)

MfG
Stefan

mwoidt
01.10.2006, 19:10
Was USB2.0 angeht liegst du leider falsch. Jeder Framegrabber den ich bis jetzt gesehen hab war USB1 ;) reicht auch dicke für 640x480.
Statt einen FPGA werd ich wohl nen CPLD wegen geringeren kosten benutzen. ich muss mal nach AD wandlern bei analog devices gucken. BAS signale haben eine aktive Zeilenlänge von 52us das mach bei 640 Punkten pro zeile ca. 81ns pro punkt. Ich will natürlich nicht ausschließen das meine Infos zum BAS signal falsch sind also korrigiert mich bitte wenn 52us falsch sind hab diese angaben nicht überprüft. Das würde ca. 13MSPS machen oder?

stegr
01.10.2006, 20:27
Du solltest dann noch das Abtast-Theorem berücksichtigen -> min. rund 25MSp/s.
Bin aber grade am überlegen, in wie weit es hier überhaupt zum Tragen kommt, da du ja das Signal nicht rekonstruieren willst, sondern nur die Punktinformationen.

Wenn mich nicht alles täuscht, sollten die 13 MSp/s wirklich ausreichen, sofern du jeweils genau zum richtigen Zeitpunkt abtastest - aber du kannst ja auf das Blanking syncen...

Bei der geringen Abtastrate solltest du auf jeden Fall nen ADC finden.

MfG
Stefan

mwoidt
01.10.2006, 20:53
Jop. Ich hab auch schon den entsprechenden IC gefunden der mir die V und H-Sync Impulse aus dem Signal filtert. Zum richtigen Zeitpunkt abtasten ist auch nicht das umbedingte Problem. Ich denke ich werde einen AD mit 28MSPS (AD9281) nehmen weil der auch nicht teuerer ist als die langsameren. Hab das Ding schon bei Farnell gefunden. 14€ is natürlich ein stolzer Preis (vor allem weil Analog Devicec als preis 3$ angibt...) aber was solls

Ich seh grad so ein ADV7180 wäre auch nich schlecht. Ist ein kompletter PAL/NTSC->Digital cnverter in Farbe