Menu Close

OV5640模组介绍

OV5640芯片是OmniVision(豪威科技)公司生产的CMOS图像传感器,该传感器功耗低,可靠性高以及采集速度快,主要应用在玩具,安防监控电脑等多媒体领域。

参考目录:https://ica123.com

OV5640 性能参数:

OV5640感光阵列达到2624 x 1964,能实现最快15fps QSXVGA(2592 x 1944)或者90fps VGA(640 x 480)分辨率的图像采集。(图1)

%title插图%num

图1

ov5640主要功能:

自动图像控制:

自动曝光控制

自动白平衡控制

自动带滤波

50Hz/60Hz 流明检测

可编程帧率设置

图像质量控制:

色彩饱和度

边沿增强

gamma 设置

噪声消除

输出格式:

RGB565/555/444

YUV422/420

YCbCr422

压缩格式

支持video or 拍照模式

支持LED 和 flash strobe 模式

DVP (digital video port)格式输出

MIPI 格式输出

OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC(自动聚焦控制)等功能。

 

OV5640芯片内部结构图:(图2)

%title插图%num

图2

ov5640模组:(图3)

%title插图%num

图3

ov5640模组硬件原理图:(图4)

%title插图%num

图4

OV5640 上电和复位逻辑(POWER ON & RESET )图5

%title插图%num

图5

OV5640 sensor 设置:图6

%title插图%num

图6

其中:深灰色部分为ov5640 器件 的感光区域,  浅灰色部分为ov5640 数据采样区域(由于lens 是机械安装上去的,因此 采样区域是需要匹配镜头), 白色区域为真实的数据采样输出部分,在不做图像缩放的情况下, 这个部分(白色部分)和芯片输出的图像分辨率大小相同(例如: 640 X 480 ).

 

OV5640芯片 DVP 接口 video pin 输出波形:图7

%title插图%num

图7

OV5640 PIN 输出格式 和VESA标准略有不同, VESA 标准 由 Hsync 信号, ov5640 输出则没有, 但ov5640由videao active 部分(HREF)。也是可以明确指示出每行数据的有效部分的。图7 中的HSYNC 只是一个指示, 并没有在pin上输出。

 

 

%title插图%num

图8

图8 指示的是pin 输出的timing (时序图),可以看出, 在pclk 的下降沿时ov5640输出 HREF, D[9:0],这样fpga只要在pclk 的上升沿时采样, 就可以拿到ov5640输出的稳定数据了。

%title插图%num

 

图9

图9中显示的是 2592X1944分辨率下的时序参数, 通过查找ov5640手册, 可以得到相应的用户需要输出分辨率的具体参数,这些参数基本上适合VESA的标准一致。

%title插图%num

图10

图10 显示的是RGB565 16bit的数据在pin上的输出格式,当使用D【7:0】8个pin输出时,在第一个时钟周期下, 输出R5 + G3[2:0], 在第二个时钟周期下,输出G3[7:5] + B5, 这个样就可以看出, 每个像素(pixel 16 bit)需要两个时钟周期。

 

上电和reset 时序:(图11)

%title插图%num

图11

步骤1 : ResetB拉低,复位OV5640。 PWDN引脚拉高

步骤2 : DOVDD 和 AVDD两路最 好同时上电,这在模组的电源 设计中实现。

步骤3 : 等电源稳定5毫秒后, 拉低PWDN。

步骤4 : PWDN 置低1毫秒后, 拉高 Reset

步骤5 : 20毫秒后, 初始化OV5640 的SCCB寄存器设置

 

ov5640 控制接口介绍:

SCCB(Serial Camera Control Bus,串行摄像头控制总线)是由OV公司定义和发展的三线式串行总线。 该总线控制着OV系列摄像头大部分的功能,包括图像数据格式、分辨率以及图像处理参数等。 OV公司为了减少传感器引脚的封装,现在SCCB总线大多采用两线式接口总线。(类似IIC总线)

SCCB有两种工作模式,一主多从,一主一从模式

一主机多从机 也即3线操作:(通过控制使能端SCCB_E控制选中的从机)

%title插图%num

图12

一主一从 也即2线操作:(默认SCCB_E被拉低)

%title插图%num

图13

0v5640芯片控制部分:

SCCB 总线协议:

%title插图%num

图14

在SOI_C 时钟为高电平期间, SIO_D 出现下降沿, 表示 START 信号(和i2C 类似)

在SOI_C 时钟为高电平期间, SIO_D 出现上升沿, 表示 STOP 信号(和i2C 类似)

在SOI_C 时钟为低电平期间, SIO_D 数据变化, 表示数据传输信号(和i2C 类似)

 

I2C总线知识回顾:

%title插图%num

图15

 

起始信号(START) : 在时钟(SCL)为高电平的时候,数据总线(SDA)由高到低的跳变为总线

停止信号(STOP) : 在时钟(SCL)为高电平的时候,数据总线(SDA)由低到高的跳变为总线

 

%title插图%num

图16

传输数据(图16): 在时钟(SCL)为高电平的时候,数据总线(SDA)必须保持稳定,所以数据总线(SDA)在时钟(SCL)为低电平的时候才能改变

 

应答(图17):当IIC 主机将8 位数据传出后,会将数据总线(SDA)释放,等待从机应答(低电平0 表示应答,1 表示非应答)

%title插图%num

图17

双/单字节时序

%title插图%num

图18

双/单字节时序

%title插图%num

图19

SCCB总线与IIC总线异同

1、SCCB总线写协议中,第9位传输数据为占位数据,而IIC写传输协议为应答

2、SCCB总线写协议每次传输过程只能写入slave一个byte数据,  而IIC写入一个或者多个数据

3、SCCB总线读协议中没有重复开始(restart)的概念,在写完寄存器地址后,然后发起停止信号。而IIC数在读操作时是可以有restart定义的

%title插图%num

图20

SCCB总线读写传输协议:

SCCB总线写数据传输协议(5640的寄存器地址为2个字节) X 表示don’t care bit

%title插图%num

图21

start + 设备地址(id address【7:1】,1’b0) +  子地址(sub-address【15:8】) +  子地址(sub-address【7:0】)+ 写数据(write Data【7:0】) + stop

 

SCCB总线读数据传输协议

%title插图%num

图22

 

1)start+ 设备地址(slave_id[7:1],1’b0) + 子地址(Sub-address[15:8]) + 子地址(Sub-address[7:0]) + stop

2)start+ 设备地址(slave_id[7:1],1’b1) + 读数据(Read Data[7:0]) + stop

 

 

Posted in FPGA, FPGA, Verilog, Verilog, 教材与教案, 文章

发表评论

相关链接