芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 6183|回复: 0

双目摄像头实验某侧图像又被多切分一次的原因及解决方法

[复制链接]
  • TA的每日心情
    开心
    2021-12-31 09:03
  • 71

    主题

    78

    帖子

    976

    积分

    高级会员

    Rank: 6Rank: 6

    积分
    976
    发表于 2021-11-19 14:39:47 | 显示全部楼层 |阅读模式
    008.png

    实验现象:
    如图,上方为以太网双目摄像头实验的偶发实验现象,可以看到左边的图片中间被多切分了一次,与实际的双目摄像头的二分屏实验现象不符。
    原因分析:
    经过分析,得出可能的原因是:摄像头在初始化时会利用I2C对寄存器进行编号由小到大依次配置,配置过程严格按I2C控制读写顺序依次进行,即ROM【0】->ROM【1】->ROM【2】.........,而ov5640摄像头的可配置寄存器ROM【1】是一个对复位进行配置的专用寄存器。如该寄存器配置完成,则摄像头将处于复位状态,此时,I2C控制器对紧接后方的寄存器进行配置过程,与该复位状态在同一时间段同时进行,此时很有可能导致ROM【2】,ROM【3】..........等紧后配置的若干寄存器配置失效。

    023.jpg
    解决方法:
    针对以上出现的问题,有两种可选方案:
    第一种方案是:可以通过将I2C寄存器的复位方案设置为只采用硬件管脚复位,即设置ROM【0】= 24‘h3103_11;ROM【1】= 24‘h3103_11;ROM【2】= 24‘h3103_11,其余寄存器保持不变。这种方案可以确保顺利配置所有寄存器,完成后复位硬件管脚。但局限在于摄像头复位管脚有引出,并且接于控制器(如FPGA)管脚端。
    第二种解决方法是:对摄像头控制器进行改进,使用计数器人为设计一个可靠延时(典型如使用5ms)的采用判断条件,同时对I2C控制器也配套进行延时改进。
    024.jpg

    021.jpg

    025.jpg
    由于是双目工程,改善完成后,需等两个摄像头都初始化完成后,再启动DVP_capture模块以显示图像输出,否则由于摄像头初始化完成的时机不受控,导致图像输出的起始点不定,造成图像看起来被多切分一次。

    002.png

    001.png



    这里的改动,可以对比原ACX720开发板的双目GMII部分摄像头初始化文件和ACZ702开发板的RGMII摄像头初始化文件。如果您手头任一双目摄像头工程出现如上实验现象,则可以考虑参考如下ACZ702开发板双目摄像头新版本的初始化驱动部分进行替换。





    ACX720_ov5640x2_udp_gmii.rar

    181.07 KB, 下载次数: 501

    这是对照组,不稳定的摄像头初始化例程

    ACZ702_ov5640x2_udp_rgmii.rar

    296.32 KB, 下载次数: 499

    这是改善后组,能提供稳定的摄像头初始化输出

    camera_init.rar

    121.82 KB, 下载次数: 524

    这是改善后组的摄像头初始化部分,用于替换对照组的摄像头初始化部分进行改进 ... ... ... ... ...

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-21 17:17 , Processed in 0.110712 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表