【ZedBoard实验随笔】OV7670 摄像头 简单总结

59 篇文章 4 订阅
54 篇文章 5 订阅

1,OV7670 有一大堆寄存器需要配置,这些配置可以参考别人已经做好的代码。

2,OV7670 设置为640*480 16的分辨率,30帧每秒,就是30FPS,每一个RGB的数据是16位的,这16位的数据分成两次从8BIT的总线传输过来。

3,计算时钟是多少: 640*480个点,每秒传递30帧(也就是刷屏30次每秒),这样就是640*480*30,而每个点是16位的需要在0OV7670位的传输总线上传输2次。因此显示的存储带宽应该是 640*480*30*2  (字节每秒)。

4,而实际的给OV7670的时钟XCLK应该考虑到消隐和同步的开销,这点计算和VGA的时钟计算相似,计算数值约为25M。采用25M的XCLK 就可以。

5,XCLK是嫁给OV7670的时钟信号,PCLK 是OV7670输出同步信号(而非时钟)。

6,从OV7670获取图像再存在一个缓冲区,之后VGA显示控制器从这个缓冲区获取数据,现在在VGA屏幕上。

7,上面提到的缓冲区,在ZYNQ7 新片有丰富的BRAM,我们直接用BRAM 开辟出深度为307200(460*480),宽度为12位(因为VGA显示是12位的)的BRAM块。采用准双口模式,OV7670的数据每采集两个连续的8位转换并从BRAM的A口写入这个BRAM;VGA控制器直接从B口读出数据进行显示。

8,OV7670采用了类似I2C的串行接口,实现对多个寄存器的配置,SIOD相当于I2C的SDA,是双向的,只我们一般忽略了从OV7670的应答(正确的时序了链接必然得到正确应答,另外如果不应答,程序也似乎没有别的招应对处理)。

9,图像色彩还有点问题,还有继续调试,应该是寄存器配置问题,或者RGB信号线对应。

10,

 

ZEDBOARD 以及摄像头 板子购买网址:SYSCLK.TAOBAO.COM

ZEDBOARD 以及摄像头 板子购买网址:SYSCLK.TAOBAO.COM

ZEDBOARD 以及摄像头 板子购买网址:SYSCLK.TAOBAO.COM

 

11,下面是PMOD A B口约束文件的对应。



NET OV7670_PWDN LOC =  Y11  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA1
NET OV7670_D<0>  LOC =  AA11  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA2
NET OV7670_D<2> LOC =  Y10  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA3
NET OV7670_D<4> LOC =  AA9  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA4




NET OV7670_RESET LOC = AB11  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA7
NET OV7670_D<1> LOC =  AB10  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA8
NET OV7670_D<3> LOC =  AB9  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA9
NET OV7670_D<5> LOC =  AA8   | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JA10




NET OV7670_D<6> LOC =  W12  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB1
NET OV7670_XCLK LOC =  W11  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB2
NET OV7670_HREF LOC =  V10  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB3
NET OV7670_SIOD LOC =  W8  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB4


NET OV7670_D<7> LOC =  V12  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB7
NET OV7670_PCLK LOC =  W10  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB8
NET OV7670_VSYNC LOC =  V9  | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB9
NET OV7670_SIOC LOC =  V8   | IOSTANDARD=LVCMOS33 | SLEW=SLOW; # JB10

OV7670图像传感器,体积小、工作电压低,提供单片VGA摄像和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。 1. 高灵敏度适合低照度应用 2. 低电压适合嵌入式应用 3. 标准的SCCB接口,兼容I2C接口 4. RawRGB,RGB(GRB4:2:2,RGB565/555/444),YUV(4:2:2)和YCbCr(4:2:2)输出格式 5. 支持VGA,CIF,和从CIF到40x30的各种尺寸 6. VarioPixel子采样方式 7. 自动影响控制功能包括:自动曝光控制、自动增益控制、自动白平衡,自动消除灯 光条纹、自动黑电平校准.图像质量控制包括色饱和度、色相、伽玛、锐度ANTI_BLOOM 8. ISP具有消除噪声和坏点补偿功能 9. 支持图像缩放 10.镜头失光补偿 11.50/60Hz自动检测 12.饱和度自动调节(UV调整) 13.边缘增强自动调节 14.降噪自动调节 关键参数 感光阵列640X480 IO电压2.5V to 3.0V (内部LDO给核供电1.8V) 功耗工作60mW/15fpsVGAYUV 休眠<20μA 温度操作-30℃到70℃ 稳定工作0℃到50℃ 输出格式(8位)? YUV/YCbCr4:2:2 RGB565/555/444 GRB4:2:2 Raw RGB Data 光学尺寸1/6" 视场角25° 最大贞率30fps VGA 灵敏度1.3V/(Lux-sec) 信噪比46 dB 动态范围52 dB 浏览模式逐行 电子曝光1行到510行 像素面积3.6μm x 3.6μm 暗电流12 mV/s at 60℃
欢迎下载研华科技主题白皮书: 【深度剖析】研华多核异构ARM核心板之机器视觉应用案例 [摘要] TI Sitara系列AM5718/5728是采用ARM+DSP多核异构架构,可以实现图像采集、算法处理、显示、控制等功能,具有实时控制、低功耗、多标准工业控制网络互联、工业人机界面的优化、2D/3D图形处理、1080 HD的高清视频应用、工业控制设备的小型化等特点。广泛应用在机器视觉、工业通讯、汽车多媒体、医疗影像、工厂自动化、工业物联网等领域。 https://www.eefocus.com/resource/advantech/index.p... 前言: 使用单片机方案的简单图像处理在很多情况下有应用,比如颜色的跟踪识别,给智能控制的机器人带来的视觉系统,能使设计更加的智能化。在各种机器人大赛中都有图像处理应用的身影,低调却非常的有用。虽然只是对图像的颜色跟踪,但是这样却可以应用到很多的场合。 本方案介绍的是基于Colibri_GD32F207+OV7670+SPI_LCD的图像处理->颜色跟踪。 系统框图如下: 实物PIN脚连接图: 管脚配置: 设计应用描述及心得总结: 1. Colibri_GD32F207这个板子的MCU是带有camera的接口的,但是没有引出来,使用使用了FIFO的OV7670摄像头,数据口使用GPIO。OV7670是30W的摄像头最大是支持VGA 640*480的像素,但是应为液晶的分辨率只有320*240,所以讲OV7670配置为QVGA 320*240的像素输出。 2. 同样板子上的MCU是带有LCD 的接口的,但是也是应为没有将这部分的IO全部引出来,所以使用SPI LCD ,这样可以节省很多的 IO,但是也造成了使用GD32f207处理图片的时候速度变慢。如果这部分做些修改,处理的速度将达到每秒7帧以上。 3.本设计发挥了GD32F207的最大的速度,主频配置为了120MHZ。 4. 本设计集成了对图片设定的识别颜色条件为:Condition={30,70,130,255,100,170,40,40,320,240}; 5. 识别使用的是HSV空间,这个和RGB的区别是,HSV更加符合人眼对颜色的认知模式。H是色调,S是色饱和度,V是色温。其中的S值不会受到环境亮度的影响。 6. 识别的算法做了对目标的大小,坐标等的识别,集成了图像搜索的膨胀、腐蚀算法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值