Hallo zusammen, hat sich schonmal jemand gedanken über AVR und einer USB-Webcam gemacht. Ich stelle mir da so ein "art" interface vor: AVR liest USB-Webcam aus und stellt sie daten über einen seriellen link zur verfügung (funk!).... geschwindigkeit ist zweitrangig! Gruß Micha,
Du benötigst dazu einen USB-HostController den du dann vom AVR her programmieren mußt. [Meinung ON] Programmierung des Hostcontrollers ist schwierig [Meinung OFF] Gibt es keine andere Möglichkeit das zu lösen ? Gruss
Conrad hat so kleine Kameramodule um ca. 15 EUR. Die sind zwar S/W aber für den Anfang sicher ausreichend. Ich habe bereits erfolgreich die Kamera über den ADC in den AVR und dann wieder per DAC rauslaufen lassen (einfach durch den AVR durch). Das funktioniert zeitlich noch. Da hier aber eine immense Datenrate anfällt, geht sich mit einem normalen AVR nicht mehr viel (gar nix mehr?) an Berechnungen oder Operationen aus. Für das werden gerne DSPs verwendet. Bei der embedded Messe hatte Xilinx (oder AD?) einen DSP mit einer Kamera zusammengehängt und dann noch eine komplexe Bildberechnung durchgeführt. Das ging prima, war halt ein DSP. Am besten versuchen die Videodaten vorher aufzubereiten und dann das reine Videosignal in den AVR rein. Aber ich bezweifle das du das über Funk so einfach rauskriegst, da die Geschwindigkeit wirklich schnell sein müsste. Wäre es möglich, das Videosignal mit einem Videocodec zu encodieren bevor es in den AVR kommt, wärs perfekt und du hättest genug Zeit für andere Operationen noch. Weiß jemand von so einem Videocodec? Gibts vielleicht Files für einen FPGA der das A/D gewandelte Videosignal codieren kann ? Naja, soviel zur -OHNE USB- Version. Roman
Hi, @T.Stütz, was die programmierung angeht schrecke ich eigentlich vor nichts zurück... alles ist irgendwie machbar, aber ich habe mir die doku zum einem Hostcontroller von Cypress gerade mal durchgelesen... hmmm! :-) eine andere Lösung gibt es bestimmt, ich habe nur mal Meinungen einholen wollen, da ich 1.) bestimmt 20 WebCams in meiner Bastelkiste liegen habe (Auflösung einem Internetcafe's), und 2.) fast alle bis auf zwei USB sind... @Roman, das hört sich auch interessant an, wärst du bereit evtl. dein Wissen was das digitalisieren angeht mit mir zu teilen ?!? :-) Ich dachte mir das Gesamtkonzept ungefähr so: AVR hat eine kleine (288x384 reicht mir)Kamera dranhängen (egal mal was für eine Schnittstelle, sollte nur in den nächsten jahren nicht abgekündigt werden...), die liest er periodisch aus, so alle 5min (einfach mal eine zahl) oder so... das Bild wir in einem RAM oder SD, CF, oder Flash, oder, oder, oder gespeichert und zur Abholung über einen seriellen Link irgendwann auf Kommando bereitgestellt. Gruß Micha,
Weils ich grad lese, noch ein kurzes Kommentar: Ich dachte vorerst du willst das ganze per Live-Video machen, also dauerhaft. Aber anscheinend willst eh "nur" ein Bild aufzeichnen alle Weile mal. Da würd sich wirklich anbieten eine Routine zu entwickeln (testweise) die mal versucht ein Bild A/D zu wandeln und das dann in einem Speicher abzulegen. Hier wär auch möglich, das Bild interlaced einzulesen, also erstmal alle geraden Zeilen und danach alle ungeraden (würde das Zeithandling etwas vereinfachen denke ich). Das ist zwar nicht 100% korrekt da bei den ungeraden Zeilen ja theoretisch schon ein komplett anderes Bild sein könnte (weil später aufgezeichnet) aber ich denke bei 25 Frames in der Sekunde merkt man das nicht. Wie gesagt, ich bin nur Verfechter der non-usb Version, weil ich nicht weiß wie das mit einem USB Host zu machen ist am besten, besonders im Videobereich, da viele Webcams schon sehr auf Codecs basieren bei der Übertragung. Bei analogem Vorgang: 1. Videosignal digitalisieren 2. Eine Zeile schnell abtasten und in einen Zwischenspeicher schreiben 3. Eine Zeile auslassen und dabei die vorige Zeile in ein RAM übertragen (wenn es sich zeitlich ausgeht?) 4. usw. Das könnte man zwar schneller mit einem FPGA oder auch normalen Speichern und Zählern zusammenbauen, aber es wär halt schön wenn es "nur" ein AVR C Programm bräuchte. Soviel dazu. Roman
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.