OV5640 sensor 偏绿调试记录

最近在调试一个sensor,是基于ARM+FPGA构架的 8个sensor的一个全景拍照的平台。FPGA是EP3C25,基带处理芯片是海思的HI3518e。整个框架和原理设计都OK。后面就是调试sensor。

OV5640接口方式,我选用的是DC接口(数字摄像头标准接口,亦或叫DVP、CAMIF接口)。其中DC接口的标准时序是 PCLK,VS,HS,DB[7:0]。根据时序接口方式,调整PCLK,VS,HS等的沿有效性和极性。如果时序和极性不正确可能导致基带芯片无法采集到数据。出现空帧的情况。在实际调试过程中我发现,显示的照片偏绿如下图所示。是整体偏绿:

这种问题我分析了比较长的时间。对应sensor,特别是OV5640这样的sensor,是pad上面用的。一般很少有人调试。资料相对来讲比较少。OV公司保密也比较强大,里面的寄存器讲得很粗糙。

后面我总结了一点我调试的思路,用来方便后面调试的人。

1.要分析数据,很多时候出现全偏录的情况。要分析YUV数据。YUV一般sensor的数据是YUV422.sensor输出的数据设置成YUYV。这样在数据线上面可以看到对应的YUV数据。下图是FPGA的采集到的数据用于分析。

2.其中有一个小技巧就是将sensor里面的test partner设置为黑色数据输出。如果设置为黑色,其中的RGB数据输出为 0 0 255,算出来的YUV就是 0 128 128。所以看到的上面fpga的数据YUV为 0x04 0x80 0x80。

3.根据上面输出的数据情况,和采样后保存的YUV数据。可以分析出是否是数据线有问题,还是存储格式有问题。一开始我以为是我的数据存储空间有问题。以为是YUV 中的UV顺序或是UV的值本来就有问题。因为单纯看Y的数据效果还可以。

4.后面经过仔细分析,发现不是这个问题。是数据线的问题。sensor出来的数据线是DB9~2,基带芯片处理的数据线是 DVI12~4;反向的连接数据线就对了。开始数据出来数据偏绿显示的YUV是, Y U V 0 64 64 。所以分析出来是数据线偏移了。

5.后来调整了数据线,图像正常了。这是我调试后的画面。

照片是晚上照的 效果不是很好。这个问题终于解决了。下面可以开始后面的开发了。

时间: 2024-10-31 22:08:36

OV5640 sensor 偏绿调试记录的相关文章

【原】各种语言疑难BUG调试记录

之前遇到棘手的BUG总是在处理过后就不管了,导致后面碰到后重复工作太多.现专门开辟一篇日志以记录接下来一路上的DEBUG记录. [C++] 1.mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file 说明:由于VC需要把生成的文件中嵌入MANIFEST文件,而由于杀毒软件之类的会握有这个文件句柄(因为杀毒软件发现这个EXE,DLL正在读写),于是VC就写不进去了,方

Android KitKat 4.4 Wifi移植之AP模式与网络共享功能调试记录

Tethering技术在移动平台上已经运用的越来越广泛了,它可以把移动设备当做一个接入点,其它的设备可以通过Wi-Fi,USB或是Bluetooth等方式连接到此移动设备.在Android中可以将Wifi设为AP模式作为WLAN接入点,从而与其他设备共享Android的互联网连接.Android成为接入点后,就无法通过WLAN连接使用Android的应用程序访问互联网,但可以通过其他方式如以太网或移动网络访问互联网.此时以太网或移动网络在网络共享(Tethering)中是作为upstream的角

ORACLE 11G 触发器调试记录Error: PLS-00201: identifier'SYS.DBMS_SYSTEM' must be declared

1,触发器内容如下 CREATE OR REPLACE TRIGGER"LOGON_DENIED_TO_ALERT" AFTER servererror ON DATABASE DECLARE message   VARCHAR2(168); ip        VARCHAR2(15); v_os_user VARCHAR2(80); v_module  VARCHAR2(50); v_action  VARCHAR2(50); v_pid     VARCHAR2(10); v_s

上海机房阵列柜调试记录

1.vmare部分 vmotion http://qingping.blog.51cto.com/335806/404718/ storage vmotion http://qingping.blog.51cto.com/335806/396488 一些基本概念. vCenter的基本单位是DataCenter数据中心,一般以机房位置来划分,是vCenter的最高级的划分单位. Cluster:集群,多台ESXi服务器组成一个集群,可以提供高级功能,通常同一机房计算机会放入一个DataCente

stm32调试记录一

..\..\SYSTEM\usart\usart.c(1): error:  #5: cannot open source input file "sys.h": No such file or directory #include "..\sys\sys.h"这样就可以找到路径了 再次编译出现了问题 ..\..\SYSTEM\usart\..\sys\sys.h(3): error:  #5: cannot open source input file "

Video Test Pattern Generator(7.0)软件调试记录

Video Test Pattern Generator(7.0)软件调试记录 1 1. 2 XVidC_VideoMode 3 XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I 4 5 2. 6 typedef struct { 7 u16 HActive; 8 u16 HFrontPorch; 9 u16 HSyncWidth; 10 u16 HBackPorch; 11 u16 HTotal; 12 u8 HSyncPolarity; 13 u16 VAc

mysql 存储过程错误调试记录

 mysql存储过程错误调试记录 公司平台在mysql数据库上运行,一些存储过程报错,调试过程痛苦,记录错误及解决办法,供参考. 调试环境:dbForge Studio for MySQL 6.1版本,试用版: 1.BIZ_GET_ORGAN_BY_CONDITION 问题1:提示递归调用错误,递归次数太多:根据业务设置,最大255: [email protected]@max_sp_recursion_depth = 10; 常见如乱码造成导致条件失效,出现死循环: 问题2:变量的内容是乱

IOS真机调试记录

首先,登录到http://developer.apple.com/devcenter/ios/index.action,如果已经购买了iPhone Develop Program(iDP),登录进去后,页面右上角会看到如下图所示的页面: 点击第一项:iOS Provisioning Portal,然后会看到下面的页面: 点击进入Certificates,然后看到如下所示的页面: 点击图中的click here to download now,这会下载下来一个AppleWWDRCA.cer文件,这

Qualnet 调试记录

在Qualnet里添加了一个应用层协议,编译完全通过,但在运行时总是在63s内存读取错误.可以肯定是路由表更新处指针调用错误了.为了定位错误,最可靠的办法就是使用VS进行调试.但按照官方手册设置调试时,却出现了如下错误信息: 'qualnet.exe': Loaded 'C:\snt\qualnet\5.0\bin\qualnet.exe', Symbols loaded. 'qualnet.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll' 'qualne