OV9665 彩色 CMOS SXGA 传感器#

相机接口#

相机模块在其扁平封装连接器 (FPC) 上有 24 个引脚。下面显示的是相机模块的引脚排列。当相机模块正面朝上时,引脚 1 是 FPC 上最右边的引脚。

引脚

信号

引脚

信号

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

电源控制#

您需要向 AVDD 引脚提供 2.8V 到 3.0V,向 DVDD 引脚提供 1.8V 到 3.0V。您应该使用单独的低噪声电源为 AVDD 和 DVDD 引脚供电。此外,为了获得良好的图像质量,在您的设置中 AGND 和 DGND 引脚应尽可能长时间地保持分开。

将 RESET 引脚拉低以复位相机模块。

在掉电模式下,将 PWDN 引脚拉高以使相机模块掉电。

控制总线#

SIO_D 和 SIO_C 引脚用于控制相机模块。SIO_D 引脚是控制总线的数据引脚,SIO_C 引脚是控制总线的时钟引脚。有关更多详细信息,请参阅 initialization 部分。

数据总线#

相机模块上的 Y0 到 Y9 引脚构成一个 10 位数据总线。对于 RGB565 和 YUV422 模式,Y0 和 Y1 未使用。Y2 到 Y9 用于发送一个 8 位字节,其中 Y2 是 LSB,Y9 是 MSB。

当 HREF 引脚为高电平时,Y2 到 Y9 有效。在 PCLK 引脚的上升沿应对 Y2 到 Y9 进行采样。每个像素在 2 个 PCLK 脉冲中传输。在 SXGA 模式下,当 HREF 引脚为高电平时,PCLK 引脚将变高 2,560 次,而 HREF 引脚将变高 1024 次。在 VGA 模式下,当 HREF 引脚为高电平时,PCLK 引脚将变高 1,280 次,而 HREF 引脚将变高 480 次。SXGA 分辨率为 1280x1024 像素,VGA 分辨率为 640x480 像素。

VSYNC 引脚将先变高然后变低,以标记每帧的开始。

在 RGB565 模式下,对于每个像素,相机模块将在每个奇数时钟发送 [MSB {R4, R3, R2, R1, R0, G5, G4, G3} LSB],在每个偶数时钟发送 [MSB {G2, G1, G0, B4, B3, B2, B1, B0} LSB]。

在 YUV422 模式下,相机模块将发送 8 位 YUV 数据,其中 U 和 V 以一半的带宽发送。相机模块在第一个时钟发送 Y0,接着在第二个时钟发送 U,然后在第三个时钟发送 Y1,接着在第四个时钟发送 V,然后重复该模式。Y0、U 和 V 构成 pixel0,Y1、U 和 V 构成 pixel1。每四个时钟发送两个像素。

相机初始化#

要控制 OV9665 相机模块,您必须使用 SCCB 协议与其通信——它与 I2C 协议完全相同。设备从地址为 0x60(写)和 0x61(读)。要初始化相机,您需要向寄存器 0x12 写入 0x80 以复位相机,然后延迟一秒。之后您必须发送初始化寄存器设置。请注意,相机模块需要向其 XCLK 引脚输入 10 MHz 到 24 MHz(通常为 24 MHz)的时钟才能运行。

SXGA 初始化#

要将相机初始化为 SXGA 模式,请发送以下 寄存器设置。要在 SXGA 模式下设置帧率,当 XCLK 以 24 MHz 驱动时,向寄存器地址 0x11 写入以下值:0x80 表示 15 FPS,0x81 表示 7.5 FPS,0x82 表示 5 FPS,0x83 表示 3.75 FPS,0x84 表示 3 FPS 等等。注意:FPS 值不能太低,否则相机将无法正常工作。

\[\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 初始化#

要将相机初始化为 VGA 模式,请发送以下 寄存器设置。要在 VGA 模式下设置帧率,当 XCLK 以 24 MHz 驱动时,向寄存器地址 0x11 写入以下值:0x80 表示 30 FPS,0x81 表示 15 FPS,0x82 表示 10 FPS,0x83 表示 7.5 FPS,0x84 表示 6 FPS 等等。注意:FPS 值不能太低,否则相机将无法正常工作。

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

颜色模式#

一旦相机以特定帧率初始化为 SXGA 或 VGA 模式,您接下来必须设置相机的颜色输出格式。您可以使用 RGB565 或 YUV422。发送 这些寄存器设置 以进入 RGB565 模式,发送 这些寄存器设置 以进入 YUV422 模式。