OV7670如何捕捉野鸡物品

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
ov6620 ov7670 ov7620 各自优点.docx 5页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
你可能关注的文档:
··········
··········
ov6620 与普通模拟摄像头需要9~12V供电不同,OV6620仅需5V供电,因飞思卡尔智能车比赛提供的电池电压是7.2~8.2V,所以用OV6620省去了做升压电路这一环节,仅仅需要做一个5V供电就可以,可以采用7805芯片或2940芯片,电路简单。OV6620采用PAL制式(国内的普通电视机制式),每秒25帧,分辨率为356*292,内部集成了AD转换模块和视频分离模块,省去了1881视频分离芯片。当然,也可以当模拟摄像头来使用,比如调焦时,这时可以将视频信号端接至OV6620的VTO端即可。OV6620的优点:供电电压低,简化电路;内部集成AD和视频分离模块,简化电路,并且使得采集程序简单,采集质量高;视频信号转换在内部进行,减轻单片机负担。OV6620共有32个引脚,但我们真正能用到的不多。我在做智能车时仅仅用到13个引脚,其他引脚并未使用,但是其他学校也有使用其他引脚的。现在把常用的引脚列出来:Y0~Y7(数据输出端,接单片机IO口)、VSYNC(场中断信号端)、HREF(行中断信号端)、VCC(接5V)、GND(接地)、VTO(接视频采集卡调焦),其他可能会使用到的引脚:PCLK(像素同步信号端)、FODD(奇偶场信号端)。摄像头的工作原理在这里不在进行说明,但需要说明的是:因为OV6620场中断上升沿时间很短,单片机可能捕捉不到上升沿中断,所以判断OV6620一场是否开始选择使用下降沿判断;行中断使用上升沿判断,而且采集的有效点都是在上升沿范围内,下降沿则表示已经进入行消隐区,此时采集的都是废数据(在使用OV6620采集时都为0X10)。利用这个可以通过测试判断一行所能采集到的有效点个数。关于中断触发,行中断(HREF)接单片机的T0口,场中断(VSYNC)接单片机的T1口,保证图像采集不会被打断。市场上提到可以应用在智能车上的摄像头,多如牛毛。到底那一款最适合用在智能车上呢,这里DEMOK选取了2款典型的摄像头OV7670与OV7620,从其特性和性能等角度,剖析摄像头的特点,为大家揭开迷雾。我们开门见山,先讲其最主要的不同点。我们都知道,OV7670和OV7620都是彩色摄像头,其感光像素为640*480的数字摄像头。他们之间有很多相似的参数,但是最大的不同就是,OV7670的像素输出格式为RGB565,而OV7620的像素输出格式为YUV422,这个不同点直接决定了其在智能车摄像头中的地位。在继续进行分析之前,我们先了解一点摄像头的小知识。【摄像头小知识】RGB565与YUV422的区别1.什么是RGB565众所周知,RGB是组成彩色的三基色,要想显示一个像素的颜色,每个像素都需要3个BYTE数据的R、G、B来表示,那一副320*240的彩色图像,就需要320*240*3=5KB的数据来存储,这样看来,存储图像的空间开销是极大的。而在一个像素RGB中,G分量的比重是最大的,R和B的比重相对小一些,因此人们又想出了用R:G:B=5:6:5的比例关系,来表示一个像素,这样一来,一个像素仅仅需要2个BYTE就可以表示其彩色信息(这个2个BYTE中,R占5bit,G占6bit,B占5bit),320*240的彩色图像的存储空间也由225KB减小到150KB。2.RGB565是怎么存储的摄像头的数据是在每一个PCLK的上升沿去读取的。若摄像头默认输出的格式为RGB565,那么摄像头在上电之后,每触发2个PCLK,读取2个字节,才是一个像素。在这个像素中,RGB的分布如下图所示:在第一个字节(First BYTE)中,Y[7..3]为R[4..0],Y[2..0]为G[5..3];在第二个字节(Second BYTE)中,Y[7..5]为G[2..0],Y[4..0]为B[4..0]2.什么是YUV4:2:2人的眼睛对低频信号比对高频信号具有更高的敏感度,事实上,人的眼睛对明视度的改变比对色彩的改变要敏感的多。因此,人们将RGB三色信号改为YUV来表示,其中Y为灰度,UV为色差。如果是表示一副彩色图像,同样的道理,YUV444是无损的存储方式,但是需要3个字节,存储空间开销很大。由于Y分量比UV分量重要的多,因此人们用YUV422来表示。这样一来图像被压缩了很多,一个字节就可以表示其彩色的信息。回归到OV7670 和OV7620 的对比中来。刚才从小知识中,了解到OV7670 是RGB 输出,而OV7620 是YUV 输出,虽然理论上明白了,但是大家可能还不知道实际对应摄像头是怎么输出的。对于OV7670,由于它只有一组并行的数据口Y[7:0],所有的像素数据都从这个数据口出,因此每次读取一次数据口,可以读一个字节(BYTE)。下图给出了k 个像素(2K 个字节)输出的格式。对于OV7620,它有
正在加载中,请稍后...网站已改版,请使用新地址访问:
33-(DMA)LPLD_OV7670 基于飞思卡尔公司芯片K60的数字摄像头 可用程序 Video Capture 视频捕捉/采集 238万源代码下载-
&文件名称: 33-(DMA)LPLD_OV7670
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 20 KB
&&上传时间:
&&下载次数: 15
&&提 供 者:
&详细说明:基于飞思卡尔公司芯片K60的数字摄像头OV7670可用程序 -Based on Freescale&#39 s chip OV7670 K60 digital camera available programs
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&33-(DMA)LPLD_OV7670&&...................\app&&...................\...\k60_card.h&&...................\...\LPLD_OV7670.c&&...................\iar&&...................\...\LPLD_OV7670.eww&&...................\...\LPLD_OV7670_K60.dep&&...................\...\LPLD_OV7670_K60.ewd&&...................\...\LPLD_OV7670_K60.ewp
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - vs2010编译通过,yuv转RGB并显示,并可提取某一帧
&[] - OV7670的上位机显示程序。拍照简单。程序全部公开开。
&[] - 用MEGA8控制摄像传感模块把数据直接送到TFT240*320显示视频捕捉/采集 277万源代码下载 -
20:29:38 上传
说明:Video Editing software
开发平台:C# | 大小:<font color=#4KB | 下载<font color=#次
20:26:49 上传
说明:Video Capture using DirectShow
开发平台:C# | 大小:<font color=#62KB | 下载<font color=#次
17:34:42 上传
说明:html5实现摄像头拍照并使用java进行照片保存
开发平台:Java | 大小:<font color=#KB | 下载<font color=#次
16:34:33 上传
说明:sil9030开发档案,用于开发高清视频编码适用于HDMI视频编码。
开发平台:Visual C++ | 大小:<font color=#5KB | 下载<font color=#次
13:51:37 上传
说明:FPGA用OV7670摄像头采集图像然后用显示屏显示,全部的代码
开发平台:VHDL | 大小:<font color=#7KB | 下载<font color=#次
17:22:44 上传
说明:视频捕捉的例子,可以直接联usb摄像头 以实现在网上传输 对有些人来说可能简单了!
开发平台:Visual C++ | 大小:<font color=#KB | 下载<font color=#次
17:13:39 上传
说明:一款视频节目采集,管理的非常完善的后台管理系统
开发平台:PHP | 大小:<font color=#54KB | 下载<font color=#次
11:00:05 上传
说明:看到了一个很不错的视频,把demo都写下来了,分享给大家
开发平台:Visual C++ | 大小:<font color=#KB | 下载<font color=#次
20:13:51 上传
说明:调用摄像头监控摄像头控制及图像预览和捕获,但是该方法相对比较复杂;Qt5.0版本新增了QMultimedia模块提供了更为方便的编程支持,该模块主要涵盖视频、音频、收音机以及摄像头等功能支持
开发平台:Visual C++ | 大小:<font color=#KB | 下载<font color=#次
11:30:30 上传
说明:用c#写的图像采集的程序,包括摄像头控制的类,对摄像程序api的调用方法。
开发平台:C# | 大小:<font color=#KB | 下载<font color=#次
17:31:01 上传
说明:object detection using KLT algorithm
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
17:29:37 上传
说明:Object Detection in a Cluttered Scene Using Point Feature Matching
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
17:28:07 上传
说明:abondoned object detection
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
17:26:10 上传
说明:matlab Kalman filter for object tracking
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
17:23:42 上传
说明:tracking cars by Gaussian Mixture Model
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
01:55:17 上传
说明:image prosesing fourground and background
开发平台:Python | 大小:<font color=#KB | 下载<font color=#次
07:13:36 上传
说明:read Dicom file sequence
开发平台:matlab | 大小:<font color=#KB | 下载<font color=#次
21:07:35 上传
说明:detect cars in clip by opencv c/c++
开发平台:C-C++ | 大小:<font color=#KB | 下载<font color=#次
19:16:23 上传
说明:连接摄像头并摄像和截图等
【Demo内容说明】
1. 登录即自动获取所有模拟通道和IP通道
2. 预览、抓图、客户端录像基本功能,其中抓图包括BMP和JPEG抓图(包括抓图保存在缓冲区中)
3. :增加hiDDNS域名登录功能
4. :增加通道列表上右键IP通道设置(添加、修改、删除)功能,其中取流模式只支持直接从设备取流(NET_DVR_IPCHANINFO、NET_DVR_IPCHANINFO_V40)
5. bin文件夹下为已编译的可执行程序(Release版本),SDK日志保存路径: C:\\SdkLog\\
开发平台:C# | 大小:<font color=#16KB | 下载<font color=#次
18:22:02 上传
说明:使用DShow同时进行视频预览和捕捉,不错的源码
开发平台:Visual C++ | 大小:<font color=#KB | 下载<font color=#次
16:07:16 上传
说明:VB写的用来控制各种摄像头的代码 不错的源码 很好的
开发平台:Visual Basic | 大小:<font color=#KB | 下载<font color=#次
09:54:56 上传
说明:海康硬盘录像机二次开发控件 VB预览DEMO
开发平台:Visual Basic | 大小:<font color=#1KB | 下载<font color=#次
10:28:02 上传
说明:摄像头功能演示源码程序,调用API函数创建摄像头摄像窗口,向摄像窗口发送消息可以捕获和录制图像。
开发平台:EasyLanguage易语言 | 大小:<font color=#KB | 下载<font color=#次
19:34:43 上传
说明:264编码实现代码,视频会议用的,全部调试通过,值得推荐
开发平台:C-C++ | 大小:<font color=#KB | 下载<font color=#次
18:50:35 上传
说明:自动视频捕捉,无须任何配置,自动捕获视频流数据,有问题请与本人联系
开发平台:C# | 大小:<font color=#KB | 下载<font color=#次
16:44:35 上传
说明:大华网络摄像头二次开发时需要用到的SDK头文件
开发平台:C++ | 大小:<font color=#52KB | 下载<font color=#次
21:29:14 上传
说明:雷达模拟视频扫描程序,花了很长时间的初稿
可以参考一下
开发平台:C-C++ | 大小:<font color=#KB | 下载<font color=#次
20:04:27 上传
说明:这是个显示YUV视频序列文件的小软件,可以选择视频序列的帧大小
开发平台:C++ | 大小:<font color=#KB | 下载<font color=#次
09:45:03 上传
说明:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的
开发平台:Unix_Linux | 大小:<font color=#38KB | 下载<font color=#次
17:05:04 上传
说明:幸运飞艇源码出租出售Q,幸运飞艇程序开发制作
开发平台:MultiPlatform | 大小:<font color=#KB | 下载<font color=#次
[视频捕捉/采集] 合计8247个 |
&页次: 1/275页 30/页21ic官方微信-->
后使用快捷导航没有帐号?
ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
请完成以下验证码
查看: 7709|回复: 23
OV7670摄像头模块配STM32F107VCT6开发板使用教程
&&已结帖(0)
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
本帖最后由 szopenmcu 于
10:39 编辑
一、 专业英文名词解释OV:& && &&&豪威科技,美商半导体公司,全称OmniVisionSCCB:& && &&&串行相机控制总线,全称Serial Camera Control BusSensor:& && &&&传感器;图像传感器;感光芯片;通常指摄像头感光芯片Camera:照相机;摄影机,名词复数 camerasChip:& && &&&芯片,集成电路ICID:& && &&&身份标识号码,也就是芯片的产品识别码,全称IDentity I2C:& && &&&两线式串行总线,全称Inter-Integrated CircuitSDA:& && &&&I2C总线的数据信号线,全称SerialDataSCL:& && &&&I2C总线的时钟信号线,全称SerialClockCMOS:& && &&&影像器材的,互补金属氧化物半导体。全称Complementary Metal Oxide SemiconductorCCD:& && &&&影像器材的,电荷耦合器件。全称Charge Couple DeviceADC:& && &&&模拟/数字转换器,全称Analog-to-Digital ConverterMCU:& && &&&微控制单元,全称Micro Control Unit :& && &&&显示器,全称Liquid Crystal DisplayFIFO:& && &&&先进先出的数据缓存器,全称First In First OutVGA:& && &&&显示绘图阵列,全称Video Graphics ArrayRGB:& && &&&RGB是Red、Green、Blue(红绿蓝)三种原色的组合,也是工业界的一种颜色标准。是通过对三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。RGB几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGB565:是一种色彩标准,也是一种图像的接口标准,它是由R(红色)5根信号线、G(蓝色)6根信号线、B(蓝色)5根信号线组成的16根信号线(16位色彩深度)的硬件通信接口。RGB888:跟RGB565一样,它是由红绿蓝3种原色,每种原色8位数据(8根信号线)组成的24位色彩深度的通信接口,也是目前色彩度最高的一种原色标准。
二、 摄像头的基本概念
1 什么是摄像头摄像头(CAMERA或WEBCAM)又称为电脑相机、电脑眼、电子眼等,是一种视频输入设备,被广泛的运用于视频会议,远程医疗及实时监控等方面。普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通。另外,人们还可以将其用于当前各种流行的数码影像,影音处理。2 摄像头分类摄像头可分为数字摄像头和模拟摄像头两大类。数字摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。数字摄像头可以直接捕捉影像,然后通过串、并口或者USB接口传到计算机里。电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,市场上可见的大部分都是这种产品。除此之外还有一种与视频采集卡配合使用的产品,但还不是主流。由于个人电脑的迅速普及,模拟摄像头的整体成本较高,而且不能满足BSV液晶拼接屏接口等原因,USB接口的传输速度远远高于串口、并口的速度,因此市场USB接口的数字摄像头。模拟摄像头可和视频采集卡或者USB视频采集卡配套使用,很方便的跟电脑连接使用,典型应用是一般的录像监控。摄像头(webcam)一般具有视频摄像/传播和静态图像捕捉等基本功能,它是借由镜头采集图像后,由摄像头内的感光组件电路及控制组件对图像进行处理并转换成电脑所能识别的数字信号,然后借由并行端口或USB连接输入到电脑后由软件再进行图像还原。3 分辨率分辨率是用于度量位图图像内数据量多少的一个参数,通常表示成dpi(dot per inch,每英寸点)。简单地说,摄像头的分辨率是指摄像头解析图象的能力,也即摄像头的影像传感器的像素数。最高分辨率就是指摄像头能最高分辨图像的能力的大小,即摄像头的最高像素数。现在市面上较多的30万像素CMOS的最高分辨率一般为640×480,50万像素CMOS的最高分辨率一般为800×600。分辨率的两个数字表示的是图片在长和宽上占的点数的单位,一张数码图片的长宽比通常是4:3。在实际应用中,如果将摄像头用于网络聊天或者视频会议,那么分辨率越高则需要的网络带宽就越大。因此消费者在这方面应该注意,应根据自己的需要选择一款像素适合自己的产品。4 结构组件我们从摄像头的日常工作原理就可以列出摄像头的主要结构和组件。l 镜头(LENS)透镜结构,由几片透镜组成,有塑胶透镜(Plastic)或玻璃透镜(Glass)。l 图像传感器可以分为两类,CCD和CMOS。l 电源摄像头内部需要两种工作电压:2.8V和1.8V,最新工艺芯片有用到1.5V。l FIFO缓冲器从应用模块上可分为两种,一种带FIFO缓冲器,另一种不带FIFO缓冲器。带FIFO缓冲器的应用场合适应于单片机和本身不带摄像头驱动的MCU,通过FIFO芯片驱动摄像头和做图像缓存功能。不带FIFO缓冲器的,主控MCU一定要有自带摄像驱动接口,一般应用在DSP上。5 技术指标5.1 图像解析度/分辨率(Resolution) ●SXGA()又称130万像素●XGA()又称80万像素●SVGA(800x600)又称50万像素●VGA(640x480)又称30万像素(35万是指648X488)●CIF(352x288)又称10万像素●SIF/QVGA(320x240)●QCIF(176x144)●QSIF/QQVGA(160x120)5.2 图像格式(imageFormat/Colorspace)RGB24,420是最常用的两种图像格式。●RGB24:表示R、G、B三种颜色各8bit,最多可表现256级浓淡,从而可以再现& && && && && && &256*256*256种颜色。●I420:YUV格式之一。●其它格式有:RGB565,RGB444,YUV4:2:2等。5.3 自动白平衡调整(AWB) 定义:要求在不同色温环境下,照白色的物体,屏幕中的图像应也是白色的。色温表示光谱成份,光的颜色。色温低表示长波光成分多。当色温改变时,光源中三基色(红、绿、蓝)的比例会发生变化,需要调节三基色的比例来达到彩色的平衡,这就是白平衡调节的实际。5.4 图像压缩方式JPEG:(joint photographic experts group)静态图像压缩方式。一种有损图像的压缩方式。压缩比越大,图像质量也就越差。当图像精度要求不高存储空间有限时,可以选择这种格式。大部分数码相机都使用JPEG格式。5.5 彩色深度(色彩位数)反映对色彩的识别能力和成像的色彩表现能力,实际就是A/D转换器的量化精度,是指将信号分成多少个等级。常用色彩位数(bit)表示。彩色深度越高,获得的影像色彩就越艳丽动人。市场上的摄像头均已达到24位,有的甚至是32位。 5.6 图像噪音指的是图像中的杂点干扰。表现为图像中有固定的彩色杂点。5.7 视角与人的眼睛成像是相同原理,简单说就是成像范围。跟使用的镜头有关5.8 输出/输入接口串行接口(RS232/422):传输速率慢,为115kbit/s并行接口(PP):速率可以达到1Mbit/s红外接口(IrDA):速率也是115kbit/s,一般笔记本电脑有此接口。通用串行总线USB:即插即用的接口标准,支持热插拔。USB1.1速率可达12Mbit/s,USB2.0可达480Mbit/sIEEE1394(火线)接口(亦称ilink):其传输速率可达100M~400Mbit/s。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
一、 摄像头的工作原理 1 基本原理摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再经过LCD驱动器在LCD上显示或通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。1.1 控制接口RESET信号初始化Sensor寄存器列表时,首先就要对Sensor进行复位,然后再对控制寄存器进行初始化设置。MCLK信号(系统时钟)Sensor的输入时钟,这个时钟信号可以用外部晶振提供,也可以用MCU引脚提供时钟。SDA、SCL信号(SCCB)这是对Sensor寄存器进设置或读取信息的通讯接口1.2 数据输出YUV RGB data这个是指图像的输出格式,可以寄存器设置输出各种Sensor有支持的格式。PCLK(像素时钟)Sensor的输出时钟,这个时钟信号由Sensor内部PLL配置产生,可以配置不同的输出频率以适应各种不同的应用环境,同步图像数据输出。HSYNC行同步信号,如下图时序,同一个有效信号内传输的都是同一行图像的像素点数据,每个像素点由D0~D7八位数据组成。信号拉高后开始传输一行图像的像素点数据,信号拉低时表示同一行的图像数据已经传输结束,下一行图像数据从下一个信号拉高后开始传输。VSYNC帧(列)同步信号,同一个有效信号内传输的都是同一帧图像的数据,信号拉高后开始传输一帧图像的像素点数据,信号拉低时表示同一帧的图像数据已经传输结束,下一帧图像数据从下一个信号拉高后开始传输。 2 图像实现过程摄像头的点亮过程主要是通过控制接口对摄像头感光芯片进行初始化设置,说白了就是通过I2C对感光芯片的寄存器基本参数进行初始化设置,也就是把预先准备好的Sensor初始化列表填写到感光芯片对应的寄存器上,具体实现请见后面OV7670初始化列表配置。Sensor初始化列表包括了图像的输出格式、帧频、分辨率、窗口大小、色彩效果等等。读取和输出图像时要注意读取的图像大小(行多少个像素点,列多少个像素点)应和显示输出的图像大小保持一致,否则会出现图像歪斜或杂色。一般可以设置感光芯片的输出窗口大小和要显示的窗口大小一样(这种应用必须设置感光芯片的输出大小为任意尺寸输出),也可以后端的DSP加工处理成所需要的尺寸。完成初始化之后,Sensor处于正常工作状态,这时我们只要对图像缓冲器进行图像采集就可以,Sensor工作过程中可以动态改变各种参数以适应各种采集环境,如拍照模式、录像模式、预览显示模式等等。图像实现过程,我们会用到一个先进先出(队列)数据缓存器FIFO(AL422B),它的主要作用是作图像高速缓存器,Sensor正常工作时,先把图像数据存入到高速缓存器中,再由用户端从高速缓存器中读取图像数据,不用和Sensor数据信号同步就可以读取出完整的图像数据。2.1 图像实现步骤(1)硬件连接连接图请参照“应用编程—&硬件连接图”,Sensor数据线连接到AL422B的数据输入端,作为图像缓存输入,用户端的数据线连接到AL422B的数据输出端,作为图像缓存输出。(2)初始化LCD,准备显示图像。(3)SCCB总线端口配置,配置Sensor控制总线IO口,以便后面设置Sensor寄存器值用。(4)提供Sensor输入时钟,可以有源晶振提供,也可以IO口PWM提供。(5)复位Sensor,使所有寄存器值恢复到出厂设置。(6)初始化Sensor寄存器列表。配置Sensor工作模式。详细请见OV7670常用寄存器设置说明。(7)从高速缓存器AL422B中读取图像数据到LCD屏上显示。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
本帖最后由 szopenmcu 于
11:55 编辑
一、 常见定义及参数说明
1 OV7670模块介绍OV7670是OV最经典的一款30万摄像头CMOS感光芯片,体积小、工作电压低,提供单片 VGA 摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影像数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色彩度等都可以通过SCCB接口编程。OV图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。
1.1 引脚定义
3V3:& && &&&电源供电,3V~5V。GND:& && &&&电源接地。CS:& && &&&AL422B片选脚RRST:& && &&&读地址复位,信号拉低(至少一个RCLK周期)后再拉高,这时候FIFO读地址指针就复位到0地址WRST:& && &&&写地址复位,重新复位写地址指针到0地址RD:& && &&&读取数据存储器的信号脚WE:& && &&&写使能脚,控制数据输入的启用/禁用PWDN:睡眠模式,低电平正常使用,高电平进入睡眠省电模式。
VSYNC:帧同步信号,信号拉高,开始传输一帧(1张)图片的数据,传输完后信号拉低表示一帧图像传输完毕,等待下一个信号拉高开始传输下一帧图像。SCL:& && &&&SCCB时钟信号SDA:& && &&&SCCB数据信号XCLK:& && &&&系统时钟输入D0~D7:数据位0到7,RGB565色彩组合:RRRRRGGG、GGGBBBBB,先输出高8位数据,再输出低8位数据构成一个16位RGB565像素点。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
一、 常见定义及参数说明1 OV7670模块介绍OV7670是OV最经典的一款30万摄像头CMOS感光芯片,体积小、工作电 ...
2 Al422B FIFO芯片介绍FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,没有外部读写地址线,但只能顺序写入、读出数据,其内部读写指针自动加1,不能决定读取或写入某个指定的地址。FIFO一般用于不同时钟域之间的数据传输。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成,如图:
2.1 FIFO的一些重要参数FIFO的宽度:THE WIDTH,指的是FIFO一次读写操作的数据位。FIFO的深度:THE DEEPTH,指的是FIFO可以存储多少个N位的数据(如果宽度为N)。满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。读指针:指向下一个读出地址。读完后自动加1。写指针:指向下一个要写入的地址的,写完自动加1。读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连续的。2.2 AL422B的性能特点 AL422B是由AverLogic公司推出的存储容量为3Mbits的视频帧存储器,存储容量为384k×8bits,由于目前1帧图像信息通常包含640×480或720×480个字节, 而市面上很多视频存储器由于容量有限只能存储1场图像信息,无法存储1帧图像信息。AL422B由于容量很大,可存储1帧图像的完整信息,其工作频率达50MHz。(1)存储体为384k×8bits FIFO。(2)支持VGA,CCIR,NTSC,PAL和HDTV分辨率。(3)独立的读/写操作(可接受不同的I/O数据率)。(4)高速异步串行存取。(5)读写时钟周期为20ns。(6)存取时间为15ns。(7)内部DRAM自行刷新数据。(8)输出使能控制。(9)工作电压可为5V或3.3V。(10)标准28脚SOP封装。& & & &
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
2.3 AL422B引脚功能定义引脚名称引脚编号引脚功能IO口类型DI0~DI71~4,11~14[size=10.5000pt]Data [size=10.5000pt]Input& & & & 数据输入输入脚DO0~DO715~18,25~28[size=10.5000pt]Data [size=10.5000pt]Output& & & & 数据输出输出脚WCK9Write Clock& & & & 写入时钟输入脚/WE5Write Enable& & & & 写入使能输入脚,低电平有效/WRST8Write Reset& & & & 写入复位输入脚,低电平有效RCK20Read Clock& & & & 读取时钟输入脚/RE24Read Enable& & & & 读取使能输入脚,低电平有效/RRST21Read Reset& & & & 读取复位输入脚,低电平有效/OE22Output Enable输出使能输入脚,低电平有效TST7Test测试脚,接下拉电阻输入脚VDD10电源输入5V或3.3V DEC/VDD19去耦电容输入 GND6,23接地脚
2.4 AL422B引脚排列
2.5 AL422B使用方法2.5.1初始化上电后,分别给/WRST和/RRST各0.1ms的初始化脉冲,使AL422B初始化。2.5.2 复位操作通常,复位信号可在任何时候给出而不应考虑/WE,/RE及/OE的状态, 但是它们仍然要参照时钟信号的输入情况,使它们满足建立时间和保持时间的要求。如果在禁止时钟周期内给出复位信号,必须要等到允许周期到来后才会执行复位操作。当/WRST和/RRST均为低电平时,数据的输入和输出均从地址0开始。2.5.3 写入操作,见图(AL422B时序图,/WE)当/WE为低电平时,在WCK信号的上升沿,数据通过DI7—DI0写入到写寄存器,参照WCK的输入周期,写入的数据须满足建立时间和保持时间的要求。当/WE为高电平时,写操作被禁止,写地址指针停在当前位置上;当/WE再次变为低电平时,写地址指针从当前位置开始。2.5.4 读取操作,见图(AL422B时序图,/RE)当/RE和/OE均为低电平时,在RCK信号的上升沿,数据由DI7~DI0输出。当/RE为高电平时,读地址指针停在当前位置上;当/RE再次变为低电平时,读地址指针从当前位置开始。执行读操作时,/OE须为低电平,如/OE为高电平,则数据输出端均为高阻态,且读地址指针仍然同步加1。/RE和/OE须参照RCK的输入周期,满足建立时间和保持时间的要求。2.5.5 内部功能框图由于其所有的寻址、刷新等操作都由集成在芯片内部的控制系统完成,如下图: 2.5.6 AL422B的工作时序图2.5.6.1 写入复位时序图(/WRST) 2.5.6.2 读取复位时序图(/RRST) 2.5.6.3 读取使能时序图(/RE) 2.5.6.4 输出使能时序图(/OE) 2.5.6.5 输出使能时序图(/WE) 2.5.6.6 读取使能、复位时序图(/RE、/RRST) 2.5.6.7 写入使能、复位时序图(/WE、/RRST)
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
五、 SCCB通讯协议
1 I2C 总线I2C总线是由公司开发的两线式串行总线,用于连接及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C 总线支持任何 生产过程(CMOS、双极性)。通过串行数据(SDA)线和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是——MCU、 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。LCD 驱动器只能作为接收器,而存储器则既可以接收又可以发送数据。除了和接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号 的器件。此时,任何被寻址的器件都被认为是从机。 2 SCCB总线SCCB是OmniVision公司定制的串行摄像头控制总线,用于对摄像头的寄存器进行读写,以达到对摄像头输出图像的控制。两线制SCCB 与I2C 总线类似,是一种双向二线制同步串行总线。SCCB 的数据传输由主器件控制,主器件能够发出数据传输启动信号、时钟信号以及传送结束时的停止信号。通常主器件都是微处理器,它寻址访问的设备称为从器件。为了进行通讯,每个接到SCCB 的设备都有一个唯一的地址( ID) ,使用软件来识别总线上的从器件,省去了从器件的片选。因此,只需要两根线(串行时钟线SIO_C 和串行数据线SIO_D) ,挂接到总线上的器件就能相互进行信息传递。组成SCCB的SIO_C和SIO_D必须经过上拉电阻RP接到正电源上,连接到总线的器件的输出级必需为“开漏”或“开集”的形式,以便在多个主或从需求仲裁的况下完成线与的功能。
在SCCB 协议中定义开始和停止条件如下:开始条件:在SIO_C为高电平时,SIO_D 出现一个下降则SCCB 开始传输;停止条件:在SIO_C 为高电平时,SIO_D 出现一个上升沿,则SCCB 停止传输。 除了开始和停止状态,在数据传输时,当SIO_C为高电平时,必需保证SIO_D上的数据的稳定,也就是说,SIO_D上的数据只能在SIO_C 为低电平时改变。与I2C总线类似,SCCB的基本传输格式如图3所示,完整的数据传输包括两个或三个阶段。每一阶段包中含9 位二进制数据,其中高8 位为所要传输的8 位数据,最低位根据主器件的数据传输是读操作还是写操作而确定。在进行主器件写操作时,全部阶段的最低位均是无关位(低或高电平均可) ;读操作时,第一阶段的最低位是无关位,第二阶段的最低位位NA ———主器件驱动为高电平有效。
在SCCB 协议定义了两种写操作,即三相写操作和两相写操作。三相写操作是往从器件的目的寄存器中写入数据。在三相写操作中,第一阶段写从器件的8 位IDW 和无关位,第二阶段写从器件目标寄存器的8 位地址和无关位,第三阶段写要求写入寄存器的8 位数据和无关位;两相写操作只有三相写操作的前两个阶段。两相写操作的目的是
为了确定读操作中的从器件地址,这是因为两相读操作不能提供所要求读取的寄存器的地址。SCCB 协议定义了两读操作,它用于读取从器件目的寄存器中的数据。在第一阶段中写从器件读操作8 位IDR 和无关位,在第二阶段中读取寄
存器中的8 位数据和写NA bit 。在两阶段读循环操作前,必需有一个两相或三相的写循环操作,以提供读操作中的寄存器地址。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
资深技术员, 积分 396, 距离下一级还需 104 积分
资深技术员, 积分 396, 距离下一级还需 104 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
资深技术员, 积分 396, 距离下一级还需 104 积分
资深技术员, 积分 396, 距离下一级还需 104 积分
OV7670摄像头模块
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
五、 SCCB通讯协议
1 I2C 总线I2C总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设 ...
六、 应用编程
1 硬件连接图 2 软件设计2.1 系统初始化(SystemInit)对系统设备进行初始化设置,初始化完成后所有设备都处于正常工作状态,这时可以进行图像采集和LCD输出显示。以下为金龙107的参考代码:Init_KEY();& && && && && && && && && && && && && & //初始化按键Init_Usart();& && && && && && && && && && && && && & //初始化串口Usart_Configuration(115200);& && &&&//配置波特率Printf(&串口初始化完成\r\n&);LCD_Init();& && && && && && && && && && && && && & //初始化显示屏LCD_Clear(0x0000);& && && && && && && && &//显示黑色背景Init_OV7670();& && && && && && && && && && &&&//初始化SensorLCD_WindowMax(0,0,240,320);& && &&&//设置显示窗口大小while(1){图像采集过程}2.2 OV7670初始化过程摄像头初始化包括SCCB总线端口配置、ID号检测和寄存器初始化列表配置。uint8_t Init_OV7670(void){& && &&&GPIO_SCCB();& && && && && && && && & //SCCB总线端口配置Init_XCLK_ON();& && && && && && && && & //OV7670的输入时钟配置wrOV7670Reg(0x12, 0x80);& && &&&//复位SCCB总线(……)& && && && && && && && && && &&&//检测OV7670芯片ID号(……)& && && && && && && && && && &&&//OV7670初始化列表配置GPIO_OV7670();& && && && && && && && &//初始化FIFO和中断引脚set_qvga();& && && && && && && && && && &&&//设置Sensor图像输出格式为QVGA}2.2.1 SCCB总线端口配置GPIO_SCCB();& && &&&//这是函数名,以下为函数内容GPIO_InitTypeDef&&GPIO_InitS& && && && && && && && && && && && && && && && &&&//定义初始化结构变量RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC, ENABLE); //启用SCCB的IO口时钟GPIO_InitStructure& && &&&.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;& && && && && && &//定义SCCB总线IO口GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//配置IO口输出模式为复用推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& && && & //配置SCCB输出速率为50赫兹GPIO_Init (GPIOC, &GPIO_InitStructure);& && && && && && && && && && && & //初始化SCCB总线IO口2.2.2 OV7670的输入时钟配置OV7670要正常工作必须外部提供一个时钟信号MCLK,MCLK可以通过配置IO口提供一个时钟源,也可以通过外部晶振提供时钟源。当OV7670完成初始化之后会产生一个数据输出的同步时钟PCLK,PCLK是通过OV7670内部寄存器配置产生,可以配置想要的频率输出,这个频率会直接影响OV7670的图像输出帧率。Init_XCLK_ON();& && &&&//这是函数名,以下为函数内容GPIO_InitTypeDef&&GPIO_InitS& && && && && && && && && && && && && && && && &&&//定义初始化结构变量RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA, ENABLE);//启用摄像头IO口时钟GPIO_InitStructure& && &&&.GPIO_Pin = OV7670_XCLK_BIT;& && && && && &&&//定义摄像头输入时钟IO口GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置IO口输出模式为复用推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& &//配置时钟输出速率为50赫兹GPIO_Init (GPIOA, &GPIO_InitStructure);& && && && && && && && && && && & //初始化时钟输出IO口RCC_MCOConfig( RCC_MCO_HSE);& && && && && && && && && && && && && && &//使能外部晶振作为OV7670时钟2.2.3 检测OV7670芯片ID号wrOV7670Reg(0x12, temp);& && && && && && && && && && && && && && && && &//复位SCCBrdOV7660Reg(0x0a, &ovidmsb);& && && && && && && && && && && && && & //读产品的高位序列号if(ovidmsb !=0x76)&&return 0;& && && && && && && && && && && && && & //检测ID值,OV7670的高位ID值是0x76rdOV7660Reg(0x0b, &ovidlsb );& && && && && && && && && && && && && &&&//读产品的低位序列号if(ovidlsb !=0x73)&&return 0;& && && && && && && && && && && && && &&&//检测ID值,OV7670的低位ID值是0x732.2.4 OV7670初始化列表配置初始化摄像头主要就是把配置列表的地址和值填写到OV7670对应的寄存器地址和寄存器值。填写完OV7670的寄存器后,OV7670就会按寄存器配置列表的配置模式进行工作。CHANGE_REG_NUM:指定配置寄存器列表有多少组change_reg[CHANGE_REG_NUM][2]:OV7670寄存器初始化列表每一组数据都是由寄存器地址和寄存器值构成,通过FOR循环把所有数组的寄存器值填写到OV7670对应的寄存器里面,看下面代码:& && &&&for(i=0;i&CHANGE_REG_NUM;i++)& && && && && && && && && && && && && && && && &//循序填写寄存器值& && &&&{& && && && && & if( 0 == wrOV7670Reg(change_reg[0],change_reg[1]))//填写寄存器值& && && && && & {& && && && && && && && &return 0;& && && && && && && && && && && && && && && && && && && && && && && && && && && &//错误反回0& && && && && & }& && &&&}2.2.5 初始化FIFO和中断引脚void GPIO_OV7670(void){& && &&&GPIO_FIFO();& && && && && && &//AL422缓存引脚配置& && &&&EXTI_OV7670();& && && && && & //摄像头帧同步信号中断引脚配置 VSYNC}
本帖子中包含更多资源
才可以下载或查看,没有帐号?
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
2.2.6设置OV7670图像输出格式
void set_qvga(void)& & & & //设置QVGA输出
& & & & while(1!= wrOV7670Reg(0x12, 0x14));//设置输出格式RAW,大小QVGA
& & & & wrOV7670Reg(0x17, 0x16);//HSTART,输出格式-行频开始高八位(低三位在HREF[2:0])
& & & & wrOV7670Reg(0x18, 0x04);& & & & //HSTOP,输出格式-行频结束高八位(低三位在HREF[5:3])
& & & & wrOV7670Reg(0x19, 0x03); //VSTRT, 输出格式-场频开始高八位(低二位在VREF[1:0])
& & & & wrOV7670Reg(0x1A, 0x7B); //VSTOP,输出格式-场频结束高八位(低二位在VREF[3:2])
& & & & wrOV7670Reg(0x03, 0x0a);& & & & //VREF& & & & 位[3:2]VREF结束的低两位(高八位见VSTOP[7:0])
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 位[1:0]VREF开始的低两位(高八位见VSTOP[7:0])
& & & & wrOV7670Reg(0x70, 0x35);& & & & //SCALING_XSC,水平缩放系数
& & & & wrOV7670Reg(0x71, 0x3a); & & & & //SCALING_YSC,垂直缩放系数
& & & & wrOV7670Reg(0x72, 0x11);& & & & //SCALING_DCWCTR,DCW控制
& & & & wrOV7670Reg(0x73, 0xF7);& & & & //SCALING_PC,旁路DSP缩放时钟分频控制
& & & & wrOV7670Reg(0xA2, 0x02);& & & & //SCALING_PCLK_DELAY,像素始终延迟
& & & & wrOV7670Reg(0xac, 0x0);& & & & //亮度
void set_cif(void)& & & & & & & & //设置CIF输出
& & & & while(1!= wrOV7670Reg(0x12, 0x24)); //设置输出格式RAW,大小CIF
& & & & wrOV7670Reg(0x17, 0x15);//HSTART,输出格式-行频开始高八位(低三位在HREF[2:0])
& & & & wrOV7670Reg(0x18, 0x0B);& & & & //HSTOP,输出格式-行频结束高八位(低三位在HREF[5:3])
& & & & wrOV7670Reg(0x19, 0x03); //VSTRT, 输出格式-场频开始高八位(低二位在VREF[1:0])
& & & & wrOV7670Reg(0x1A, 0x7b); //VSTOP,输出格式-场频结束高八位(低二位在VREF[3:2]);
& & & & wrOV7670Reg(0x03, 0x0a);& & & & //VREF& & & & 位[3:2]VREF结束的低两位(高八位见VSTOP[7:0])
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 位[1:0]VREF开始的低两位(高八位见VSTOP[7:0])
& & & & wrOV7670Reg(0x32, 0xb6);& & & & //HREF,HREF控制
位[7:6]:HREF沿距数据输出的偏移
位[5:3]:HREF结束的低3位(高8位在HSTOP)
位[2:0]:HREF开始的低3位(高8位在HSTOP)
& & & & wrOV7670Reg(0x70, 0x3A); //SCALING_XSC,水平缩放系数
& & & & wrOV7670Reg(0x71, 0x35); //SCALING_YSC,垂直缩放系数
& & & & wrOV7670Reg(0x72, 0x11); //SCALING_DCWCTR,DCW控制
& & & & wrOV7670Reg(0x73, 0xF2);& & & & //SCALING_PC,旁路DSP缩放时钟分频控制
& & & & wrOV7670Reg(0xA2, 0x03); //SCALING_PCLK_DELAY,像素始终延迟
void set_light(unsigned char i)& & & & //设置亮度
& & & & wrOV7670Reg(0x55, i);& & & & & & & & //BRIGHT,亮度控制
专业生产销售STM32开发板,仿真器,/
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
2.3图像采集过程
2.3.1采集思路
图像采集就是从FIFO缓冲器AL422B读取一帧图像,然后在LCD屏上显示出来。
(1)检测当前一帧是否被读取过,如果被读取过就直接跳过,等待下一帧新的图像;
(2)按照AL422B的工作时序读取一帧图像数据;
一个FOR循环读两次,一次读8位,两次就刚好一个16位RGB565的像素点。
一帧图像宽高是320×240=76800个像素点,循环76800次读完一帧图像。
(3)等待读取下一帧新的图像数据,也就是下一次While(1) 循环的开始。
2.3.2代码分析:
While(1)& & & & & & & & //循环扫描图像,一个循环显示一帧图像。
if(Frame_Writed)& & & & & & & & & & & & //检测当前一帧图像地否被读取过
{& & & & & & & & & & & & & & & & & & & & & & & & //如果是新的一帧图像,就进行图像采集
& & & & Frame_Write_Status=1;& & & & //标记图像采集状态
& & & & FIFO_RCLK_L; & & & & & & & & //数据在上升沿输出,下面可直接给一个上升沿
& & & & LCD_WR_REG(0x22);
& & & & LCD_RD(1);& & & & & & & & & & & & //读使能
& & & & LCD_CS(0);
& & & & LCD_RS(1);& & & & & & & & & & & & //1表示数据
& & & & for(index = 0; index &76800; index++)& & & & //320*240=76800个像素点
& & & & {& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //读一帧图像,在屏上显示
& & & & & & & & FIFO_RCLK_H; & & & & //数据在上升沿输出
& & & & & & & & FIFO_RCLK_L;
& & & & & & & & Dat=FIFO_DATA_PIN&&8;& & & & //读取高8位数据到Dat
FIFO_RCLK_H; & & & & //数据在上升沿输出
& & & & & & & & FIFO_RCLK_L;
& & & & & & & & GPIOE-&ODR=(Dat|(FIFO_DATA_PIN));& & & & //读取低8位数据到Dat
//从PE口输出16位数据Dat
& & & & & & & & GPIOD-&BRR = (1&&14);//0x4000;& & & & // LCD_WR(PD14)置0
& & & & & & & & GPIOD-&BSRR = (1&&14);//0x4000;& & & & //LCD_WR(PD14)置1
//显示16位数据图像
& & & & LCD_CS(1);& & & &
& & & & Frame_Write_Status=0; //清除图像采集状态
& & & & Frame_Writed=0;& & & & & & & & //标记当前一帧图像已经被读取过
& & & & while(Frame_Writed); & & & & //等待下一帧图像数据
专业生产销售STM32开发板,仿真器,/
主题帖子积分
中级技术员, 积分 174, 距离下一级还需 126 积分
中级技术员, 积分 174, 距离下一级还需 126 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 174, 距离下一级还需 126 积分
中级技术员, 积分 174, 距离下一级还需 126 积分
怎一个好字聊得
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 955, 距离下一级还需 45 积分
高级技术员, 积分 955, 距离下一级还需 45 积分
怎一个好字聊得
谢谢支持!
专业生产销售STM32开发板,仿真器,/
主题帖子积分
实习生, 积分 13, 距离下一级还需 37 积分
实习生, 积分 13, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 13, 距离下一级还需 37 积分
实习生, 积分 13, 距离下一级还需 37 积分
一、 摄像头的工作原理 1 基本原理摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像 ...
求教用stm32f103开发板驱动ov7670(不带FIFO不带晶振)的摄像头模块~
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 6, 距离下一级还需 44 积分
实习生, 积分 6, 距离下一级还需 44 积分
你好,我想问一下,USB接口的摄像头和ov的这个摄像头除了接口外有什么区别呢?谢谢。
主题帖子积分
实习生, 积分 13, 距离下一级还需 37 积分
实习生, 积分 13, 距离下一级还需 37 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 13, 距离下一级还需 37 积分
实习生, 积分 13, 距离下一级还需 37 积分
为什么一直在读取产品号那死循环???
主题帖子积分
初级技术员, 积分 3, 距离下一级还需 97 积分
初级技术员, 积分 3, 距离下一级还需 97 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 3, 距离下一级还需 97 积分
初级技术员, 积分 3, 距离下一级还需 97 积分
楼主你好,看你发的OV7670的帖子,我想问一下输出CIF格式的时候对应HRFE、VSTART、VSTOP、HSTART、HSTOP这些寄存器为什么是那些值?有规律吗?谢谢你的回答
主题帖子积分
实习生, 积分 37, 距离下一级还需 13 积分
实习生, 积分 37, 距离下一级还需 13 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 37, 距离下一级还需 13 积分
实习生, 积分 37, 距离下一级还需 13 积分
楼主你好,看你发的OV7670的帖子,我想问一下输出CIF格式的时候对应HRFE、VSTART、VSTOP、HSTART、HSTOP这 ...
主题帖子积分
高级技术员, 积分 576, 距离下一级还需 424 积分
高级技术员, 积分 576, 距离下一级还需 424 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
高级技术员, 积分 576, 距离下一级还需 424 积分
高级技术员, 积分 576, 距离下一级还需 424 积分
好东西真不错
主题帖子积分
初级技术员, 积分 169, 距离下一级还需 -69 积分
初级技术员, 积分 169, 距离下一级还需 -69 积分
主题帖子积分
专家等级:结帖率:66%
主题帖子积分
初级技术员, 积分 169, 距离下一级还需 -69 积分
初级技术员, 积分 169, 距离下一级还需 -69 积分
技术高手奖章
人才类勋章
时间类勋章
涓涓之细流
发帖类勋章
技术新星奖章
人才类勋章}

我要回帖

更多关于 朵拉捕捉星星 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信