STM32 F4 OV2640摄像头学习笔记(二)

二、OV2640数据读取过程

  1. OV2640模块初始化
    • 初始化IO口
    • 上电并复位
    • 读取传感器ID
    • 执行初始化序列
    • 完成初始化

     2. OV2640数据读取

      如图2.1 OV2640行输出时序图所示,OV2640图像数据(D[9:0]同Y[9:0])输出是由HREF和PCLK控制的。图像数据在 HREF 为高的时候输出,当 HREF 变高后,每一个PCLK 时钟,输出一个 8 位/10 位数据,在一行数据输出完后HREF输出一个电平跳变信号。我们采用8位接口,所以每个 PCLK 输出 1个字节,且在 RGB/YUV输出格式下,每个tp=2个Tpclk,如果是 Raw 格式,则一个tp=1个Tpclk。比如我们采用 UXGA时序, RGB565 格式输出,每 2个字节组成一个像素的颜色(高低字节顺序可通过0XDA寄存器设置),这样每行输出总共有1600*2个PCLK 周期,输出1600*2个字节。在UXGA模式下PCLK最高可达36Mhz。

 图2.1 OV2640行输出时序图

 

       上述行数据读取过程在RGB565格式输出下,如图2.2 RGB565输出格式下行数据读取流程图所示。

        如图2.3 UXGA模式图像帧同步时序图,UXGA(1600*1200),一行1600个像素,共有1200行,在HERF为高电平时,读取每行数据,一帧数据读取完后VSYNC输出一个电平跳变信号,VSYNC的高有效还是低有效自行设定。

图2.2 RGB565输出格式下行数据读取流程图 

 

 图2.3 UXGA模式图像帧同步时序图

        OV2640 的图像数据格式,我们一般用 2 种输出方式:RGB565和JPEG。当输出RGB565 格式数据的时候,时序完全就是上面两幅图介绍的关系。以满足不同需要。而当输出数据是JPEG数据的时候,同样也是这种方式输出(所以数据读取方法一模一样),不过 PCLK数目大大减少了,且不连续,输出的数据是压缩后的 JPEG 数据,输出的JPEG数据以:0XFF,0XD8 开头,以 0XFF,0XD9结尾,且在 0XFF,0XD8之前,或者 0XFF,0XD9 之后,会有不定数量的其他数据存在(一般是0),这些数据我们直接忽略即可 ,将得到0XFF,0XD8~0XFF,0XD9之间的数据,保存为.jpg/.jpeg文件,就可以直接在电脑上打开看到图像了。OV2640自带的JPEG输出功能,大大减少了图像的数据量。 

三、OV2640窗口设置

  1. 传感器窗口设置(OV2640_Window_Set)

       传感器窗口设置允许用户设置整个传感器区域(1632*1220)的感兴趣部分,也就是在传感器里面开窗,开窗范围从2*2~1632*1220都可以设置,不过要求这个窗口必须大于等于随后设置的图像尺寸。传感器窗口设置,通过0X03/0X19/0X1A/0X07/0X17/0X18等寄存器设置。

     2. 图像尺寸设置(OV2640_ImageSize_Set)

       也就是DSP输出(最终输出到LCD的)图像的最大尺寸,该尺寸要小于等于前面我们传感器窗口设置所设定的窗口尺寸。图像尺寸通过:0XC0/0XC1/0X8C等寄存器设置。

     3. 图像窗口设置(OV2640_ImageWin_Set)

       其实和前面的传感器窗口设置类似,只是这个窗口是在我们前面设置的图像尺寸里面,再一次设置窗口大小,该窗口必须小于等于前面设置的图像尺寸。该窗口设置后的图像范围,将用于输出到外部。图像窗口设置通过:0X51/0X52/0X53/0X54/0X55/0X57等寄存器设置。

     4. 图像输出大小设置(OV2640_OutSize_Set)

       控制最终输出到外部的图像尺寸。该设置将图像窗口设置所决定的窗口大小,通过内部DSP处理,缩放成我们输出到外部的图像大小。该设置将会对图像进行缩放处理,如果设置的图像输出大小不等于图像窗口设置图像大小,那么图像就会被缩放处理,只有这两者设置一样大的时候,输出比例才是1:1的。图像输出大小通过:0X5A/0X5B/0X5C等寄存器设置。

       示意图如图3.1 OV2640图像窗口设置简图所示,最终输出图像大小最大为1600*1200。

 图3.1 OV2640图像窗口设置简图

 

 

 

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳上你的船Ove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值