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

//尝试写作,记录学习过程。

一、OV2640摄像头简介

       本节将主要讲解OV2640摄像头基础部分和一些引脚配置。

  1. OV2640传感器简介

      OV2640是Omni Vision公司生产的一颗1/4寸的CMOS UXGA(1632*1232)图像传感器,如图1.1 OV2640摄像头所示。该传感器体积小、工作电压低,提供单片 UXGA 摄像头和影像处理器的所有功能。通过 SCCB 总线控制,可以输出整帧、子采样、缩放和取窗口等方式的各种分辨率 8/10 位影像数据。该产品 UXGA 图像最高达到 15 帧/秒(SVGA 可达 30 帧,CIF 可达 60 帧)。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、对比度、色度等都可以通过 SCCB 接口编程。Omni Vision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、拖尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。

图1.1 实验室配套的OV2640摄像头

OV2640 传感器特点有:

  1. 高灵敏度、工作电压低适合嵌入式应用;
  2. 通过 SCCB 总线控制,标准的 SCCB 接口,类似 IIC 接口,SDA数据线和SCL时钟线;
  3. 支持图像压缩,即可输出压缩后的JPEG图像数据,大大减少数据量;
  4. 支持 RawRGB、RGB(RGB565/RGB555)、GRB422、YUV(422/420)和 YCbCr (422)输出格式;
  5. 支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹等自动控制功能,对图像进行处理;
  6. 自带嵌入式微处理器;
  7. 支持图像缩放、平移和窗口设置。
  8. UXGA最高15帧/秒,SVGA可达30帧,CIF可达60帧。UXGA,即分辨率位1600*1200的输出格式,类似还有SXGA(1280*1024)、XVGA(1280*960)、WXGA(1280*800)、XGA(1024*768)、SVGA(800*600)、VGA(640*480)、CIF(352*288)和QQVGA(160*120)等。

     2.  ATK-OV2640模块原理图

     如图1.2 OV2640原理图所示。

     3. OV2640引脚及功能框图

     OV2640传感器采用BGA封装,它的前端是采光窗口,引脚都在背面引出,引脚的分布如图1.3 OV2640传感器引脚分布图,其中彩色部分是主要信号的引脚,非彩色部分是电源相关引脚。

 图1.3 OV2640引脚分布图

      具体引脚功能及描述如表1.1 OV2640引脚功能表所示。

表1.1 OV2640引脚功能表

引脚名称

引脚类型

功能

SIO_C

输入

SCCB总线的时钟线,类比IIC的SCL

SIO_D

I/O

SCCB总线的数据线,类比IIC的SDA

RESETB

输入

系统复位管脚,低电平有效

PWDN

输入

掉电/省电模式,高电平有效

HREF

输出

行同步信号

VSYNC

输出

帧同步信号

PLCK

输出

像素时钟信号,一个PCLK时钟,输出一个(或半个)像素

XVCLK

输入

外部时钟输入端口,可接外部晶振

Y[9:0]

输出

像素数据输出端口

 如图1.4 OV2640功能框图所示,共分为四个部分:

  1. 控制寄存器

       标号①处是OV2640的控制寄存器,它根据这些寄存器配置的参数来运行,而这些参数是由外部控制器通过SIO_C和SIO_D引脚写入的,SIO_C与SIO_D通讯协议跟I2C十分类似。SCCB接口控制图像传感器芯片的运行。OV2640自带了一个8位微处理器,该处理器有512字节SRAM,4KB的ROM,具有细调图像质量的功能。

      2. 通信、控制信号及时钟

       标号②处包含了OV2640的通信、控制信号及外部时钟,其中PCLK、HREF及VSYNC分别是像素同步时钟、行同步信号以及帧同步信号。RESETB引脚为低电平时,用于复位整个传感器芯片,PWDN用于控制芯片进入低功耗模式。注意最后的一个XCLK引脚,它跟PCLK是完全不同的,XCLK是用于驱动整个传感器芯片的时钟信号,是外部输入到OV2640的信号;而PCLK是OV2640输出数据时的同步时钟信号,它是由OV2640输出的信号。XCLK可以外接晶振或由外部控制器提供,若要类比XCLK之于OV2640就相当于HSE(高速外部时钟信号)时钟输入引脚与STM32芯片的关系,PCLK引脚可类比STM32的I2C外设的SCL引脚。

      3. 感光阵列

        标号③是感光矩阵,光信号在这里转化为电信号,经过各种处理,这些信号存储成一个个像素点表示的数字图像。OV2640总共有1632*1232个像素,但最大输出尺寸为UXGA(1600*1200),即200W像素。

      4. 数据输出信号

       标号④处包含了DSP处理单元,它会控制寄存器的配置做一些基本的图像处理运算:颜色空间转换(原始信号到RGB或者YUV/YCbYCr)、边缘锐化、降噪等。压缩引擎将原始的数据流压缩成JPEG数据输出。OV2640有一个10位数字视频接口,其MSB和LSB可以程序设置先后顺序,默认只使用了Y2-Y9引脚,如图1.5 数据位连接示例。

 图1.4 OV2640功能框图

 图1.5 数据位连接示例

4. SCCB协议

        外部控制器对OV2640寄存器的配置参数是通过SCCB总线传输过去的,而SCCB总线跟I2C十分类似,所以在STM32驱动中我们直接使用片上I2C外设与它通讯。SCCB与标准的I2C协议的区别是它每次传输只能写入或读取一个字节的数据,而I2C协议是支持突发读写的,即在一次传输中可以写入多个字节的数据(EEPROM中的页写入时序即突发写)。

(1)SCCB起始、停止信号及数据有效性

SCCB的起始信号、停止信号及数据有效性与I2C完全一样,如图1.6 SCCB起始信号,在SIO_C为高电平时,SIO_D出现一个下降沿,则SCCB开始传输。如图1.7停止信号,在SIO_C为高电平时,SIO_D出现一个上升沿,则SCCB停止传输。

 

                       

                图1.6 SCCB起始信号                                                  图1.7 SCCB停止信号

       如图1.8 SCCB的数据有效性,除了开始和停止状态,在数据传输过程中,当SIO_C为高电平时,必须保证SIO_D上的数据稳定,也就是说,SIO_D上的电平变换只能发生在SIO_C为低电平的时候,SIO_D的信号在SIO_C为高电平时被采集。

 图1.8 SCCB的数据有效性

(3)SCCB数据读写过程

       在SCCB协议中定义的读写操作与I2C也是一样的,只是换了一种说法。它定义了两种写操作,即三步写操作和两步写操作。三步写操作可向从设备的一个目的寄存器中写入数据,如图1.9 SCCB三步写操作所示。在三步写操作中,第一阶段发送从设备的ID地址+W标志(等于I2C的设备地址:7位设备地址+读写方向标志),第二阶段发送从设备目标寄存器的8位地址,第三阶段发送要写入寄存器的8位数据。图中的"X"数据位可写入1或0,对通讯无影响。

 图1.9 SCCB三步写操作

         而两步写操作没有第三阶段,即只向从器件传输了设备ID+W标志和目的寄存器的地址,如图1.10 SCCB的两步写操作。两步写操作是用来配合后面的读寄存器数据操作的,它与读操作一起使用,实现I2C的复合过程。

 图1.10 SCCB两步写操作

       两步读操作,它用于读取从设备目的寄存器中的数据,如图1.11 SCCB的两步读操作。在第一阶段中发送从设备的设备ID+R标志(设备地址+读方向标志)和自由位,在第二阶段中读取寄存器中的8位数据和写NA 位(非应答信号)。由于两步读操作没有确定目的寄存器的地址,所以在读操作前,必需有一个两步写操作,以提供读操作中的寄存器地址。 

 图1.11 SCCB两步读操作

       可以看到,以上介绍的SCCB特性都与I2C无区别,而I2C比SCCB还多出了突发读写的功能,所以SCCB可以看作是I2C的子集,我们完全可以使用STM32的I2C外设来与OV2640进行SCCB通讯。 

  • 13
    点赞
  • 155
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跳上你的船Ove

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

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

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

打赏作者

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

抵扣说明:

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

余额充值