Sensor SXGA CMOS Colorido OV9665#

Interfaceamento da Câmera#

O módulo de câmera tem 24 pinos em seu conector flat pack (FPC). Mostrada abaixo está a pinagem do módulo de câmera. O pino 1 é o pino mais à direita no FPC com o módulo de câmera voltado 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

Controle de Energia#

Você precisa fornecer de 2,8V a 3,0V ao pino AVDD e de 1,8V a 3,0V ao pino DVDD. Você deve alimentar os pinos AVDD e DVDD usando fontes de alimentação separadas de baixo ruído. Além disso, os pinos AGND e DGND devem permanecer separados pelo maior tempo possível na sua montagem para uma boa qualidade de imagem.

Puxe o pino RESET para nível baixo para reiniciar o módulo de câmera.

Puxe o pino PWDN para nível alto para desligar o módulo de câmera enquanto estiver no modo de desligamento.

Barramento de Controle#

Os pinos SIO_D e SIO_C são usados para controlar o módulo de câmera. O pino SIO_D é o pino de dados do barramento de controle e o pino SIO_C é o pino de clock do barramento de controle. Consulte a seção initialization para mais detalhes.

Barramento de Dados#

Os pinos Y0 a Y9 no módulo de câmera formam um barramento de dados de 10 bits. Para os modos RGB565 e YUV422, Y0 e Y1 não são usados. Y2 a Y9 são usados para enviar um byte de 8 bits onde Y2 é o LSB e Y9 é o MSB.

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

O pino VSYNC irá para nível alto e depois para nível baixo para marcar o início de cada quadro.

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

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

Inicialização da Câmera#

Para controlar o módulo de câmera OV9665, você deve se comunicar com ele usando o protocolo SCCB – que é exatamente o mesmo que o protocolo I2C. Os endereços de escravo do dispositivo são 0x60 para escrita e 0x61 para leitura. Para inicializar a câmera, você precisa escrever 0x80 no registrador 0x12 para reiniciar a câmera e então aguardar um segundo. Depois disso, você deve enviar as configurações de registro de inicialização. Observe que o módulo de câmera requer uma entrada de clock de 10 MHz a 24 MHz (tipicamente 24 MHz) em seu pino XCLK para operar.

Inicialização SXGA#

Para inicializar a câmera para o modo SXGA, envie as seguintes configurações de registro. Para definir a taxa de quadros no modo SXGA, escreva os seguintes valores no endereço de registro 0x11: 0x80 para 15 FPS, 0x81 para 7,5 FPS, 0x82 para 5 FPS, 0x83 para 3,75 FPS, 0x84 para 3 FPS e etc. quando o XCLK é acionado a 24 MHz. NOTA: O valor de FPS não pode ser muito baixo, ou a câmera não conseguirá operar 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âmera para o modo VGA, envie as seguintes configurações de registro. Para definir a taxa de quadros no modo VGA, escreva os seguintes valores no endereço de registro 0x11: 0x80 para 30 FPS, 0x81 para 15 FPS, 0x82 para 10 FPS, 0x83 para 7,5 FPS, 0x84 para 6 FPS, e etc. quando o XCLK é acionado a 24 MHz. NOTA: O valor de FPS não pode ser muito baixo, ou a câmera não conseguirá operar 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#

Uma vez que a câmera é inicializada no modo SXGA ou VGA, a uma taxa de quadros específica, você deve então configurar o formato de saída de cor da câmera. Você pode usar RGB565 ou YUV422. Envie estas configurações de registro para entrar no modo RGB565 e estas configurações de registro para entrar no modo YUV422.