查看: 3640|回复: 1

[原创] 使用fireduino读取不带FIFO的OV7670 ID,调试中

[复制链接]
  • TA的每日心情
    开心
    2020-2-14 12:16
  • 签到天数: 827 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-18 22:57:32 | 显示全部楼层 |阅读模式
    分享到:
    接上一篇帖子
    四周年庆-一段时间后arduino IDE开发板列表无fireduino问题-爱板网论坛 - 电子工程师学习交流园地 https://www.cirmall.com/bbs/thread-95521-1-1.html


    OV7670有带FIFO和不带FIFO两种,我的刚好是后者,前者比后者价格高两倍,不带FIFO的,对处理器速度有要求。带FIFO 模块,是针对慢速的MCU 能够实现图像采集控制推出的带有缓冲存储空间的一种模块。这种模块增加了一个FIFO(先进先出)存储芯片,同样包含30w 像素的CMOS 图像感光芯片,3.6mm 焦距的镜头和镜头座,板载CMOS 芯片所需要的各种不同电源(电源要求详见芯片的数据文件),板子同时引出控制管脚和数据管脚,方便操作和使用,OV7670 FIFO摄像头,将图像传感器和图像缓冲器件AL422B有机结合,解决了低端单片机图像采集的速度瓶颈问题。

    引脚如下
    T2_wm9XjXaXXXXXXXX_!!49873130.jpg
    3V3-----输入电源电压(推荐使用3.3,5V也可,但不推荐)
    GDN-----接地点
    SIO_C---SCCB接口的控制时钟(注意:部分低级单片机需要上拉控制,和I2C接口类似)
    SIO_D---SCCB接口的串行数据输入(出)端(注意:部分低级单片机需要上拉控制,和I2C接口类似)
    VSYNC---帧同步信号(输出信号)
    HREF----行同步信号(输出信号)
    PCLK----像素时钟(输出信号)
    D0-D7---数据端口(输出信号)
    RESTE---复位端口(正常使用拉高)
    PWDN----功耗选择模式(正常使用拉低)


    OV7670图像传感器,体积小、工作电压低,提供单片VGA摄像和影像处理器的所有功能。通过SCCB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。

    ● 标准的SCCB接口,兼容I2C接口
    ●RawRGB,RGB(GRB4:2:2,RGB565/555/444),YUV(4:2:2)和YCbCr(4:2:2)输出格式
    ● 支持VGA,CIF,和从CIF到40x30的各种尺寸
    ●VarioPixel子采样方式
    ● 自动影响控制功能包括:自动曝光控制、自动增益控制、自动白平衡,自动消除灯光条纹、自动黑电平校准.图像质量控制包括色饱和度、色相、伽玛、锐度ANTI_BLOOM
    ●ISP具有消除噪声和坏点补偿功能
    ● 支持图像缩放
    ● 镜头失光补偿
    ●50/60Hz自动检测
    ● 饱和度自动调节(UV调整)
    ● 边缘增强自动调节
    ● 降噪自动调节
    关键参数:
    (1)感光阵列640X480;
    (2)IO电压2.5V to 3.0V (内部LDO给核供电1.8V);
    (3)功耗工作60mW/15fpsVGAYUV;
    (4)休眠<20μA;
    (5)温度操作-30℃到70℃;
    (6)稳定工作0℃到50℃;
    (7)输出格式(8位)? YUV/YCbCr4:2:2 RGB565/555/444 GRB4:2:2 Raw RGB Data
    (8)学尺寸1/6"(9)视场角25°
    (10)最大贞率30fps VGA,灵敏度1.3V/(Lux-sec);
    (11)信噪比46 dB;
    (12)动态范围52dB
    (13)浏览模式逐行;
    (14)电子曝光1行到510行;
    (15)像素面积3.6μm x 3.6μm;
    (16)暗电流12 mV/s at 60℃;


    1 OV7670的像素时钟是模块内部给出来的

    2 OV7670虽然晶振时钟只有24MHz,其实是内部倍频的(实际PCLK输出有18~25MHz左右<Tpclk>40ns><640*480每秒30帧(640*480*2*30 = 18.432MHz)>)

    50M的主频如果只是在PCLK跳变的时候把Din直接存储到内部RAM还能勉强胜任,但Cortex内部RAM没有这么多,即使RAM够用如果采集图像的时候出来一个中断也会使用时序错乱,丢数据; 当然,我相信用50M主频的单片机采集OV7670图像(一帧时间只采集再利用多帧时间处理)这样最大程度节省成本的事有人做出来不是完全不可能的。但就我个人感觉单就FIFO的操作很方便性、速度、稳定性。这几点就使我们没理由不使用。


    大致工作过程:光照射到感光阵列产生相应电荷,传输到相应的模拟信号处理单元,再由AD转换为数字信号,在经由数字信号处理器插值到RGB信号,最后传输到屏幕上......



    参考如下帖子,结果串口无输出,目前还在调试中
    四周年庆-【赚周年币】技术帖Week1-Day1——Fireduino学习19:OV7670寄存...-爱板网论坛 - 电子工程师学习交流园地 https://www.cirmall.com/bbs/thread-59636-1-1.html
    回复

    使用道具 举报

  • TA的每日心情

    2021-12-7 12:35
  • 签到天数: 1354 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-5-19 09:35:08 | 显示全部楼层
    很适用,学习和参考
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 04:39 , Processed in 0.127272 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.