OV9665 färg-CMOS SXGA-sensor#

Kameragränssnitt#

Kameramodulen har 24 pinnar på sin flat pack-kontakt (FPC). Nedan visas stiftkonfigurationen för kameramodulen. Pinne 1 är den högraste pinnen på FPC:n med kameramodulen vänd med rätt sida upp.

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

Strömstyrning#

Du måste tillföra 2.8V till 3.0V till AVDD-pinnen och 1.8V till 3.0V till DVDD-pinnen. Du bör driva AVDD- och DVDD-pinnarna med separata lågbrusströmförsörjningar. Dessutom bör AGND- och DGND-pinnarna vara separata så länge som möjligt i din uppställning för god bildkvalitet.

Dra RESET-pinnen låg för att återställa kameramodulen.

Dra PWDN-pinnen hög för att stänga av kameramodulen i avstängningsläge.

Styrbuss#

SIO_D- och SIO_C-pinnarna används för att styra kameramodulen. SIO_D-pinnen är styrbussens datapinne och SIO_C-pinnen är styrbussens klockpinne. Se avsnittet initialization för mer information.

Databuss#

Pinnarna Y0 till Y9 på kameramodulen bildar en 10-bitars databuss. För RGB565- och YUV422-läge är Y0 och Y1 oanvända. Y2 till Y9 används för att skicka en 8-bitars byte där Y2 är LSB och Y9 är MSB.

Medan HREF-pinnen är hög är Y2 till Y9 giltiga. På den stigande flanken av PCLK-pinnen ska Y2 till Y9 samplas. Varje pixel överförs i 2 PCLK-pulser. I SXGA-läge går PCLK-pinnen hög 2 560 gånger medan HREF-pinnen är hög och HREF-pinnen går hög 1024 gånger. I VGA-läge går PCLK-pinnen hög 1 280 gånger medan HREF-pinnen är hög och HREF-pinnen går hög 480 gånger. SXGA-upplösningen är 1280x1024 pixlar och VGA-upplösningen är 640x480 pixlar.

VSYNC-pinnen går hög och sedan låg för att markera början av varje bild.

I RGB565-läge skickar kameramodulen [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] varje udda klockcykel och [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] varje jämn klockcykel för varje pixel.

I YUV422-läge skickar kameramodulen 8-bitars YUV-data där U och V skickas med halva bandbredden. Kameramodulen skickar Y0 på den första klockcykeln, följt av U på den andra klockcykeln, följt av Y1 på den tredje klockcykeln, följt av V på den fjärde klockcykeln och upprepar sedan mönstret. Y0, U och V bildar pixel0 och Y1, U och V bildar pixel1. Två pixlar skickas var fjärde klockcykel.

Kcamerainitiering#

För att styra OV9665-kameramodulen måste du kommunicera med den med hjälp av SCCB-protokollet – vilket är exakt samma som I2C-protokollet. Enhetens slavadresser är 0x60 för skrivning och 0x61 för läsning. För att initiera kameran måste du skriva 0x80 till register 0x12 för att återställa kameran och sedan vänta en sekund. Därefter måste du skicka initieringsregisterinställningar. Observera att kameramodulen kräver en klockingång på 10 MHz till 24 MHz (vanligtvis 24 MHz) på sin XCLK-pinne för att fungera.

SXGA-initiering#

För att initiera kameran för SXGA-läge, skicka följande registerinställningar. För att ställa in bildhastigheten i SXGA-läge, skriv följande värden till registeradress 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 osv. när XCLK drivs vid 24 MHz. OBS: FPS-värdet kan inte vara för lågt, då fungerar kameran inte 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-initiering#

För att initiera kameran för VGA-läge, skicka följande registerinställningar. För att ställa in bildhastigheten i VGA-läge, skriv följande värden till registeradress 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 osv. när XCLK drivs vid 24 MHz. OBS: FPS-värdet kan inte vara för lågt, då fungerar kameran inte 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}\]

Färgläge#

När kameran har initierats till antingen SXGA- eller VGA-läge, vid en viss bildhastighet, måste du sedan ställa in kamerans färgutmatningsformat. Du kan använda antingen RGB565 eller YUV422. Skicka dessa registerinställningar för att gå in i RGB565-läge och dessa registerinställningar för att gå in i YUV422-läge.