caizijian 发表于 2010-12-26 08:12:36

MT9M111摄像头出数据了

前不久淘宝了几个MT9M111 CMOS,在FPGA上差不多弄出效果来了。
特来向大家汇报一下
不多说 直接上图
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607177U5X2I3.JPG
开发板用的DE2 (原文件名:DSCF9623.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607178NBT7NI.JPG
摄像头是MT9M111,guanfuwang那买的 (原文件名:DSCF9628.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607179SJ0SCP.JPG
还加了一个正在采的5M像素的OV摄像头 (原文件名:DSCF9627.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607180C6ALVB.JPG
这就是VGA的实时显示了,由于板子的原因,最多只支持800*600?60Hz (原文件名:DSCF9631.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607181ECCCQ0.JPG
人眼看起是很清楚的,显示器在刷新,照像技术不行 (原文件名:DSCF9636.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607182J6SNTX.jpg
这张就是MT9M111拍到的照片,存在了SD卡中为BMP,上传时转成了JPG (原文件名:image (2).jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607183XQYY71.jpg
以下都是MT9M111拍到的照片,由于是晚上拍的,可能效果有点不好 (原文件名:image1 (2).jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607184RZ73MG.jpg
调试过程中的不知名错误 (原文件名:image (3).jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607185WBAAZ3.jpg
本人用的YUV转的,这是转化后的R (原文件名:image1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607186K3UJB0.jpg
R+B (原文件名:imagemix.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607187DRO64J.jpg
G通道出了点问题, 某几跟数据线的高低位连反了 (原文件名:image2.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607188PVFE1O.jpg
帧同步错误 (原文件名:image11.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607189TD1S1I.jpg
FIFO读取时的错误,忘了说,我建了个NIOS的,读使能后要等一个时钟数据才输出 (原文件名:image640.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607190NYPTDQ.jpg
最后一个忠告,千万不要用飞线,这个图片只是干扰还好。之前是图像颜色不对,花了我一天时间都没有找到问题 (原文件名:imageok.jpg)

代码还很乱,后面补上,而且FPGA+NIOS的工程好大

1181zjf 发表于 2010-12-26 08:50:32

圣诞大礼!

mcucow 发表于 2010-12-26 09:03:44

恭喜调试成功

光板的FPGA+SDRAM+FLASH 就完成了VGA和摄像头的刷新,还涉及到其他IC 吗?

vipcff 发表于 2010-12-26 09:14:37

stm32f2xx好像有Camera接口,不知道驱动这个怎么样

wangguanfu 发表于 2010-12-26 09:19:01

恭喜LZ
./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif
./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif
./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif./emotion/em105.gif

hclmcu 发表于 2010-12-26 12:21:00

楼主,请问你那个“调试过程中的不知名错误 ”是怎么调试好的啊?我的也出现这么个问题,我是用nios写的~~

这个是拍的我自己的手~~
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604206DBSYNR.jpg
(原文件名:图像058.jpg)

wangguanfu 发表于 2010-12-26 13:20:09

回复【5楼】hclmcu
楼主,请问你那个“调试过程中的不知名错误 ”是怎么调试好的啊?我的也出现这么个问题,我是用nios写的~~
这个是拍的我自己的手~~


(原文件名:图像058.jpg)
引用图片

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

明显就是RGB顺序或数据高低位顺序错误!!!

xhycopy 发表于 2010-12-26 14:05:57

非常不错,da你用的是什么芯片?

wo_LKH 发表于 2010-12-26 16:34:23

有没有原理图呀我也想学学摄像头、、、、

caizijian 发表于 2010-12-26 18:03:45

回复【2楼】mcucow
-----------------------------------------------------------------------

只用了FPGA+一片SDRAM就实现了采集和在SD卡中存储为BMP图片,如果要实时VGA显示的话需要加一个视频DA芯片,用的是ADV7123

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607280D0QA7D.jpg
系统资源占用情况,当然这不是最简的,还有好多东西都没有去管 (原文件名:占用.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_607281BRRWMP.jpg
大致系统框图 (原文件名:系统.jpg)

caizijian 发表于 2010-12-26 18:06:39

回复【7楼】xhycopy
-----------------------------------------------------------------------

ADV7123

caizijian 发表于 2010-12-26 18:15:01

回复【5楼】hclmcu
-----------------------------------------------------------------------

遇到物体边沿有等高线那种情况通常是数据的低位丢失了,如LSB0,LSB1没有接入系统;
遇到物体边沿呈锯齿状,可能是数据的高低位反了,如:DATA7与DATA6交换了;
如果图像有拖尾或是变色之类的,可能是数据线之间,数据与时钟之间有干扰,最好不要用飞线

caizijian 发表于 2010-12-26 18:22:21

回复【3楼】vipcff
-----------------------------------------------------------------------

最好是外接一个FIFO芯片吧,数据量有点大,130W像素的
如果你要采得快的话,时钟也得要给54M,采慢可以给27M;
应该不是多大问题,单片机最好就不要用YUV了,你乘法跟不上。RAW,Processd Bayer,RGB565这些问题就不大

hshl2010 发表于 2010-12-26 18:46:36

mark

bad_fpga 发表于 2010-12-26 19:10:02

支持,顶

bad_fpga 发表于 2010-12-27 16:10:17

出来的图像需要微调颜色吗?

zgq800712 发表于 2010-12-27 16:55:17

LZ是在哪里啊,里面好密闭啊
我今天没有上班,在外面走走,太阳很好,晒晒太阳,看风景,风景好,发现上班错过了很多东西。

caizijian 发表于 2010-12-27 21:10:14

回复【15楼】bad_fpga
-----------------------------------------------------------------------

我用的是YUV,是要微调颜色的,其它模式我就不知道了

caizijian 发表于 2010-12-27 21:19:26

回复【16楼】zgq800712 SEED
---------------------------------------------------------------------
学校实验室啊,不密闭东西都要被搬光了!

caizijian 发表于 2010-12-27 21:22:11

来晚了 代码就只有在这里补上了
ourdev_607524EMCG2X.rar(文件大小:25.76M) (原文件名:DE2_MTM111_VGA_COLOR_NIOS.rar)

sytu_xww 发表于 2010-12-27 21:35:37

强势顶起

bad_fpga 发表于 2010-12-27 23:53:56

请教一下NIOS的程序是放在SDRAM里面跑的吗?因为你用SDRAM做了个缓存,800X600 60HZ,这样,你的SDRAM的带宽应该也占用完了吧?再做了个SD的读写,不会有冲突吗?可否讲一下如何做到的?

caizijian 发表于 2010-12-28 14:47:05

回复【21楼】bad_fpga
-----------------------------------------------------------------------
哦 都给忘记了SDRAM是被封装成了双口FIFO,摄像头的数据算好后直接填FIFO,FIFO的读取端接在了AVALON-MM总线上,NIOS是在另外一片512K的SRAM上跑的

bad_fpga 发表于 2010-12-30 10:02:14

请问一下,为什么最后一张照片感觉色彩比较鲜艳,而上面那些摄像头在显示器上显示或保存在SD卡那些照片,感觉色彩淡了一些的?是处理的问题吗?在显示器上的色彩淡,能不能调节一下?

caizijian 发表于 2010-12-30 12:31:36

回复【23楼】bad_fpga
-----------------------------------------------------------------------

可以调的,最后一张是G通道的数据有点大
                X_OUT<=( X >>7)- 900;
                Y_OUT<=( Y >>7)+ 420 ;//FOR mt9m111
                Z_OUT<=( Z >>7)- 1400 ;       
                /*
                X_OUT<=( X >>7)- 900;
                Y_OUT<=( Y >>7)+ 320 ;//FOR MT9D111
                Z_OUT<=( Z >>7)- 1400 ;        */
//        Y                596,                0,                        680
MAC_3 u0(        iY,                        iCb,                iCr,
                        17'h00254,        17'h00000,        17'h002A8,
                        X,                iRESET,                iCLK);
//        Cb                596,                -200,                -416
MAC_3 u1(        iY,                        iCb,                iCr,
                        17'h00254,        17'h3FF18,        17'h3FEA6,
                        Y,                iRESET,                iCLK);
//        Cr                596,                1210,                0
MAC_3 u2(        iY,                        iCb,                iCr,
                        17'h00254,        17'h004BA,        17'h00000,
                        Z,                iRESET,                iCLK);
这里就是直流分量微调和那个YUV to RGB的公式的硬件实现

hanbin08041813 发表于 2010-12-31 10:57:50

终于找到同仁了   前段时间硬件平台全部搭起来了我板子是自己设计的 摄像头跟你一摸一样
只是后来时间上有点冲突自己屁事真的好多只能。。。。。
等我考完试 我必须把这个搞出来
希望能跟你聊聊想用MT9M111 做 视频识别方向的东西
当然驱动是第一步 我纠结于时间的原因现在还没能腾出来
惭愧惭愧惭愧惭愧

这是我的帖子http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4437397

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_608209JOWA8F.jpg
RTL 整个系统的联调 (原文件名:ourdev_602757ML2IG0.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_608210IB1D6T.jpg
自己设计的硬件平台 (原文件名:ourdev_602886QL2Q9B.jpg)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_608211K2GKJ3.jpg
测试图片 (原文件名:ourdev_603400MB8SZU.jpg)

guke 发表于 2010-12-31 20:57:49

GOOD

huxiaoping 发表于 2010-12-31 23:58:15

顶起来

flyingcys 发表于 2011-1-4 13:12:04

很强

hwdpaley 发表于 2011-2-9 09:53:37

厉害!

amity 发表于 2011-2-9 13:06:29

lkwslk1 发表于 2011-2-9 13:30:40

m

lyk07351 发表于 2011-3-2 17:07:07

好东西,想知道硬件连接……

TigerRay 发表于 2011-3-2 20:45:51

好好好!学习了!

hwdpaley 发表于 2011-3-2 23:12:29

顶起来

hanbin08041813 发表于 2011-3-3 09:52:36

这张就是MT9M111拍到的照片,存在了SD卡中为BMP,上传时转成了JPG ????????????
这个工程量是不是很大啊??

caizijian 发表于 2011-3-17 21:19:06

回复【35楼】hanbin08041813 CrazyBingo
-----------------------------------------------------------------------

看你要做成什么程度和会不会借用别人的模块了
自己一句一句的写 肯定大工程量

zsw3979 发表于 2011-3-17 22:15:23

看的我热血沸腾,代码呢?

fy024 发表于 2011-3-17 23:56:50

非常牛

caizijian 发表于 2011-3-21 23:28:58

回复【37楼】zsw3979
-----------------------------------------------------------------------

代码在19楼

lingjing2004 发表于 2011-3-22 19:09:55

LZ,请教个问题
你是如何做帧同步的,我这经常出现错帧的现象

zhuyitou 发表于 2011-3-24 17:58:44

回复【楼主位】caizijian
-----------------------------------------------------------------------

哥哥,你真是人才呀!!我很想很想学,怎么联系你呀?我手机号15037125403,我都有到天涯海角去找你的冲动拉!!

zhuyitou 发表于 2011-3-24 18:01:43

回复【楼主位】caizijian
-----------------------------------------------------------------------

老大,我愿意叫学费,我是一名大三的学生,正学FPGA一边努力的学习,一直苦等有高人指点,您就是呀!!外传不?我太喜欢这个啦!!俺来之农村的娃娃,您就教教我吧?

zhuyitou 发表于 2011-3-24 18:09:58

回复【楼主位】caizijian
-----------------------------------------------------------------------

想先一知半解的先好好做个工程,感觉这样进步的快些,您是哪里的人呀?我是河南开封的,真的很想拜你为师1!!!!

zhuyitou 发表于 2011-3-25 08:45:12

回复【9楼】caizijian
-----------------------------------------------------------------------

老大您是哪里的加我QQ773993221,把你的联系方式给我也行呀?楼的大虾们,帮帮忙,找找这哥们,怎么也不见他出现啦?

zhuyitou 发表于 2011-3-25 08:46:41

回复【9楼】caizijian
---------------------------------------------------------------

zhuyitou 发表于 2011-3-25 09:20:56

回复【楼主位】caizijian
-----------------------------------------------------------------------
就跟您打打下手我就非常的心满意足啦!不会的地方指点一下,让我知道努力的方向就成,跪求!!!!!

lions 发表于 2011-6-7 16:07:53

qiang a

shenqingjing 发表于 2011-6-15 17:37:37

mark

monkhooder 发表于 2011-6-15 18:54:16

USB摄像头不知怎么样?

yundanfengqing 发表于 2011-6-15 20:41:43

挺不错哟要学习!!!!!!

morneau 发表于 2011-8-17 16:00:10

赞一个!请问楼主提供数字摄像头(比如MT9M034)的FPGA开发吗?

LitePuter_uvn 发表于 2011-11-16 16:14:30

颜色不正,是摄像头问题还是驱动时序问题??

chenjnh 发表于 2011-12-15 11:47:00

mark

avic 发表于 2011-12-20 10:22:31

mark

proteldxp 发表于 2011-12-23 12:50:24

问个问题啊,MT99M111的寄存器设置必须用IIC模式么?数据是从D0-D7并行输出?

bingshuihuo888 发表于 2011-12-23 20:18:59

mark

mengguren 发表于 2011-12-24 01:49:12

楼主用的是哪块板子啊

hunningtu 发表于 2011-12-31 21:25:02

mark

caizijian 发表于 2012-1-5 14:32:26

回复【59楼】mengguren
-----------------------------------------------------------------------
用的DE2

caizijian 发表于 2012-1-5 14:35:08

回复【57楼】proteldxp
-----------------------------------------------------------------------

是的 别人叫SCCB,但用IIC也行,它们差不多

数据是从D0-D7并行输出的,数据上升沿数据有效,一个时钟一个像素点的数据(BAYER),或者一个时钟一个Y,或者U\V

yuwangwangyu 发表于 2012-1-16 20:12:27

mark

wwqq 发表于 2012-1-16 20:25:16

mark

proteldxp 发表于 2012-2-1 20:53:50

回复【62楼】caizijian 菜子建
-----------------------------------------------------------------------

MT9M111可以不用IIC配置寄存器么?直接“数据是从D0-D7并行输出的,数据上升沿数据有效,一个时钟一个像素点的数据(BAYER),或者一个时钟一个Y,或者U\V ”可以么?

chenghanzhishi 发表于 2012-2-3 17:52:15

太牛了! 恳请楼主给开发资料

邮箱:cheng_hanzhi@163.com
不甚感激!!!!!!!!!!!./emotion/em003.gif

sky982 发表于 2012-2-12 13:17:59

回复【楼主位】caizijian菜子建
-----------------------------------------------------------------------
代码下载下来后编译有错误:
Error: Node instance "the_altera_std_synchronizer3" instantiates undefined entity "altera_std_synchronizer"
代码哪儿出了问题呢?

bingshuihuo888 发表于 2012-2-14 11:10:43

mark!

fire 发表于 2012-2-14 13:44:22

回复【楼主位】caizijian 菜子建
-----------------------------------------------------------------------

恭喜楼主,我的用fpga驱动的也搞定了:)

howmoney 发表于 2012-2-25 09:34:50

楼主强悍 马克先,以后也玩玩

hunningtu 发表于 2012-4-8 22:36:47

这个帖子看了好几遍了,我的也是de2的板子,还在研究。有点小感兴趣的是您的那个摄像头怎么不通过飞线连接在de2板子上的呢?貌似市面上没有双向的排母吧,您是怎么将板子上的排插升高一段,变成排母的?

mage99 发表于 2012-4-30 19:23:04

mark yi xia yi xia ~

cqq163 发表于 2012-5-1 12:39:44

楼主这个摄像头出来的是YUV的数据??

hunningtu 发表于 2012-5-7 12:57:52

楼主,为什么板子上为什么不支持1280*1024呢,使用27M频率4倍频到108Mhz,供给VGA_CLK,使用相应的VGA参数,它自己应该达到60Hz。但是我试了一下却out of range。不知为什么?

hunningtu 发表于 2012-5-11 22:20:36

hunningtu 发表于 2012-5-7 12:57 static/image/common/back.gif
楼主,为什么板子上为什么不支持1280*1024呢,使用27M频率4倍频到108Mhz,供给VGA_CLK,使用相应的VGA参数, ...

细细研究了一下,最后的瓶颈在sdram上,要想实现1280*1024,50M*2+108M*2远远超出了sdram的频宽,所以用rgb565会比较节省带宽,还得看配置文档,来配置寄存器,好麻烦.

winkle 发表于 2012-7-16 21:05:55

膜拜 学习中 mark

crazybingo 发表于 2013-6-29 13:46:27

caizijian 发表于 2010-12-26 18:15 static/image/common/back.gif
回复【5楼】hclmcu
-----------------------------------------------------------------------



子键。。。。。。。。。
页: [1]
查看完整版本: MT9M111摄像头出数据了