logo资料库

基于ov7670摄像头模块的图像采集.pdf

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
实验二  基于 ov7670 摄像头模块的图像采集    1. 实验目的  熟悉掌握 OV7670 摄像头的工作原理。   掌握带有 FIFO 的 OV7620 摄像头的图像采集方法。   学会使用简单的图像上位机,通过串口将图像发送的到上位机上。    2.实验内容           了解 OV7670 摄像头采集图像的原理和方法,学会从摄像头自带 FIFO 模块中采集需要 的图像数据。了解摄像头的 YUV 格式。配置摄像头为 YUV 输出。了解输出时序。    3. 预备知识  使用MDK4.14集成开发环境,编译和调试程序的基本过程。  STM32应用程序的框架结构。  摄像头行中断,场中断的基本概念。  FIFO的读写时序。  了解STM32中断的配置和使用方法。学会开中断,关中断的方法。   4. 实验设备及工具  硬件:博创智能车套件,PC 机,USB 转 TTL 串口线   软件:MDK4.14 集成开发环境,USB 转串口线驱动    ,摄像头图像采集上位机   
  5. 实验原理及说明 5.1    OV7670 带 FIFO 模块原理与说明    1. 简介:   OV7670 带FIFO 模块,是针对慢速的MCU 能够实现图像采集控制推出 的带有缓冲存储空间的一种模块。这种模块增加了一个FIFO(先进先 出)存储芯片,同样包含30w 像素的CMOS 图像感光芯片,3.6mm 焦 距的镜头和镜头座,板载CMOS 芯片所需要的各种不同电源(电源要 求详见芯片的数据文件),板子同时引出控制管脚和数据管脚,方便 操作和使用。
2. 管脚定义: 如图,控制传感器所需的管脚定义如下: 3V3-----输入电源电压(推荐使用3.3,5V 也可,但不推荐) GDN-----接地点 SIO_C---SCCB 接口的控制时钟(注意:部分低级单片机需要上拉控 制,和 I2C 接口类似) SIO_D---SCCB 接口的串行数据输入(出)端(注意:部分低级单片 机需要上 拉控制,和I2C 接口类似) VSYNC---帧同步信号(输出信号)
HREF----行同步信号(输出信号) PCLK----像素时钟(输出信号) XCLCK---时钟信号(输入信号) D0-D7---数据端口(输出信号) RESTE---复位端口(正常使用拉高) PWDN----功耗选择模式(正常使用拉低) STROBE—拍照闪光控制端口(正常使用可以不需要) FIFO_RCK---FIFO 内存读取时钟控制端 FIFO_WR_CTR----FIFO 写控制端(1 为允许CMOS 写入到FIFO,0 为禁 止) FIFO_OE----FIFO 关断控制 FIFO_WRST—FIFO 写指针服务端 FIFO_RRST—FIFO 读指针复位端 3.控制方式说明 由于采用了FIFO 做为数据缓冲,数据采集大大简便,用户只需要关
心是如何读取即可,不需要关心具体数据是如何采集到的,这样可减 小甚至不用关心CMOS 的控制以及时序关系,就能够实现图像的采集。 控制时序如下: 3. 采集图像的基本方法
如图,用户只需要按上述时序图控制相关的几个控制引脚即可,可以 很方便的使用在低速单片机上,另外一个好处是,可以直接IO 口读 取数据,读出的数据可以直接送屏,也可以经过MCU 简单处理;当然 也可以不经过MCU,直接送到屏等外围器件使用。   5.2 ov7670 摄像头模块的图像采集的软件流程    1. 初始化摄像头  因为 OV7670 通过 SCCB 协议来设置摄像头,而 SCCB 协议是一个简化过的 I2C 协议,所 以我们通过模拟 I2C 来设置摄像头。 
  其中,Cmos7670_init()函数调用 set_Cmos7670reg()函数完成摄像头一系列寄存器的写入 操作。set_Cmos7670reg()函数:      将摄像头由 RGB565 配置成 YUV 格式。    2. 初始化中断,使用摄像头的场中断(VSYNC)来读 FIFO。    如图,本例程中配置 GPIOA 的 PA0 引脚出发中断。在 stm32f10x_it.c 文件中有中断处理 函数 EXTI0_IRQHandler(void)。     
      每一个图像处理周期中需要两次场中断,第一次场中断完成 FIFO 的复位,是摄像头开始 采集数据并存在 FIFO 中,第二个场中断来临的时候,读取 FIFO。  第一个:  第二个:      完成图像采集之后,中断程序将 datareadyflag 标记变量设置为 1.     
分享到:
收藏