搜索
bottom↓
楼主: zidong404

OV7670+FIFO+LCD DIY简易数码照相机(有图有源码),分别基于M16和STM32

  [复制链接]

出0入0汤圆

发表于 2011-2-6 14:05:58 | 显示全部楼层
顶一下

出0入0汤圆

发表于 2011-2-12 12:10:10 | 显示全部楼层
zidong404

请问一下你的原理图的R3,就是接AVDD的电阻是0欧吗?AVDD不是2.45-2.8V吗?接3.3V没有问题吗?

出0入0汤圆

发表于 2011-2-12 20:47:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-12 21:30:24 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-14 11:12:42 | 显示全部楼层
回复【101楼】simondo
zidong404  
请问一下你的原理图的r3,就是接avdd的电阻是0欧吗?avdd不是2.45-2.8v吗?接3.3v没有问题吗?

-----------------------------------------------------------------------

这是为了简化供电电源,实际焊接的时候我用的是一个磁珠代替的这个0欧姆电阻,然后接到3.3V,实验来说是没有问题的,因为3.3V还没有超过它的最高忍受电压。

出0入0汤圆

发表于 2011-2-14 11:15:59 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-14 11:49:57 | 显示全部楼层
之前有很多网友调试的时候出现了不同的问题,我这里总结下,方便大家调试的时候遇到问题参考排除。
    这些问题是基于使用422视频FIFO+LCD显示方案引起的,其他的采集显示方案出现问题时也可以参考。
1、LCD显示的图像分块或上下左右交错;
   这种情况要注重检查422的读写指针是否正确复位,如果在读完成一帧缓存的数据后读指针没有正确复位到0地址,那么下一次读到的数据必然是错误的随机数据(图像畸变怪异)或者非图像的第一个起始像素点(图像交错分块),写指针不能正确复位到0地址也会引起同样的问题。再有就是一般的LCD显示像素为320*240,所以通常摄像头配置输出也为320*240,但是要注意摄像头的输出为一行有320个像素,共240行,所以在使用LCD的GRAM AC地址自加功能时要注意设置的window内AC地址的增长方向,简单来说就是LCD配置为横屏还是竖屏,以我自己的视角来看时,我将一行显示320个像素,一共240行定义为横屏,在配置LCD时就配置为横屏,否则图像会交错。在我的LCD_Driver.c里面有横屏、竖屏初始化的代码,主要是ILI9320和9325两个switch分支。
2、图像轮廓正常,但显示的图像偏绿、偏红或偏其他颜色;
   这种情况下重点检查D0-D7数据线是否连接正常,因为配置的像素格式为RGB565,一个像素是有两个字节拼接而成,如果数据线硬件连接不稳定或顺序交换,那么得到的RGB的就会有规则的偏像一种颜色。
3、图像不稳定,或者根本没有所谓图像可言;
   这种情况引起的问题比较多,首先要判断摄像头是否初始化成功,接着看LCD是否驱动成功,然后检查422的读写控制,D0-D7数据线,摄像头外部时钟提供,摄像头行场同步,像素同步时钟是否稳定等,最后回到问题1,仔细排查。

出0入0汤圆

发表于 2011-2-18 12:26:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-1 10:19:03 | 显示全部楼层
mark...

出0入0汤圆

发表于 2011-3-5 10:44:12 | 显示全部楼层
回复【106楼】zidong404
    之前有很多网友调试的时候出现了不同的问题,我这里总结下,方便大家调试的时候遇到问题参考排除。
    这些问题是基于使用422视频fifo+lcd显示方案引起的,其他的采集显示方案出现问题时也可以参考。
1、lcd显示的图像分块或上下左右交错;
   这种情况要注重检查422的读写指针是否正确复位,如果在读完成一帧缓存的数据后读指针没有正确复位到0地址,那么下一次读到的数据必然是错误的随机数据(图像畸变怪异)或者非图像的第一个起始像素点(图像交错分块),写指针不能正确复位到0地址也会引起同样的问题。再有就是一般的lcd显示像素为320*240,所以通常摄像头配置输出也为320*240,但是要注意摄像头的输出为一行有320个像素,共240行,所以在使用lcd的gram ac地址自加功能时要注意设置的window内ac地址的增长方向,简单来说就是lcd配置为横屏还是竖屏,以我自己......
-----------------------------------------------------------------------

经验啊,谢谢分享

出0入0汤圆

发表于 2011-3-5 15:43:17 | 显示全部楼层

显示错误的图片 (原文件名:DSC05641.JPG)
图片显示黑、灰色之类的颜色时严重偏蓝是怎么回事,上面的说是DO的输出数据段的事,但是我检查了,每个输出管教都有变化,改了好几天都没改出来,高手请指教了,菜鸟提问了……

出0入0汤圆

发表于 2011-3-5 16:40:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-6 17:04:11 | 显示全部楼层
MARK

出0入0汤圆

 楼主| 发表于 2011-3-7 13:33:30 | 显示全部楼层
回复【110楼】dongye
-----------------------------------------------------------------------

请检查你的422有没有虚焊。

出0入0汤圆

发表于 2011-3-8 08:51:47 | 显示全部楼层
硬件方面我都检查好些次了,没有问题,总之我在网上查到的任何关于有关颜色不正常的细节我都去试着调试了,但是还没有结果,我都快崩溃了……

出0入0汤圆

 楼主| 发表于 2011-3-8 12:53:14 | 显示全部楼层
回复【114楼】dongye
硬件方面我都检查好些次了,没有问题,总之我在网上查到的任何关于有关颜色不正常的细节我都去试着调试了,但是还没有结果,我都快崩溃了……
-----------------------------------------------------------------------
这种模糊多半的可能都是数据线不稳定引起的,如果硬件链接没有问题,那你的元器件有没有问题呢?比如摄像头?

出0入0汤圆

发表于 2011-3-10 16:44:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-10 17:16:31 | 显示全部楼层
MARK!!!

出0入0汤圆

发表于 2011-3-15 13:25:37 | 显示全部楼层
不看真的不知道啊!

出0入0汤圆

发表于 2011-3-15 17:03:11 | 显示全部楼层
呵呵,mark!

出0入0汤圆

发表于 2011-3-30 00:32:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-4 08:21:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-7 09:54:06 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-4-8 18:35:46 | 显示全部楼层
再贴一个bmp读取和存储的函数模块,文件系统是FatFs,支持32位/24位/16位bmp的读取,支持16位bmp的存储。
点击此处下载 ourdev_629321SJPTA2.rar(文件大小:5K) (原文件名:BMP.rar)
以下是存储的320*240的OV7670的图片效果,虽然只有10万像素,但是效果上看起来比30万的手机摄像头拍的都要好,如果用OV7670的30W像素输出,效果应该会更好:


(原文件名:111.jpg)


(原文件名:222.jpg)

出0入0汤圆

发表于 2011-4-17 17:34:10 | 显示全部楼层
为何下不下来资料啊,为何+................

出0入0汤圆

发表于 2011-4-18 00:46:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-25 15:13:48 | 显示全部楼层
COOL

出0入0汤圆

发表于 2011-4-29 19:09:49 | 显示全部楼层
lz,可以把STM32那个工程发我邮箱
litchijun@gmail.com
吗?
我现在下载不了,谢了!

出0入0汤圆

 楼主| 发表于 2011-5-4 15:10:50 | 显示全部楼层
这是STM32下的采集显示代码,并添加了BMP预览和照片BMP存储功能,FatFs移植的是最新的008a版本,基本所有API都测试过,包括格式化,目前测试支持8G卡(手上没有再大容量的卡)。
   
点击此处下载 ourdev_636480DPAQWM.rar(文件大小:8.38M) (原文件名:MyProjectV1_5(LCD_USB_OV V1_2 优化).rar)
    这是工程的说明,并且包括了我自己的STM32套件说明。

(原文件名:道道道.jpg)
点击此处下载 ourdev_636481P1JVJF.pdf(文件大小:511K) (原文件名:STM32 OV7670 开发套件.pdf)

出0入0汤圆

 楼主| 发表于 2011-5-4 15:12:08 | 显示全部楼层
各位朋友如果不能下载请留下一个邮箱,我传到你们邮箱。或者等一下再访问网站。

出0入0汤圆

发表于 2011-5-8 13:38:28 | 显示全部楼层
搂主发给我一份吧,下不来 sgear123@ymail.com

出0入0汤圆

发表于 2011-5-8 22:06:34 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-5-9 14:28:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-9 20:24:49 | 显示全部楼层
高手谢谢了。

出0入0汤圆

发表于 2011-5-23 09:06:34 | 显示全部楼层
回复【34楼】huaixiaohai
-----------------------------------------------------------------------

楼主,你现在的图像调的怎么样了?http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4736337&bbs_page_no=1&search_mode=1&search_text=ov7670&bbs_id=9999这是我发的贴子。请你看下,我现在的图像也是有点不太清楚。具体的说明都在我的贴子里。

出0入0汤圆

发表于 2011-5-23 09:17:46 | 显示全部楼层
很好。

出0入0汤圆

发表于 2011-5-23 14:37:48 | 显示全部楼层
34楼的大哥,能否传个上位机图像采集软件,谢谢!liutie040918@126.com

出0入0汤圆

 楼主| 发表于 2011-5-24 21:18:18 | 显示全部楼层
这是一个颜色识别的完整工程,目前识别预定义特征是纯黄色和纯绿色,使用RGB 三个分量直方图概率统计的方法,并且函数可以设置任意识别区域和区域大小,希望对要做颜色识别的朋友有一定的参考作用。
点击此处下载 ourdev_642594XNNLKH.rar(文件大小:8.51M) (原文件名:MyProjectV1_5(OV Color).rar)

出0入0汤圆

发表于 2011-6-1 13:48:04 | 显示全部楼层
回复【15楼】huaixiaohai
-----------------------------------------------------------------------

你好啊,我现在用一块FPGA板,在做个无线图像传送,可是,现在有一个问题,OV7670有些寄存器能写,有应答信号,有些寄存器没有应答信号就一直执行写操作,跳不出循环哦

出0入0汤圆

发表于 2011-6-1 13:56:04 | 显示全部楼层
回复【140楼】Tak_shing
-----------------------------------------------------------------------

这个是我的SCCB写寄存器时序图
这个是我的SCCB时序图,粗线部分时读应答信号ACK (原文件名:未命名民.jpg)

出0入0汤圆

 楼主| 发表于 2011-6-1 13:59:24 | 显示全部楼层
回复【141楼】Tak_shing
回复【140楼】tak_shing  
-----------------------------------------------------------------------
这个是我的sccb写寄存器时序图

这个是我的sccb时序图,粗线部分时读应答信号ack (原文件名:未命名民.jpg)

-----------------------------------------------------------------------

SCCB时序我直接参考的网上的代码,可以在200K的频率下稳定工作。你可以参考下SCCB.c里面的IO模拟时序。

出0入0汤圆

发表于 2011-6-1 22:05:13 | 显示全部楼层
你好,我看过那个C语言了,我尝试完全模仿那个时序,每次写了地址后再延时100us再写寄存器地址,再延时,再写数据!但效果还是一样,就是有些寄存器能写,有些不能写

出0入0汤圆

发表于 2011-6-3 13:06:32 | 显示全部楼层
请问一下,我觉得我的SCCB时序应该没有问题了,可能我的驱动步骤有问题,我说说出来,如果觉得有问题,请指点一下.麻烦了!上电后,Reset在5ms后由低拉高,然后再过5ms后写SCCB初始化。期间PDWN一直为低,XCLK保持24MHZ

出0入0汤圆

发表于 2011-6-3 14:39:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-3 16:23:30 | 显示全部楼层
对楼主的wifi SPI驱动感兴趣,能用吗

出0入0汤圆

发表于 2011-6-3 16:48:33 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-6-3 23:59:51 | 显示全部楼层
请问SCCB寄存器是不是任何值都能写的,我这边呢,现在发现,同一寄存器,有些值可以写成功,有些值不能写成功,有时连默认值都写不了,会不会出现这样的情况呢

出0入0汤圆

发表于 2011-6-5 02:57:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-5 21:15:35 | 显示全部楼层
cool!

出0入0汤圆

 楼主| 发表于 2011-6-6 21:52:24 | 显示全部楼层
回复【146楼】first blood
对楼主的wifi spi驱动感兴趣,能用吗
-----------------------------------------------------------------------

WIFI SPI只能下载固件,WLAN驱动部分还没有移植。

出0入0汤圆

 楼主| 发表于 2011-6-6 21:54:44 | 显示全部楼层
回复【148楼】Tak_shing
请问sccb寄存器是不是任何值都能写的,我这边呢,现在发现,同一寄存器,有些值可以写成功,有些值不能写成功,有时连默认值都写不了,会不会出现这样的情况呢
-----------------------------------------------------------------------

寄存器几个重要的,如水平镜像、垂直翻转,RGB设定,像素大小设定,时钟配置我都试过,其他的如自动增益,自动曝光这些用的是默认值暂时没有关注。

出0入0汤圆

发表于 2011-6-7 12:39:34 | 显示全部楼层
mark mark

出0入0汤圆

发表于 2011-6-7 17:01:30 | 显示全部楼层
cool

出0入0汤圆

发表于 2011-6-7 23:06:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-15 23:46:51 | 显示全部楼层
hhh

出0入0汤圆

发表于 2011-6-17 10:49:42 | 显示全部楼层
强贴,有时间看看,学习学习,感谢搂主分享

出0入0汤圆

发表于 2011-6-21 22:58:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 13:33:12 | 显示全部楼层
lz,ov7670输出不是bayer格式吗??你程序中直接读取16位数据发给屏,不会显示有问题吗??

出0入0汤圆

发表于 2011-6-27 15:25:36 | 显示全部楼层
不错,也在搞摄像头。是两个摄像头采集合成的

出0入0汤圆

发表于 2011-7-3 22:54:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-5 16:34:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-5 19:17:24 | 显示全部楼层
斑竹太厉害了啊,而且很坦诚啊,谢谢,我最近也在准备开发视频阿,多多学习

出0入0汤圆

发表于 2011-7-6 15:20:54 | 显示全部楼层
强帖,强力MARK

出0入0汤圆

发表于 2011-7-9 16:04:24 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-7-12 20:20:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-3 17:29:00 | 显示全部楼层
make

出0入0汤圆

发表于 2011-8-3 23:18:08 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-4 01:23:24 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-7 10:59:21 | 显示全部楼层
心动了。。。mark

出0入0汤圆

发表于 2011-8-10 13:13:50 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-16 16:23:20 | 显示全部楼层
我的摄像头终于调出来了谢谢楼组
现在特此上图

(原文件名:DSC_0000046.jpg)


(原文件名:DSC_0000047.jpg)


(原文件名:DSC_0000048.jpg)


(原文件名:DSC_0000051.jpg)

出0入0汤圆

发表于 2011-8-20 00:41:38 | 显示全部楼层
牛。回头下载来研究一下。
请问楼主和179楼,你们是怎么控制曝光量的,机械还是电子?

出0入0汤圆

发表于 2011-8-21 02:39:03 | 显示全部楼层
楼主有没有上位机看图的软件啊,我的摄像头也跳出来了,现在想设置YUV格式,但是感觉得到的数据不太对,想还原看看~

出0入0汤圆

发表于 2011-8-21 15:21:43 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-21 16:55:26 | 显示全部楼层
请问只有一个ov7670,单片机是stm32,有液晶,能不能直接用ov7670直接和stm32相连,还需要其他电路吗,程序应该注意那些,注意到你们都有fifo,但现在没有那东西,请问我能实现驱动这个摄像头吗

出0入0汤圆

发表于 2011-8-25 17:16:47 | 显示全部楼层
顶楼主一个。楼上的可以请教一下wangguanfu

出0入0汤圆

发表于 2011-8-26 16:58:35 | 显示全部楼层
高手啊。一定要多多学习。

出0入0汤圆

发表于 2011-9-6 10:50:29 | 显示全部楼层
回复【2楼】zidong404
-----------------------------------------------------------------------

楼主你好
我最近也在学习  图像采集这块
可以加下你的QQ吗

出0入0汤圆

发表于 2011-9-6 13:37:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 09:58:31 | 显示全部楼层

出0入0汤圆

发表于 2011-9-14 12:29:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-14 13:17:11 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-9-14 16:37:42 | 显示全部楼层
正在做这方面的东西,学习了

出0入0汤圆

发表于 2011-9-18 15:33:22 | 显示全部楼层
学习了……

出0入0汤圆

发表于 2011-9-21 19:44:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-2 22:07:02 | 显示全部楼层
回复【179楼】heisexingdong1
-----------------------------------------------------------------------
好帅啊   我现在在弄OV7670   但I2C写摄像头它老是没有回应,请问是什么原因啊
程序能共享参考一下吗

出0入0汤圆

发表于 2011-10-2 22:54:20 | 显示全部楼层
果断mark

出0入0汤圆

发表于 2011-10-3 13:01:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-12 22:06:18 | 显示全部楼层
先收藏了,谢谢楼主分享

出0入0汤圆

发表于 2011-10-21 12:35:52 | 显示全部楼层
太强了  楼主  小弟也正在搞  借鉴一下

出0入0汤圆

发表于 2011-10-21 12:52:15 | 显示全部楼层
楼主用的是什么摄像头? 多少钱?

出0入0汤圆

发表于 2011-10-23 20:15:50 | 显示全部楼层
厉害,顶!

出0入0汤圆

发表于 2011-10-26 10:46:21 | 显示全部楼层
回复【楼主位】zidong404
-----------------------------------------------------------------------

楼主  以及用过的大家 ,这里的VSYNC是接中断的。而XCLK 好像没接的吗。。是用内部时钟的吗?

出0入0汤圆

发表于 2011-10-30 09:45:23 | 显示全部楼层
回复【205楼】tongzhuwen 童祝稳
-----------------------------------------------------------------------

成功弄出来!!

出0入0汤圆

发表于 2011-10-30 09:51:05 | 显示全部楼层
支持下

出0入0汤圆

发表于 2011-10-30 10:40:07 | 显示全部楼层
回复【183楼】xiaox324
请问只有一个ov7670,单片机是stm32,有液晶,能不能直接用ov7670直接和stm32相连,还需要其他电路吗,程序应该注意那些,注意到你们都有fifo,但现在没有那东西,请问我能实现驱动这个摄像头吗
-----------------------------------------------------------------------

求解

出0入0汤圆

发表于 2011-11-2 20:06:11 | 显示全部楼层
回复【2楼】zidong404
-----------------------------------------------------------------------

LZ 骗人 并没有照相功能。。我想看看怎么把图像转换成图片放进SD卡中。。。。

出0入0汤圆

 楼主| 发表于 2011-11-2 20:17:26 | 显示全部楼层
回复【209楼】tongzhuwen 童祝稳
回复【2楼】zidong404  
-----------------------------------------------------------------------
lz 骗人 并没有照相功能。。我想看看怎么把图像转换成图片放进sd卡中。。。。
-----------------------------------------------------------------------

不好意思,前期的版本没有bmp存储拍照功能,图片可以放在SD里面的代码在128楼,请到那里下载。

出0入0汤圆

发表于 2011-11-3 16:42:28 | 显示全部楼层
LZ怎么设置进行彩条测试啊,我无论怎么设置0X70,0X71也无法进行彩条测试

出0入0汤圆

发表于 2011-11-7 16:45:29 | 显示全部楼层
楼主好,我现在再用你的这个模块,想做一个摄像头无线监控,MCU用STM32,无线模块也是24L01,现在还差把采集到的数据传送到另一个板上,不知道发送和接收程序怎么写,不知道楼主有没有什么建议教一下,O(∩_∩)O谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2022-9-26 15:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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