Sensor SXGA CMOS a Cores OV9665#

Interligação da Câmara#

O módulo da câmara tem 24 pinos no seu conector flat pack (FPC). Abaixo é mostrado o pinout do módulo da câmara. O pino 1 é o pino mais à direita no FPC com o módulo da câmara virado para cima.

Pino

Sinal

Pino

Sinal

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

Controlo de Alimentação#

Precisa de fornecer 2.8V a 3.0V ao pino AVDD e 1.8V a 3.0V ao pino DVDD. Deve alimentar os pinos AVDD e DVDD utilizando fontes de alimentação separadas de baixo ruído. Adicionalmente, os pinos AGND e DGND devem estar separados durante o máximo de tempo possível na sua montagem para uma boa qualidade de imagem.

Coloque o pino RESET a nível baixo para fazer o reset ao módulo da câmara.

Coloque o pino PWDN a nível alto para desligar o módulo da câmara enquanto está em modo de baixo consumo.

Barramento de Controlo#

Os pinos SIO_D e SIO_C são utilizados para controlar o módulo da câmara. O pino SIO_D é o pino de dados do barramento de controlo e o pino SIO_C é o pino de relógio do barramento de controlo. Consulte a secção initialization para mais detalhes.

Barramento de Dados#

Os pinos Y0 a Y9 do módulo da câmara formam um barramento de dados de 10 bits. Nos modos RGB565 e YUV422, Y0 e Y1 não são utilizados. Y2 a Y9 são utilizados para enviar um byte de 8 bits onde Y2 é o LSB e Y9 é o MSB.

Enquanto o pino HREF está a nível alto, Y2 a Y9 são válidos. No flanco ascendente do pino PCLK, Y2 a Y9 devem ser amostrados. Cada pixel é transferido em 2 impulsos de PCLK. No modo SXGA, o pino PCLK ficará a nível alto 2.560 vezes enquanto o pino HREF está a nível alto, e o pino HREF ficará a nível alto 1024 vezes. No modo VGA, o pino PCLK ficará a nível alto 1.280 vezes enquanto o pino HREF está a nível alto, e o pino HREF ficará a nível alto 480 vezes. A resolução SXGA é de 1280x1024 pixels e a resolução VGA é de 640x480 pixels.

O pino VSYNC ficará a nível alto e depois a nível baixo para marcar o início de cada frame.

No modo RGB565, o módulo da câmara enviará [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB] em cada clock ímpar e [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB] em cada clock par para cada pixel.

No modo YUV422, o módulo da câmara enviará dados YUV de 8 bits, onde U e V são enviados a metade da largura de banda. O módulo da câmara envia Y0 no primeiro clock, seguido de U no segundo clock, seguido de Y1 no terceiro clock, seguido de V no quarto clock, e depois repete o padrão. Y0, U e V formam o pixel0 e Y1, U e V formam o pixel1. São enviados dois pixels a cada quatro clocks.

Inicialização da Câmara#

Para controlar o módulo de câmara OV9665, deve comunicar com ele utilizando o protocolo SCCB – que é exatamente igual ao protocolo I2C. Os endereços de escravo do dispositivo são 0x60 para escrita e 0x61 para leitura. Para inicializar a câmara, precisa de escrever 0x80 no registo 0x12 para fazer o reset à câmara e depois aguardar um segundo. Após o qual deve enviar as configurações de registo de inicialização. Note que o módulo da câmara requer uma entrada de relógio de 10 MHz a 24 MHz (tipicamente 24 MHz) no seu pino XCLK para funcionar.

Inicialização SXGA#

Para inicializar a câmara para o modo SXGA, envie as seguintes configurações de registo. Para definir a taxa de fotogramas no modo SXGA, escreva os seguintes valores no endereço de registo 0x11: 0x80 para 15 FPS, 0x81 para 7.5 FPS, 0x82 para 5 FPS, 0x83 para 3.75 FPS, 0x84 para 3 FPS, etc., quando o XCLK é acionado a 24 MHz. NOTA: O valor de FPS não pode ser demasiado baixo, ou a câmara não funcionará corretamente.

\[\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}\]

Inicialização VGA#

Para inicializar a câmara para o modo VGA, envie as seguintes configurações de registo. Para definir a taxa de fotogramas no modo VGA, escreva os seguintes valores no endereço de registo 0x11: 0x80 para 30 FPS, 0x81 para 15 FPS, 0x82 para 10 FPS, 0x83 para 7.5 FPS, 0x84 para 6 FPS, etc., quando o XCLK é acionado a 24 MHz. NOTA: O valor de FPS não pode ser demasiado baixo, ou a câmara não funcionará corretamente.

\[\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}\]

Modo de Cor#

Assim que a câmara estiver inicializada no modo SXGA ou VGA, a uma determinada taxa de fotogramas, deve então configurar o formato de saída de cor da câmara. Pode utilizar RGB565 ou YUV422. Envie estas configurações de registo para entrar no modo RGB565 e estas configurações de registo para entrar no modo YUV422.