Hallo, ich hab ein Kameramodul gekauft und will da jetzt Bilder rausbekommen. Das Problem ist nur: Ich weiß nicht wirklich wie ich weitermachen soll. Das Modul ist ansich echt super. Hat Autofokus und Zoom und sogar n Sync zum Blitz (was ich nicht brauche). Ich habe bisher alle Pins, die einfach nur auf Spannung sitzen müssen dran (also Pins 1-6,19,20,24,25,30,33,34). Im Anhang dazu mal die Pinbelegung. Ich würde jetzt noch folgende Pins anschließen: - Einen Taktgeber an 27 - DigitalOut an die 10 Datenpins Meine Fragen wären: - was muss ich an SCL und SDA (31/32) geben? - was muss ich an PCLK (28) übergeben? - Sehe ich das richtig, dass ich 21,22,26 und 29 eigentlich nicht zwingend brauche? - Wie muss ich die Daten die über Data0-9 kommen entschlüsseln? Ich bin über jeden Tip sehr dankbar.
Du musst die Daten entschlüsseln, wie im Datenblatt beschrieben. ..und ja, auf HSync und VSync kannst Du verzichten, wenn Du eine intelligente Bildverarbeitung verwendest. Irgendwo hast Du dann starke Gradienten, die Dir die Bildgrenze anzeigen :)
Wow, das ging ja echt fix. Danke schon mal soweit. Also wenn ich das richtig verstanden habe, dann kommen die gesamten Bildinformationen über Data0-9, HSync, VSync und PCLK (also Pins 7-14,17/18, 21/22 und 28), wobei mit PCLK die Pixel-Output-Rate (woraus ich die Framerate errechnen kann) gibt. HSync und VSync würden mir sagen, wann eine Zeile/Spalte ausgegeben ist. Im Datenblatt steht nur, dass eine "RAW 10-bit Bayer data" Bild geschickt wird. Ich finde nur was zu einem Bayer Filter. Wie muss ich die Daten interpretieren? Searial Control Data (SDA) und Searial Control Clock (SCL) können beide jeweile lesend und schreibend betrieben werden und schicken "nur" Datenbefehle hin und her, wobei SCL den SDA "freischaltet", oder?
Julian schrieb: > Im Datenblatt steht nur, dass eine "RAW 10-bit Bayer data" Bild > geschickt wird. Ich finde nur was zu einem Bayer Filter. Wie muss ich > die Daten interpretieren? http://de.wikipedia.org/wiki/Demosaicing und einfach mal nach "Bayer demosaicing" suchen > > Searial Control Data (SDA) und Searial Control Clock (SCL) können beide > jeweile lesend und schreibend betrieben werden und schicken "nur" > Datenbefehle hin und her, wobei SCL den SDA "freischaltet", oder? Aua, sich erstmal mit den Grundlagen zu beschäftigen hat noch nie geschadet: http://de.wikipedia.org/wiki/I²C http://www.nxp.com/documents/user_manual/UM10204.pdf
Irgendwer schrieb: > http://de.wikipedia.org/wiki/Demosaicing > und einfach mal nach "Bayer demosaicing" suchen Ok super, ich habe schon ein bisschen dazu gelesen. Ich denke, dass bekomme ich hin. Die 10-bit Bildinformation kommt dann quasi über die 10 Datenleitungen gleichzeitig? Irgendwer schrieb: > Aua, sich erstmal mit den Grundlagen zu beschäftigen hat noch nie > geschadet: > http://de.wikipedia.org/wiki/I²C > http://www.nxp.com/documents/user_manual/UM10204.pdf Ja, im prinzip ja das was ich gesagt hatte. Ich kannte I2C halt bisher nur aus der Anwendersicht. Vielen Dank für den netten Hinweis, dass das genau die beiden Kanäle sind. Mit denen kann ich dann also umgehen. Lg Julian
Schiko schrieb: > Du musst die Daten entschlüsseln, wie im Datenblatt beschrieben. Ohne Datenblatt geht natürlich garnichts. Was hast du denn genau für einen Sensor ? (Bezeichnung) > ..und ja, auf HSync und VSync kannst Du verzichten, > wenn Du eine intelligente Bildverarbeitung verwendest. > Irgendwo hast Du dann starke Gradienten, die Dir die Bildgrenze anzeigen > :) Das ist natürlich hanebüchener Unsinn. Den Gradienten kann es überall im Bild geben. H- und V-Sync haben schon ihre Berechtigung ausser man weiß genau was das Kameramodul macht, wie es Eintaktet, etc. Da muss man schon arg auf Pixelzählen stehen ... Unsinnige Arbeit. Julian schrieb: > Also wenn ich das richtig verstanden habe, dann kommen die gesamten > Bildinformationen über Data0-9, HSync, VSync und PCLK (also Pins > 7-14,17/18, 21/22 und 28), wobei mit PCLK die Pixel-Output-Rate (woraus > ich die Framerate errechnen kann) gibt. HSync und VSync würden mir > sagen, wann eine Zeile/Spalte ausgegeben ist. Ganz genau so ist es. Julian schrieb: > Searial Control Data (SDA) und Searial Control Clock (SCL) können beide > jeweile lesend und schreibend betrieben werden und schicken "nur" > Datenbefehle hin und her, wobei SCL den SDA "freischaltet", oder? Über das serielle Interface setzt du Auflösung, Weißabgleich, Wiederholrate, AGC, ... und einige hunderte mehr Einstellungen. Eben alle Einstellungen die man an der Kamera einstellen kann. Wie genau und in welchen Registern das geht, das steht im Datenblatt. Julian schrieb: > Irgendwer schrieb: >> http://de.wikipedia.org/wiki/Demosaicing >> und einfach mal nach "Bayer demosaicing" suchen > > Ok super, ich habe schon ein bisschen dazu gelesen. Ich denke, dass > bekomme ich hin. Die 10-bit Bildinformation kommt dann quasi über die 10 > Datenleitungen gleichzeitig? Genau so ist es.
Julian schrieb: > HSync und VSync würden mir sagen, wann eine Zeile/Spalte ausgegeben ist. Nicht ganz. HSync wird einmal pro Zeile aktiviert, aber VSync nicht einmal pro Spalte (das macht schon der Pixeltakt), sondern einmal pro komplettem Bild.
WOW, vielen herzlichen Dank an Peter. Das is echt mal eine sehr gut brauchbare Antwort (nicht, dass die anderen nicht brauchbar gewesen wären, aber das finde ich musterhaft). Vielen Dank dafür! Natürlich auch vielen Dank an Rufus! Peter schrieb: > Ohne Datenblatt geht natürlich garnichts. Was hast du denn genau für > einen Sensor ? (Bezeichnung) Ich hab auf Amazon eine Modul (oder besser mehrere) von ner Firma die es nicht mehr gibt gekauft. Die hieß glaub ich mal DIS oder so. Ich hab das Datenblatt nochmal durchgesehen und ich finde nur das im Anhang (mit Binnig hat das nichts zu tun, oder? Das ist ja nur, um die output-größe zu reduzieren. Da steht, man kann es einschalten, muss man aber nicht.)
Es wäre praktisch, wenn Du nicht nur Schnipsel des Datenblatts zur Verfügung stellen würdest. "Binning" dürfte hier das Zusammenfassen benachbarter Pixel zu einem größeren bedeuten, das wird gemacht, um bei wenig Licht gegen das Sensorrauschen ankämpfen zu können.
Rufus Τ. Firefly schrieb: > das wird gemacht, um bei wenig Licht gegen das > Sensorrauschen ankämpfen zu können. ... oder um zu Gunsten einer höheren Frame-Rate bei konstanter Datenrate die Datenmenge pro Bild zu reduzieren.
Wenn "binning" im Zusammenhang mit "improved low-light performance" erwähnt wird, wie im Datenblattschnipselchen ... dann ist die Reduktion der Datenrate sicher nicht das erste, das einem einfällt.
Sieht mir wie ein DCMI Interface aus. Datenpins, H&Vsync und Pixelclock brauchst du dafür. Das solltest du dann mit einem Mikrocontroller der es verarbeiten kann nutzen STM32 z.B. (oder ein Raspberry Pi?).
Meister schrieb: > Das solltest du dann mit einem Mikrocontroller der es > verarbeiten kann nutzen STM32 z.B. (oder ein Raspberry Pi?). STM32Fxx ist das sicher gut geeignet. Evtl gibt es auch schon eine Codebasis auf der man aufbauen könnte. Der Rapsberry Pi ist m.Mn. nicht geeignet. Der hat ein CSI (Camera Serial Interface) in Version 2. Bei diesen Kameras werden die Daten nicht parallel (D0-D9) sondern seriell ausgegeben. Bei der parallelen Ausgabe wird immer ein gesamtes Pixel (10 Bit) pro Takt ausgegeben. Beim CSI wird pro Takt immer ein einziges Bit ausgegeben. (Aka. 10 Takte = 10 Bit = 1 Pixel). Außerdem findet die Übertragung über differentielle Signalpegel (D+ und D-) statt. Das beim Raspberry Pi verwendete CSI hat 2 Datalanes (Datenleitungen) und die passende Taktung heißt MIPI Clock und ist ebenfalls differentiell. Ein Begriff der zwar nicht 100% passt aber mit dem man etwas anfangen kann ist LVDS. Das hat man vielleicht schon einmal gehört. Danach kann man googeln. @ Julian: poste bitte doch mal das ganze Datenblatt und die Bezeichnung des Kamerasensors. (evtl. OVxxxx) Für deine Kamera würde ich dir die Nutzung des DCMI empfehlen. Aber dazu musst du die ziemlich in die STM32F4 Serie einarbeiten. Das ist schon heavy metal dann. Da reizt man den Controller voll aus. Meister schrieb: > Sieht mir wie ein DCMI Interface aus. Ich bin mir nicht ganz sicher, was dieses DCMI überhaupt ist. Ich glaube, dass ST so einfach das parallel "Quasi - Standartinterface" von Kameras nennt. Und getreu dem Motto: Gib dem Kind einen Namen haben die es halt DCMI getauft. Ist aber genau das richtige (@Julian).
Rufus Τ. Firefly schrieb: > Es wäre praktisch, wenn Du nicht nur Schnipsel des Datenblatts zur > Verfügung stellen würdest. Ist im Anhang. Ich dachte, es wäre sinnvoller nicht gleich alles zu posten. Rufus Τ. Firefly schrieb: > "Binning" dürfte hier das Zusammenfassen benachbarter Pixel zu einem > größeren bedeuten Genau so ist es. Alternativ kann man noch Skipping anschalten. Per default sind aber beide aus. Ich denke ich brauche das (zumindest für den Anfang) auch nicht. Meister schrieb: > Das solltest du dann mit einem Mikrocontroller der es > verarbeiten kann nutzen STM32 z.B. (oder ein Raspberry Pi?). Ok cool. Meines Erachtens nach ist der Pi auch nicht geeignet, weil die Taktrate sehr instabil ist. (Nach meinen letzten Messungen hängt das sehr davon ab was im Hintergrund noch alles läuft.) Zusätzlich zu den oben genannten Argumenten, die mir einleuchten. Ich werde dann wohl versuchen mich in den STM32F4 einzuarbeiten. Kann ich dazu das kaufen oder gibts da billigere Alternativen: http://shop.mymcu.de/index.php?sp=article.sp.php&artID=200072 Meister schrieb: > Jupp es gibt eine Codebasis dazu: > http://mikrocontroller.bplaced.net/wordpress/?page_id=1115 Sehr cool, dass schaue ich mir gleich mal an. Vielen Dank euch, ihr seid super.
Das STM32F4 Discovery ist die Basis für viele Projekte und sehr günstig (so günstig wie in kleinen Stückzahlen der uC). Passt also :)
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.