Forum: Mikrocontroller und Digitale Elektronik Kameramodul CC137-0500-00B3


von A-Freak (Gast)


Lesenswert?

Bei Pollin gibt es gerade für 1,95€ ein Kameramodul CC137-0500-00B3, der 
Chip darauf soll ein NT8001MBG sein. Ich habe gleich mal eines 
mitbestellt.

Wie zu erwarten sind im Netz keine Infos zu finden, das einzige 
interresante ist http://www.wer-weiss-was.de/theme59/article6120594.html 
der mir sagt daß dieses Modul anscheinend schon mal im Angebot war.

Besonders interresant ist der 24-polige Anschluß, ich hoffe daß da nicht 
so viel Ansteuerung und Signalverarbeitung drin ist und ich den Sensor 
eventuell mit selbstgebasteltem Timing ansteuern könnte.

von Martin S. (strubi)


Lesenswert?

Moin,

leider scheinen die Pollin-Basteleien immer im Nirvana zu versacken, 
weil das Reverse-Engineering der Module furchtbar aufwendig ist.
Habe mal ein Kameramodul aus einem Sony P990 in Betrieb genommen, schon 
die passenden Stecker zu kriegen war eine Odyssee.
Habe davon noch ein paar rumliegen (d.h. Module plus Stecker), falls es 
Dich interessiert, schreib mir ne PM. Ab und an gibts die Module auch in 
der elektronischen Bucht, und bei Alibaba kriegt man sie u.U. noch in 
Massen.

Grüsse,

- Strubi

von A-Freak (Gast)


Angehängte Dateien:

Lesenswert?

Mit der neuen Bestellung ist das Kameramodul nun wirklich angekommen.

Erst einmal die Aufschriften:

Flachbandleitung Oberseite vom Steckende
CC137-0500-00B3

Flachbandleitung Rückseite
P20081  060911

Kameraseite (Spule für Linsenbewegung?)
SHICOH ADM
665A

IC in BGA
NOVATEK
NT8001MBG
0610A
D24YT1

Kleines IC mit 6 Anschlüssen, könnte Treiber für Fokusspule sein
E06

Wenn ich es geschafft habe das Anschlußende im 0,5mm-Raster auf eine 
Adapterplatine zu löten kann ich auch mal ein paar elektrische Tests 
machen.

von Tom K. (xpac)


Angehängte Dateien:

Lesenswert?

Naja, es ist ein 24-pin camera module.

Google "camera module 24-pin"

Das klingt nach "MIPI CSI-2 Interface".

zb. Omnivision OV7670MFSL .

oder
http://www.alibaba.com/product-gs/1444440805/jpeg_camera_module_ov2640_24_pin.html

Hat jemand schonmal das Ding in ein Interface gesteckt und was gesehen?

Würd mich nämlich auch interessieren. (Bin nicht so wirklich der 
Camera-modul experte)
Gruss

von Fred (Gast)


Lesenswert?

Hat mittlerweile jemand die Kamera am Laufen?
Die von Tom K. gefundene Anschlussbelegung scheint zu passen: Die 
Stromaufnahme ändert sich wenn man einen Takt an XCLK anlegt oder wenn 
man RESET# toggelt. Auch über I2C ist die Kamera unter der Adresse 0xC2 
ansprechbar, aber an den Ausgängen tut sich leider nichts.
Die Kamera benötigt wohl leider eine Init.

von Fred (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe die Kamera nun zum Laufen bekommen.
Die Kamera ist nicht schlecht: Einstellbare Auflösung bis 1600x1200, 
verschiedene Farbformate und Autofokus.
Die Kamera braucht zwar relativ viel Licht um gute Bilder zu machen, 
ansonsten ist an der Bildqualität aber nichts aussetzen, vor allem bei 
dem Preis.

von Kolja W. (kawk)


Lesenswert?

Klingt sehr interessant, danke! Was ist noch an weiteren Informationen 
aufzutreiben, was hast Du herausgefunden? Wie macht sie sich 
insbesondere bei ganz kurzen Distanzen, quasi Makrobereich? Kann man den 
Fokus auch manuell steuern? Dank für Info im Voraus! Kolja

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Fred schrieb:
> Ich habe die Kamera nun zum Laufen bekommen.

Magst Du uns erhellen, wie Du das gemacht hast?

von Fred (Gast)


Lesenswert?

Da ich mir nun ein paar von den Teilen gesichert habe, kann ich jetzt 
alle Infos verraten. Aufzutreiben an Informationen ist leider garnichts, 
aber das ist bei Novatech ICs normal.
Zuerst habe ich mit der Diodentestfunktion alle Pins gemessen. Damit 
hatte ich schonmal alle Vcc und GND Pins und auch alle Daten und 
sonstige Leitungen, gruppiert nach der Flussspannung. Dies Gruppierung 
passte zu der auch bei anderen Kameras üblichen 24 Pin Belegung, also 
habe ich diese Belegung einfach mal übernommen und IOVcc=AVcc2,8V und 
CoreVcc=1,8V verwendet. Keine Ahnung ob es korrekt ist, aber es geht. 
Das IC reagiert damit schonmal auf Reset\ und Powerdown\, aber leider 
tut sich auf den restlichen Leitungen nichts.
Daher habe ic es mit brute-force versucht:
Zuerst den I2C Bus abgesucht bis ein Ack bei 0xC2 kam.
Danach in allen Registern jeweils ein Bit geändert bis der Pixeltakt 
anging:
0x42 in Register 0x60 schreiben.
Von da an war es einfach, da die Kamera auch ohne weitere Einstellungen 
bereits ein brauchbares Bild mit YUV ausgibt.
Der Pixeltakt ist allerdings nicht durchgehend, sondern besteht aus 
kurzen Bursts mit Pausen dazwischen, also ist die Auflösung vermutlich 
reduziert.
Daher habe ich das ganze wiederholt und bei Register 0x61 hatte ich auf 
einmal einen anderen Takt. Das scheint das Ausgabeformat einzustellen:
Bits [7:4] stellen die Auflösung ein. Von etwa 96x64 bis 1600x1200 ist 
alles dabei. Da ich mich nur für die hohen Auflösungen interessiere, 
habe ich nicht alle ausgetestet: 0x7 ist 1600x1200, 0x4 ist 640x480, 0x5 
ist 800x600.
Bits [3:0] stellen das Ausgabeformat ein. 0xA ist YUV, 0xB scheint YVU 
zu sein, 0x5 könnte BT656 mit embedded sync sein. Es gibt noch ein paar 
weitere Modi die ich nicht näher untersucht habe. YUV444 und RGB565 
scheinen auch dabei zu sein.

0x0A in Register 0x63 startet den Autofokus. Man sieht dann schön wie 
sich die Spannung an der Spule schrittweise ändert und anschließend zum 
besten Fokuspunkt zurückkehrt. Die Kamera kann sich von unter 5cm bis 
unendlich scharfstellen.

Register 0x62 schaltet das Bild auf Schwarzweiß oder invertiert es. Da 
solche Spielereien aber eher uninteressant sind, habe ich das nicht 
näher untersucht.
Alle interessanten Register scheinen also im Bereich 0x6x zu liegen. Da 
kann man also nach belieben Spielen und schauen was passiert. Dass die 
Kamera kaputt geht ist unwahrscheinlich und wenn doch, es sind nur 
0,75€.

Wie gesagt bin ich mir bei den Spannungen unsicher, aber 1,8V Core 
Spannung könnte plausibel sein bei einem IC von 2006. Ich will auch mal 
3,3V IO Spannung ausprobieren.
Auch beim Master Takt musste ich raten. Ich habe 16MHz verwendet. Der 
erzeugte Pixeltakt ist etwas höher mit einem krummen Faktor gegenüber 
dem Masterclock (etwa 1,8x). Da bei 1600x1200 die Framerate nur 7fps 
beträgt, kann man vermutlich mit dem Takt noch etwas hoch gehen 
(25-30MHz, so dass man bei 50MHz Pixeltakt landet).
An einen AVR kann man die Kamera eher nicht anschließen, aber am DCMI 
von einem STM32 oder an einem FPGA läuft diese problemlos.

Die Kamera scheint relativ intelligent zu sein, da diese den Autofokus 
komplett selbständig erledigt und auch alle nötigen Änderungen beim 
Umstellen der Auflösung macht. Ebenfalls scheint diese auch automatisch 
verschiedene Modi bei der Belichtung zu ändern (Reduzierung der 
Framerate bis auf 4fps, stärkeren Rauschfilter bei wenig Licht).
Bei niedrigeren Auflösungen ist die Framerate höher als bei hohen 
Auflösungen. Ich habe mit ausreichend Licht knapp über 30fps bei 640x480 
gemessen.

Die Bildqualität ist ok, aber die Kamera braucht etwas Licht um 
rauschfreie Bilder zu machen. Die Kamera ist auch schon 10 Jahre alt, 
daher nicht mit modernen Kameras vergleichbar. Damals war diese aber 
vermutlich nicht billig, Autofokus sieht man bei solchen Kameras eher 
selten wegen der sowieso schon recht hohen Schärfentiefe aufgrund der 
kleinen Linse.

Viel Spaß beim Spielen mit der Kamera!

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@Fred

Wow.  Danke für die detailierte Info.

von Kolja W. (kawk)


Lesenswert?

Hi,

> passte zu der auch bei anderen Kameras üblichen 24 Pin Belegung

Damit meinst Du die auch hier im Thread (im 4. Beitrag) abgebildete 
Belegung, oder?

Davon ausgehend (nach nur einer kurzen Prüfung, dass tatsächlich AGND 
und DGND im Modul verbunden scheinen) habe ich AGND(2)/DGND(15), 
AVDD(4)=DOVDD(11)=2,8V, DVDD(10)=1,8V angeschlossen, und (jeweils mit 
DOVDD=2,8V)

 - 16 MHz Takt an XCLK(13)
 - sowie 1,5k Pullups an SIO_D(3) und SIO_C(5)
 - PWDN(8)=0
 - und RESETN(6)=1

Umschalten von RESETN wirkt sich deutlich auf die Leistungsaufnahme aus. 
Aaaber ich kriege keinerlei Reaktion an SIO_D, kein ACK. Nicht mal ein 
Hauch davon ist wahrzunehmen.

I2C vom Prozessor (HPS in Cyclone V FPGA) geht jeweils so auf die Pins 
(Output von dort kommt invertiert als Enable):
1
cam0_sio_c <= '0' when hps_i2c2_scl_out='1' else 'Z';


Irgendwas blödes überseh' ich wohl gerade...  fällt irgendjemand was 
auf?

Grüsse,
Kolja

: Bearbeitet durch User
von Fred (Gast)


Lesenswert?

Weitere brauchbare Features konnte ich der Kamera leider nicht mehr 
entlocken. Das IC scheint auch recht selten zu sein, google findet 
praktisch nichts zum NT8001.
Ein paar Infos die vielleicht helfen die Kamera in Betrieb zu nehmen:
Der Eingangstakt sollte bei <20MHz liegen. Bei 27MHz reagiert die Kamera 
überhaupt nicht, das ist also deutlich zu hoch. Mit 12-18MHz läuft die 
Kamera bei mir problemlos, für 27MHz Pixeltakt werden etwa 14.7MHz 
benötigt. Ein niedrigerer Pixeltakt macht bei der Auflösung wenig Sinn, 
daher ist ein Systemtakt im Bereich um 15MHz vermutlich korrekt (es sei 
denn man kann über einen mir unbekannten Befehl den internen PLL Faktor 
erhöhen).

Nach einem Reset Impuls benötigt die Kamera eine Weile bis sie bereit 
ist: Ich verwende 0,75s bevor ich die Init über I2C rüberschiebe, damit 
läuft die Kamera bei mir stabil.

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
Noch kein Account? Hier anmelden.