OV9665 Farb-CMOS-SXGA-Sensor#

Kameraanbindung#

Das Kameramodul hat 24 Pins an seinem Flachbandsteckverbinder (FPC). Unten ist die Pinbelegung für das Kameramodul dargestellt. Pin 1 ist der ganz rechte Pin am FPC, wobei das Kameramodul mit der rechten Seite nach oben zeigt.

Pin

Signal

Pin

Signal

1

NC

13

XCLK

2

AGND

14

Y8

3

SIO_D

15

DGND

4

AVDD

16

Y7

5

SIO_C

17

PCLK

6

RESET

18

Y6

7

VSYNC

19

Y2

8

PWDN

20

Y5

9

HREF

21

Y3

10

NC

22

Y4

11

DVDD

23

Y1

12

Y9

24

Y0

Stromsteuerung#

Sie müssen 2,8V bis 3,0V an den AVDD-Pin und 1,8V bis 3,0V an den DVDD-Pin anlegen. Sie sollten die AVDD- und DVDD-Pins über separate rauscharme Netzteile mit Strom versorgen. Außerdem sollten die AGND- und DGND-Pins in Ihrem Aufbau so lange wie möglich getrennt sein, um eine gute Bildqualität zu erzielen.

Ziehen Sie den RESET-Pin auf Low, um das Kameramodul zurückzusetzen.

Ziehen Sie den PWDN-Pin auf High, um das Kameramodul im Power-Down-Modus abzuschalten.

Steuerbus#

Die Pins SIO_D und SIO_C werden zur Steuerung des Kameramoduls verwendet. Der SIO_D-Pin ist der Datenpin des Steuerbusses und der SIO_C-Pin ist der Taktpin des Steuerbusses. Weitere Einzelheiten finden Sie im Abschnitt initialization.

Datenbus#

Die Pins Y0 bis Y9 am Kameramodul bilden einen 10-Bit-Datenbus. Für den RGB565- und den YUV422-Modus werden Y0 und Y1 nicht verwendet. Y2 bis Y9 werden verwendet, um ein 8-Bit-Byte zu senden, wobei Y2 das LSB und Y9 das MSB ist.

Während der HREF-Pin high ist, sind Y2 bis Y9 gültig. Bei der steigenden Flanke des PCLK-Pins sollten Y2 bis Y9 abgetastet werden. Jedes Pixel wird in 2 PCLK-Impulsen übertragen. Im SXGA-Modus geht der PCLK-Pin 2.560 Mal high, während der HREF-Pin high ist, und der HREF-Pin geht 1024 Mal high. Im VGA-Modus geht der PCLK-Pin 1.280 Mal high, während der HREF-Pin high ist, und der HREF-Pin geht 480 Mal high. Die SXGA-Auflösung beträgt 1280x1024 Pixel und die VGA-Auflösung beträgt 640x480 Pixel.

Der VSYNC-Pin geht auf High und dann auf Low, um den Beginn jedes Frames zu markieren.

Im RGB565-Modus sendet das Kameramodul für jedes Pixel [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] bei jedem ungeraden Takt und [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] bei jedem geraden Takt.

Im YUV422-Modus sendet das Kameramodul 8-Bit-YUV-Daten, wobei U und V mit halber Bandbreite gesendet werden. Das Kameramodul sendet Y0 beim ersten Takt, gefolgt von U beim zweiten Takt, gefolgt von Y1 beim dritten Takt, gefolgt von V beim vierten Takt, und wiederholt dann das Muster. Y0, U und V bilden pixel0, und Y1, U und V bilden pixel1. Zwei Pixel werden alle vier Takte gesendet.

Kamerainitialisierung#

Um das OV9665-Kameramodul zu steuern, müssen Sie über das SCCB-Protokoll mit ihm kommunizieren – das genau dem I2C-Protokoll entspricht. Die Geräte-Slave-Adressen sind 0x60 zum Schreiben und 0x61 zum Lesen. Um die Kamera zu initialisieren, müssen Sie 0x80 in das Register 0x12 schreiben, um die Kamera zurückzusetzen, und dann eine Sekunde warten. Danach müssen Sie die Initialisierungsregistereinstellungen senden. Bitte beachten Sie, dass das Kameramodul einen Takteingang von 10 MHz bis 24 MHz (typischerweise 24 MHz) an seinem XCLK-Pin benötigt, um zu funktionieren.

SXGA-Initialisierung#

Um die Kamera für den SXGA-Modus zu initialisieren, senden Sie die folgenden Registereinstellungen. Um die Bildrate im SXGA-Modus einzustellen, schreiben Sie die folgenden Werte in die Registeradresse 0x11: 0x80 für 15 FPS, 0x81 für 7,5 FPS, 0x82 für 5 FPS, 0x83 für 3,75 FPS, 0x84 für 3 FPS usw., wenn XCLK mit 24 MHz betrieben wird. HINWEIS: Der FPS-Wert darf nicht zu niedrig sein, sonst funktioniert die Kamera nicht korrekt.

\[\text{FPS} = \frac{15 \cdot (\text{XCLK}_\text{MHz} / 24)}{(\text{value} - \text{0x80}) + 1}\]
\[\text{PCLK Frequency} = \frac{\text{XCLK}_\text{MHz}}{(\text{value} - \text{0x80}) + 1}\]

VGA-Initialisierung#

Um die Kamera für den VGA-Modus zu initialisieren, senden Sie die folgenden Registereinstellungen. Um die Bildrate im VGA-Modus einzustellen, schreiben Sie die folgenden Werte in die Registeradresse 0x11: 0x80 für 30 FPS, 0x81 für 15 FPS, 0x82 für 10 FPS, 0x83 für 7,5 FPS, 0x84 für 6 FPS usw., wenn XCLK mit 24 MHz betrieben wird. HINWEIS: Der FPS-Wert darf nicht zu niedrig sein, sonst funktioniert die Kamera nicht korrekt.

\[\text{FPS} = \frac{30 \cdot (\text{XCLK}_\text{MHz} / 24)}{(\text{value} - \text{0x80}) + 1}\]
\[\text{PCLK Frequency} = \frac{\text{XCLK}_\text{MHz}}{(\text{value} - \text{0x80}) + 1}\]

Farbmodus#

Sobald die Kamera entweder in den SXGA- oder VGA-Modus mit einer bestimmten Bildrate initialisiert ist, müssen Sie das Farbausgabeformat der Kamera einrichten. Sie können entweder RGB565 oder YUV422 verwenden. Senden Sie diese Registereinstellungen, um in den RGB565-Modus zu wechseln, und diese Registereinstellungen, um in den YUV422-Modus zu wechseln.