GD32F3开发进阶教程 课件 ch15摄像头实验_第1页
GD32F3开发进阶教程 课件 ch15摄像头实验_第2页
GD32F3开发进阶教程 课件 ch15摄像头实验_第3页
GD32F3开发进阶教程 课件 ch15摄像头实验_第4页
GD32F3开发进阶教程 课件 ch15摄像头实验_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摄像头实验“第十五章《GD32F3开发进阶教程——基于GD32F303ZET6》01实验内容本章的主要内容是了解摄像头模块的工作原理,以及配置用于摄像头模块参数的SCCB协议,学习OV7725图像传感器的内部架构、功能原理和图像参数配置方法,掌握OV7725摄像头模块进行图像存储和读取的方法。最后基于GD32F3苹果派开发板设计一个摄像头实验,通过LCD显示摄像头的拍摄画面,并可以通过LCD上的GUI按键调整拍摄画面的色度亮度等参数。实验内容02实验原理摄像头按照输出信号的类型不同,可以分为数字和模拟摄像头;按照传感器的材料构成,又可以分为CCD和CMOS两种。CCD的像素是由MOS电容组成的,读取电荷信号需要的电压较大。因此,CCD的取像系统除了所需电源大,外设消耗的功率也大。而CMOS取像系统只需要使用一个3V或5V的单电源,耗电量小,仅为CCD的1/8至1/10。OV7725简介VGA是VideoGraphicsArray的缩写是IBM在1987年推出的一种视频传输标准,具有分辨率高、显示速度快和颜色丰富等优点,因而在彩色显示器领域得到了广泛应用。从分辨率角度来看,VGA常用于表示640x480的分辨率,一般用于便携式摄影设备。OV7725是OmniVision公司生产的1/4寸的CMOSVGA图像传感器。该传感器体积小工作电压低(3.3V),支持使用VGA时序输出图像数据。通过SCCB总线控制,可以采用整帧、子采样和取窗口的方式,输出各种分辨率下8bit或10bit的影像数据。该产品的VGA图像输出最高可达60顿/秒。通过SCCB总线可以控制OV7725内部存器从而实现控制图像显示参数,包括伽马曲线白平衡、亮度、色度等。OV7725简介摄像头接口电路原理图GD32F3苹果派开发板上预留了摄像头模块接口,接口电路原理图如图15-1所示。OV7725模块的结构框图,包括通信、控制信号及时钟模块、控制模块A/D转换模块、感光阵列(ImageArray)、数字信号处理(DSP)、缩放(ImageScaler)和SCCB接口(SCCBInterface)等功能模块。摄像头功能模块摄像头功能模块010203控制模块:OV7725控制模块根据寄存器配置的参数来运行,而参数则是由外部控制器通过SCL和SDA引脚写入到SCCB总线上的。通信、控制信号及时钟模块:XCLK用于驱动整个传感器芯片的时钟信号,是外部输入到OV7725的信号;而PCLK是OV7725输出数据时的同步信号,是由OV7725输出的信号。XCLK可以外接晶振或由外部控制器提供,而PCLK由OV7725输出。数据输出模块:数据输出模块包含了数字信号处理(DSP)、FIFO(先入先出队列和图像格式转换单元压缩单元。摄像头功能模块摄像头模块的所有配置,都是通过SCCB总线来实现的。1.SCCB简介外部控制器通过SCCB总线传输来对OV7725寄存器配置参数。2.SCCB时序分析OV7725摄像头模块的功能和相关参数可通过寄存器配置。3.OV7725相关寄存器配置SCCB协议SCCB协议SCCB协议01020304对于厂商来说,每一款传感器有唯一的ID地址。ID设置寄存器HSTART为行起始控制,HSIZE为行像素大小,分别用于设置画面的水平起始位置和水平尺寸。对场和行的设置在COM8寄存器中,AWB为自动白平衡跟踪,AGC为自动增益控制AEC为自动曝光控制。白平衡设置上电之后,0V7725内部所有寄存器会先进行复位。软复位寄存器SCCB协议01020304通过设置USAT和VSAT寄存器可以调节0V7725的色度(UV)。色度设置CNST寄存器用于设置对比度,设置值为Gain值乘以0x20。对比度设置通过UFx和VFix两个寄存器设置UV值其中0x80为默认值,当UFix寄存器设置值高于0x80时,颜色偏蓝。特效设置SIGN的亮度标志位为1时,BRIGHT的值越高,表示亮度越高。亮度设置1.FIFO简介FIFO是系统的缓冲区间,对整个系统来说非常重要。它主要有以下几种功能:(1)对连续的数据流进行缓存,防止在进机和存储操作时丢失数据。(2)数据集中起来进行进栈和存储,可避免频繁的总线操作,减轻CPU的负担。(3)允许系统进行DMA操作,提高数据的传输速度。图像的存储和读取图像的存储和读取本章实验使用的FIFO芯片型号为AL422B,其电路原理图如图15-4所示。图像的存储和读取(1)FIFO写时序图像的存储和读取(2)FIFO读时序图像的存储和读取(3)RGB565输出时序图像的存储和读取(4)0V7725顿时序3.图像的存储和读取摄像头模块将一帧图像数据存储在FIFO中(AL422B的过程为:等待OV7725同步信号→FIFO写指针复位→FIFO写使能→等待第二个0V7725同步信号→FIFO写禁止。图像的存储和读取03实验代码解析0102OV7725.h文件:在OV7725.h文件的“宏定义”区,定义了2个常量。OV7725.c文件:在OV7725.c文件的“宏定义”区,定义了11个函数。OV7725文件对下面按照顺序解释说明OV7725WindowSet函数中的语句。(1)第1行代码:3个输入参数width、height、mode,分别代表输出图像宽度、输出图像高度和OVGA/VGA输出模式。(2)第6至31行代码:通过mode的值,判断使用VGA还是OVGA模式,再根据模式设置输出窗口的尺寸和起始位置。(3)第33至52行代码:根据输入参数指定的图像宽度、高度及计算所得的画面起始位置设置图像输出窗口。OV7725文件对下面按照顺序解释说明EXTI10_15_IROHandler函数中的语句。(1)第4行代码:判断是否为EXTI1线的中断。(2)第6至18行代码:如果FIFO为空,则将FIFO写指针复位,然后使能写FIFO并标记FIFO装载完成。如果FIFO装载完成,禁止写FIFO并标记数据图像已准备好。(3)第21行代码:清除中断标志。OV7725文件对在EXTI10_15_IROHandler函数实现区后为DisplavOVImage函数的实现代码。该函数用于将摄像头图像显示到LCD屏,下面按照顺序解释说明DisplayOVImage函数中的语句。该函数有4个参数,其中x0y0为窗口起始坐标,width

height为窗口宽度和高度,必须大于0。OV7725文件对0102Camera.h文件:在Camera.h文件的“API函数声明”区,声明了2个API函数。Camera.c文件:在Camerac文件的“宏定义”区,定义了两个常量。Camera文件对下面以色度调节为例进行说明。(1)第4行代码:通过i语判断是否进行色度调节。(2)第6至13行代码:如果色度变量大于-4,则将色度变量值减1,否则色度变量加4。(3)第14至16行代码:将参数信息写入缓冲区,显示信息,最后调用OV7725的色度设置函数更新设置。Camera文件对下面按照顺序解释说明InitCamera函数中的语句。(1)第4至23行代码:初始化摄像头参数,然后开始初始化摄像头。如果摄像头未初始化成功,则在LCD上输出错误提示信息。(2)第26至32行代码:设置回调函数,然后初始化GUI。Camera文件对1.SCCB.h文件在SCCB.h文件的“宏定义”区,定义了一个常量,OV7725的D常量。在“API函数声明”区,声明了3个函数,分别为初始化SCC接口函数InitSCCB,写寄存器函数SCCBWriteReg,读寄存器函数SCCBReadReg。SCCB文件对2.SCCB.c文件在SCCB.c文件的“宏定义”区,定义了7个函数。在“内部函数声明”区,声明了5个内部函数。在“内部函数实现”区,为上述5个内部函数的实现代码,首先实现了SCCBStat函数。下面按照顺序解释说明SCCBWriteByte函数中的语句。SCCBReadByte函数代码与SCCBWriteByte函数相似,这里不再赘述。(1)第6行代码:通过个for循环将8位数据通过数据线SDA传出,每次都传出最高位,再将数据左移一位,直到循环结束。(2)第18至20行代码:每次传出一个数据之后都要将时钟线先拉高再拉低。(3)第24至37行代码:将时钟线设置为输入,接收第9位数据,判断是否发送成功。若第9位为1则发送失败,为0则发送成功。SCCB文件对在“API函数实现”区,首先实现了InitSCCB函数。下面按照顺序解释说明InitSCCB函数中的语句。(1)第4至6行代码:0V7725的时钟线和数据线分别与微控制器的PB6和PB7引脚相连。因此,需要使能GPIOB时钟,并初始化PB6和PB7引脚。(2)第9至10行代码:空闲时,将时钟线SCL和数据线SDA拉高。SCCB文件对下面按照顺序解释说明SCCBWriteReg函数中的语句,SCCBReadReg函数代码与SCCBWriteReg函数相似,这里不再赘述。(1)第6行代码:调用SCCBStart函数启动SCCB传输。(2)第8至27行代码:先写器件ID,然后发送寄存器地址,再发送数据。(3)第30行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论