Momentan interessiere ich mich für Kameramodule, wie z.B. das Modul für den Raspi oder das Pollin-Modul http://www.pollin.de/shop/dt/Mjk3OTE0OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/LEDs/Power_LED_und_Kameramodul.html Interessiert bin ich vor allem an Informationen, wie man sich selber so ein Modul bauen könnte. Einige Informationen habe ich schon gefunden, aber nicht, was mein Wissen genügend anreichert, um so ein Modul herstellen zu können. Wie üblich werden bestimmt Einwände kommen, dass dieses Vorhaben zu schwer ist, ein FPGA benötigt wird und zu umständig zu programmieren sei, ... - aber darum geht es mir nicht. Mir geht es darum, das Wissen zu erlangen, um so einen Schluss selber ziehen zu können. Ich will mich mit der Materie auseinandersetzen und verstehen, welche Bildsensoren es gibt und auf welche Weise diese einfach angesprochen werden können, welche Linse oder welches Objektiv eine passende Wahl ist, etc. Ich möchte in der Lage sein, theoretisch ein Kameramodul aufbauen zu können (Auswahl Linse, Bildsensor, µC zum Auslesen der Daten, evtl. µC zum Komprimieren der Daten, evtl. Implementation von Funktionen wie Weißabgleich o.Ä., ...). Wenn ich hinterher vielleicht wirklich etwas lauffähiges auf die Beine stellen kann, dann wäre ich natürlich nicht unglücklich. Über Infos zu vielleicht schon umgesetzten (eigenen oder fremden) Projekten würde ich mich auch freuen.
Ich empfehle als Einstieg einen Zeilensensor. Den kann man recht bequem mit einem Flash- oder Pipeline-ADC (bzw. drei davon) auslesen, und es gibt Beispiele, auch hier im Forum (z.B. Spektrometerprojekt). Und wer gut ist, baut eine Scankamera.
Ich habe mal eine 5 Mega-Pixel-Kamera gebaut. Sensor war ein MT9P031 von Aptina. Die Datenübertragung ging über einen Spartan3AN an einen FTDI2232H und von da an den PC. Der gesamte Block-RAM des Spartan wurde als Ringpuffer benutzt um kurze USB-Aussetzer ausgleichen zu können. Das Objektiv war ein C-Mount, die Halterung dafür habe ich bei www.schaeffer-ag.de machen lassen. Da das Auslesen des Bildes ca. 0.7s dauerte, war wegen des Rolling-Shutter-Effektes die Kamera nur für statische Szenen zu gebrauchen.
@Sebastian: Vielen Dank für deinen Hinweis auf Zeilensensoren. Ich habe aber einerseits eher Interesse an der Verarbeitung ganzer Bilder und Videos und andererseita momentan (noch?) keine Bestrebungen etwas zu implementieren. Noch bin ich in der Phase des Lernens @Markus: Was war der Grund für die lange Zeit - war es die Übertragung mittels USB oder wirklich das Auslesen des Sensors? Der Sensor soll ja bis 2592x1944@14Hz schaffen und wenn ich mich nicht irre, dann ist der FPGA doch auch schnell genug um Videos aus dem Sensor auszulesen. Woran hat es gelegen?
Der Flaschenhals war die Übertragung per USB. Das Problem ist das man den Sensor innerhalb eines Bildes nicht anhalten kann. Der FTDI hat 4KByte Puffer, der FPGA konnte auch nochmal 4096 Pixel speichern. Wenn die Puffer überlaufen gehen Daten verloren und das Bild ist kaputt. Mit 7.5MHz Pixeltakt hat es funktioniert bei 15 MHz gingen immer wieder Daten verloren. Ich habe den Takt für den Bildsensor von den 60MHz des FTDI heruntergeteilt, so musste ich nicht mit verschiedenen Taktquellen arbeiten. Da es für die Anwendung schnell genug war habe ich es dann nicht weiter optimiert.
Von dam ausgehend, was ich bisher gelesen habe scheint allemein die Datenübertragung von Videoströmen das größte Problem zu sein. Das ist aber auch ein weiteres Puzzlestück: ein passender Hardware-Encoder. Bei dem denke ich mir jedoch momentan noch, dass es wahrscheinlich kein Problem ist. So Encoder werden heutzutage in jedem nur erdenklichen Gerät benutzt, dass ich davon ausgehe eine Vielzahl von Infos und Beispielprojekten zu finden.
Naja, einfacher wirds dadurch nicht. Schau mal unter http://cache.freescale.com/files/32bit/doc/ref_manual/iMX53RM.pdf?fpsp=1&WT_TYPE=Reference%20Manuals&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation Seite 2629 bis 3412, dann bekommst Du mal eine Vorstellung auf was Du dich da einlässt.
Ich habe mir mal ein wenig die Seiten zwischen 2629 und 3412 angeschaut. Dies ist schon WESENTLICH mehr, als ich mir überhaupt vorstelle. Der Chip, den du beschreibst, kann einfach einen Haufen an Bildtransformationen vornehmen (drehen, skalieren, ...) und eine Vielzahl an Ein- und Ausgabegeräten ansteuern. Auch die VPU ist wesentlich mächtiger als momentan angedacht. Es reicht ein einfacher Encoder, der das Material aus dem Bildsensor, nachdem es durch einen FPGA gejagt wurde, in z.B. h.264 zu transformieren. Der i.MX53 kann das, aber auch noch ein halbes dutzend weitere Formate En- und Dekodieren. Mir ist aber auch bewusst, dass ein einfacher MP2/h.254/...-Encoder nicht einfach zu bekommen ist. Ich finde hier und da immer wieder mal einen passenden Chip. Aber obwohl mittlerweile 'überall' Videoencoder benutzt werden, wie z.B. in zig Millionen Handys, scheinen die Chips selber für Endkunden nur schwer zu bekommen. Oder regeln das alle Handys per Software? Aber wie gesagt werde ich schon irgendeinen Chip finden - sei es auch nicht mit meiner gewünschten Auflösung, Framerate oder Komprimierung. Sollte jemand eine Quelle für entsprechende Chips haben - immer her damit.
Im Consumer-Bereich ist der Hardware-Encoder entweder ins SoC (bei Handys usw.) oder in den Bildsensor (div. Webcams) integriert. Ansonsten gibt es noch Hardware-Encoder für JPEG2000 von Analog (ADV212) und diverse JPG-Encoder-Cores für FPGA. DSPs von verschiedenen Herstellern (z.B. TI) mit denen man Videos codieren kann gibts natürlich auch noch. Wenn Du noch etwas anders findest, würde mich das sehr interessieren.
Das Datenblatt was ich verlinkt hatte ist von einem imx535, das ist ein typischer (eigentlich schon veralteter) SoC für ein Tablet. Freescale ist soweit ich weiß der einzige Hersteller wo man die komplette Doku eines solchen SoC einfach so herunterladen kann.
Ich suche gerade seid Ewigkeiten nach einem vernünftigen Encoder. Ich glaube ich starte gleich einen neuen Thread um nach solchen Chips zu fragen. Patente sind Ansichtssache und ich finde unser Patentwesen ziemlich unausgereift. Aber davon gelöst - ist es durch die Patente echt gelungen, dass man als Konsument zum Basteln keine Möglichkeit hat um so einen Encoder zu bekommen? Ich meine jetzt ohne einen teuren Allround-µC mit entsprechenden Fähigkeiten zu kaufen? Natürlich gibt es alternativen wie das Zerlegen von Geräten mit entsprechenden Komponenten oder etwa einen Raspi, aber kann ich als Endverbraucher / interessierter Konsument wirklich keinen passenden Prozessor kaufen?
Ich glaube das hat eher wirtschaftliche Gründe: Kaum jemand braucht sowas ohne das drumherum. Und wenn doch dann sind die für professionelles Videoequipment für TV Sender, Security und so. Billig und einfach dranzukommen kannste daher vergessen. > Ich meine jetzt ohne einen teuren Allround-µC mit > entsprechenden Fähigkeiten zu kaufen? Ehm, ich glaube ohne sind die teurer als mit weil spezialteil ;-)
Es gibt sowas von Conexant: http://www.conexant.com/Product/Video/JPEGVEncoder/Pages/default.aspx Drankommen und Doku sind da aber das Problem.
Ich habe gerade nochmals eine Ewigkeit weitergesucht. Es gibt so einiges an µC, IP-Cores zum Lizensieren, ... aber mir wollen die wohl alle nichts verkaufen ;) Nun ja, dann muss ich mich wohl darauf einlassen, dass ich hier die Grundlagen nur theoretisch erarbeiten kann. Für eine Implementierung bin ich nunmehr immer wieder bei den i.MX 6 gelandet. Aus der Serie können alle außer dem SoloLite Video-Encoding und der i.MX 6 Solo kostet bei Digikey ca. 26$ (http://www.digikey.com/product-detail/en/MCIMX6S5DVM10AB/MCIMX6S5DVM10AB-ND/3831437) Mit dem Chip kann man direkt einen Bildsensor auslesen und das Kodierte Video über USB ausgeben... wenn gewünscht auch mit weiteren Transformationen und gleichzeitiger Ausgabe über zwei Displays. Irgendwie schade, dass man keinen dezidierten Video-Encoder bekommen kann. Grendel hat wohl recht, dass sich ein Encoder für Endanwender nicht rechnet. Wahrscheinlich wollen die Meisten eher so einen µC wie den i.MX, mit dem man fast alles erdenkliche im Multimedia-Bereich erschlagen kann.
> aber mir wollen die wohl alle nichts verkaufen ;)
Warum sollten Sie auch?
Ne E-Mail von Dir zu beantworten kostet die schon mehr als Du denen
einbringst ;-)
(Stundenlohn...)
$26 ...
Der i.MX6 alleine reicht nicht: Da kommt noch 2x DDR3 Speicher dabei und
Power Management und eine (minimum) 6 Lagen Platine und ein riesen
Haufen anderer Bauteile.
Du kannst für die Materialkosten in Einzelstückzahlen noch locker eine 0
dranhängen und davon ists noch nicht zusammengebaut oder getestet.
Und wenns nicht auf anhieb klappt: Alles nochmal ;-)
Grendel schrieb: > $26 ... > Der i.MX6 alleine reicht nicht: Da kommt noch 2x DDR3 Speicher dabei und > Power Management und eine (minimum) 6 Lagen Platine und ein riesen > Haufen anderer Bauteile. > Du kannst für die Materialkosten in Einzelstückzahlen noch locker eine 0 > dranhängen und davon ists noch nicht zusammengebaut oder getestet. > Und wenns nicht auf anhieb klappt: Alles nochmal ;-) Es gibt die Wandboards die haben IMX6 SoloLite, Dual bzw. Quad verbaut. Kosten alle so ~100€ mit Basisboard (das man nicht braucht). Offener EDM Connector. Laufen ganz gut stabil und sind halbwegs im indust. Umfeld brauchbar. Freescale schlägt übrigens ein 12 Lagen Layout vor ... nicht ohne Grund.
Ja klar FERTIGE Module aus Großserienfertigung gibts günstiger, ich sprach da vom Selbstbau (klang danach als wollte der Threadstarter dies tun, was natürlich kostentechnisch völlig sinnfrei ist). > Freescale schlägt übrigens ein 12 Lagen Layout vor ... > nicht ohne Grund. Die normalen Boards sind alle 8 Lagig.
Na, na, na, wer wird denn meine Idee für sinnfrei halten? ;) Natürlich ist es sinnfrei... oder aber auch nicht. Kommt auf den Blickwinkel an. Ich lerne etwas neues und habe Spaß daran - für mich in der Regel eine der schönsten Dinge die es gibt. Und wenn ich hinterher sogar etwas nettes Implementieren kann, dann hat sich mein Lernprojekt doppelt gelohnt. Ich möchte am liebsten so viel wie möglich lernen und selber machen. Aber das hat auch seine Grenzen - zeitlich und finanziell. Natürlich werde ich NIE ein >komplettes< Kameramodul herstellen. Ich werde NIE den passenden Bildsensor selber herstellen oder die Leiterplatte selber herstellen (ich meine das Basismaterial selbst). Aber auch das andere Extrem, direkt ein fertiges Modul wie die geniale 30€ Kamera vom Raspi zu benutzen, reizt mich nicht. Irgendwo dazwischen würde ich gerne landen. Mein erstes Bild im Kopf war ein System aus µC, FPGA (evtl. beides kombiniert), Bildsensor, Kamera, Encoder und eine Anbindung z.B. via USB. Das würde ich noch immer gerne machen, scheint aber so nicht umsetzbar zu sein. Momentan läuft es darauf hinaus, dass ich wohl nur bei der Theorie bleibe / bleiben muss mangels Alternativen. ABER wie so üblich habe ich mich mit etwas intensiver auseinandergesetzt, womit ich mich vorher nicht beschäftigt habe: den netten Freescale Prozessoren. Die oben angesprochenen Wandboards hatte ich bereits entdeckt, und für 79€ - 129€ sind die in meinen Augen schon der Knaller. Ich glaube mit denen werde ich mich auch mal beschäftigen und vielleicht ein nettes Multimedia-Projekt umsetzen. P.S.: @Grendel: Das kleinste Wandboard dass ich kenne hat zum Glück nicht den SoloLite, sondern den Solo (für 79€). Der SoloLote kann nämlich keine Videos kodieren.
> Na, na, na, wer wird denn meine Idee für sinnfrei halten? ;) > > kostentechnisch völlig sinnfrei Kostentechnisch. Kostentechnisch. ;-) Rechne Dir mal in online Kalkulatoren von Platinenherstellern aus was ne sagen wir mal 100x100mm 8 Lagen Platine kosten würde. Und dann überleg Dir noch wie die ganzen großen BGAs auf die Platine gelötet werden sollen. > P.S.: @Grendel: Das kleinste Wandboard... Du meinst @fg, vom Wandboard hab ich ja nix gesagt ;-)
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.