Hallo, ich verwende zurzeit eine USB-CMOS-Kamera mit 1,3 MP die über ein Via Epia N800 Board mit Windows XP ausgelesen wird. Die Daten werden auf eine CF-Karte gespeichert. Ich habe keinen wirklichen Überlick, was es für MC gibt und wofür die am Besten verwendet werden, bzw. wann man auf einen DSP oder embedded PC zugreifen sollte, deshalb folgede Frage: Ist es möglich, für soetwas auch einen MC zu verwenden, um Platz und Geld zu sparen. Für die Kamera gibt es auch Linux treiber. Könnte man auf einem MC ein embedded Linux laufen lassen, dass die Kamera ausliest und die Daten abspeichert. Ist der USB-Host auf einem MC realisierbar und wenn ja reicht die Rechenleistung eines MC für das auslesen und komprimieren der Videodaten aus? Über ein paar Infos wie, bzw. mit welcher hardware so ein Problem am Besten gelöst werden kann wär ich sehr dankbar.
Im Prinzip ja, aber um mit einer USB-Kamera fertig zu werden, empfiehlt es sich, einen Mikrocontroller zu nehmen, der einerseits den USB-Host eingebaut hat und andererseits linuxtauglich ist. Also mindestens AT91RM9200 (180 MHz ARM9). Da solche Mikrocontroller vielbeinig sind und externen Speicher benötigen, empfiehlt sich meist ein fertiges Modul.
Johannes G. schrieb: > Ist der USB-Host auf einem MC realisierbar und wenn ja reicht die > Rechenleistung eines MC für das auslesen und komprimieren der Videodaten > aus? Im Prinzip ja klaro ist das machbar. Ist nur die Frage nach Aufwand und Kosten. Ohne einen FPGA wirst du wohl kaum auskommen. Dein 'Problem' ist zum einen dein USB-Host (Linux ist ein guter Ansatz - einen WebcamUSBtreiber für Mikrocontroller hat glaube ich noch niemand portiert), das andere 'Problem' sind deine imensen Datenmengen. 1,3 Megapixel lässt auf 1280 x 960 Pixel schließen (interpoliert). Die Frage ist, ob diese Interpolation direkt in der Webcam oder am PC stattfindet. Hier eine kleine Rechendemo: Rechnen wir mal mit 1280 x 960. Das sind dann 1228800 Pixel (=1,3 Megapixel). Jedes Pixel hat gemäß der Farbtiefe einen gewissen Speicherbedarf. Bei 8 Bit Farbtiefe sind das pro Pixel 3 * 8 = 24 Bits pro Pixel Dann nehme man noch eine Wiederholfrequenz von mangelhalften 15 Bildern pro Sekunde (fps). Summa Summarum: 1228800 x 24 x 15 = 44.236.800 Also du muss pro Sekunde erst mal 44,2 Millionen Bits bearbeiten (alleine das Einlesen einer Sekunde Videostream) - von Komprimierung wollen wir hier noch garnicht reden ... Das ist schon ein böser Hammer - da benötigst du viel viel RAM. Dann musst du noch Algorithmen haben die dir das ganze komprimieren (während schon wieder weitere 44,2 Mio Bits bearbeitet werden müssen) und dann noch auf die CF-Karte klatschen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.