-00-开始【OV5640】
来源:互联网 发布:矩阵的初等变换 编辑:程序博客网 时间:2024/06/05 03:50
最近做了一块转接板,把OV5640模块接入了FPGA开发板,昨天终于能够正常显示,没有问题了。 后面搞一版稳定的代码,然后把RGB565改成YUV试试显示效果有没有提升。
先来看看图,晚上测的,所以噪点比较多:
640×480 @60Hz
开发板连接
开发板连接
开发板连接
中间还是遇到了一些问题的。
RGB565是2个pclk传输2个字节{R[4:0], G[5:3]} {G[2:0], B[4:0]},颜色不对,检查到原因是我把2个字节的输入顺序搞反了,现已解决。
下图是摄像头捕获图像的输出,先不管条状问题。
下图中解决了像素字节的输入问题,条状问题还是存在的。
解决了像素字节的输入问题,条状问题还是存在的。
在640*480的分辨率下测试,分析是我代码里面fifo的存取出了问题,导致了数据错位,但是我把逻辑里面的fifo关掉,直接使用Xilinx的v_vid_in_axi4s IP核直接采集摄像头DVP信号,仍然有条状问题,要哭了`TT。
又想了想,就算fifo有溢出或者什么问题,也不会出现条状,应该是斜着的情况或者是乱乱的图像,不可能像这样有点没规律有点有规律的,况且一开始自己写的代码中的fifo都是做过综合后仿真的,应该没有问题啊。接着我把分辨率改小了,发现在320×240和160×120下,输出竟然是正常的,我就怀疑是摄像头输出的数据有问题,但是我用逻辑分析仪测了信号,DVP的时序没有问题啊。。。会不会是复位过程有问题,复位准备时间太短?导致cmos传感器、ISP没有准备好,就开始了发送。
摄像头SCCB接口配置代码是从网上一个做stm32采集OV5640的代码中借鉴来的~~里面有一条复位指令看起来有点出现的不是时候,我按照参考设计的代码,重新梳理了一遍,主要是调整了摄像头的上电、复位过程,重新测试,终于OK了!!看来我的逻辑代码是没有问题的。。真是自己把自己坑了。
期间还遇到过一个问题,下载了3个版本的SCCB驱动代码,都是STM32的,都能输出DVP时序,但也都有个问题,用逻辑分析仪看不到VSYNC信号的变化。我不得不看这datasheet又改了一个与VSYNC相关的寄存器后才能正常的DVP输出。
这个甚是奇怪,按理说他们开发板的代码肯定应该可以使用的,为什么我测不到vsync信号。。。(写到这里,突然想到,条状问题解决后我还没有重新测过vsync信号,是不是我复位过程的错误,导致了这个问题。)
最终试了一下,问题解决~
1280×800 @30Hz,彩条,中间的一条图像是动态移动的
- -00-开始【OV5640】
- ov5640 regs
- ov5640,ov9712
- ov5640启动流程
- STM407ZET6+OV5640调试心得
- 解决ov5640困扰好久的问题
- 通过FPGA驱动OV5640调试记录
- OV5640 sensor 偏绿调试记录
- fsl Camera调试第五篇 ov5640.c
- S5P4418 OV5640摄像头 花屏的解决方法
- ov5640摄像头驱动的开发过程
- S5P6818开发板移植OV5640摄像头
- OV5640开机自动配置IP编写
- dts文件分析---以ov5640为例,修改dts文件使ov5640使用第二个IPU
- BananaPi上ov5640摄像头自动对焦功能的实现
- 改善OV5640的锯齿现象(应用梯度导向算法)
- -01-摄像头DVP输入IP核设计【OV5640】
- 调通sina33m下的OV5640(分色排版)
- activity会签功能的实现
- elasticsearch could reserve enough space for object heap
- 一些对流程控制和函数的理解
- mysql查询优化建议
- 浅谈js中的call,apply,bind方法中的this指针
- -00-开始【OV5640】
- Hibernate学习-12:一级缓存
- Windows netstat 查看端口、进程占用
- yolo博客收集
- WebView和H5的那点事
- 白话阿里巴巴Java开发手册(编程规约)
- 算法导论 练习题 9.3-8
- Myeclipse出现错误:Errors running builder 'Android Package Builder'
- java中Cookie的增删改查操作。