你好,游客 登录 注册 搜索
背景:
阅读新闻

OV9650摄像头驱动分析

[日期:2012-12-30] 来源:Linux社区  作者:apple_guet [字体: ]

首先要明确一下摄像头工作方式:

一、摄像头是怎么把数据传送给mini2440的呢?

这个摄像头有10个数据口,mini2440通过这些数据口采集摄像头的数据。

二、硬件以什么样的方式交换采集数据呢?

摄像头将采集到的图像数据以一些标准的格式通过数据口输出。有两种输出方式,一种是一次输出10个bits.另一种是每次输出8bits.我们的mini2440采集的是第二种接法。

三、camera interface怎么把数据传给我们的程序呢?

我们在程序中设定一大块内存区如:frame_bufffer[][],这样的数组,并把这个数组的地址传给 camera interface的相应寄存器。这样camera interface会自动把摄像头传给它的数据经过自己的处理后存入那个内存区。至于camera interface做何种处理是我们可以通过寄存器设定的。

四、ov9650以什么格式输出呢,参见(二)红色字体

ov9650支持很多种格式,比如说我们常用的YCbCr4:2:2格式,这种格式我们的camera interface也支持。只到我们把两方都设成这种格式,camera interface就能正确处理数据。

五、camera interface以什么格式存入我们给的内存区中呢?

这个也是可以通过设定寄存器设置的。

比如说我们设成RGB565格式,camera interface就会把从ov9650拿到的YCbCr像素用硬件广商设定的程序转换成RGB565的格式,并存内我们的数组里,我们按照这个格式从数组里取数据就可以,也可以直接把这个地址给LCD的寄存器,LCD就可以直接显示了。

六、mini2440怎么设置ov9650中的寄存器呢?

ov9650有SCCB总线,我们可以用mini2440的IO口模拟一个SCCB总线传送方式。其实SCCB总线是弱化的IIC总线,我们也可以用IIC总线传送命令。

七、ov9650中有很多寄存有设置啊?

是啊,真多,不过广商提供一些标准的设置方法,我们只要写成数据,并循环写入就可以了。

linux
相关资讯       mini2440  OV9650摄像头  OV9650 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款