OV5640学习

时间:2024-03-13 18:20:52

一、OV5640

OV5640是OV(OmniVision)公司推出的一款CMOS图像传感器,实际感光阵列为:2592 x 1944(即500w像素),该传感器内部集成了图像出炉的电路,包括自动曝光控制(AEC)、自动白平
衡( AWB) 等。同时该传感器支持LED补光、 MIPI(移动产业处理器接口,多用于手机等)输出接口和DVP(数字视频并行,在设计HDMI显示时,就用的这个)输出接口选择、 ISP(图像信号处理)以及自动聚焦控制(AFC)等功能。

1、OV5640像素阵列

OV5640学习
在5,153,536(2624x1964)个像素中,5,038,848 (2592x1944)是实际像素,可以输出。其他像素用于黑色水平校准和插值。

2、OV5640功能框图

OV5640学习
可以看到,时序发生器和系统控制逻辑(timing generator and system control logic)控制着感光阵列(image array)、放大器(AMP)、AD转换(10bit)以及输出外部时序信号(PCLK和行场同步信号等)。

感光阵列输出模拟信号,经过AMP增强信号强度,进入到AD转换器,转换成数字信号并经过ISP,进行相关图像处理,最终输出10位DVP数据流或者MIPI数据流。

AMP和ISP等都是由控制寄存器进行控制,而配置寄存器的接口时序就是使用的SCCB,具体SCCB协议可以看:接口协议学习(三):SCCB(与I2C比较)

由于OV5640寄存器较多,OV5640寄存器的地址为16位,所以SCCB协议中的寄存器地址为16位。

3、OV5640最大图像传输速率

OV5640 maximum image transfer rate
OV5640学习

二、OV5640 寄存器配置

OV5640的寄存器较多,对于其它寄存器的描述可以参OV5640的数据手册。但是,OV5640的数据手册并没有提供全部的寄存器描述, 而大多数必要的寄存器配置在ov5640的软件应用手册(《OV5640 Camera Module Software Application Notes》)中可以找到,其中还有相关初始化例程。

1、关键寄存器配置

OV5640的寄存器不用每个都自己配置,它有默认值
OV5640学习
OV5640学习
OV5640学习

2、常用寄存器设置

我们最常用的寄存器配置应该是输出窗口(分辨率)设置
OV5640学习

OV5640使用寄存器0x3800 ~ 0x3814来进行图像窗口设置。physical pixel size(物理像素大小26321951)是传感器中的总像素阵列大小。ISP input size(ISP输入大小,最大25921944)是从像素数组中读取的总像素数据,开窗范围从00~26321951。可以看到,最终data output size(输出窗口大小),也就是需要的分辨率是由{0x3808,0x3809}和{0x380A ,0x380B}决定的

三、OV5640初始化

OV5640的初始化可以在ov5640的软件应用手册(《OV5640 Camera Module
Software Application Notes》)中找到寄存器配置例程,然后根据自己的需要更改写入寄存器的值。